distributed.
* Fixed bug in sbr/fmt_scan.c where an extra newline would be
added if a list of addresses was split over several header lines.
* In mts/smtp/smtp.c, undefine strlen and strcpy if they are
macros, regardless of platform.
* Allow q to quit mhshow, and n to skip to next part. Patch from
Kimmo Suominen <kim@tac.nyc.ny.us>.
* Modified mhstore to recognize attachments created by sendfiles
with x-conversions=gzip.
+Sat Sep 25 18:40:43 1999 Ruud de Rooij <ruud@ruud.org>
+
+ * Added config.sub and config.guess to the list of files to be
+ distributed.
+
+ * Fixed bug in sbr/fmt_scan.c where an extra newline would be
+ added if a list of addresses was split over several header lines.
+
+ * In mts/smtp/smtp.c, undefine strlen and strcpy if they are
+ macros, regardless of platform.
+
+ * Allow q to quit mhshow, and n to skip to next part. Patch from
+ Kimmo Suominen <kim@tac.nyc.ny.us>.
+
+ * Modified mhstore to recognize attachments created by sendfiles
+ with x-conversions=gzip.
+
Mon Sep 13 21:20:10 1999 Doug Morris <doug@mhost.com>
* added explicit cast to long from time_t for tclock in
DIST = README INSTALL MACHINES COPYRIGHT VERSION DIFFERENCES FAQ \
TODO COMPLETION-ZSH COMPLETION-TCSH MAIL.FILTERING \
ChangeLog install-sh mkinstalldirs Makefile.in aclocal.m4 \
- acconfig.h config.h.in configure.in configure stamp-h.in
+ acconfig.h config.h.in configure.in configure stamp-h.in config.sub config.guess
# subdirectories in distribution
SUBDIRS = h config sbr zotnet mts uip etc man
}
-#ifdef _AIX
/*
- * AIX by default will inline the strlen and strcpy commands by redefining
- * them as __strlen and __strcpy respectively. This causes compile problems
- * with the #ifdef MPOP in the middle. Should the #ifdef MPOP be removed,
- * remove these #undefs.
+ * On some systems, strlen and strcpy are defined as preprocessor macros. This
+ * causes compile problems with the #ifdef MPOP in the middle. Should the
+ * #ifdef MPOP be removed, remove these #undefs.
*/
+#ifdef strlen
# undef strlen
+#endif
+#ifdef strcpy
# undef strcpy
-#endif /* _AIX */
+#endif
static int
sm_werror (void)
len -= sp - lp + 1;
while (cp < ep && lp <= sp)
*cp++ = *lp++;
- *cp++ = '\n';
- for (i=indent; cp < ep && i > 0; i--)
- *cp++ = ' ';
while (isspace(*lp))
lp++, len--;
if (*lp) {
read (fileno (stdout), prompt, sizeof(prompt));
}
SIGNAL (SIGINT, istat);
- if (intr != OK) {
+ if (intr != OK || prompt[0] == 'n') {
(*ct->c_ceclosefnx) (ct);
return (alternate ? DONE : NOTOK);
}
+ if (prompt[0] == 'q') done(OK);
}
}
* attribute/value pairs which specify if this a tar file.
*/
if (!ct->c_storeproc && ct->c_subtype == APPLICATION_OCTETS) {
- int tarP = 0, zP = 0;
+ int tarP = 0, zP = 0, gzP = 0;
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
/* check for "type=tar" attribute */
zP = 1;
continue;
}
+ /* check for "conversions=gzip" attribute */
+ if ((!strcasecmp (*ap, "conversions") || !strcasecmp (*ap, "x-conversions"))
+ && (!strcasecmp (*ep, "gzip") || !strcasecmp (*ep, "x-gzip"))) {
+ gzP = 1;
+ continue;
+ }
}
if (tarP) {
ct->c_showproc = add (zP ? "%euncompress | tar tvf -"
- : "%etar tvf -", NULL);
+ : (gzP ? "%egzip -dc | tar tvf -"
+ : "%etar tvf -"), NULL);
if (!ct->c_storeproc) {
if (autosw) {
ct->c_storeproc = add (zP ? "| uncompress | tar xvpf -"
- : "| tar xvpf -", NULL);
+ : (gzP ? "| gzip -dc | tar xvpf -"
+ : "| tar xvpf -"), NULL);
ct->c_umask = 0022;
} else {
- ct->c_storeproc= add (zP ? "%m%P.tar.Z" : "%m%P.tar", NULL);
+ ct->c_storeproc= add (zP ? "%m%P.tar.Z"
+ : (gzP ? "%m%P.tar.gz"
+ : "%m%P.tar"), NULL);
}
}
}