summaryrefslogtreecommitdiff
path: root/pith
diff options
context:
space:
mode:
Diffstat (limited to 'pith')
-rw-r--r--pith/Makefile.in123
-rw-r--r--pith/charconv/Makefile.in71
-rw-r--r--pith/conf.c98
-rw-r--r--pith/conf.h6
-rw-r--r--pith/conftype.h1
-rw-r--r--pith/osdep/Makefile.in71
-rw-r--r--pith/pine.hlp60
-rw-r--r--pith/reply.c29
-rw-r--r--pith/smime.c8
-rw-r--r--pith/state.h2
10 files changed, 238 insertions, 231 deletions
diff --git a/pith/Makefile.in b/pith/Makefile.in
index 6979a4dc..165a5757 100644
--- a/pith/Makefile.in
+++ b/pith/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -27,23 +28,6 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -64,8 +48,7 @@ build_triplet = @build@
host_triplet = @host@
noinst_PROGRAMS = help_h_gen$(EXEEXT) help_c_gen$(EXEEXT)
subdir = pith
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp $(top_srcdir)/mkinstalldirs
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -143,11 +126,6 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -206,7 +184,6 @@ C_CLIENT_TARGET = @C_CLIENT_TARGET@
C_CLIENT_WITH_IPV6 = @C_CLIENT_WITH_IPV6@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
@@ -226,6 +203,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
ISPELLPROG = @ISPELLPROG@
+Includedir = @Includedir@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -244,7 +222,6 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKE = @MAKE@
MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
@@ -291,7 +268,6 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
acx_pthread_config = @acx_pthread_config@
@@ -320,16 +296,16 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
-includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
+oldIncludedir = @oldIncludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@@ -394,7 +370,7 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libpith.a: $(libpith_a_OBJECTS) $(libpith_a_DEPENDENCIES) $(EXTRA_libpith_a_DEPENDENCIES)
+libpith.a: $(libpith_a_OBJECTS) $(libpith_a_DEPENDENCIES)
-rm -f libpith.a
$(libpith_a_AR) libpith.a $(libpith_a_OBJECTS) $(libpith_a_LIBADD)
$(RANLIB) libpith.a
@@ -511,11 +487,11 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
@@ -579,10 +555,6 @@ ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -646,20 +618,6 @@ GTAGS:
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -695,10 +653,13 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
@@ -735,15 +696,10 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
@@ -829,24 +785,23 @@ ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
- cscopelist-recursive ctags-recursive install install-am \
- install-strip tags-recursive
+ ctags-recursive install install-am install-strip \
+ tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
- clean-noinstLIBRARIES clean-noinstPROGRAMS cscopelist \
- cscopelist-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+ clean-noinstLIBRARIES clean-noinstPROGRAMS ctags \
+ ctags-recursive distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am
help_c_gen$(EXEEXT): $(help_c_gen_OBJECTS) $(help_c_gen_DEPENDENCIES)
diff --git a/pith/charconv/Makefile.in b/pith/charconv/Makefile.in
index 279e20e2..09218224 100644
--- a/pith/charconv/Makefile.in
+++ b/pith/charconv/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -26,23 +27,6 @@
# ========================================================================
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -62,8 +46,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = pith/charconv
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp $(top_srcdir)/mkinstalldirs
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -106,11 +89,6 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(libpithcc_a_SOURCES)
DIST_SOURCES = $(libpithcc_a_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -138,7 +116,6 @@ C_CLIENT_TARGET = @C_CLIENT_TARGET@
C_CLIENT_WITH_IPV6 = @C_CLIENT_WITH_IPV6@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
@@ -158,6 +135,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
ISPELLPROG = @ISPELLPROG@
+Includedir = @Includedir@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -176,7 +154,6 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKE = @MAKE@
MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
@@ -223,7 +200,6 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
acx_pthread_config = @acx_pthread_config@
@@ -252,16 +228,16 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
-includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
+oldIncludedir = @oldIncludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@@ -314,7 +290,7 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libpithcc.a: $(libpithcc_a_OBJECTS) $(libpithcc_a_DEPENDENCIES) $(EXTRA_libpithcc_a_DEPENDENCIES)
+libpithcc.a: $(libpithcc_a_OBJECTS) $(libpithcc_a_DEPENDENCIES)
-rm -f libpithcc.a
$(libpithcc_a_AR) libpithcc.a $(libpithcc_a_OBJECTS) $(libpithcc_a_LIBADD)
$(RANLIB) libpithcc.a
@@ -404,20 +380,6 @@ GTAGS:
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -465,15 +427,10 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
@@ -559,7 +516,7 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLIBRARIES cscopelist ctags distclean \
+ clean-libtool clean-noinstLIBRARIES ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
diff --git a/pith/conf.c b/pith/conf.c
index 7cd1f83d..af201e19 100644
--- a/pith/conf.c
+++ b/pith/conf.c
@@ -74,7 +74,7 @@ char *skip_over_this_var(char *, char *);
char *native_nl(char *);
void set_color_val(struct variable *, int);
int copy_localfile_to_remotefldr(RemType, char *, char *, char *, char **);
-char *backcompat_convert_from_utf8(char *, size_t, char *);
+char *backcompat_convert_from_utf8(char **, size_t, char *);
#ifdef _WINDOWS
char *transformed_color(char *);
int convert_pc_gray_names(struct pine *, PINERC_S *, EditWhich);
@@ -340,6 +340,8 @@ CONF_TXT_T cf_text_stat_msg_delay[] = "The number of seconds to sleep after writ
CONF_TXT_T cf_text_busy_cue_rate[] = "Number of times per-second to update busy cue messages";
+CONF_TXT_T cf_text_psleep[] = "UNIX ONLY (except MAC OSX): When an attachment is opened, this variable controls the number\n#of seconds to wait between checks if the user has ended viewing the attachment.\n#minimun value: 60 seconds, maximum value: 600 seconds (10 minutes). Default: 60 seconds";
+
CONF_TXT_T cf_text_mailcheck[] = "The approximate number of seconds between checks for new mail";
CONF_TXT_T cf_text_mailchecknoncurr[] = "The approximate number of seconds between checks for new mail in folders\n# other than the current folder and inbox.\n# Default is same as mail-check-interval";
@@ -616,6 +618,8 @@ static struct variable variables[] = {
NULL, cf_text_stat_msg_delay},
{"busy-cue-rate", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
NULL, cf_text_busy_cue_rate},
+{"mailcap-check-interval", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
+ NULL, cf_text_psleep},
{"mail-check-interval", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
NULL, cf_text_mailcheck},
{"mail-check-interval-noncurrent", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
@@ -1615,6 +1619,7 @@ init_vars(struct pine *ps, void (*cmds_f) (struct pine *, char **))
GLO_LOCAL_FULLNAME = cpystr(DF_LOCAL_FULLNAME);
GLO_LOCAL_ADDRESS = cpystr(DF_LOCAL_ADDRESS);
GLO_OVERLAP = cpystr(DF_OVERLAP);
+ GLO_SLEEP = cpystr("60");
GLO_MAXREMSTREAM = cpystr(DF_MAXREMSTREAM);
GLO_MARGIN = cpystr(DF_MARGIN);
GLO_FILLCOL = cpystr(DF_FILLCOL);
@@ -2069,6 +2074,13 @@ init_vars(struct pine *ps, void (*cmds_f) (struct pine *, char **))
}
}
+ set_current_val(&vars[V_SLEEP], TRUE, TRUE);
+ ps->sleep = i = 60;
+ if(SVAR_SLEEP(ps, i, tmp_20k_buf, SIZEOF_20KBUF))
+ init_error(ps, SM_ORDER | SM_DING, 3, 5, tmp_20k_buf);
+ else
+ ps->sleep = i;
+
set_current_val(&vars[V_OVERLAP], TRUE, TRUE);
ps->viewer_overlap = i = atoi(DF_OVERLAP);
if(SVAR_OVERLAP(ps, i, tmp_20k_buf, SIZEOF_20KBUF))
@@ -5482,7 +5494,9 @@ write_pinerc(struct pine *ps, EditWhich which, int flags)
{
char *p, *dir, *tmp = NULL, *pinrc;
char *pval, **lval;
+ char *linep = NULL, *lineq = NULL;
int bc = 1;
+ int buflen;
PINERC_LINE *pline;
struct variable *var;
time_t mtime;
@@ -5495,6 +5509,8 @@ write_pinerc(struct pine *ps, EditWhich which, int flags)
char *slink = NULL;
#endif
+#define MAXPLINESIZE 10000
+
dprint((2,"---- write_pinerc(%s) ----\n",
(which == Main) ? "Main" : "Post"));
@@ -5718,6 +5734,10 @@ write_pinerc(struct pine *ps, EditWhich which, int flags)
!so_puts(so, native_nl(cf_text_comment)))
goto io_err;
+ linep = fs_get((MAXPLINESIZE+1)*sizeof(char));
+ lineq = fs_get((MAXPLINESIZE+1)*sizeof(char));
+ buflen = MAXPLINESIZE;
+
/* Write out what was in the .pinerc */
for(pline = prc->pinerc_lines;
pline && (pline->is_var || pline->line); pline++){
@@ -5750,26 +5770,40 @@ write_pinerc(struct pine *ps, EditWhich which, int flags)
int i = 0;
for(i = 0; lval[i]; i++){
- snprintf(tmp_20k_buf, 10000, "%s%s%s%s%s",
+ if(strlen(var->name)
+ + (lval[i][0] ? strlen(lval[i]) : 5) > buflen){
+ buflen = strlen(var->name)
+ + (lval[i][0] ? strlen(lval[i]) : 5);
+ fs_resize((void **)&linep, (buflen+1)*sizeof(char));
+ fs_resize((void **)&lineq, (buflen+1)*sizeof(char));
+ }
+ snprintf(linep, buflen+1, "%s%s%s%s%s",
(i) ? "\t" : var->name,
(i) ? "" : "=",
lval[i][0] ? lval[i] : quotes,
lval[i+1] ? "," : "", NEWLINE);
- tmp_20k_buf[10000-1] = '\0';
- if(!so_puts(so, bc ? backcompat_convert_from_utf8(tmp_20k_buf+10000, SIZEOF_20KBUF-10000, tmp_20k_buf) : tmp_20k_buf))
+ linep[buflen] = '\0';
+ if(!so_puts(so, bc ? backcompat_convert_from_utf8(&lineq, buflen+1, linep) : linep))
goto io_err;
}
}
else{
- snprintf(tmp_20k_buf, 10000, "%s=%s%s%s%s",
+ if(strlen(var->name)
+ + (pval[0] ? strlen(pval) : 5) > buflen){
+ buflen = strlen(var->name)
+ + (pval[0] ? strlen(pval) : 5);
+ fs_resize((void **)&linep, (buflen+1)*sizeof(char));
+ fs_resize((void **)&lineq, (buflen+1)*sizeof(char));
+ }
+ snprintf(linep, buflen+1, "%s=%s%s%s%s",
var->name,
(pline->is_quoted && pval[0] != '\"')
? "\"" : "",
pval,
(pline->is_quoted && pval[0] != '\"')
? "\"" : "", NEWLINE);
- tmp_20k_buf[10000-1] = '\0';
- if(!so_puts(so, bc ? backcompat_convert_from_utf8(tmp_20k_buf+10000, SIZEOF_20KBUF-10000, tmp_20k_buf) : tmp_20k_buf))
+ linep[buflen] = '\0';
+ if(!so_puts(so, bc ? backcompat_convert_from_utf8(&lineq, buflen+1, linep) : linep))
goto io_err;
}
}
@@ -5846,20 +5880,32 @@ write_pinerc(struct pine *ps, EditWhich which, int flags)
int i = 0;
for(i = 0; lval[i] ; i++){
- snprintf(tmp_20k_buf, 10000, "%s%s%s%s%s",
+ if(strlen(var->name)
+ + (lval[i][0] ? strlen(lval[i]) : 5) > buflen){
+ buflen = strlen(var->name)
+ + (lval[i][0] ? strlen(lval[i]) : 5);
+ fs_resize((void **)&linep, (buflen+1)*sizeof(char));
+ fs_resize((void **)&lineq, (buflen+1)*sizeof(char));
+ }
+ snprintf(linep, buflen+1, "%s%s%s%s%s",
(i) ? "\t" : var->name,
(i) ? "" : "=",
lval[i],
lval[i+1] ? "," : "", NEWLINE);
- tmp_20k_buf[10000-1] = '\0';
- if(!so_puts(so, bc ? backcompat_convert_from_utf8(tmp_20k_buf+10000, SIZEOF_20KBUF-10000, tmp_20k_buf) : tmp_20k_buf))
+ linep[buflen] = '\0';
+ if(!so_puts(so, bc ? backcompat_convert_from_utf8(&lineq, buflen+1, linep) : linep))
goto io_err;
}
}
else{
char *pconverted;
- pconverted = bc ? backcompat_convert_from_utf8(tmp_20k_buf, SIZEOF_20KBUF, pval) : pval;
+ if(strlen(pval) > buflen){
+ buflen = strlen(pval) + 1;
+ fs_resize((void **)&linep, (buflen+1)*sizeof(char));
+ fs_resize((void **)&lineq, (buflen+1)*sizeof(char));
+ }
+ pconverted = bc ? backcompat_convert_from_utf8(&lineq, buflen+1, pval) : pval;
if(!so_puts(so, var->name) || !so_puts(so, "=") ||
!so_puts(so, pconverted) || !so_puts(so, NEWLINE))
@@ -5962,6 +6008,9 @@ write_pinerc(struct pine *ps, EditWhich which, int flags)
fs_give((void **)&tmp);
}
+ if(linep) fs_give((void **)&linep);
+ if(lineq) fs_give((void **)&lineq);
+
return(0);
io_err:
@@ -5979,6 +6028,9 @@ write_pinerc(struct pine *ps, EditWhich which, int flags)
fs_give((void **)&tmp);
}
+ if(linep) fs_give((void **)&linep);
+ if(lineq) fs_give((void **)&lineq);
+
return(-1);
}
@@ -5988,9 +6040,10 @@ write_pinerc(struct pine *ps, EditWhich which, int flags)
* running this pine and an old pre-alpine pine on the same config
* file we attempt to convert the values of the config variables
* to the user's character set before writing.
+ * parameters: char **buf. Memory of size_t buflen allocated by caller.
*/
char *
-backcompat_convert_from_utf8(char *buf, size_t buflen, char *srcstr)
+backcompat_convert_from_utf8(char **buf, size_t buflen, char *srcstr)
{
char *converted = NULL;
char *p;
@@ -6002,8 +6055,11 @@ backcompat_convert_from_utf8(char *buf, size_t buflen, char *srcstr)
its_ascii = 0;
/* if it is ascii, go with that */
- if(its_ascii)
- converted = srcstr;
+ if(its_ascii){
+ strncpy(*buf, srcstr, buflen);
+ converted = *buf;
+ (*buf)[buflen-1] = '\0';
+ }
else{
char *trythischarset = NULL;
@@ -6026,16 +6082,18 @@ backcompat_convert_from_utf8(char *buf, size_t buflen, char *srcstr)
memset(&dst, 0, sizeof(dst));
if(utf8_cstext(&src, trythischarset, &dst, 0)){
if(dst.data){
- strncpy(buf, (char *) dst.data, buflen);
- buf[buflen-1] = '\0';
+ strncpy(*buf, (char *) dst.data, buflen);
+ (*buf)[buflen-1] = '\0';
fs_give((void **) &dst.data);
- converted = buf;
}
}
}
- if(!converted)
- converted = srcstr;
+ if(!converted){
+ strncpy(*buf, srcstr, buflen);
+ (*buf)[buflen-1] = '\0';
+ converted = *buf;
+ }
}
return(converted);
@@ -7654,6 +7712,8 @@ config_help(int var, int feature)
return(h_config_incoming_second_interv);
case V_INCCHECKLIST :
return(h_config_incoming_list);
+ case V_SLEEP :
+ return(h_config_psleep);
case V_OVERLAP :
return(h_config_viewer_overlap);
case V_MAXREMSTREAM :
diff --git a/pith/conf.h b/pith/conf.h
index 54c23ff5..cbf47e07 100644
--- a/pith/conf.h
+++ b/pith/conf.h
@@ -229,6 +229,8 @@
#define GLO_OPENING_SEP vars[V_OPENING_SEP].global_val.p
#define VAR_ABOOK_FORMATS vars[V_ABOOK_FORMATS].current_val.l
#define VAR_INDEX_FORMAT vars[V_INDEX_FORMAT].current_val.p
+#define VAR_SLEEP vars[V_SLEEP].current_val.p
+#define GLO_SLEEP vars[V_SLEEP].global_val.p
#define VAR_OVERLAP vars[V_OVERLAP].current_val.p
#define GLO_OVERLAP vars[V_OVERLAP].global_val.p
#define VAR_MAXREMSTREAM vars[V_MAXREMSTREAM].current_val.p
@@ -671,6 +673,10 @@
*/
#define Q_SUPP_LIMIT (4)
#define Q_DEL_ALL (-10)
+#define SVAR_SLEEP(ps,n,e,el) strtoval((ps)->VAR_SLEEP, \
+ &(n), 60, 120, 0, (e), \
+ (el), \
+ "Sleep-Interval-Length")
#define SVAR_OVERLAP(ps,n,e,el) strtoval((ps)->VAR_OVERLAP, \
&(n), 0, 20, 0, (e), \
(el), \
diff --git a/pith/conftype.h b/pith/conftype.h
index 61472105..f27544c0 100644
--- a/pith/conftype.h
+++ b/pith/conftype.h
@@ -108,6 +108,7 @@ typedef enum { V_PERSONAL_NAME = 0
, V_MARGIN
, V_STATUS_MSG_DELAY
, V_ACTIVE_MSG_INTERVAL
+ , V_SLEEP
, V_MAILCHECK
, V_MAILCHECKNONCURR
, V_MAILDROPCHECK
diff --git a/pith/osdep/Makefile.in b/pith/osdep/Makefile.in
index 04dcf2ea..1088dfc5 100644
--- a/pith/osdep/Makefile.in
+++ b/pith/osdep/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
-
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -26,23 +27,6 @@
# ========================================================================
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -62,8 +46,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = pith/osdep
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp $(top_srcdir)/mkinstalldirs
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -113,11 +96,6 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(libpithosd_a_SOURCES)
DIST_SOURCES = $(libpithosd_a_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -145,7 +123,6 @@ C_CLIENT_TARGET = @C_CLIENT_TARGET@
C_CLIENT_WITH_IPV6 = @C_CLIENT_WITH_IPV6@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
@@ -165,6 +142,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
ISPELLPROG = @ISPELLPROG@
+Includedir = @Includedir@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -183,7 +161,6 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKE = @MAKE@
MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
@@ -230,7 +207,6 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
acx_pthread_config = @acx_pthread_config@
@@ -259,16 +235,16 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
-includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
+oldIncludedir = @oldIncludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@@ -325,7 +301,7 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libpithosd.a: $(libpithosd_a_OBJECTS) $(libpithosd_a_DEPENDENCIES) $(EXTRA_libpithosd_a_DEPENDENCIES)
+libpithosd.a: $(libpithosd_a_OBJECTS) $(libpithosd_a_DEPENDENCIES)
-rm -f libpithosd.a
$(libpithosd_a_AR) libpithosd.a $(libpithosd_a_OBJECTS) $(libpithosd_a_LIBADD)
$(RANLIB) libpithosd.a
@@ -435,20 +411,6 @@ GTAGS:
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -496,15 +458,10 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
@@ -590,7 +547,7 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLIBRARIES cscopelist ctags distclean \
+ clean-libtool clean-noinstLIBRARIES ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
diff --git a/pith/pine.hlp b/pith/pine.hlp
index a32b94d3..5fbe4dff 100644
--- a/pith/pine.hlp
+++ b/pith/pine.hlp
@@ -218,6 +218,20 @@ Additions include:
<P>
Bugs that have been addressed include:
<UL>
+ <LI> Fix _INIT_ token for reply quote string to include support for 8-bit
+ in personal names. Reported by Lev Gorenstein.
+ <LI> When writing the .pinerc file, lines were truncated if they were longer
+ than 10,000 characters. This could cause data corruption, so now lines
+ are allowed to be of any length.
+ <LI> In Unix Alpine (but not in MAC OSX) fix a problem that made Alpine
+ remove attachments before they were open by a mailcap viewer. It
+ requires that the user has an equivalent to a command such as "ps
+ auxww" to list the list of processes, and check if there is any
+ program using the attachment. The default is "/bin/ps auxww", but
+ it can be changed at compile time with the option --with-ps-cmd.
+ See the help of the variable
+ <a href="h_config_psleep"><!--#echo var="VAR_mailcap-check-interval"--></a>
+ for more information.
<LI> S/MIME: signed messages that contained an attachment would not validate.
<LI> Crash when tcp connection to NNTP server was lost after connection
had been established, but lost immediately afterwards.
@@ -234,7 +248,8 @@ Bugs that have been addressed include:
CPPCFLAGS, and so the --with-ssl-include-dir option take effect
during the build. Fix by Ulf-Dietrich Braumann.
<LI> Fix in WebAlpine: do not use deprecated dereference in pointer,
- needs to use tcl_getstringresult() instead. Reported by Ulf-Dietrich Braumann.
+ needs to use tcl_getstringresult() instead. Reported by
+ Ulf-Dietrich Braumann.
<LI> Quoted string in URL Viewers configuration variable were not
unquoted before passing to viewer.
<LI> Fix in configure script to detect location of tcl library; add
@@ -243,6 +258,7 @@ Bugs that have been addressed include:
by Werner Scheinast.
<LI> Move SSL configurations from UW-IMAP to configure script, and
update OpenSSL configuration for mac OSX.
+ <LI> Remove -lregex from linker flags when building --with-supplied-regex.
</UL>
<P>
@@ -3584,6 +3600,7 @@ There are also additional details on
<li><a href="h_config_image_viewer">OPTION: <!--#echo var="VAR_image-viewer"--></a>
<li><a href="h_config_inbox_path">OPTION: <!--#echo var="VAR_inbox-path"--></a>
<li><a href="h_config_archived_folders">OPTION: <!--#echo var="VAR_incoming-archive-folders"--></a>
+<li><a href="h_config_psleep">OPTION: <!--#echo var="VAR_mailcap-check-interval"--></a>
<li><a href="h_config_incoming_interv">OPTION: <!--#echo var="VAR_incoming-check-interval"--></a>
<li><a href="h_config_incoming_second_interv">OPTION: <!--#echo var="VAR_incoming-check-interval-secondary"--></a>
<li><a href="h_config_incoming_list">OPTION: <!--#echo var="VAR_incoming-check-list"--></a>
@@ -20573,6 +20590,47 @@ give up and consider it a failed connection.
&lt;End of help on this topic&gt;
</BODY>
</HTML>
+====== h_config_psleep ======
+<HTML>
+<HEAD>
+<TITLE>OPTION: <!--#echo var="VAR_mailcap-check-interval"--> (UNIX Alpine only)</TITLE>
+</HEAD>
+<BODY>
+<H1>OPTION: <!--#echo var="VAR_mailcap-check-interval"--> (UNIX Alpine only)</H1>
+
+<P>
+In the good old days a mailcap viewer was used to examine an
+attachment before saving it, and after viewing the attachment control
+would return to the operating system when the viewer was closed. Therefore,
+when the mailcap viewer returned control to the operating system, it
+could be assumed that the user who opened the attachment was done
+examining it, and the copy of the attachment that was used, could be removed.
+
+<P>
+However, today this assumption is not longer valid. Some viewers return
+control to the operating system before they actually read the attachment
+to be examined. This causes Alpine to delete the attachment before it
+is read by the viewer, causing the viewer to fail opening the attachment.
+
+<P>
+In order to work around this problem, Alpine checks, after the viewer has
+returned control to the operating system, if there is any process that is
+using the attachment. This variable controls the number of seconds that
+must elapse between checks. Once it is found that no process is using the
+attachment, this is removed.
+
+<P>
+The minimum value for this variable is 60 (checks will be made once per
+minute), and the maximum value is 600 (checks will be made once every 10
+minutes). The default value is 60.
+
+<P>
+<UL>
+<LI><A HREF="h_finding_help">Finding more information and requesting help</A>
+</UL><P>
+&lt;End of help on this topic&gt;
+</BODY>
+</HTML>
====== h_config_incoming_interv ======
<HTML>
<HEAD>
diff --git a/pith/reply.c b/pith/reply.c
index 3445097f..249089ec 100644
--- a/pith/reply.c
+++ b/pith/reply.c
@@ -767,24 +767,35 @@ reply_quote_initials(char *name)
{
char *s = name,
*w = name;
-
+ int i, j;
+ CBUF_S cbuf;
+ UCS ucs;
+
+ cbuf.cbuf[i = 0] = '\0';
+ cbuf.cbufp = cbuf.cbuf;
+ cbuf.cbufend = cbuf.cbuf;
+
/* while there are still characters to look at */
while(s && *s){
/* skip to next initial */
- while(*s && isspace((unsigned char) *s))
+ while(*s && (unsigned char) *s == ' ')
s++;
- /* skip over cruft like single quotes */
- while(*s && !isalnum((unsigned char) *s))
- s++;
+ if(!utf8_to_ucs4_oneatatime((unsigned char) *s++ & 0xff, &cbuf, &ucs, NULL)){
+ i++;
+ continue;
+ }
- /* copy initial */
- if(*s)
- *w++ = *s++;
+ /* copy cbuf */
+ for(j = 0; j <= i; j++) *w++ = cbuf.cbuf[j];
/* skip to end of this piece of name */
- while(*s && !isspace((unsigned char) *s))
+ while(*s && (unsigned char) *s != ' ')
s++;
+
+ cbuf.cbuf[i = 0] = '\0';
+ cbuf.cbufp = cbuf.cbuf;
+ cbuf.cbufend = cbuf.cbuf;
}
if(w)
diff --git a/pith/smime.c b/pith/smime.c
index c0253ba5..e34cfb6b 100644
--- a/pith/smime.c
+++ b/pith/smime.c
@@ -1292,8 +1292,7 @@ body_to_bio(BODY *body)
* Now need to truncate by two characters since the above
* appends CRLF.
*/
- if(ps_global->smime && !ps_global->smime->do_sign
- && (len=BIO_ctrl_pending(bio)) > 1){
+ if((len=BIO_ctrl_pending(bio)) > 1){
BUF_MEM *biobuf = NULL;
BIO_get_mem_ptr(bio, &biobuf);
@@ -1606,9 +1605,10 @@ do_signature_verify(PKCS7 *p7, BIO *in, BIO *out)
long err;
#if 0
- dump_bio_to_file(in,"/tmp/verified-data");
+ if (in)
+ dump_bio_to_file(in,"/tmp/verified-data");
#endif
-
+
if(!s_cert_store){
q_status_message(SM_ORDER | SM_DING, 2, 2,
_("Couldn't verify S/MIME signature: No CA Certs were loaded"));
diff --git a/pith/state.h b/pith/state.h
index 671cd752..ec83741a 100644
--- a/pith/state.h
+++ b/pith/state.h
@@ -308,6 +308,8 @@ struct pine {
int tcp_query_timeout;
+ int sleep;
+
int inc_check_timeout;
int inc_check_interval; /* for local and IMAP */
int inc_second_check_interval; /* for other */