Elm 2.3 patches (1 of 11)
Gregory G. Woodbury
ggw%wolves at cs.duke.edu
Wed Feb 13 13:26:23 AEST 1991
Here follows all the patches that I have for elm2.3 (11).
They will be sent out in pairs until all are sent.
Archive-name: elm2.3/patch.01
>From ...unix.cis.pitt.edu!dsinc!dsinc.DSI.COM!syd Fri Jun 8 21:08:01 EDT 1990
>From: syd at dsinc.DSI.COM (Syd Weinstein)
Message-ID: <1990Jun6.020853.19126 at DSI.COM>
Date: 6 Jun 90 02:08:53 GMT
Sender: syd at DSI.COM (Syd Weinstein)
Organization: Datacomp Systems, Inc., Huntingdon Valley, PA 19006
Lines: 943
Summary: This is an official patch for elm 2.3 system. Please apply it.
Priority: HIGH
Fix: From rn, say "| patch -p -N -d DIR", where DIR is your elm source
directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle".
If you don't have the patch program, apply the following by hand,
or get patch (version 2.0, latest patchlevel).
After patching:
Configure -d (only if you had htons or signal problems)
make
make install
If patch indicates that patchlevel is the wrong version, you may need
to apply one or more previous patches, or the patch may already
have been applied. See the patchlevel.h file to find out what has or
has not been applied. In any event, don't continue with the patch.
If you are missing previous patches they can be obtained from our:
archive server.
Syd Weinstein
elm at DSI.COM
The patches are available from the dsinc archive server
Send the following message to archive-server at DSI.COM for
a list of available patches:
Subject: patch list
send index elm
Fixed Metaconfig prototype for voidsig, the test was backwards
(had a -z where a -n should have been)
>From: Syd
The open system call in actions.c for EMERGENCY_MAILBOX and EMER_MBOX
were tested with the inequality >= 0 exactly backwards.
If the user's system mail box (/usr/spool/mail/user_id) is
removed the attempt of filter to flock it fails. If it does not exist then
it should create it and then lock it.
>From: john at hopf.math.nwu.edu (John Franks)
Allow nesting on () in comment in address
>From: Chip Rosenthal <chip at chinacat.Unicom.COM>
Fix boundary condition in add_name_to_list() where it fails to
print error message.
>From: Chip Rosenthal <chip at chinacat.Unicom.COM>
Fixes the 'g' Group Reply command to send to the cc list also.
A bad variable name caused it to be ignored.
>From: chip at chinacat.Unicom.COM (Chip Rosenthal)
Fixes when ALLOW_SUBSHELL #define'd and you are in the
Message Header Edit Screen and the mail you just composed
is not a reply THEN the subshell command is executed.
>From: zvr at natasha.cs.wisc.EDU (Alexios Zavras)
Fixes where src/curses.c attempts to set the screen size via the ioctl
TIOCGWINSIZ if it exsists. It should only use the row or col size as
returned from the ioctl if they are not 0.
>From: muller%sdcc10 at ucsd.edu (Keith Muller)
alias command in ELM2.3 fails because of the wrong sized aliases.hash
newalias did not truncate existing file (aliases.hash)
>From: Toshinori Maeno <tmaeno at cc.titech.ac.jp>
Fix htonl() double define problems
>From: Syd
Fix aliases.hash.tmp being over 14 chars and causing rename problems
on a 14 character limit system.
>From: Syd
Fix now spurious error message for alias recursive expansion
when alias lookup is on a string over 20 chars long. If that
long, its just not an alias, so just return.
>From: Syd
Index: hdrs/patchlevel.h
Prereq: 0
*** ../elm2.3/hdrs/patchlevel.h Sat Apr 28 22:29:41 1990
--- hdrs/patchlevel.h Tue Jun 5 21:26:16 1990
***************
*** 1 ****
! #define PATCHLEVEL 0
--- 1 ----
! #define PATCHLEVEL 1
Index: Configure
Prereq: 4.1
*** ../elm2.3/Configure Sat Apr 28 22:40:52 1990
--- Configure Thu May 31 20:47:07 1990
***************
*** 8,14 ****
# and edit it to reflect your system. Some packages may include samples
# of config.h for certain machines, so you might look for one of those.)
#
! # $Header: /files/home/users/syd/elm.dev/RCS/Configure,v 4.1 90/04/28 22:40:46 syd Exp $
#
# Yes, you may rip this off to use in other distribution packages.
# (Note: this Configure script was generated automatically. Rather than
--- 8,14 ----
# and edit it to reflect your system. Some packages may include samples
# of config.h for certain machines, so you might look for one of those.)
#
! # $Header: /files/home/users/syd/elm.rel/RCS/Configure,v 4.1.1.1 90/05/31 20:46:41 syd Exp $
#
# Yes, you may rip this off to use in other distribution packages.
# (Note: this Configure script was generated automatically. Rather than
***************
*** 2701,2725 ****
set rename d_rename
eval $inlibc
- : ask about setgid running of Elm
- case "$d_setgid" in
- "$define") dflt=y;;
- "$undef") dflt=n;;
- *) dflt=y;;
- esac
- echo " "
- rp="Am I going to be running as a setgid program? [$dflt]"
- $echo $n "$rp $c"
- . myread
- case "$ans" in
- y*) d_setgid="$define";;
- *) d_setgid="$undef";;
- esac
- case "$d_setgid" in
- "$define") mailermode=2755;;
- *) mailermode=755;;
- esac
-
: see if sigvector exists -- since sigvec will match the substring
echo " "
if $contains sigvector libc.list >/dev/null 2>&1; then
--- 2701,2706 ----
***************
*** 3163,3169 ****
elif $contains 'void.*signal' $$.tmp >/dev/null 2>&1 ; then
echo "You have void (*signal())() instead of int."
d_voidsig="$define"
! elif $test -z "$d_voidsig"; then
echo $n "As you already told me, signal handlers return "
if $test "$d_voidsig" = "$define"; then
echo void
--- 3144,3150 ----
elif $contains 'void.*signal' $$.tmp >/dev/null 2>&1 ; then
echo "You have void (*signal())() instead of int."
d_voidsig="$define"
! elif $test -n "$d_voidsig"; then
echo $n "As you already told me, signal handlers return "
if $test "$d_voidsig" = "$define"; then
echo void
***************
*** 3443,3448 ****
--- 3424,3448 ----
esac
fi
done
+
+ : ask about setgid running of Elm
+ case "$d_setgid" in
+ "$define") dflt=y;;
+ "$undef") dflt=n;;
+ *) dflt=y;;
+ esac
+ echo " "
+ rp="Am I going to be running as a setgid program? [$dflt]"
+ $echo $n "$rp $c"
+ . myread
+ case "$ans" in
+ y*) d_setgid="$define";;
+ *) d_setgid="$undef";;
+ esac
+ case "$d_setgid" in
+ "$define") mailermode=2755;;
+ *) mailermode=755;;
+ esac
: determine the group of the mail directory- what group elm should use
mailgrp=`$ls -lgd $maildir`
Index: filter/actions.c
Prereq: 4.1
*** ../elm2.3/filter/actions.c Sat Apr 28 22:41:54 1990
--- filter/actions.c Tue Jun 5 20:28:52 1990
***************
*** 1,8 ****
! static char rcsid[] ="@(#)$Id: actions.c,v 4.1 90/04/28 22:41:53 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] ="@(#)$Id: actions.c,v 4.1.1.1 90/06/05 20:28:51 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,27 ----
*
*******************************************************************************
* $Log: actions.c,v $
+ * Revision 4.1.1.1 90/06/05 20:28:51 syd
+ * The open system call in actions.c for EMERGENCY_MAILBOX and EMER_MBOX
+ * were tested with the inequality >= 0 exactly backwards.
+ * If the user's system mail box (/usr/spool/mail/user_id) is
+ * removed the attempt of filter to flock it fails. If it does not exist then
+ * it should create it and then lock it.
+ * From: john at hopf.math.nwu.edu (John Franks)
+ *
* Revision 4.1 90/04/28 22:41:53 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 225,231 ****
sprintf(mailbox, "%s/%s", home, EMERGENCY_MAILBOX);
! if ((mailunit = open(mailbox, O_APPEND | O_WRONLY | O_CREAT, 0600)) >= 0) {
if (outfd != NULL)
fprintf(outfd, "filter (%s): Can't open %s either!!\n",
username, mailbox);
--- 233,239 ----
sprintf(mailbox, "%s/%s", home, EMERGENCY_MAILBOX);
! if ((mailunit = open(mailbox, O_APPEND | O_WRONLY | O_CREAT, 0600)) < 0) {
if (outfd != NULL)
fprintf(outfd, "filter (%s): Can't open %s either!!\n",
username, mailbox);
***************
*** 232,238 ****
sprintf(mailbox,"%s/%s", home, EMERG_MBOX);
! if ((mailunit = open(mailbox, O_APPEND | O_WRONLY | O_CREAT, 0600)) >= 0) {
if (outfd != NULL) {
fprintf(outfd,"filter (%s): Can't open %s either!!!!\n",
--- 240,246 ----
sprintf(mailbox,"%s/%s", home, EMERG_MBOX);
! if ((mailunit = open(mailbox, O_APPEND | O_WRONLY | O_CREAT, 0600)) < 0) {
if (outfd != NULL) {
fprintf(outfd,"filter (%s): Can't open %s either!!!!\n",
Index: filter/lock.c
Prereq: 4.1
*** ../elm2.3/filter/lock.c Sat Apr 28 22:41:58 1990
--- filter/lock.c Tue Jun 5 20:28:54 1990
***************
*** 1,8 ****
! static char rcsid[] ="@(#)$Id: lock.c,v 4.1 90/04/28 22:41:57 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] ="@(#)$Id: lock.c,v 4.1.1.1 90/06/05 20:28:53 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,27 ----
*
*******************************************************************************
* $Log: lock.c,v $
+ * Revision 4.1.1.1 90/06/05 20:28:53 syd
+ * The open system call in actions.c for EMERGENCY_MAILBOX and EMER_MBOX
+ * were tested with the inequality >= 0 exactly backwards.
+ * If the user's system mail box (/usr/spool/mail/user_id) is
+ * removed the attempt of filter to flock it fails. If it does not exist then
+ * it should create it and then lock it.
+ * From: john at hopf.math.nwu.edu (John Franks)
+ *
* Revision 4.1 90/04/28 22:41:57 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 94,100 ****
#endif /* } !LOCK_FLOCK_ONLY */
#ifdef LOCK_BY_FLOCK /* { LOCK_BY_FLOCK */
(void)sprintf(flock_name,"%s%s",mailhome,username);
! flock_fd = open(flock_name,O_RDONLY);
if ( flock_fd >= 0 )
for (attempts = 0; attempts < 10; attempts++) {
if ( (ret = flock(flock_fd,LOCK_NB|LOCK_EX)) != -1 )
--- 102,108 ----
#endif /* } !LOCK_FLOCK_ONLY */
#ifdef LOCK_BY_FLOCK /* { LOCK_BY_FLOCK */
(void)sprintf(flock_name,"%s%s",mailhome,username);
! flock_fd = open(flock_name, O_RDONLY | O_CREAT, 0600);
if ( flock_fd >= 0 )
for (attempts = 0; attempts < 10; attempts++) {
if ( (ret = flock(flock_fd,LOCK_NB|LOCK_EX)) != -1 )
Index: hdrs/defs.h
Prereq: 4.1
*** ../elm2.3/hdrs/defs.h Sat Apr 28 22:42:07 1990
--- hdrs/defs.h Tue Jun 5 21:23:28 1990
***************
*** 1,8 ****
! /* $Id: defs.h,v 4.1 90/04/28 22:42:06 syd Exp $ */
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! /* $Id: defs.h,v 4.1.1.2 90/06/05 21:23:19 syd Exp $ */
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.2 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,29 ----
*
*******************************************************************************
* $Log: defs.h,v $
+ * Revision 4.1.1.2 90/06/05 21:23:19 syd
+ * Fix other side of same problem
+ * From: Syd
+ *
+ * Revision 4.1.1.1 90/06/05 21:16:42 syd
+ * Try and avoid double definitions for the null
+ * macro for htonl when the system includes aready
+ * have it
+ * From: Syd
+ *
* Revision 4.1 90/04/28 22:42:06 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 327,341 ****
/*
* Macros for network/external number representation conversion.
*/
#ifdef NETWORK_ORDER
unsigned short ntohs(), htons();
unsigned long ntohl(), htonl();
#else
! #define ntohl(x) (x)
! #define ntohs(x) (x)
! #define htonl(x) (x)
! #define htons(x) (x)
#endif
char *argv_zero();
--- 337,357 ----
/*
* Macros for network/external number representation conversion.
+ * Note, some system include files already have htonl defined
+ * as this same macro, the ifndef should prevent conflicts.
*/
#ifdef NETWORK_ORDER
+ # ifndef ntohl
unsigned short ntohs(), htons();
unsigned long ntohl(), htonl();
+ # endif
#else
! # ifndef ntohl
! # define ntohl(x) (x)
! # define ntohs(x) (x)
! # define htonl(x) (x)
! # define htons(x) (x)
! # endif
#endif
char *argv_zero();
Index: src/alias.c
Prereq: 4.1
*** ../elm2.3/src/alias.c Sat Apr 28 22:42:27 1990
--- src/alias.c Tue Jun 5 21:20:46 1990
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: alias.c,v 4.1 90/04/28 22:42:25 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: alias.c,v 4.1.1.1 90/06/05 21:20:26 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,24 ----
*
*******************************************************************************
* $Log: alias.c,v $
+ * Revision 4.1.1.1 90/06/05 21:20:26 syd
+ * Make temp file name less than 14 chars to allow deleting
+ * aliases on a 14 char limit file system
+ * From: Syd
+ *
* Revision 4.1 90/04/28 22:42:25 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 437,443 ****
strcat(name_with_equals, " =");
sprintf(fname,"%s/%s", home, ALIAS_TEXT);
! sprintf(tmpfname,"%s/%s.tmp", home, ALIAS_TEXT);
save_file_stats(fname);
--- 442,448 ----
strcat(name_with_equals, " =");
sprintf(fname,"%s/%s", home, ALIAS_TEXT);
! sprintf(tmpfname,"%s/%s.t", home, ALIAS_TEXT);
save_file_stats(fname);
Index: src/aliaslib.c
Prereq: 4.1
*** ../elm2.3/src/aliaslib.c Sat Apr 28 22:42:30 1990
--- src/aliaslib.c Tue Jun 5 21:32:08 1990
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: aliaslib.c,v 4.1 90/04/28 22:42:29 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: aliaslib.c,v 4.1.1.2 90/06/05 21:31:34 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.2 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,30 ----
*
*******************************************************************************
* $Log: aliaslib.c,v $
+ * Revision 4.1.1.2 90/06/05 21:31:34 syd
+ * Fix now spurious error message for alias recursive expansion
+ * when alias lookup is on a string over 20 chars long. If that
+ * long, its just not an alias, so just return.
+ * From: Syd
+ *
+ * Revision 4.1.1.1 90/06/05 20:41:25 syd
+ * Fix boundary condition in add_name_to_list() where it fails to
+ * print error message.
+ * From: Chip Rosenthal <chip at chinacat.Unicom.COM>
+ *
* Revision 4.1 90/04/28 22:42:29 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 214,246 ****
*/
int add_name_to_list(name,bufptr,bufsizep)
register char *name; /* name to append to buffer */
! char **bufptr; /* pointer to pointer to end of buffer */
! int *bufsizep; /* pointer to space remaining in buffer */
{
! register char *dest = *bufptr;
! register int bufsize = *bufsizep;
! if ( bufsize < 2 )
! return FALSE;
! *dest++ = ','; --bufsize;
! *dest++ = ' '; --bufsize;
!
! while ( *name != '\0' && --bufsize > 0 )
! *dest++ = *name++ ;
! *dest = '\0';
!
! *bufptr = dest;
! *bufsizep = bufsize;
! if ( bufsize <= 0 ) {
! error("Alias expansion is too long.");
! return FALSE;
}
return TRUE;
}
-
#ifndef DONT_TOUCH_ADDRESSES
char *expand_system(buffer, show_errors)
char *buffer;
--- 225,253 ----
*/
int add_name_to_list(name,bufptr,bufsizep)
register char *name; /* name to append to buffer */
! register char **bufptr; /* pointer to pointer to end of buffer */
! register int *bufsizep; /* pointer to space remaining in buffer */
{
! if ( *bufsizep < 0 )
! return FALSE;
! *bufsizep -= strlen(name)+2;
! if ( *bufsizep <= 0 ) {
! *bufsizep = -1;
! error("Alias expansion is too long.");
! return FALSE;
}
+ *(*bufptr)++ = ',';
+ *(*bufptr)++ = ' ';
+ while ( *name != '\0' )
+ *(*bufptr)++ = *name++ ;
+ **bufptr = '\0';
+
return TRUE;
}
#ifndef DONT_TOUCH_ADDRESSES
char *expand_system(buffer, show_errors)
char *buffer;
***************
*** 269,279 ****
/** find word and return loc, or -1 **/
register int loc;
! if (strlen(word) > 20) {
! dprint(3, (debugfile, "Overly long alias name entered: %s\n", word));
! error1("Bad alias name: %s. Too long.\n", word);
return(-1);
- }
loc = hash_it(word, size);
--- 276,284 ----
/** find word and return loc, or -1 **/
register int loc;
! /** cannot be an alias if its longer than 20 chars **/
! if (strlen(word) > 20)
return(-1);
loc = hash_it(word, size);
Index: src/curses.c
Prereq: 4.1
*** ../elm2.3/src/curses.c Sat Apr 28 22:42:40 1990
--- src/curses.c Tue Jun 5 21:05:24 1990
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: curses.c,v 4.1 90/04/28 22:42:39 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: curses.c,v 4.1.1.1 90/06/05 21:05:22 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,25 ----
*
*******************************************************************************
* $Log: curses.c,v $
+ * Revision 4.1.1.1 90/06/05 21:05:22 syd
+ * Fixes where src/curses.c attempts to set the screen size via the ioctl
+ * TIOCGWINSIZ if it exsists. It should only use the row or col size as
+ * returned from the ioctl if they are not 0.
+ * From: muller%sdcc10 at ucsd.edu (Keith Muller)
+ *
* Revision 4.1 90/04/28 22:42:39 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 258,265 ****
struct winsize w;
if (ioctl(1,TIOCGWINSZ,&w) != -1) {
! _lines = w.ws_row;
! _columns = w.ws_col;
}
#endif
--- 264,273 ----
struct winsize w;
if (ioctl(1,TIOCGWINSZ,&w) != -1) {
! if (w.ws_row > 0)
! _lines = w.ws_row;
! if (w.ws_col > 0)
! _columns = w.ws_col;
}
#endif
Index: src/hdrconfg.c
Prereq: 4.1
*** ../elm2.3/src/hdrconfg.c Sat Apr 28 22:43:11 1990
--- src/hdrconfg.c Tue Jun 5 20:59:33 1990
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: hdrconfg.c,v 4.1 90/04/28 22:43:10 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: hdrconfg.c,v 4.1.1.2 90/06/05 20:59:30 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.2 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,28 ----
*
*******************************************************************************
* $Log: hdrconfg.c,v $
+ * Revision 4.1.1.2 90/06/05 20:59:30 syd
+ * Fix log
+ *
+ * Revision 4.1.1.1 90/06/05 20:58:23 syd
+ * Fixes when ALLOW_SUBSHELL #define'd and you are in the
+ * Message Header Edit Screen and the mail you just composed
+ * is not a reply THEN the subshell command is executed.
+ * From: zvr at natasha.cs.wisc.EDU (Alexios Zavras)
+ *
* Revision 4.1 90/04/28 22:43:10 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 192,211 ****
ClearLine(EXTRA_PROMPT_LINE);
break;
- case 'i' : if (strlen(in_reply_to) > 0) {
- PutLine0(INPUT_LINE, 0, "In-Reply-To: "); CleartoEOLN();
- if (optionally_enter(in_reply_to,
- INPUT_LINE, 13, FALSE, FALSE) == -1)
- return(0);
- put_inreplyto();
- break;
- }
-
#ifdef ALLOW_SUBSHELL
! case '!': if (subshell())
! display_headers();
! continue;
#endif
default : Centerline(ERROR_LINE, "No such header!");
displayed_error = YES;
--- 201,220 ----
ClearLine(EXTRA_PROMPT_LINE);
break;
#ifdef ALLOW_SUBSHELL
! case '!': if (subshell())
! display_headers();
! break;
#endif
+
+ case 'i' : if (strlen(in_reply_to) > 0) {
+ PutLine0(INPUT_LINE, 0, "In-Reply-To: "); CleartoEOLN();
+ if (optionally_enter(in_reply_to,
+ INPUT_LINE, 13, FALSE, FALSE) == -1)
+ return(0);
+ put_inreplyto();
+ break;
+ }
default : Centerline(ERROR_LINE, "No such header!");
displayed_error = YES;
Index: src/mailmsg1.c
Prereq: 4.1
*** ../elm2.3/src/mailmsg1.c Sat Apr 28 22:43:27 1990
--- src/mailmsg1.c Tue Jun 5 20:52:22 1990
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: mailmsg1.c,v 4.1 90/04/28 22:43:26 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: mailmsg1.c,v 4.1.1.1 90/06/05 20:52:21 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,24 ----
*
*******************************************************************************
* $Log: mailmsg1.c,v $
+ * Revision 4.1.1.1 90/06/05 20:52:21 syd
+ * Fixes the 'g' Group Reply command to send to the cc list also.
+ * A bad variable name caused it to be ignored.
+ * From: chip at chinacat.Unicom.COM (Chip Rosenthal)
+ *
* Revision 4.1 90/04/28 22:43:26 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 69,74 ****
--- 74,81 ----
if (get_to(to, expanded_to) == 0) /* get the To: address and expand */
return(0);
+ if ( cc[0] != '\0' ) /* expand out CC addresses */
+ build_address(strip_commas(cc), expanded_cc);
/** if we're batchmailing, let's send it and GET OUTTA HERE! **/
Index: src/strings.c
Prereq: 4.1
*** ../elm2.3/src/strings.c Sat Apr 28 22:44:17 1990
--- src/strings.c Tue Jun 5 20:38:59 1990
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: strings.c,v 4.1 90/04/28 22:44:16 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: strings.c,v 4.1.1.1 90/06/05 20:38:58 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
*
*******************************************************************************
* $Log: strings.c,v $
+ * Revision 4.1.1.1 90/06/05 20:38:58 syd
+ * Allow nesting on () in comment in address
+ * From: Chip Rosenthal <chip at chinacat.Unicom.COM>
+ *
* Revision 4.1 90/04/28 22:44:16 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 273,295 ****
char *strip_parens(string)
char *string;
{
! /** Return string with all parenthesized information removed.
! This is a non-destructive algorithm... **/
!
static char buffer[VERY_LONG_STRING];
! register int depth = 0, buffer_index = 0;
! for (; *string; string++) {
! if (*string == '(')
! depth++;
! else if (*string == ')')
! depth--;
! else if (depth == 0)
! buffer[buffer_index++] = *string;
}
!
! buffer[buffer_index] = '\0';
!
return( (char *) buffer);
}
--- 277,315 ----
char *strip_parens(string)
char *string;
{
! /**
! Remove parenthesized information from a string. More specifically,
! comments as defined in RFC822 are removed. This procedure is
! non-destructive - a pointer to static data is returned.
! **/
static char buffer[VERY_LONG_STRING];
! register char *bufp;
! register int depth;
! for ( bufp = buffer, depth = 0 ; *string != '\0' ; ++string ) {
! switch ( *string ) {
! case '(': /* begin comment on '(' */
! ++depth;
! break;
! case ')': /* decr nesting level on ')' */
! --depth;
! break;
! case '\\': /* treat next char literally */
! if ( *++string == '\0' ) { /* gracefully handle */
! *bufp++ = '\\'; /* '\' at end of string */
! --string; /* even tho it's wrong */
! } else if ( depth == 0 ) {
! *bufp++ = '\\';
! *bufp++ = *string;
! }
! break;
! default: /* a regular char */
! if ( depth == 0 )
! *bufp++ = *string;
! break;
! }
}
! *bufp = '\0';
return( (char *) buffer);
}
Index: utils/newalias.c
Prereq: 4.1
*** ../elm2.3/utils/newalias.c Sat Apr 28 22:44:48 1990
--- utils/newalias.c Tue Jun 5 21:11:22 1990
***************
*** 1,8 ****
! static char rcsid[] = "@(#)$Id: newalias.c,v 4.1 90/04/28 22:44:46 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
! static char rcsid[] = "@(#)$Id: newalias.c,v 4.1.1.1 90/06/05 21:11:20 syd Exp $";
/*******************************************************************************
! * The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,24 ----
*
*******************************************************************************
* $Log: newalias.c,v $
+ * Revision 4.1.1.1 90/06/05 21:11:20 syd
+ * alias command in ELM2.3 fails because of the wrong sized aliases.hash
+ * newalias did not truncate existing file (aliases.hash)
+ * From: Toshinori Maeno <tmaeno at cc.titech.ac.jp>
+ *
* Revision 4.1 90/04/28 22:44:46 syd
* checkin of Elm 2.3 as of Release PL0
*
***************
*** 126,132 ****
}
}
! if ((hash = open(hashname, O_WRONLY | O_CREAT, 0644)) == -1) {
printf("Couldn't open %s for output!\n", hashname);
exit(1);
}
--- 131,137 ----
}
}
! if ((hash = open(hashname, O_WRONLY | O_TRUNC | O_CREAT, 0644)) == -1) {
printf("Couldn't open %s for output!\n", hashname);
exit(1);
}
--
=====================================================================
Sydney S. Weinstein, CDP, CCP Elm Coordinator
Datacomp Systems, Inc. Voice: (215) 947-9900
syd at DSI.COM or dsinc!syd FAX: (215) 938-0235
--
Gregory G. Woodbury @ The Wolves Den UNIX, Durham NC
UUCP: ...dukcds!wolves!ggw ...mcnc!wolves!ggw [use the maps!]
Domain: ggw at cds.duke.edu ggw%wolves at mcnc.mcnc.org
[The line eater is a boojum snark! ] <standard disclaimers apply>
More information about the Alt.sources
mailing list