home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume24 / elm2.3patches / part03 < prev    next >
Text File  |  1991-03-05  |  33KB  |  1,089 lines

  1. Subject:  v24i027:  Elm mail system, release 2.3, patches, Part03/11
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4. X-Checksum-Snefru: be7b796a cd634b4a 3b8e39d1 0e8e39b6
  5.  
  6. Submitted-by: Syd Weinstein <syd@DSI.COM>
  7. Posting-number: Volume 24, Issue 27
  8. Archive-name: elm2.3patches/part03
  9.  
  10. Subject: elm 2.3 Patch #3
  11. Summary: This is an official patch for elm 2.3 system.  Please apply it.
  12. Priority: MEDIUM
  13.  
  14. Final of 3 patches for release corrections/changes
  15.  
  16. Fix symbol for NO_XHEADER
  17. From: tom@tarzan.UUCP (Thomas Krickstadt)
  18.  
  19. Add inbox as another fixed mailbox name
  20. From: heiser@tdw201.ed.ray.com
  21.  
  22. Add carriage return to edit return because of loss
  23. of where col is on calling external editor
  24. From: Syd
  25.  
  26. allow the calendar scan function to allow items to be indented as in the doc example.
  27. From: uunet!med9k.parvenu.COM!jpen (Jerry Pendergraft)
  28.  
  29. Fix wrong file name on elm man page
  30. From: indra@bach.AMD.COM (Indra Singhal)
  31.  
  32. Add new libc nm code from Larry Wall for newest configure changes
  33. Update uname check for executing uname
  34. From: Syd
  35.  
  36. The example for including command output doesn't match the text or the
  37. comment.  Use :r for clean insertion (!! replaces the current line).
  38. From: pdc%lunch.wpd@sgi.com (Paul Close)
  39.  
  40. Fix error message and add infile clear before use.
  41. From: hans@duttnph.tudelft.nl (Hans Buurman)
  42.  
  43. Reduce chances of readmsg being confused by "From " lines.
  44. From: Marius Olafsson
  45.  
  46. Make elm not show To user if user also sent message
  47. From: Marius Olafsson
  48.  
  49. patch to fix up the Log headers.
  50. From: pdc%lunch.wpd@sgi.com (Paul Close)
  51.  
  52. Add include to leavembox due to AIX needing utimebuf and its
  53. included from time.h
  54. From: Syd
  55.  
  56. Make lock use same name for file to lock as elm
  57. From: Edwin Wiles
  58.  
  59. Add check for read past eof in get_entry in aliasdb
  60. From: Ross Johnson
  61.  
  62. Fix:    From rn, say "| patch -p -N -d DIR", where DIR is your elm source
  63.     directory.  Outside of rn, say "cd DIR; patch -p -N <thisarticle".
  64.     If you don't have the patch program, apply the following by hand,
  65.     or get patch (version 2.0, latest patchlevel).
  66.  
  67.     After patching:
  68.         sh Configure -d
  69.         make
  70.         make install
  71.  
  72.     If patch indicates that patchlevel is the wrong version, you may need
  73.     to apply one or more previous patches, or the patch may already
  74.     have been applied.  See the patchlevel.h file to find out what has or
  75.     has not been applied.  In any event, don't continue with the patch.
  76.  
  77.     If you are missing previous patches they can be obtained from our:
  78.     archive server.
  79.  
  80.     Syd Weinstein
  81.     elm@DSI.COM
  82.  
  83.     The patches are available from the dsinc archive server
  84.     Send the following message to archive-server@DSI.COM for
  85.     a list of available patches:
  86.  
  87.     Subject: patch list
  88.     send index elm
  89.  
  90. Index: hdrs/patchlevel.h
  91. Prereq: 2
  92. *** ../elm2.3/hdrs/patchlevel.h    Sat Jun  9 23:48:12 1990
  93. --- hdrs/patchlevel.h    Thu Jun 21 20:54:14 1990
  94. ***************
  95. *** 1 ****
  96. ! #define PATCHLEVEL 2
  97. --- 1 ----
  98. ! #define PATCHLEVEL 3
  99.  
  100. Index: Configure
  101. Prereq: 4.1.1.4
  102. *** ../elm2.3/Configure    Sat Jun  9 23:48:15 1990
  103. --- Configure    Thu Jun 21 23:31:51 1990
  104. ***************
  105. *** 8,14 ****
  106.   # and edit it to reflect your system.  Some packages may include samples
  107.   # of config.h for certain machines, so you might look for one of those.)
  108.   #
  109. ! # $Header: /files/home/users/syd/elm.rel/RCS/Configure,v 4.1.1.4 90/06/09 23:24:59 syd Exp $
  110.   #
  111.   # Yes, you may rip this off to use in other distribution packages.
  112.   # (Note: this Configure script was generated automatically.  Rather than
  113. --- 8,14 ----
  114.   # and edit it to reflect your system.  Some packages may include samples
  115.   # of config.h for certain machines, so you might look for one of those.)
  116.   #
  117. ! # $Header: /files/home/users/syd/elm.rel/RCS/Configure,v 4.1.1.5 90/06/21 23:31:37 syd Exp $
  118.   #
  119.   # Yes, you may rip this off to use in other distribution packages.
  120.   # (Note: this Configure script was generated automatically.  Rather than
  121. ***************
  122. *** 703,709 ****
  123.   : make some quick guesses about what we are up against
  124.   echo " "
  125.   $echo $n "Hmm...  $c"
  126. ! if $test -n "$uname"; then
  127.       uname_os=`uname -s`
  128.       uname_rel=`uname -r`
  129.       uname_rel=`expr "$uname" : "\(...\).*"`
  130. --- 703,709 ----
  131.   : make some quick guesses about what we are up against
  132.   echo " "
  133.   $echo $n "Hmm...  $c"
  134. ! if $test -x "$uname"; then
  135.       uname_os=`uname -s`
  136.       uname_rel=`uname -r`
  137.       uname_rel=`expr "$uname" : "\(...\).*"`
  138. ***************
  139. *** 1463,1472 ****
  140. --- 1463,1476 ----
  141.   else
  142.       $sed -n -e 's/^__*//' -e 's/^\([a-zA-Z_0-9$]*\).*xtern.*/\1/p' <libc.tmp >libc.list
  143.       $contains '^printf$' libc.list >/dev/null 2>&1 || \
  144. +     $sed -n -e '/|UNDEF/d' -e '/FUNC..GL/s/^.*|__*//p' <libc.tmp >libc.list
  145. +     $contains '^printf$' libc.list >/dev/null 2>&1 || \
  146.       $sed -n -e 's/^.* D __*//p' -e 's/^.* D //p' <libc.tmp >libc.list
  147.       $contains '^printf$' libc.list >/dev/null 2>&1 || \
  148.          $sed -n -e 's/^_//' \
  149.             -e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p' <libc.tmp >libc.list
  150. +     $contains '^printf$' libc.list >/dev/null 2>&1 || \
  151. +     $sed -n -e 's/^.*|FUNC |GLOB .*|//p' <libc.tmp >libc.list
  152.       if $contains '^printf$' libc.list >/dev/null 2>&1; then
  153.       echo "done"
  154.       else
  155. ***************
  156. *** 2595,2600 ****
  157. --- 2599,2625 ----
  158.       esac
  159.   fi
  160.   
  161. + case "$d_noxheader" in
  162. + "$define") dflt=y;;
  163. + "$undef")  dflt=n;;
  164. + *)    dflt=n;;
  165. + esac
  166. + $cat <<EOM
  167. +  
  168. + Some sites to not like to see the mail header "X-mailer:" in outgoing
  169. + messages.  If you choose, you may disable these headers.  However, it
  170. + is strongly urged to leave these headers in the mail to assist in
  171. + tracking down problems.
  172. + EOM
  173. + rp="Would you like to disable the X-mailer: headers? [$dflt]"
  174. + $echo $n "$rp $c"
  175. + . myread
  176. + case "$ans" in
  177. + y*) d_noxheader="$define";;
  178. + *)  d_noxheader="$undef";;
  179. + esac
  180.   : ask about optimizing return addresses
  181.   case "$d_optreturn" in
  182.   "$define")    dflt=y;;
  183. ***************
  184. *** 3701,3727 ****
  185.           fi
  186.       done
  187.   fi
  188. - case "$d_noxheader" in
  189. - "$define") dflt=y;;
  190. - "$undef")  dflt=n;;
  191. - *)    dflt=n;;
  192. - esac
  193. - $cat <<EOM
  194. -  
  195. - Some sites to not like to see the mail header "X-mailer:" in outgoing
  196. - messages.  If you choose, you may disable these headers.  However, it
  197. - is strongly urged to leave these headers in the mail to assist in
  198. - tracking down problems.
  199. - EOM
  200. - rp="Would you like to disable the X-mailer: headers? [$dflt]"
  201. - $echo $n "$rp $c"
  202. - . myread
  203. - case "$ans" in
  204. - y*) d_noxheader="$define";;
  205. - *)  d_noxheader="$undef";;
  206. - esac
  207.   
  208.   echo " "
  209.   echo "End of configuration questions."
  210. --- 3726,3731 ----
  211.  
  212. Index: doc/elm.1
  213. *** ../elm2.3/doc/elm.1    Sat Apr 28 22:41:30 1990
  214. --- doc/elm.1    Thu Jun 21 22:20:13 1990
  215. ***************
  216. *** 124,130 ****
  217.   .br
  218.   /usr/local/lib/aliases.data       system alias data table
  219.   .br
  220. ! $HOME/.elm/aliases.hash           user alias source
  221.   .br
  222.   $HOME/.elm/aliases.hash           user alias hash table
  223.   .br
  224. --- 124,130 ----
  225.   .br
  226.   /usr/local/lib/aliases.data       system alias data table
  227.   .br
  228. ! $HOME/.elm/aliases.text           user alias source
  229.   .br
  230.   $HOME/.elm/aliases.hash           user alias hash table
  231.   .br
  232.  
  233. Index: doc/readmsg.1
  234. *** ../elm2.3/doc/readmsg.1    Sat Apr 28 22:41:47 1990
  235. --- doc/readmsg.1    Thu Jun 21 22:31:23 1990
  236. ***************
  237. *** 66,80 ****
  238.   .sp
  239.   .SH "EXAMPLES"
  240.   First off, to use this from within \fBvi\fR to include the text of the 
  241. ! current message at the end of the current message, you could
  242. ! use the command;
  243.   .nf
  244.   
  245. !     !!readmsg
  246.   
  247.   .fi
  248. ! (as you hit the 'G' the editor will put you at the bottom of the screen
  249. ! with the '!' prompt).
  250.   .sp 2
  251.   Let's look at something more interesting, however;
  252.   .sp
  253. --- 66,79 ----
  254.   .sp
  255.   .SH "EXAMPLES"
  256.   First off, to use this from within \fBvi\fR to include the text of the 
  257. ! current message, you could use the command:
  258.   .nf
  259.   
  260. !     :r !readmsg
  261.   
  262.   .fi
  263. ! (as you hit the ':' the editor will put you at the bottom of the screen
  264. ! with the ':' prompt).  The space following ':r' is required.
  265.   .sp 2
  266.   Let's look at something more interesting, however;
  267.   .sp
  268.  
  269. Index: filter/lock.c
  270. Prereq: 4.1.1.1
  271. *** ../elm2.3/filter/lock.c    Tue Jun  5 22:02:34 1990
  272. --- filter/lock.c    Thu Jun 21 23:51:39 1990
  273. ***************
  274. *** 1,8 ****
  275.   
  276. ! static char rcsid[] ="@(#)$Id: lock.c,v 4.1.1.1 90/06/05 20:28:53 syd Exp $";
  277.   
  278.   /*******************************************************************************
  279. !  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  280.    *
  281.    *             Copyright (c) 1986, 1987 Dave Taylor
  282.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  283. --- 1,8 ----
  284.   
  285. ! static char rcsid[] ="@(#)$Id: lock.c,v 4.1.1.3 90/06/21 23:51:34 syd Exp $";
  286.   
  287.   /*******************************************************************************
  288. !  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
  289.    *
  290.    *             Copyright (c) 1986, 1987 Dave Taylor
  291.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  292. ***************
  293. *** 14,19 ****
  294. --- 14,26 ----
  295.    *
  296.    *******************************************************************************
  297.    * $Log:    lock.c,v $
  298. +  * Revision 4.1.1.3  90/06/21  23:51:34  syd
  299. +  * Fix typo
  300. +  * 
  301. +  * Revision 4.1.1.2  90/06/21  23:02:37  syd
  302. +  * Make lock use same name as elm
  303. +  * From: Edwin WIles
  304. +  * 
  305.    * Revision 4.1.1.1  90/06/05  20:28:53  syd
  306.    * The open system call in actions.c for EMERGENCY_MAILBOX and EMER_MBOX
  307.    * were tested with the inequality >= 0 exactly backwards.
  308. ***************
  309. *** 54,59 ****
  310. --- 61,85 ----
  311.   
  312.   extern  int  errno;
  313.   
  314. + char *
  315. + mk_lockname(home, user)
  316. + char *home, *user;
  317. + {
  318. +     /** Create the proper name of the lock file for file_to_lock.
  319. +         Return lock_name for informational purposes.
  320. +      **/
  321. + #ifdef XENIX
  322. +     /* lock is /tmp/[basename of file_to_lock].mlk */
  323. +     sprintf(lockfile, "/tmp/%.10s.mlk", user);
  324. + #else
  325. +     /* lock is [file_to_lock].lock */
  326. +     sprintf(lockfile, "%s%s.lock", home, user);
  327. + #endif
  328. +     return(lockfile);
  329. + }
  330.   int
  331.   lock()
  332.   {
  333. ***************
  334. *** 64,70 ****
  335.       int attempts = 0, ret;
  336.   
  337.   #ifndef    LOCK_FLOCK_ONLY            /* { !LOCK_FLOCK_ONLY    */
  338. !     sprintf(lockfile,  "%s%s.lock", mailhome, username);
  339.   #ifdef PIDCHECK
  340.       /** first, try to read the lock file, and if possible, check the pid.
  341.           If we can validate that the pid is no longer active, then remove
  342. --- 90,96 ----
  343.       int attempts = 0, ret;
  344.   
  345.   #ifndef    LOCK_FLOCK_ONLY            /* { !LOCK_FLOCK_ONLY    */
  346. !     mk_lockname(mailhome, username);
  347.   #ifdef PIDCHECK
  348.       /** first, try to read the lock file, and if possible, check the pid.
  349.           If we can validate that the pid is no longer active, then remove
  350.  
  351. Index: src/aliasdb.c
  352. Prereq: 4.1
  353. *** ../elm2.3/src/aliasdb.c    Sat Apr 28 22:42:29 1990
  354. --- src/aliasdb.c    Thu Jun 21 23:22:35 1990
  355. ***************
  356. *** 1,8 ****
  357.   
  358. ! static char rcsid[] = "@(#)$Id: aliasdb.c,v 4.1 90/04/28 22:42:28 syd Exp $";
  359.   
  360.   /*******************************************************************************
  361. !  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
  362.    *
  363.    *             Copyright (c) 1986, 1987 Dave Taylor
  364.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  365. --- 1,8 ----
  366.   
  367. ! static char rcsid[] = "@(#)$Id: aliasdb.c,v 4.1.1.1 90/06/21 23:21:47 syd Exp $";
  368.   
  369.   /*******************************************************************************
  370. !  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  371.    *
  372.    *             Copyright (c) 1986, 1987 Dave Taylor
  373.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  374. ***************
  375. *** 14,19 ****
  376. --- 14,23 ----
  377.    *
  378.    *******************************************************************************
  379.    * $Log:    aliasdb.c,v $
  380. +  * Revision 4.1.1.1  90/06/21  23:21:47  syd
  381. +  * Add missing check for eof and for failure of scanf
  382. +  * From: Ross Johnson
  383. +  * 
  384.    * Revision 4.1  90/04/28  22:42:28  syd
  385.    * checkin of Elm 2.3 as of Release PL0
  386.    * 
  387. ***************
  388. *** 292,297 ****
  389. --- 296,303 ----
  390.   FILE *fileid;
  391.   long offset;
  392.   {
  393. +     int    ch;
  394.       /** get entry...return machine and address immediately
  395.           following given offset in fileid.  **/
  396.   
  397. ***************
  398. *** 301,309 ****
  399.        * read until we hit an end-of-line */
  400.   
  401.       if(offset != 0L)
  402. !       while (getc(fileid) != '\n')
  403. !          ;
  404.   
  405.       fscanf(fileid, "%s\t%s", machine, address);
  406.   }
  407.   
  408. --- 307,318 ----
  409.        * read until we hit an end-of-line */
  410.   
  411.       if(offset != 0L)
  412. !       while ((ch = getc(fileid)) != EOF)
  413. !         if (ch == '\n')
  414. !           break;
  415.   
  416. +     *machine = '\0';
  417. +     *address = '\0';
  418.       fscanf(fileid, "%s\t%s", machine, address);
  419.   }
  420.   
  421.  
  422. Index: src/calendar.c
  423. Prereq: 4.1
  424. *** ../elm2.3/src/calendar.c    Sat Apr 28 22:42:37 1990
  425. --- src/calendar.c    Thu Jun 21 22:17:33 1990
  426. ***************
  427. *** 1,8 ****
  428.   
  429. ! static char rcsid[] = "@(#)$Id: calendar.c,v 4.1 90/04/28 22:42:36 syd Exp $";
  430.   
  431.   /*******************************************************************************
  432. !  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
  433.    *
  434.    *             Copyright (c) 1986, 1987 Dave Taylor
  435.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  436. --- 1,8 ----
  437.   
  438. ! static char rcsid[] = "@(#)$Id: calendar.c,v 4.1.1.1 90/06/21 22:16:50 syd Exp $";
  439.   
  440.   /*******************************************************************************
  441. !  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  442.    *
  443.    *             Copyright (c) 1986, 1987 Dave Taylor
  444.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  445. ***************
  446. *** 14,19 ****
  447. --- 14,23 ----
  448.    *
  449.    *******************************************************************************
  450.    * $Log:    calendar.c,v $
  451. +  * Revision 4.1.1.1  90/06/21  22:16:50  syd
  452. +  * Add skip leading whitespace
  453. +  * From Jerry Pendergrafyt
  454. +  * 
  455.    * Revision 4.1  90/04/28  22:42:36  syd
  456.    * checkin of Elm 2.3 as of Release PL0
  457.    * 
  458. ***************
  459. *** 140,148 ****
  460.   register char *string;
  461.   {
  462.       /* If string is of the form
  463. !      *    ->{optional white space} {stuff}
  464.        * return a pointer to stuff, otherwise return NULL.
  465.        */
  466.       
  467.       if(strncmp(string, "->", 2) == 0) {
  468.         for(string +=2 ; whitespace(*string); string++)
  469. --- 144,154 ----
  470.   register char *string;
  471.   {
  472.       /* If string is of the form
  473. !          * {optional white space} ->{optional white space} {stuff}
  474.        * return a pointer to stuff, otherwise return NULL.
  475.        */
  476. +     while( whitespace(*string) )
  477. +       string++;      /* strip leading W/S */
  478.       
  479.       if(strncmp(string, "->", 2) == 0) {
  480.         for(string +=2 ; whitespace(*string); string++)
  481.  
  482. Index: src/editmsg.c
  483. Prereq: 4.1.1.1
  484. *** ../elm2.3/src/editmsg.c    Sat Jun  9 23:48:19 1990
  485. --- src/editmsg.c    Thu Jun 21 21:14:29 1990
  486. ***************
  487. *** 1,8 ****
  488.   
  489. ! static char rcsid[] = "@(#)$Id: editmsg.c,v 4.1.1.1 90/06/09 23:33:06 syd Exp $";
  490.   
  491.   /*******************************************************************************
  492. !  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  493.    *
  494.    *             Copyright (c) 1986, 1987 Dave Taylor
  495.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  496. --- 1,8 ----
  497.   
  498. ! static char rcsid[] = "@(#)$Id: editmsg.c,v 4.1.1.2 90/06/21 21:14:09 syd Exp $";
  499.   
  500.   /*******************************************************************************
  501. !  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
  502.    *
  503.    *             Copyright (c) 1986, 1987 Dave Taylor
  504.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  505. ***************
  506. *** 14,19 ****
  507. --- 14,23 ----
  508.    *
  509.    *******************************************************************************
  510.    * $Log:    editmsg.c,v $
  511. +  * Revision 4.1.1.2  90/06/21  21:14:09  syd
  512. +  * Force Carriage return on return from editor, as column is lost
  513. +  * From: Steve Cambell
  514. +  * 
  515.    * Revision 4.1.1.1  90/06/09  23:33:06  syd
  516.    * Only say cannot invoke on -1 error which is cannot do exec in system call
  517.    * From: Syd
  518. ***************
  519. *** 94,99 ****
  520. --- 98,105 ----
  521.   
  522.       if (old_raw == ON)
  523.          Raw(ON);
  524. +     CarriageReturn();        /* don't know where we are, force col 0 */
  525.   
  526.       if (cursor_control)
  527.         transmit_functions(ON);        /* function keys are local */
  528.  
  529. Index: src/leavembox.c
  530. Prereq: 4.1.1.1
  531. *** ../elm2.3/src/leavembox.c    Sat Jun  9 23:48:20 1990
  532. --- src/leavembox.c    Thu Jun 21 22:52:15 1990
  533. ***************
  534. *** 1,8 ****
  535.   
  536. ! static char rcsid[] = "@(#)$Id: leavembox.c,v 4.1.1.1 90/06/09 21:33:23 syd Exp $";
  537.   
  538.   /*******************************************************************************
  539. !  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  540.    *
  541.    *             Copyright (c) 1986, 1987 Dave Taylor
  542.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  543. --- 1,8 ----
  544.   
  545. ! static char rcsid[] = "@(#)$Id: leavembox.c,v 4.1.1.3 90/06/21 22:51:52 syd Exp $";
  546.   
  547.   /*******************************************************************************
  548. !  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
  549.    *
  550.    *             Copyright (c) 1986, 1987 Dave Taylor
  551.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  552. ***************
  553. *** 14,23 ****
  554.    *
  555.    *******************************************************************************
  556.    * $Log:    leavembox.c,v $
  557.    * Revision 4.1.1.1  90/06/09  21:33:23  syd
  558. -  * Some wait system calls return with -1 and errno=4 (interrupted system call) when the
  559. -  * editor is invoked, suspended, and then resumed.  Loop until wait returns pid, or
  560. -  * returns -1 *if errno != EINTR*.  If wait returns -1 and errno = EINTR, we wait again.
  561.    * Some flock()s refuse to exclusively lock a fd open for read-only access.
  562.    * From: pdc%lunch.wpd@sgi.com (Paul Close)
  563.    * 
  564. --- 14,29 ----
  565.    *
  566.    *******************************************************************************
  567.    * $Log:    leavembox.c,v $
  568. +  * Revision 4.1.1.3  90/06/21  22:51:52  syd
  569. +  * Add time.h to includes as some OSs include needed substructure only
  570. +  * from time.h
  571. +  * From: Syd
  572. +  * 
  573. +  * Revision 4.1.1.2  90/06/21  22:48:14  syd
  574. +  * patch to fix up the Log headers.
  575. +  * From: pdc%lunch.wpd@sgi.com (Paul Close)
  576. +  * 
  577.    * Revision 4.1.1.1  90/06/09  21:33:23  syd
  578.    * Some flock()s refuse to exclusively lock a fd open for read-only access.
  579.    * From: pdc%lunch.wpd@sgi.com (Paul Close)
  580.    * 
  581. ***************
  582. *** 38,43 ****
  583. --- 44,56 ----
  584.   #include <sys/file.h>
  585.   #endif
  586.   #include <errno.h>
  587. + #ifdef I_TIME
  588. + #  include <time.h>
  589. + #endif
  590. + #ifdef I_SYSTIME
  591. + #  include <sys/time.h>
  592. + #endif
  593.   
  594.   /**********
  595.      Since a number of machines don't seem to bother to define the utimbuf
  596.  
  597. Index: src/mailmsg2.c
  598. Prereq: 4.1.1.2
  599. *** ../elm2.3/src/mailmsg2.c    Sat Jun  9 23:48:21 1990
  600. --- src/mailmsg2.c    Thu Jun 21 21:08:02 1990
  601. ***************
  602. *** 1,8 ****
  603.   
  604. ! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 4.1.1.2 90/06/09 23:20:24 syd Exp $";
  605.   
  606.   /*******************************************************************************
  607. !  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
  608.    *
  609.    *             Copyright (c) 1986, 1987 Dave Taylor
  610.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  611. --- 1,8 ----
  612.   
  613. ! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 4.1.1.3 90/06/21 21:07:48 syd Exp $";
  614.   
  615.   /*******************************************************************************
  616. !  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
  617.    *
  618.    *             Copyright (c) 1986, 1987 Dave Taylor
  619.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  620. ***************
  621. *** 14,19 ****
  622. --- 14,23 ----
  623.    *
  624.    *******************************************************************************
  625.    * $Log:    mailmsg2.c,v $
  626. +  * Revision 4.1.1.3  90/06/21  21:07:48  syd
  627. +  * Fix XHEAD define
  628. +  * From: Syd
  629. +  * 
  630.    * Revision 4.1.1.2  90/06/09  23:20:24  syd
  631.    * fix typo
  632.    * 
  633. ***************
  634. *** 770,778 ****
  635.       if (form)
  636.         fprintf(filedesc, "Content-Type: mailform\n");
  637.   
  638. ! #ifndef NOXHEADER
  639.       fprintf(filedesc, "X-Mailer: ELM [version %s]\n\n", version_buff);
  640. ! #endif /* !NOXHEADER */
  641.   
  642.       return((FILE *) filedesc);
  643.   }
  644. --- 774,782 ----
  645.       if (form)
  646.         fprintf(filedesc, "Content-Type: mailform\n");
  647.   
  648. ! #ifndef NO_XHEADER
  649.       fprintf(filedesc, "X-Mailer: ELM [version %s]\n\n", version_buff);
  650. ! #endif /* !NO_XHEADER */
  651.   
  652.       return((FILE *) filedesc);
  653.   }
  654.  
  655. Index: src/newmbox.c
  656. Prereq: 4.1
  657. *** ../elm2.3/src/newmbox.c    Sat Apr 28 22:43:36 1990
  658. --- src/newmbox.c    Thu Jun 21 21:10:45 1990
  659. ***************
  660. *** 1,8 ****
  661.   
  662. ! static char rcsid[] = "@(#)$Id: newmbox.c,v 4.1 90/04/28 22:43:34 syd Exp $";
  663.   
  664.   /*******************************************************************************
  665. !  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
  666.    *
  667.    *             Copyright (c) 1988, USENET Community Trust
  668.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  669. --- 1,8 ----
  670.   
  671. ! static char rcsid[] = "@(#)$Id: newmbox.c,v 4.1.1.1 90/06/21 21:10:33 syd Exp $";
  672.   
  673.   /*******************************************************************************
  674. !  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  675.    *
  676.    *             Copyright (c) 1988, USENET Community Trust
  677.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  678. ***************
  679. *** 14,19 ****
  680. --- 14,23 ----
  681.    *
  682.    *******************************************************************************
  683.    * $Log:    newmbox.c,v $
  684. +  * Revision 4.1.1.1  90/06/21  21:10:33  syd
  685. +  * Add another fixed mailbox id
  686. +  * From: Syd
  687. +  * 
  688.    * Revision 4.1  90/04/28  22:43:34  syd
  689.    * checkin of Elm 2.3 as of Release PL0
  690.    * 
  691. ***************
  692. *** 212,218 ****
  693.       if((cp = rindex(mbox, '/')) != NULL) {
  694.         cp++;
  695.         if (strcmp(cp, "mbox") == 0 || strcmp(cp, "mailbox") == 0 ||
  696. !         *cp == '.')
  697.           strcat(tempfn, username);
  698.         else
  699.           strcat(tempfn, cp);
  700. --- 216,222 ----
  701.       if((cp = rindex(mbox, '/')) != NULL) {
  702.         cp++;
  703.         if (strcmp(cp, "mbox") == 0 || strcmp(cp, "mailbox") == 0 ||
  704. !         strcmp(cp, "inbox") == 0 || *cp == '.')
  705.           strcat(tempfn, username);
  706.         else
  707.           strcat(tempfn, cp);
  708.  
  709. Index: src/read_rc.c
  710. Prereq: 4.1
  711. *** ../elm2.3/src/read_rc.c    Sat Apr 28 22:43:49 1990
  712. --- src/read_rc.c    Thu Jun 21 23:29:05 1990
  713. ***************
  714. *** 1,8 ****
  715.   
  716. ! static char rcsid[] = "@(#)$Id: read_rc.c,v 4.1 90/04/28 22:43:46 syd Exp $";
  717.   
  718.   /*******************************************************************************
  719. !  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
  720.    *
  721.    *             Copyright (c) 1986, 1987 Dave Taylor
  722.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  723. --- 1,8 ----
  724.   
  725. ! static char rcsid[] = "@(#)$Id: read_rc.c,v 4.1.1.1 90/06/21 23:28:49 syd Exp $";
  726.   
  727.   /*******************************************************************************
  728. !  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  729.    *
  730.    *             Copyright (c) 1986, 1987 Dave Taylor
  731.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  732. ***************
  733. *** 14,19 ****
  734. --- 14,23 ----
  735.    *
  736.    *******************************************************************************
  737.    * $Log:    read_rc.c,v $
  738. +  * Revision 4.1.1.1  90/06/21  23:28:49  syd
  739. +  * Add apollo check for //node
  740. +  * From: Russ Johnson
  741. +  * 
  742.    * Revision 4.1  90/04/28  22:43:46  syd
  743.    * checkin of Elm 2.3 as of Release PL0
  744.    * 
  745. ***************
  746. *** 745,750 ****
  747. --- 749,759 ----
  748.       if (buffer[0] == '/') {
  749.         dest[0] = '/';
  750.         dest[1] = '\0';
  751. + /* Added for Apollos - handle //node */
  752. +       if (buffer[1] == '/') {
  753. +         dest[1] = '/';
  754. +         dest[2] = '\0';
  755. +       }
  756.       }
  757.       else
  758.         dest[0] = '\0';
  759.  
  760. Index: src/strings.c
  761. Prereq: 4.1.1.1
  762. *** ../elm2.3/src/strings.c    Tue Jun  5 22:02:39 1990
  763. --- src/strings.c    Thu Jun 21 22:45:32 1990
  764. ***************
  765. *** 1,8 ****
  766.   
  767. ! static char rcsid[] = "@(#)$Id: strings.c,v 4.1.1.1 90/06/05 20:38:58 syd Exp $";
  768.   
  769.   /*******************************************************************************
  770. !  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  771.    *
  772.    *             Copyright (c) 1986, 1987 Dave Taylor
  773.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  774. --- 1,8 ----
  775.   
  776. ! static char rcsid[] = "@(#)$Id: strings.c,v 4.1.1.2 90/06/21 22:45:06 syd Exp $";
  777.   
  778.   /*******************************************************************************
  779. !  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
  780.    *
  781.    *             Copyright (c) 1986, 1987 Dave Taylor
  782.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  783. ***************
  784. *** 14,19 ****
  785. --- 14,23 ----
  786.    *
  787.    *******************************************************************************
  788.    * $Log:    strings.c,v $
  789. +  * Revision 4.1.1.2  90/06/21  22:45:06  syd
  790. +  * Make display not show To user if user is also sender
  791. +  * From: Marius Olafsson
  792. +  * 
  793.    * Revision 4.1.1.1  90/06/05  20:38:58  syd
  794.    * Allow nesting on () in comment in address
  795.    * From: Chip Rosenthal <chip@chinacat.Unicom.COM>
  796. ***************
  797. *** 150,156 ****
  798.   
  799.   #ifdef MMDF
  800.       if (strlen(buffer) == 0) {
  801. !       if(to && *to != '\0') {
  802.           tail_of(to, buffer, (char *)0);
  803.           using_to = 1;
  804.         } else
  805. --- 154,160 ----
  806.   
  807.   #ifdef MMDF
  808.       if (strlen(buffer) == 0) {
  809. !       if(to && *to != '\0' && !addr_matches_user(to, username)) {
  810.           tail_of(to, buffer, (char *)0);
  811.           using_to = 1;
  812.         } else
  813. ***************
  814. *** 167,173 ****
  815.          * we've only matched on the bare username.
  816.          */
  817.   
  818. !       if(to && *to != '\0') {
  819.           tail_of(to, buffer, (char *)0);
  820.           using_to = 1;
  821.         } else
  822. --- 171,177 ----
  823.          * we've only matched on the bare username.
  824.          */
  825.   
  826. !       if(to && *to != '\0' && !addr_matches_user(to, username)) {
  827.           tail_of(to, buffer, (char *)0);
  828.           using_to = 1;
  829.         } else
  830.  
  831. Index: src/syscall.c
  832. Prereq: 4.1.1.2
  833. *** ../elm2.3/src/syscall.c    Sat Jun  9 23:48:22 1990
  834. --- src/syscall.c    Thu Jun 21 22:48:20 1990
  835. ***************
  836. *** 1,8 ****
  837.   
  838. ! static char rcsid[] = "@(#)$Id: syscall.c,v 4.1.1.2 90/06/09 22:00:13 syd Exp $";
  839.   
  840.   /*******************************************************************************
  841. !  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
  842.    *
  843.    *             Copyright (c) 1986, 1987 Dave Taylor
  844.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  845. --- 1,8 ----
  846.   
  847. ! static char rcsid[] = "@(#)$Id: syscall.c,v 4.1.1.3 90/06/21 22:48:17 syd Exp $";
  848.   
  849.   /*******************************************************************************
  850. !  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
  851.    *
  852.    *             Copyright (c) 1986, 1987 Dave Taylor
  853.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  854. ***************
  855. *** 14,28 ****
  856.    *
  857.    *******************************************************************************
  858.    * $Log:    syscall.c,v $
  859.    * Revision 4.1.1.2  90/06/09  22:00:13  syd
  860.    * Use a close-on-exec pipe to diagnose exec() failures.
  861.    * From: tct!chip@uunet.UU.NET (Chip Salzenberg)
  862.    * 
  863.    * Revision 4.1.1.1  90/06/09  21:33:22  syd
  864. !  * Some wait system calls return with -1 and errno=4 (interrupted system call) when the
  865. !  * editor is invoked, suspended, and then resumed.  Loop until wait returns pid, or
  866. !  * returns -1 *if errno != EINTR*.  If wait returns -1 and errno = EINTR, we wait again.
  867. !  * Some flock()s refuse to exclusively lock a fd open for read-only access.
  868.    * From: pdc%lunch.wpd@sgi.com (Paul Close)
  869.    * 
  870.    * Revision 4.1  90/04/28  22:44:18  syd
  871. --- 14,31 ----
  872.    *
  873.    *******************************************************************************
  874.    * $Log:    syscall.c,v $
  875. +  * Revision 4.1.1.3  90/06/21  22:48:17  syd
  876. +  * patch to fix up the Log headers.
  877. +  * From: pdc%lunch.wpd@sgi.com (Paul Close)
  878. +  * 
  879.    * Revision 4.1.1.2  90/06/09  22:00:13  syd
  880.    * Use a close-on-exec pipe to diagnose exec() failures.
  881.    * From: tct!chip@uunet.UU.NET (Chip Salzenberg)
  882.    * 
  883.    * Revision 4.1.1.1  90/06/09  21:33:22  syd
  884. !  * Some wait(2) system calls return -1 and set errno=EINTR (interrupted system
  885. !  * call) when the editor is invoked, suspended, and then resumed.  Loop until
  886. !  * wait either returns pid, or returns -1 with errno != EINTR.
  887.    * From: pdc%lunch.wpd@sgi.com (Paul Close)
  888.    * 
  889.    * Revision 4.1  90/04/28  22:44:18  syd
  890.  
  891. Index: utils/readmsg.c
  892. Prereq: 4.1
  893. *** ../elm2.3/utils/readmsg.c    Sat Apr 28 22:44:53 1990
  894. --- utils/readmsg.c    Thu Jun 21 22:40:39 1990
  895. ***************
  896. *** 1,8 ****
  897.   
  898. ! static char rcsid[] = "@(#)$Id: readmsg.c,v 4.1 90/04/28 22:44:52 syd Exp $";
  899.   
  900.   /*******************************************************************************
  901. !  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
  902.    *
  903.    *             Copyright (c) 1986, 1987 Dave Taylor
  904.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  905. --- 1,8 ----
  906.   
  907. ! static char rcsid[] = "@(#)$Id: readmsg.c,v 4.1.1.2 90/06/21 22:40:12 syd Exp $";
  908.   
  909.   /*******************************************************************************
  910. !  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
  911.    *
  912.    *             Copyright (c) 1986, 1987 Dave Taylor
  913.    *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  914. ***************
  915. *** 14,19 ****
  916. --- 14,27 ----
  917.    *
  918.    *******************************************************************************
  919.    * $Log:    readmsg.c,v $
  920. +  * Revision 4.1.1.2  90/06/21  22:40:12  syd
  921. +  * Reduce occurrences of unprotected "From " confusing message count
  922. +  * From: Marius Olafsson
  923. +  * 
  924. +  * Revision 4.1.1.1  90/06/21  22:33:51  syd
  925. +  * Fix error message in readmsg and clear variable for use
  926. +  * From: Hans Buurman
  927. +  * 
  928.    * Revision 4.1  90/04/28  22:44:52  syd
  929.    * checkin of Elm 2.3 as of Release PL0
  930.    * 
  931. ***************
  932. *** 90,97 ****
  933.   #ifdef MMDF
  934.           newheader = 0,            /* flag: hit ^A^A^A^A line   */
  935.   #endif /* MMDF */
  936. !         string_match = 0;            /* flag: using string match? */
  937.           string[0] = '\0';            /* init match string to empty */
  938.   
  939.       /**** start of the actual program ****/
  940.   
  941. --- 98,106 ----
  942.   #ifdef MMDF
  943.           newheader = 0,            /* flag: hit ^A^A^A^A line   */
  944.   #endif /* MMDF */
  945. !         string_match = 0;            /* flag: using string match?  */
  946.           string[0] = '\0';            /* init match string to empty */
  947. +         infile[0] = '\0';            /* init mail file to empty    */
  948.   
  949.       /**** start of the actual program ****/
  950.   
  951. ***************
  952. *** 194,200 ****
  953.       }
  954.   
  955.       if ((file = fopen(infile, "r")) == NULL) {
  956. !       printf("But you have no mail! [ file = %d ]\n", infile);
  957.         exit(0);
  958.       }
  959.   
  960. --- 203,209 ----
  961.       }
  962.   
  963.       if ((file = fopen(infile, "r")) == NULL) {
  964. !       printf("But you have no mail! [ file = %s ]\n", infile);
  965.         exit(0);
  966.       }
  967.   
  968. ***************
  969. *** 274,284 ****
  970.       while (fgets(buffer, SLEN, file) != NULL)
  971.   #ifdef MMDF
  972.         if ((strcmp(buffer, MSG_SEPERATOR) == 0)
  973. !         && (++newheader % 2)) count++;
  974.   #else
  975. !       if (strncmp(buffer, "From ", 5) == 0)
  976. !         count++;
  977.   #endif /* MMDF */
  978.   
  979.       rewind( file );
  980.       return( count );
  981. --- 283,293 ----
  982.       while (fgets(buffer, SLEN, file) != NULL)
  983.   #ifdef MMDF
  984.         if ((strcmp(buffer, MSG_SEPERATOR) == 0)
  985. !         && (++newheader % 2))
  986.   #else
  987. !       if (real_from(buffer))
  988.   #endif /* MMDF */
  989. +         count++;
  990.   
  991.       rewind( file );
  992.       return( count );
  993. ***************
  994. *** 301,311 ****
  995.       while (fgets(buffer, SLEN, mailfile) != NULL) {
  996.   #ifdef MMDF
  997.         if ((strcmp(buffer, MSG_SEPERATOR) == 0)
  998. !         && (++newheader % 2)) message_count++;
  999.   #else
  1000. !       if (strncmp(buffer, "From ", 5) == 0)
  1001. !         message_count++;
  1002.   #endif /* MMDF */
  1003.   
  1004.         if (in_string(buffer, string)) {
  1005.           read_message[messages++] = message_count;
  1006. --- 310,320 ----
  1007.       while (fgets(buffer, SLEN, mailfile) != NULL) {
  1008.   #ifdef MMDF
  1009.         if ((strcmp(buffer, MSG_SEPERATOR) == 0)
  1010. !         && (++newheader % 2))
  1011.   #else
  1012. !       if (real_from(buffer))
  1013.   #endif /* MMDF */
  1014. +         message_count++;
  1015.   
  1016.         if (in_string(buffer, string)) {
  1017.           read_message[messages++] = message_count;
  1018.  
  1019. Index: Patchlist
  1020. *** ../elm2.3/Patchlist    Sat Jun  9 23:48:16 1990
  1021. --- Patchlist    Thu Jun 21 23:36:08 1990
  1022. ***************
  1023. *** 1,3 ****
  1024. --- 1,52 ----
  1025. +     Elm 2.3 Patch 3 - Release cleanup - Part III of III
  1026. +     Thu Jun 21 23:35:40 EDT 1990 (Creation date, not posting date)
  1027. + Fix symbol for NO_XHEADER
  1028. + From: tom@tarzan.UUCP (Thomas Krickstadt)
  1029. + Add inbox as another fixed mailbox name
  1030. + From: heiser@tdw201.ed.ray.com
  1031. + Add carriage return to edit return because of loss
  1032. + of where col is on calling external editor
  1033. + From: Syd
  1034. + allow the calendar scan function to allow items to be indented as in the doc example.
  1035. + From: uunet!med9k.parvenu.COM!jpen (Jerry Pendergraft)
  1036. + Fix wrong file name on elm man page
  1037. + From: indra@bach.AMD.COM (Indra Singhal)
  1038. + Add new libc nm code from Larry Wall for newest configure changes
  1039. + Update uname check for executing uname
  1040. + From: Syd
  1041. + The example for including command output doesn't match the text or the
  1042. + comment.  Use :r for clean insertion (!! replaces the current line).
  1043. + From: pdc%lunch.wpd@sgi.com (Paul Close)
  1044. + Fix error message and add infile clear before use.
  1045. + From: hans@duttnph.tudelft.nl (Hans Buurman)
  1046. + Reduce chances of readmsg being confused by "From " lines.
  1047. + From: Marius Olafsson
  1048. + Make elm not show To user if user also sent message
  1049. + From: Marius Olafsson
  1050. + patch to fix up the Log headers.
  1051. + From: pdc%lunch.wpd@sgi.com (Paul Close)
  1052. + Add include to leavembox due to AIX needing utimebuf and its
  1053. + included from time.h
  1054. + From: Syd
  1055. + Make lock use same name for file to lock as elm
  1056. + From: Edwin Wiles
  1057. + Add check for read past eof in get_entry in aliasdb
  1058. + From: Ross Johnson
  1059.       Elm 2.3 Patch 2 - Release cleanup - Part II
  1060.       Sat Jun  9 22:59:02 EDT 1990 (Creation date, not posting date)
  1061.   Update install to update test prompts for alias current message
  1062.  
  1063. exit 0 # Just in case...
  1064.