[comp.sources.unix] v24i027: Elm mail system, release 2.3, patches, Part03/11

rsalz@uunet.uu.net (Rich Salz) (03/06/91)

Submitted-by: Syd Weinstein <syd@DSI.COM>
Posting-number: Volume 24, Issue 27
Archive-name: elm2.3patches/part03

Subject: elm 2.3 Patch #3
Summary: This is an official patch for elm 2.3 system.  Please apply it.
Priority: MEDIUM

Final of 3 patches for release corrections/changes

Fix symbol for NO_XHEADER
From: tom@tarzan.UUCP (Thomas Krickstadt)

Add inbox as another fixed mailbox name
From: heiser@tdw201.ed.ray.com

Add carriage return to edit return because of loss
of where col is on calling external editor
From: Syd

allow the calendar scan function to allow items to be indented as in the doc example.
From: uunet!med9k.parvenu.COM!jpen (Jerry Pendergraft)

Fix wrong file name on elm man page
From: indra@bach.AMD.COM (Indra Singhal)

Add new libc nm code from Larry Wall for newest configure changes
Update uname check for executing uname
From: Syd

The example for including command output doesn't match the text or the
comment.  Use :r for clean insertion (!! replaces the current line).
From: pdc%lunch.wpd@sgi.com (Paul Close)

Fix error message and add infile clear before use.
From: hans@duttnph.tudelft.nl (Hans Buurman)

Reduce chances of readmsg being confused by "From " lines.
From: Marius Olafsson

Make elm not show To user if user also sent message
From: Marius Olafsson

patch to fix up the Log headers.
From: pdc%lunch.wpd@sgi.com (Paul Close)

Add include to leavembox due to AIX needing utimebuf and its
included from time.h
From: Syd

Make lock use same name for file to lock as elm
From: Edwin Wiles

Add check for read past eof in get_entry in aliasdb
From: Ross Johnson

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:
		sh Configure -d
		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@DSI.COM

	The patches are available from the dsinc archive server
	Send the following message to archive-server@DSI.COM for
	a list of available patches:

	Subject: patch list
	send index elm

Index: hdrs/patchlevel.h
Prereq: 2
*** ../elm2.3/hdrs/patchlevel.h	Sat Jun  9 23:48:12 1990
--- hdrs/patchlevel.h	Thu Jun 21 20:54:14 1990
***************
*** 1 ****
! #define PATCHLEVEL 2
--- 1 ----
! #define PATCHLEVEL 3

Index: Configure
Prereq: 4.1.1.4
*** ../elm2.3/Configure	Sat Jun  9 23:48:15 1990
--- Configure	Thu Jun 21 23:31:51 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.rel/RCS/Configure,v 4.1.1.4 90/06/09 23:24:59 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.5 90/06/21 23:31:37 syd Exp $
  #
  # Yes, you may rip this off to use in other distribution packages.
  # (Note: this Configure script was generated automatically.  Rather than
***************
*** 703,709 ****
  : make some quick guesses about what we are up against
  echo " "
  $echo $n "Hmm...  $c"
! if $test -n "$uname"; then
      uname_os=`uname -s`
      uname_rel=`uname -r`
      uname_rel=`expr "$uname" : "\(...\).*"`
--- 703,709 ----
  : make some quick guesses about what we are up against
  echo " "
  $echo $n "Hmm...  $c"
! if $test -x "$uname"; then
      uname_os=`uname -s`
      uname_rel=`uname -r`
      uname_rel=`expr "$uname" : "\(...\).*"`
***************
*** 1463,1472 ****
--- 1463,1476 ----
  else
      $sed -n -e 's/^__*//' -e 's/^\([a-zA-Z_0-9$]*\).*xtern.*/\1/p' <libc.tmp >libc.list
      $contains '^printf$' libc.list >/dev/null 2>&1 || \
+ 	$sed -n -e '/|UNDEF/d' -e '/FUNC..GL/s/^.*|__*//p' <libc.tmp >libc.list
+     $contains '^printf$' libc.list >/dev/null 2>&1 || \
  	$sed -n -e 's/^.* D __*//p' -e 's/^.* D //p' <libc.tmp >libc.list
      $contains '^printf$' libc.list >/dev/null 2>&1 || \
         $sed -n -e 's/^_//' \
  	      -e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p' <libc.tmp >libc.list
