Репозитории ALT
S: | 4.1.1-alt2 |
5.1: | 3.7.4-alt0.M50P.1 |
4.1: | 3.6.1.cvs5-alt0.M41.2 |
4.0: | 3.6.1.cvs5-alt0.M40.1 |
Другие репозитории
Upstream: | 3.3.1 |
Группа :: Сети/Почта
Пакет: claws-mail
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: claws-mail-4.1.1-alt2.patch
Скачать
Скачать
AUTHORS | 2 ++
configure.ac | 1 -
po/ru.po | 4 +--
src/common/ssl.c | 4 ++-
src/common/utils.c | 1 +
src/gtk/authors.h | 1 +
src/mimeview.c | 4 +--
src/plugins/litehtml_viewer/litehtml/html.h | 1 +
src/plugins/litehtml_viewer/litehtml/num_cvt.h | 1 +
src/procheader.c | 6 ++--
src/procheader.h | 4 +--
src/textview.c | 8 ++---
tools/filter_conv.pl | 1 +
tools/fix_date.sh | 13 +++++---
tools/kdeservicemenu/install.sh | 18 ++++++-----
tools/mairix.sh | 12 ++++++--
tools/make.themes.project | 10 ++++--
tools/tb2claws-mail | 2 +-
tools/textviewer.pl | 2 ++
tools/textviewer.sh | 42 +++++++++++++++-----------
tools/uudec | 15 ++++++++-
tools/uuooffice | 10 ++++--
22 files changed, 110 insertions(+), 52 deletions(-)
diff --git a/AUTHORS b/AUTHORS
index 25d698c04..6a0178974 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -340,3 +340,5 @@ contributors (in addition to the above; based on Changelog)
Ramin Yaghoubzadeh Torky
Manuel Stoeckl
Frank Mueller
+ JP Guillonneau
+ Viatrix
diff --git a/configure.ac b/configure.ac
index f0fe8f235..00f2b64a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -832,7 +832,6 @@ if test x"$enable_alternate_addressbook" = xno; then
dnl check for available libraries, and pull them in
AC_CHECK_LIB(resolv, res_query, LDAP_LIBS="$LDAP_LIBS -lresolv")
AC_CHECK_LIB(socket, bind, LDAP_LIBS="$LDAP_LIBS -lsocket")
- AC_CHECK_LIB(nsl, gethostbyaddr, LDAP_LIBS="$LDAP_LIBS -lnsl")
AC_CHECK_LIB(lber, ber_get_tag, LDAP_LIBS="$LDAP_LIBS -llber",,
$LDAP_LIBS)
diff --git a/po/ru.po b/po/ru.po
index f99977d02..f143fb1bf 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4641,7 +4641,7 @@ msgstr "п п╬я─п╦я┤п╫п╣п╡я▀п╧"
#: src/gtk/colorlabel.c:45 src/prefs_common.c:392
msgid "Grey"
-msgstr "п≈п╣п╩п╣п╫я▀п╧"
+msgstr "п║п╣я─я▀п╧"
#: src/gtk/colorlabel.c:46 src/prefs_common.c:396
msgid "Light brown"
@@ -17460,7 +17460,7 @@ msgstr "п▓п╦п╢ я│п╬п╬п╠я┴п╣п╫п╦я▐"
#: src/prefs_msg_colors.c:152
msgid "Enable coloration of message text"
-msgstr "п▓п╨п╩я▌я┤п╦я┌я▄ п╬п╨я─п╟я│п╨я┐ я┌п╣я│я┌п╟ я│п╬п╬п╠я┴п╣п╫п╦я▐"
+msgstr "п▓п╨п╩я▌я┤п╦я┌я▄ п╬п╨я─п╟я│п╨я┐ я┌п╣п╨я│я┌п╟ я│п╬п╬п╠я┴п╣п╫п╦я▐"
#: src/prefs_msg_colors.c:160
msgid "Quote"
diff --git a/src/common/ssl.c b/src/common/ssl.c
index 1eafe3f6e..7cea09a9c 100644
--- a/src/common/ssl.c
+++ b/src/common/ssl.c
@@ -195,8 +195,9 @@ const gchar *claws_ssl_get_cert_file(void)
{
#ifndef G_OS_WIN32
const char *cert_files[]={
- "/etc/ssl/cert.pem",
"/etc/pki/tls/certs/ca-bundle.crt",
+ "/usr/share/ca-certificates/ca-bundle.crt",
+ "/etc/ssl/cert.pem",
"/etc/certs/ca-bundle.crt",
"/etc/ssl/ca-bundle.pem",
"/usr/share/ssl/certs/ca-bundle.crt",
@@ -231,6 +232,7 @@ const gchar *claws_ssl_get_cert_dir(void)
return g_getenv("SSL_CERT_DIR");
#ifndef G_OS_WIN32
const char *cert_dirs[]={
+ "/var/lib/ssl/certs",
"/etc/pki/tls/certs",
"/etc/certs",
"/usr/share/ssl/certs",
diff --git a/src/common/utils.c b/src/common/utils.c
index 497bedfca..396a65eff 100644
--- a/src/common/utils.c
+++ b/src/common/utils.c
@@ -608,6 +608,7 @@ gchar *escape_internal_quotes(gchar *str, gchar quote_chr)
if (str == NULL || *str == '\0')
return str;
+ g_strstrip(str);
/* search for unescaped quote_chr */
p = str;
if (*p == quote_chr)
diff --git a/src/gtk/authors.h b/src/gtk/authors.h
index 100c60895..125d307e3 100644
--- a/src/gtk/authors.h
+++ b/src/gtk/authors.h
@@ -317,6 +317,7 @@ static char *CONTRIBS_LIST[] = {
"Aleksandar Uroе║eviд┤",
"Petr Vanek",
"Jeroen Versteeg",
+"Viatrix",
"Kevin Vigor",
"Michael Vilain",
"Johan Vromans",
diff --git a/src/mimeview.c b/src/mimeview.c
index e782dce76..ef12ed8f5 100644
--- a/src/mimeview.c
+++ b/src/mimeview.c
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2022 the Claws Mail team and Hiroyuki Yamamoto
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -1669,7 +1669,7 @@ static void mimeview_drag_data_get(GtkWidget *widget,
fp = claws_fopen(partinfo->data.filename, "rb");
if (fp != NULL && fseek(fp, partinfo->offset, SEEK_SET) == 0) {
- headers = procheader_get_header_array_asis(fp);
+ headers = procheader_get_header_array(fp);
if (headers) {
gint i;
for (i = 0; i < headers->len; i++) {
diff --git a/src/plugins/litehtml_viewer/litehtml/html.h b/src/plugins/litehtml_viewer/litehtml/html.h
index 4151b1225..20457f155 100644
--- a/src/plugins/litehtml_viewer/litehtml/html.h
+++ b/src/plugins/litehtml_viewer/litehtml/html.h
@@ -9,6 +9,7 @@
#include <cstring>
#include <algorithm>
#include <sstream>
+#include <cstdint>
#include "os_types.h"
#include "types.h"
#include "background.h"
diff --git a/src/plugins/litehtml_viewer/litehtml/num_cvt.h b/src/plugins/litehtml_viewer/litehtml/num_cvt.h
index 515e46d62..367dcc36a 100644
--- a/src/plugins/litehtml_viewer/litehtml/num_cvt.h
+++ b/src/plugins/litehtml_viewer/litehtml/num_cvt.h
@@ -2,6 +2,7 @@
#define NUM_CVT_H
#include <string>
+#include <cstdint>
#include "os_types.h"
namespace litehtml
diff --git a/src/procheader.c b/src/procheader.c
index 106deadec..220a808a9 100644
--- a/src/procheader.c
+++ b/src/procheader.c
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2014 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -265,7 +265,7 @@ gint procheader_get_one_field_asis(gchar **buf, FILE *fp)
FALSE);
}
-GPtrArray *procheader_get_header_array_asis(FILE *fp)
+GPtrArray *procheader_get_header_array(FILE *fp)
{
gchar *buf = NULL;
GPtrArray *headers;
@@ -275,7 +275,7 @@ GPtrArray *procheader_get_header_array_asis(FILE *fp)
headers = g_ptr_array_new();
- while (procheader_get_one_field_asis(&buf, fp) != -1) {
+ while (procheader_get_one_field(&buf, fp, NULL) != -1) {
if ((header = procheader_parse_header(buf)) != NULL)
g_ptr_array_add(headers, header);
g_free(buf);
diff --git a/src/procheader.h b/src/procheader.h
index 3e5681946..a5c3201d0 100644
--- a/src/procheader.h
+++ b/src/procheader.h
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2014 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ gint procheader_get_one_field (gchar **buf,
gint procheader_get_one_field_asis (gchar **buf,
FILE *fp);
-GPtrArray *procheader_get_header_array_asis (FILE *fp);
+GPtrArray *procheader_get_header_array (FILE *fp);
void procheader_header_array_destroy (GPtrArray *harray);
void procheader_header_free (Header *header);
diff --git a/src/textview.c b/src/textview.c
index b986de84e..0e7b3ae18 100644
--- a/src/textview.c
+++ b/src/textview.c
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2022 the Claws Mail team and Hiroyuki Yamamoto
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -1926,7 +1926,7 @@ static GPtrArray *textview_scan_header(TextView *textview, FILE *fp)
cm_return_val_if_fail(fp != NULL, NULL);
if (prefs_common.show_all_headers) {
- headers = procheader_get_header_array_asis(fp);
+ headers = procheader_get_header_array(fp);
sorted_headers = g_ptr_array_new();
for (i = 0; i < headers->len; i++) {
header = g_ptr_array_index(headers, i);
@@ -1945,7 +1945,7 @@ static GPtrArray *textview_scan_header(TextView *textview, FILE *fp)
return NULL;
}
- headers = procheader_get_header_array_asis(fp);
+ headers = procheader_get_header_array(fp);
sorted_headers = g_ptr_array_new();
@@ -1956,7 +1956,6 @@ static GPtrArray *textview_scan_header(TextView *textview, FILE *fp)
for (i = 0; i < headers->len; i++) {
header = g_ptr_array_index(headers, i);
-
if (procheader_headername_equal(header->name,
dp->name)) {
if (dp->hidden)
@@ -1973,6 +1972,7 @@ static GPtrArray *textview_scan_header(TextView *textview, FILE *fp)
if (prefs_common.show_other_header) {
for (i = 0; i < headers->len; i++) {
header = g_ptr_array_index(headers, i);
+ unfold_line(header->body);
if (!procheader_header_is_internal(header->name)) {
g_ptr_array_add(sorted_headers, header);
} else {
diff --git a/tools/filter_conv.pl b/tools/filter_conv.pl
index fec94e819..894e3621e 100755
--- a/tools/filter_conv.pl
+++ b/tools/filter_conv.pl
@@ -158,6 +158,7 @@ close(FILTERRC);
###############################################################################
+chdir($ENV{ HOME } . "/.claws-mail") or die("You don't appear to have Sylpheed Claws installed\n");
open(MATCHERRC, ">>matcherrc");
print MATCHERRC @new_filters;
close(MATCHERRC);
diff --git a/tools/fix_date.sh b/tools/fix_date.sh
index 379807d68..1c5beedf6 100755
--- a/tools/fix_date.sh
+++ b/tools/fix_date.sh
@@ -28,8 +28,8 @@
# TODO: fallback to X-OriginalArrivalTime: ?
-VERSION="0.1.4"
-
+VERSION="0.1.3"
+DOS2UNIX=dos2unix
version()
{
@@ -114,7 +114,12 @@ fi
test $# -lt 1 && \
usage 1
-for PROG in dos2unix grep sed
+if ! type "$DOS2UNIX" >/dev/null 2>&1; then
+ echo "error: $DOS2UNIX command not found, please install it"
+ exit 1
+fi
+
+for PROG in "$DOS2UNIX" grep sed
do
type "$PROG" >/dev/null 2>&1 || \
{ echo "error: $PROG not found in PATH"; exit 1; }
@@ -152,7 +157,7 @@ do
# find the empty line that separates body (if any) from headers,
# work on a temporary dos2unix'ed copy because body might
# contain DOS CRLF and grep '^$' won't work
- head -$MAX_HEADER_LINES "$1" | dos2unix > "$TMP"
+ head -$MAX_HEADER_LINES "$1" | "$DOS2UNIX" > "$TMP"
SEP=`grep -nEm1 "^$" "$TMP" 2>/dev/null | cut -d ':' -f 1`
rm -f "$TMP"
if [ -z "$SEP" -o "$SEP" = "0" -o $? -ne 0 ]
diff --git a/tools/kdeservicemenu/install.sh b/tools/kdeservicemenu/install.sh
index e3560ebde..ad21f47e8 100755
--- a/tools/kdeservicemenu/install.sh
+++ b/tools/kdeservicemenu/install.sh
@@ -2,6 +2,8 @@
PERL_SCRIPT="claws-mail-kdeservicemenu.pl"
DESKTOP="claws-mail-attach-files.desktop"
+KDESU=kdesu
+KDIALOG=kdialog
function check_environ {
echo "Checking for kde4-config..."
@@ -21,7 +23,7 @@ else
else
echo "kde-config not found..."
echo "asking user to find kde4-config or kde-config..."
- KDECONFIG=$(kdialog --title "Locate kde-config or kde4-config" --getopenfilename / )
+ KDECONFIG=$("$KDIALOG" --title "Locate kde-config or kde4-config" --getopenfilename / )
test -z $KDECONFIG && exit 1
if [[ $KDECONFIG == *4-config ]]; then
SERVICEMENU_DIR="share/kde4/services/ServiceMenus"
@@ -42,7 +44,7 @@ echo "Installing $PREFIX/$SERVICEMENU_DIR/$DESKTOP"
mv -f $DESKTOP $PREFIX/$SERVICEMENU_DIR/$DESKTOP
if [[ $? -ne 0 ]]
then
- kdialog --error "Could not complete installation."
+ "$KDIALOG" --error "Could not complete installation."
exit
fi
echo "Installing $PREFIX/bin/$PERL_SCRIPT"
@@ -51,7 +53,7 @@ echo "Setting permissions ..."
chmod 0644 $PREFIX/$SERVICEMENU_DIR/$DESKTOP
chmod 0755 $PREFIX/bin/$PERL_SCRIPT
echo "Finished installation."
-kdialog --msgbox "Finished installation."
+"$KDIALOG" --msgbox "Finished installation."
}
function uninstall_all {
@@ -59,13 +61,13 @@ echo "Removing $PREFIX/$SERVICEMENU_DIR/$DESKTOP"
rm $PREFIX/$SERVICEMENU_DIR/$DESKTOP
if [[ $? -ne 0 ]]
then
- kdialog --error "Could not complete uninstall."
+ "$KDIALOG" --error "Could not complete uninstall."
exit
fi
echo "Removing $PREFIX/bin/$PERL_SCRIPT"
rm $PREFIX/bin/$PERL_SCRIPT
echo "Finished uninstall."
-kdialog --msgbox "Finished uninstall."
+"$KDIALOG" --msgbox "Finished uninstall."
}
function show_help {
@@ -80,7 +82,7 @@ function show_help {
}
if [ -z $1 ]
- then option="--$(kdialog --menu "Please select installation type" \
+ then option="--$("$KDIALOG" --menu "Please select installation type" \
local "install for you only" \
global "install for all users" \
uninstall-local "uninstall for you only" \
@@ -94,7 +96,7 @@ case $option in
PREFIX=$($KDECONFIG --prefix)
echo "Installing in $PREFIX/$SERVICEMENU_DIR ..."
if [ "$(id -u)" != "0" ]; then
- exec kdesu "$0 --global"
+ exec "$KDESU" "$0 --global"
fi
install_all
;;
@@ -115,7 +117,7 @@ case $option in
PREFIX=$($KDECONFIG --prefix)
echo "Uninstalling from $PREFIX/$SERVICEMENU_DIR ..."
if [ "$(id -u)" != "0" ]; then
- exec kdesu "$0 --uninstall-global"
+ exec "$KDESU" "$0 --uninstall-global"
fi
uninstall_all
;;
diff --git a/tools/mairix.sh b/tools/mairix.sh
index b44fd3595..ce743c08f 100755
--- a/tools/mairix.sh
+++ b/tools/mairix.sh
@@ -21,6 +21,8 @@
# if any param is passed, $1 must be the mairixrc file to use
# if no param is passed, ~/.mairixrc is assumed
+MAIRIX=mairix
+
read TEXT
test -z "$TEXT" && \
exit 0
@@ -33,6 +35,12 @@ else
RCFILE=~/.mairixrc
fi
-mairix -f "$RCFILE" --purge && \
- mairix -f "$RCFILE" "$@" $TEXT
+
+which "$MAIRIX" > /dev/null 2>&1 ||
+{
+ echo "Please install '$MAIRIX' to use this script." >&2
+ exit 1
+};
+$MAIRIX -f "$RCFILE" --purge && \
+ $MAIRIX -f "$RCFILE" "$@" $TEXT
exit $?
diff --git a/tools/make.themes.project b/tools/make.themes.project
index 038bad760..68a3955d2 100644
--- a/tools/make.themes.project
+++ b/tools/make.themes.project
@@ -21,6 +21,12 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
+WGET=wget
+if ! type "$WGET" > /dev/null 2>&1; then
+ echo "Please install 'wget' to use this script." >&2
+ exit 1
+fi
+
test x$1 = x && echo "Error: version number not given" && exit 1;
VERS=$1
@@ -35,7 +41,7 @@ WLOG=themes.wget.log
function getListFromPage()
{
test -f ${PAGE} && rm -f ${PAGE};
- wget -q -a ${WLOG} ${SITE}/${PAGE}
+ $WGET -q -a ${WLOG} ${SITE}/${PAGE}
test ! -f ${PAGE} && echo "Error: couldn't get ${PAGE}." && exit 1;
grep 'download.php?file=' ${PAGE} \
@@ -58,7 +64,7 @@ function downloadThemes()
test $tarf = "png" \
&& tarf=`echo $theme | cut -f3 -d/ `;
echo -n "Downloading... ";
- wget -q -a ${WLOG} -O ${DDIR}/$tarf ${SITE}/$theme
+ $WGET -q -a ${WLOG} -O ${DDIR}/$tarf ${SITE}/$theme
test ! -f ${DDIR}/$tarf && echo "Error: couldn't get $tarf" && exit 1;
pushd ${DDIR} > /dev/null
tarops="";
diff --git a/tools/tb2claws-mail b/tools/tb2claws-mail
index 70300610a..d2971ba71 100755
--- a/tools/tb2claws-mail
+++ b/tools/tb2claws-mail
@@ -53,7 +53,7 @@ closedir(CLAWS);
# get all existing addressbook filenames
foreach $cached (@cached) {
if ($cached =~ m/^addrbook/ && $cached =~ m/[0-9].xml$/) {
- push(addr, "$cached");
+ push(@addr, "$cached");
}
}
# sort filenames, get last and set newest filename
diff --git a/tools/textviewer.pl b/tools/textviewer.pl
index e9f04ae05..8945e84bb 100755
--- a/tools/textviewer.pl
+++ b/tools/textviewer.pl
@@ -96,6 +96,8 @@ my %fh = (
bz2 => [ "bzip2 -d < %f | strings" ],
+ gz => [ "zcat %f | strings" ],
+
zip => [ "unzip -l %f" ], # ZIP
test => [ \&test ], # Internal
diff --git a/tools/textviewer.sh b/tools/textviewer.sh
index 38c889431..4fa6ce06c 100755
--- a/tools/textviewer.sh
+++ b/tools/textviewer.sh
@@ -87,6 +87,14 @@
#
###############################################################################
+ANTIWORD=antiword
+PDFTOTEXT=pdftotext
+OOO2TXT=ooo2txt
+XLHTML=xlhtml
+HTML2TEXT=html2text
+PPTHTML=ppthtml
+UNRTF=unrtf
+
if [ $# -eq 0 ]
then
echo "No filename supplied." >&2
@@ -172,72 +180,72 @@ case $TYPE in
ZIP) echo -e "Zip file contents:\n" ;
unzip -l "$1" ;;
- RTF) which unrtf > /dev/null 2>&1 ||
+ RTF) which "$UNRTF" > /dev/null 2>&1 ||
{
echo "Program 'unrtf' for displaying RTF files not found" >&2
exit 1
};
echo -e "Displaying \"$1\" using \"unrtf\":\n";
- unrtf -t text "$1" 2>/dev/null | egrep -v '^### ' | fold -s -w 72 ;;
+ "$UNRTF" -t text "$1" 2>/dev/null | grep -E -v '^### ' | fold -s -w 72 ;;
- TEXT) cat "$1" ;;
+ TEXT) cat "$1" | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g";;
- MSWORD) which antiword > /dev/null 2>&1 ||
+ MSWORD) which "$ANTIWORD" > /dev/null 2>&1 ||
{
echo "Program 'antiword' for displaying MS Word files not found" >&2
exit 1
};
echo -e "Displaying \"$1\" using \"antiword\":\n";
- antiword -w 72 "$1" ;;
+ "$ANTIWORD" -w 72 "$1" ;;
- POWERPOINT) which ppthtml > /dev/null 2>&1 ||
+ POWERPOINT) which "$PPTHTML" > /dev/null 2>&1 ||
{
echo "Program 'ppthtml' for displaying Powerpoint files not found" >&2
exit 1
};
- which html2text > /dev/null 2>&1 ||
+ which "$HTML2TEXT" > /dev/null 2>&1 ||
{
echo "Program 'html2text' for displaying Powerpoint files not found" >&2
exit 1
};
echo -e "Displaying \"$1\" using \"ppthtml\" and \"html2text\":\n";
- ppthtml "$1" | html2text ;;
+ "$PPTHTML" "$1" | "$HTML2TEXT" ;;
- EXCEL) which xlhtml > /dev/null 2>&1 ||
+ EXCEL) which "$XLHTML" > /dev/null 2>&1 ||
{
echo "Program 'xlhtml' for displaying Excel files not found" >&2
exit 1
};
- which html2text > /dev/null 2>&1 ||
+ which "$HTML2TEXT" > /dev/null 2>&1 ||
{
echo "Program 'html2text' for displaying Excel files not found" >&2
exit 1
};
echo -e "Displaying \"$1\" using \"xlhtml\" and \"html2text\":\n";
- xlhtml "$1" | html2text ;;
+ "$XLHTML" "$1" | "$HTML2TEXT" ;;
- OOWRITER) which ooo2txt > /dev/null 2>&1 ||
+ OOWRITER) which "$OOO2TXT" > /dev/null 2>&1 ||
{
echo "Program 'ooo2txt' for converting OpenOffice Writer files not files not found" >&2
exit 1
};
echo -e "Displaying \"$1\" using \"ooo2txt\":\n";
- ooo2txt "$1" ;;
+ "$OOO2TXT" "$1" ;;
- PDF) which pdftotext > /dev/null 2>&1 ||
+ PDF) which "$PDFTOTEXT" > /dev/null 2>&1 ||
{
echo "Program 'pdftotext' for converting Adobe Portable Document Format to text not found" >&2
exit 1
};
echo -e "Displaying \"$1\" using \"pdftotext\":\n";
- pdftotext "$1" - ;;
+ "$PDFTOTEXT" "$1" - ;;
- HTML) which html2text > /dev/null 2>&1 ||
+ HTML) which "$HTML2TEXT" > /dev/null 2>&1 ||
{
echo "Program 'html2text' for converting HTML files not found" >&2
exit 1
};
- html2text -nobs "$1" ;;
+ "$HTML2TEXT" -nobs "$1" ;;
*) echo "Unsupported file type \"$FILETYPE\", cannot display.";;
esac
diff --git a/tools/uudec b/tools/uudec
index 9b106bb21..664f4057f 100755
--- a/tools/uudec
+++ b/tools/uudec
@@ -1,2 +1,15 @@
#!/bin/sh
-uudecode -o - "$1" | display -
+UUDECODE=uudecode
+DISPLAY_CMD=display
+
+if ! type "$UUDECODE" > /dev/null 2>&1; then
+ echo "Please install 'uudecode' to use this script." >&2
+ exit 1
+fi
+
+if ! type "$DISPLAY_CMD" > /dev/null 2>&1; then
+ echo "Please install 'display' to use this script." >&2
+ exit 1
+fi
+
+$UUDECODE -o - "$1" | $DISPLAY_CMD -
diff --git a/tools/uuooffice b/tools/uuooffice
index 6a5dc060c..e0b5517de 100755
--- a/tools/uuooffice
+++ b/tools/uuooffice
@@ -18,8 +18,14 @@
#
# uuooffice helper script to open documents attached to emails with OpenOffice
+OOFFICE=ooffice
+UUDECODE=uudecode
FILENAME=$(grep -Em 1 "^begin [0-7][0-7][0-7] ." "$1" | cut -d ' ' -f 3-)
TMPFILE=/tmp/${0##*/}_$FILENAME
-uudecode -o - "$1" > "$TMPFILE"
-ooffice "$TMPFILE"
+which "$UUDECODE" > /dev/null 2>&1 &&
+ $UUDECODE -o - "$1" > "$TMPFILE" ||
+ echo "Please install 'uudecode' to use this script." >&2
+[ -e "$TMPFILE" ] && which "$OOFFICE" > /dev/null 2>&1 &&
+ $OOFFICE "$TMPFILE" ||
+ echo "Please install 'ooffice' to use this script." >&2
rm -f "$TMPFILE"