summaryrefslogtreecommitdiff
path: root/pith
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2013-12-27 12:20:58 -0700
committerEduardo Chappa <chappa@washington.edu>2013-12-27 12:20:58 -0700
commit1bf084e1ed4cd931b08e233a3f5c30cc9de05dfc (patch)
tree5b25afa90c9ea9dbf7c8589040ee12f24b5363ad /pith
parent186a23ef94452e15aeadf60224300ca16acd4182 (diff)
downloadalpine-1bf084e1ed4cd931b08e233a3f5c30cc9de05dfc.tar.xz
* new address alpine-count@patches.freeiz.com for counting users of
Alpine. * When writing the .pinerc file, lines could not be longer than 10,000 characters, or else this caused corruption in the .pinerc data. Now they are allowed to be of any size. * Fix a problem that made Alpine remove files before they were open by the viewer. It requires that the user has an equivalent to a command such as "ps auxww" to list the list of processes. The default is "/bin/ps auxww", but it can be changed at compile time with the option --with-ps-cmd. * Remove -lregex from linker flags when building --with-supplied-regex. * Fix _INIT_ token for reply quote string to include support for 8-bit in personal names.
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 */