+     $contains '^printf$' libc.list >/dev/null 2>&1 || \
+ 	$sed -n -e 's/^.*|FUNC |GLOB .*|//p' <libc.tmp >libc.list
      if $contains '^printf$' libc.list >/dev/null 2>&1; then
  	echo "done"
      else
***************
*** 2595,2600 ****
--- 2599,2625 ----
  	esac
  fi
  
+ case "$d_noxheader" in
+ "$define") dflt=y;;
+ "$undef")  dflt=n;;
+ *)	dflt=n;;
+ esac
+ $cat <<EOM
+  
+ Some sites to not like to see the mail header "X-mailer:" in outgoing
+ messages.  If you choose, you may disable these headers.  However, it
+ is strongly urged to leave these headers in the mail to assist in
+ tracking down problems.
+ 
+ EOM
+ rp="Would you like to disable the X-mailer: headers? [$dflt]"
+ $echo $n "$rp $c"
+ . myread
+ case "$ans" in
+ y*) d_noxheader="$define";;
+ *)  d_noxheader="$undef";;
+ esac
+ 
  : ask about optimizing return addresses
  case "$d_optreturn" in
  "$define")	dflt=y;;
***************
*** 3701,3727 ****
  	    fi
  	done
  fi
- 
- case "$d_noxheader" in
- "$define") dflt=y;;
- "$undef")  dflt=n;;
- *)	dflt=n;;
- esac
- $cat <<EOM
-  
- Some sites to not like to see the mail header "X-mailer:" in outgoing
- messages.  If you choose, you may disable these headers.  However, it
- is strongly urged to leave these headers in the mail to assist in
- tracking down problems.
- 
- EOM
- rp="Would you like to disable the X-mailer: headers? [$dflt]"
- $echo $n "$rp $c"
- . myread
- case "$ans" in
- y*) d_noxheader="$define";;
- *)  d_noxheader="$undef";;
- esac
  
  echo " "
  echo "End of configuration questions."
--- 3726,3731 ----

Index: doc/elm.1
*** ../elm2.3/doc/elm.1	Sat Apr 28 22:41:30 1990
--- doc/elm.1	Thu Jun 21 22:20:13 1990
***************
*** 124,130 ****
  .br
  /usr/local/lib/aliases.data       system alias data table
  .br
! $HOME/.elm/aliases.hash           user alias source
  .br
  $HOME/.elm/aliases.hash           user alias hash table
  .br
--- 124,130 ----
  .br
  /usr/local/lib/aliases.data       system alias data table
  .br
! $HOME/.elm/aliases.text           user alias source
  .br
  $HOME/.elm/aliases.hash           user alias hash table
  .br

Index: doc/readmsg.1
*** ../elm2.3/doc/readmsg.1	Sat Apr 28 22:41:47 1990
--- doc/readmsg.1	Thu Jun 21 22:31:23 1990
***************
*** 66,80 ****
  .sp
  .SH "EXAMPLES"
  First off, to use this from within \fBvi\fR to include the text of the 
! current message at the end of the current message, you could
! use the command;
  .nf
  
! 	!!readmsg
  
  .fi
! (as you hit the 'G' the editor will put you at the bottom of the screen
! with the '!' prompt).
  .sp 2
  Let's look at something more interesting, however;
  .sp
--- 66,79 ----
  .sp
  .SH "EXAMPLES"
  First off, to use this from within \fBvi\fR to include the text of the 
! current message, you could use the command:
  .nf
  
! 	:r !readmsg
  
  .fi
! (as you hit the ':' the editor will put you at the bottom of the screen
! with the ':' prompt).  The space following ':r' is required.
  .sp 2
  Let's look at something more interesting, however;
  .sp

Index: filter/lock.c
Prereq: 4.1.1.1
*** ../elm2.3/filter/lock.c	Tue Jun  5 22:02:34 1990
--- filter/lock.c	Thu Jun 21 23:51:39 1990
***************
*** 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
--- 1,8 ----
  
! static char rcsid[] ="@(#)$Id: lock.c,v 4.1.1.3 90/06/21 23:51:34 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,26 ----
   *
   *******************************************************************************
   * $Log:	lock.c,v $
+  * Revision 4.1.1.3  90/06/21  23:51:34  syd
+  * Fix typo
+  * 
+  * Revision 4.1.1.2  90/06/21  23:02:37  syd
+  * Make lock use same name as elm
+  * From: Edwin WIles
+  * 
   * 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.
***************
*** 54,59 ****
--- 61,85 ----
  
  extern  int  errno;
  
+ char *
+ mk_lockname(home, user)
+ char *home, *user;
+ {
+ 	/** Create the proper name of the lock file for file_to_lock.
+ 	    Return lock_name for informational purposes.
+ 	 **/
+ 
+ #ifdef XENIX
+ 	/* lock is /tmp/[basename of file_to_lock].mlk */
+ 	sprintf(lockfile, "/tmp/%.10s.mlk", user);
+ #else
+ 	/* lock is [file_to_lock].lock */
+ 	sprintf(lockfile, "%s%s.lock", home, user);
+ #endif
+ 	return(lockfile);
+ }
+ 
+ 
  int
  lock()
  {
***************
*** 64,70 ****
  	int attempts = 0, ret;
  
  #ifndef	LOCK_FLOCK_ONLY			/* { !LOCK_FLOCK_ONLY	*/
! 	sprintf(lockfile,  "%s%s.lock", mailhome, username);
  #ifdef PIDCHECK
  	/** first, try to read the lock file, and if possible, check the pid.
  	    If we can validate that the pid is no longer active, then remove
--- 90,96 ----
  	int attempts = 0, ret;
  
  #ifndef	LOCK_FLOCK_ONLY			/* { !LOCK_FLOCK_ONLY	*/
! 	mk_lockname(mailhome, username);
  #ifdef PIDCHECK
  	/** first, try to read the lock file, and if possible, check the pid.
  	    If we can validate that the pid is no longer active, then remove

Index: src/aliasdb.c
Prereq: 4.1
*** ../elm2.3/src/aliasdb.c	Sat Apr 28 22:42:29 1990
--- src/aliasdb.c	Thu Jun 21 23:22:35 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: aliasdb.c,v 4.1 90/04/28 22:42:28 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: aliasdb.c,v 4.1.1.1 90/06/21 23:21:47 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:	aliasdb.c,v $
+  * Revision 4.1.1.1  90/06/21  23:21:47  syd
+  * Add missing check for eof and for failure of scanf
+  * From: Ross Johnson
+  * 
   * Revision 4.1  90/04/28  22:42:28  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 292,297 ****
--- 296,303 ----
  FILE *fileid;
  long offset;
  {
+ 	int	ch;
+ 
  	/** get entry...return machine and address immediately
  	    following given offset in fileid.  **/
  
***************
*** 301,309 ****
  	 * read until we hit an end-of-line */
  
  	if(offset != 0L)
! 	  while (getc(fileid) != '\n')
! 	     ;
  
  	fscanf(fileid, "%s\t%s", machine, address);
  }
  
--- 307,318 ----
  	 * read until we hit an end-of-line */
  
  	if(offset != 0L)
! 	  while ((ch = getc(fileid)) != EOF)
! 	    if (ch == '\n')
! 	      break;
  
+ 	*machine = '\0';
+ 	*address = '\0';
  	fscanf(fileid, "%s\t%s", machine, address);
  }
  

Index: src/calendar.c
Prereq: 4.1
*** ../elm2.3/src/calendar.c	Sat Apr 28 22:42:37 1990
--- src/calendar.c	Thu Jun 21 22:17:33 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: calendar.c,v 4.1 90/04/28 22:42:36 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: calendar.c,v 4.1.1.1 90/06/21 22:16:50 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:	calendar.c,v $
+  * Revision 4.1.1.1  90/06/21  22:16:50  syd
+  * Add skip leading whitespace
+  * From Jerry Pendergrafyt
+  * 
   * Revision 4.1  90/04/28  22:42:36  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 140,148 ****
  register char *string;
  {
  	/* If string is of the form
! 	 *	->{optional white space} {stuff}
  	 * return a pointer to stuff, otherwise return NULL.
  	 */
  	
  	if(strncmp(string, "->", 2) == 0) {
  	  for(string +=2 ; whitespace(*string); string++)
--- 144,154 ----
  register char *string;
  {
  	/* If string is of the form
!          * {optional white space} ->{optional white space} {stuff}
  	 * return a pointer to stuff, otherwise return NULL.
  	 */
+ 	while( whitespace(*string) )
+ 	  string++;      /* strip leading W/S */
  	
  	if(strncmp(string, "->", 2) == 0) {
  	  for(string +=2 ; whitespace(*string); string++)

Index: src/editmsg.c
Prereq: 4.1.1.1
*** ../elm2.3/src/editmsg.c	Sat Jun  9 23:48:19 1990
--- src/editmsg.c	Thu Jun 21 21:14:29 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: editmsg.c,v 4.1.1.1 90/06/09 23:33:06 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
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: editmsg.c,v 4.1.1.2 90/06/21 21:14:09 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,23 ----
   *
   *******************************************************************************
   * $Log:	editmsg.c,v $
+  * Revision 4.1.1.2  90/06/21  21:14:09  syd
+  * Force Carriage return on return from editor, as column is lost
+  * From: Steve Cambell
+  * 
   * Revision 4.1.1.1  90/06/09  23:33:06  syd
   * Only say cannot invoke on -1 error which is cannot do exec in system call
   * From: Syd
***************
*** 94,99 ****
--- 98,105 ----
  
  	if (old_raw == ON)
  	   Raw(ON);
+ 
+ 	CarriageReturn();		/* don't know where we are, force col 0 */
  
  	if (cursor_control)
  	  transmit_functions(ON);		/* function keys are local */

Index: src/leavembox.c
Prereq: 4.1.1.1
*** ../elm2.3/src/leavembox.c	Sat Jun  9 23:48:20 1990
--- src/leavembox.c	Thu Jun 21 22:52:15 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: leavembox.c,v 4.1.1.1 90/06/09 21:33:23 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
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: leavembox.c,v 4.1.1.3 90/06/21 22:51:52 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,23 ****
   *
   *******************************************************************************
   * $Log:	leavembox.c,v $
   * Revision 4.1.1.1  90/06/09  21:33:23  syd
-  * Some wait system calls return with -1 and errno=4 (interrupted system call) when the
-  * editor is invoked, suspended, and then resumed.  Loop until wait returns pid, or
-  * returns -1 *if errno != EINTR*.  If wait returns -1 and errno = EINTR, we wait again.
   * Some flock()s refuse to exclusively lock a fd open for read-only access.
   * From: pdc%lunch.wpd@sgi.com (Paul Close)
   * 
--- 14,29 ----
   *
   *******************************************************************************
   * $Log:	leavembox.c,v $
+  * Revision 4.1.1.3  90/06/21  22:51:52  syd
+  * Add time.h to includes as some OSs include needed substructure only
+  * from time.h
+  * From: Syd
+  * 
+  * Revision 4.1.1.2  90/06/21  22:48:14  syd
+  * patch to fix up the Log headers.
+  * From: pdc%lunch.wpd@sgi.com (Paul Close)
+  * 
   * Revision 4.1.1.1  90/06/09  21:33:23  syd
   * Some flock()s refuse to exclusively lock a fd open for read-only access.
   * From: pdc%lunch.wpd@sgi.com (Paul Close)
   * 
***************
*** 38,43 ****
--- 44,56 ----
  #include <sys/file.h>
  #endif
  #include <errno.h>
+ #ifdef I_TIME
+ #  include <time.h>
+ #endif
+ #ifdef I_SYSTIME
+ #  include <sys/time.h>
+ #endif
+ 
  
  /**********
     Since a number of machines don't seem to bother to define the utimbuf

Index: src/mailmsg2.c
Prereq: 4.1.1.2
*** ../elm2.3/src/mailmsg2.c	Sat Jun  9 23:48:21 1990
--- src/mailmsg2.c	Thu Jun 21 21:08:02 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 4.1.1.2 90/06/09 23:20:24 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
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 4.1.1.3 90/06/21 21:07:48 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	mailmsg2.c,v $
+  * Revision 4.1.1.3  90/06/21  21:07:48  syd
+  * Fix XHEAD define
+  * From: Syd
+  * 
   * Revision 4.1.1.2  90/06/09  23:20:24  syd
   * fix typo
   * 
***************
*** 770,778 ****
  	if (form)
  	  fprintf(filedesc, "Content-Type: mailform\n");
  
! #ifndef NOXHEADER
  	fprintf(filedesc, "X-Mailer: ELM [version %s]\n\n", version_buff);
! #endif /* !NOXHEADER */
  
  	return((FILE *) filedesc);
  }
--- 774,782 ----
  	if (form)
  	  fprintf(filedesc, "Content-Type: mailform\n");
  
! #ifndef NO_XHEADER
  	fprintf(filedesc, "X-Mailer: ELM [version %s]\n\n", version_buff);
! #endif /* !NO_XHEADER */
  
  	return((FILE *) filedesc);
  }

Index: src/newmbox.c
Prereq: 4.1
*** ../elm2.3/src/newmbox.c	Sat Apr 28 22:43:36 1990
--- src/newmbox.c	Thu Jun 21 21:10:45 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: newmbox.c,v 4.1 90/04/28 22:43:34 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
   *
   * 			Copyright (c) 1988, USENET Community Trust
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: newmbox.c,v 4.1.1.1 90/06/21 21:10:33 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1988, USENET Community Trust
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	newmbox.c,v $
+  * Revision 4.1.1.1  90/06/21  21:10:33  syd
+  * Add another fixed mailbox id
+  * From: Syd
+  * 
   * Revision 4.1  90/04/28  22:43:34  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 212,218 ****
  	if((cp = rindex(mbox, '/')) != NULL) {
  	  cp++;
  	  if (strcmp(cp, "mbox") == 0 || strcmp(cp, "mailbox") == 0 ||
! 		*cp == '.')
  	    strcat(tempfn, username);
  	  else
  	    strcat(tempfn, cp);
--- 216,222 ----
  	if((cp = rindex(mbox, '/')) != NULL) {
  	  cp++;
  	  if (strcmp(cp, "mbox") == 0 || strcmp(cp, "mailbox") == 0 ||
! 		strcmp(cp, "inbox") == 0 || *cp == '.')
  	    strcat(tempfn, username);
  	  else
  	    strcat(tempfn, cp);

Index: src/read_rc.c
Prereq: 4.1
*** ../elm2.3/src/read_rc.c	Sat Apr 28 22:43:49 1990
--- src/read_rc.c	Thu Jun 21 23:29:05 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: read_rc.c,v 4.1 90/04/28 22:43: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: read_rc.c,v 4.1.1.1 90/06/21 23:28:49 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:	read_rc.c,v $
+  * Revision 4.1.1.1  90/06/21  23:28:49  syd
+  * Add apollo check for //node
+  * From: Russ Johnson
+  * 
   * Revision 4.1  90/04/28  22:43:46  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 745,750 ****
--- 749,759 ----
  	if (buffer[0] == '/') {
  	  dest[0] = '/';
  	  dest[1] = '\0';
+ /* Added for Apollos - handle //node */
+ 	  if (buffer[1] == '/') {
+ 	    dest[1] = '/';
+ 	    dest[2] = '\0';
+ 	  }
  	}
  	else
  	  dest[0] = '\0';

Index: src/strings.c
Prereq: 4.1.1.1
*** ../elm2.3/src/strings.c	Tue Jun  5 22:02:39 1990
--- src/strings.c	Thu Jun 21 22:45:32 1990
***************
*** 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
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: strings.c,v 4.1.1.2 90/06/21 22:45:06 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,23 ----
   *
   *******************************************************************************
   * $Log:	strings.c,v $
+  * Revision 4.1.1.2  90/06/21  22:45:06  syd
+  * Make display not show To user if user is also sender
+  * From: Marius Olafsson
+  * 
   * Revision 4.1.1.1  90/06/05  20:38:58  syd
   * Allow nesting on () in comment in address
   * From: Chip Rosenthal <chip@chinacat.Unicom.COM>
***************
*** 150,156 ****
  
  #ifdef MMDF
  	if (strlen(buffer) == 0) {
! 	  if(to && *to != '\0') {
  	    tail_of(to, buffer, (char *)0);
  	    using_to = 1;
  	  } else
--- 154,160 ----
  
  #ifdef MMDF
  	if (strlen(buffer) == 0) {
! 	  if(to && *to != '\0' && !addr_matches_user(to, username)) {
  	    tail_of(to, buffer, (char *)0);
  	    using_to = 1;
  	  } else
***************
*** 167,173 ****
  	   * we've only matched on the bare username.
  	   */
  
! 	  if(to && *to != '\0') {
  	    tail_of(to, buffer, (char *)0);
  	    using_to = 1;
  	  } else
--- 171,177 ----
  	   * we've only matched on the bare username.
  	   */
  
! 	  if(to && *to != '\0' && !addr_matches_user(to, username)) {
  	    tail_of(to, buffer, (char *)0);
  	    using_to = 1;
  	  } else

Index: src/syscall.c
Prereq: 4.1.1.2
*** ../elm2.3/src/syscall.c	Sat Jun  9 23:48:22 1990
--- src/syscall.c	Thu Jun 21 22:48:20 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: syscall.c,v 4.1.1.2 90/06/09 22:00:13 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
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: syscall.c,v 4.1.1.3 90/06/21 22:48:17 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,28 ****
   *
   *******************************************************************************
   * $Log:	syscall.c,v $
   * Revision 4.1.1.2  90/06/09  22:00:13  syd
   * Use a close-on-exec pipe to diagnose exec() failures.
   * From: tct!chip@uunet.UU.NET (Chip Salzenberg)
   * 
   * Revision 4.1.1.1  90/06/09  21:33:22  syd
!  * Some wait system calls return with -1 and errno=4 (interrupted system call) when the
!  * editor is invoked, suspended, and then resumed.  Loop until wait returns pid, or
!  * returns -1 *if errno != EINTR*.  If wait returns -1 and errno = EINTR, we wait again.
!  * Some flock()s refuse to exclusively lock a fd open for read-only access.
   * From: pdc%lunch.wpd@sgi.com (Paul Close)
   * 
   * Revision 4.1  90/04/28  22:44:18  syd
--- 14,31 ----
   *
   *******************************************************************************
   * $Log:	syscall.c,v $
+  * Revision 4.1.1.3  90/06/21  22:48:17  syd
+  * patch to fix up the Log headers.
+  * From: pdc%lunch.wpd@sgi.com (Paul Close)
+  * 
   * Revision 4.1.1.2  90/06/09  22:00:13  syd
   * Use a close-on-exec pipe to diagnose exec() failures.
   * From: tct!chip@uunet.UU.NET (Chip Salzenberg)
   * 
   * Revision 4.1.1.1  90/06/09  21:33:22  syd
!  * Some wait(2) system calls return -1 and set errno=EINTR (interrupted system
!  * call) when the editor is invoked, suspended, and then resumed.  Loop until
!  * wait either returns pid, or returns -1 with errno != EINTR.
   * From: pdc%lunch.wpd@sgi.com (Paul Close)
   * 
   * Revision 4.1  90/04/28  22:44:18  syd

Index: utils/readmsg.c
Prereq: 4.1
*** ../elm2.3/utils/readmsg.c	Sat Apr 28 22:44:53 1990
--- utils/readmsg.c	Thu Jun 21 22:40:39 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: readmsg.c,v 4.1 90/04/28 22:44:52 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: readmsg.c,v 4.1.1.2 90/06/21 22:40:12 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,27 ----
   *
   *******************************************************************************
   * $Log:	readmsg.c,v $
+  * Revision 4.1.1.2  90/06/21  22:40:12  syd
+  * Reduce occurrences of unprotected "From " confusing message count
+  * From: Marius Olafsson
+  * 
+  * Revision 4.1.1.1  90/06/21  22:33:51  syd
+  * Fix error message in readmsg and clear variable for use
+  * From: Hans Buurman
+  * 
   * Revision 4.1  90/04/28  22:44:52  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 90,97 ****
  #ifdef MMDF
  	    newheader = 0,			/* flag: hit ^A^A^A^A line   */
  #endif /* MMDF */
! 	    string_match = 0;			/* flag: using string match? */
  	    string[0] = '\0';			/* init match string to empty */
  
  	/**** start of the actual program ****/
  
--- 98,106 ----
  #ifdef MMDF
  	    newheader = 0,			/* flag: hit ^A^A^A^A line   */
  #endif /* MMDF */
! 	    string_match = 0;			/* flag: using string match?  */
  	    string[0] = '\0';			/* init match string to empty */
+ 	    infile[0] = '\0';			/* init mail file to empty    */
  
  	/**** start of the actual program ****/
  
***************
*** 194,200 ****
  	}
  
  	if ((file = fopen(infile, "r")) == NULL) {
! 	  printf("But you have no mail! [ file = %d ]\n", infile);
  	  exit(0);
  	}
  
--- 203,209 ----
  	}
  
  	if ((file = fopen(infile, "r")) == NULL) {
! 	  printf("But you have no mail! [ file = %s ]\n", infile);
  	  exit(0);
  	}
  
***************
*** 274,284 ****
  	while (fgets(buffer, SLEN, file) != NULL)
  #ifdef MMDF
  	  if ((strcmp(buffer, MSG_SEPERATOR) == 0)
! 	    && (++newheader % 2)) count++;
  #else
! 	  if (strncmp(buffer, "From ", 5) == 0)
! 	    count++;
  #endif /* MMDF */
  
  	rewind( file );
  	return( count );
--- 283,293 ----
  	while (fgets(buffer, SLEN, file) != NULL)
  #ifdef MMDF
  	  if ((strcmp(buffer, MSG_SEPERATOR) == 0)
! 	    && (++newheader % 2))
  #else
! 	  if (real_from(buffer))
  #endif /* MMDF */
+ 	    count++;
  
  	rewind( file );
  	return( count );
***************
*** 301,311 ****
  	while (fgets(buffer, SLEN, mailfile) != NULL) {
  #ifdef MMDF
  	  if ((strcmp(buffer, MSG_SEPERATOR) == 0)
! 	    && (++newheader % 2)) message_count++;
  #else
! 	  if (strncmp(buffer, "From ", 5) == 0)
! 	    message_count++;
  #endif /* MMDF */
  
  	  if (in_string(buffer, string)) {
  	    read_message[messages++] = message_count;
--- 310,320 ----
  	while (fgets(buffer, SLEN, mailfile) != NULL) {
  #ifdef MMDF
  	  if ((strcmp(buffer, MSG_SEPERATOR) == 0)
! 	    && (++newheader % 2))
  #else
! 	  if (real_from(buffer))
  #endif /* MMDF */
+ 	    message_count++;
  
  	  if (in_string(buffer, string)) {
  	    read_message[messages++] = message_count;

Index: Patchlist
*** ../elm2.3/Patchlist	Sat Jun  9 23:48:16 1990
--- Patchlist	Thu Jun 21 23:36:08 1990
***************
*** 1,3 ****
--- 1,52 ----
+ 	Elm 2.3 Patch 3 - Release cleanup - Part III of III
+ 	Thu Jun 21 23:35:40 EDT 1990 (Creation date, not posting date)
+ Fix symbol for NO_XHEADER
+ From: tom@tarzan.UUCP (Thomas Krickstadt)
+ 
+ Add inbox as another fixed mailbox name
+ From: heiser@tdw201.ed.ray.com
+ 
+ Add carriage return to edit return because of loss
+ of where col is on calling external editor
+ From: Syd
+ 
+ allow the calendar scan function to allow items to be indented as in the doc example.
+ From: uunet!med9k.parvenu.COM!jpen (Jerry Pendergraft)
+ 
+ Fix wrong file name on elm man page
+ From: indra@bach.AMD.COM (Indra Singhal)
+ 
+ Add new libc nm code from Larry Wall for newest configure changes
+ Update uname check for executing uname
+ From: Syd
+ 
+ The example for including command output doesn't match the text or the
+ comment.  Use :r for clean insertion (!! replaces the current line).
+ From: pdc%lunch.wpd@sgi.com (Paul Close)
+ 
+ Fix error message and add infile clear before use.
+ From: hans@duttnph.tudelft.nl (Hans Buurman)
+ 
+ Reduce chances of readmsg being confused by "From " lines.
+ From: Marius Olafsson
+ 
+ Make elm not show To user if user also sent message
+ From: Marius Olafsson
+ 
+ patch to fix up the Log headers.
+ From: pdc%lunch.wpd@sgi.com (Paul Close)
+ 
+ Add include to leavembox due to AIX needing utimebuf and its
+ included from time.h
+ From: Syd
+ 
+ Make lock use same name for file to lock as elm
+ From: Edwin Wiles
+ 
+ Add check for read past eof in get_entry in aliasdb
+ From: Ross Johnson
+ 
+ 
  	Elm 2.3 Patch 2 - Release cleanup - Part II
  	Sat Jun  9 22:59:02 EDT 1990 (Creation date, not posting date)
  Update install to update test prompts for alias current message

exit 0 # Just in case...
-- 
Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.
Use a domain-based address or give alternate paths, or you may lose out.