home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / newmail.pch1 < prev    next >
Text File  |  1992-04-18  |  6KB  |  189 lines

  1. Newsgroups: comp.sources.unix
  2. From: creps@silver.ucs.indiana.edu (Steve Creps)
  3. Subject: v26i012: newmail - utility to check for new mail, Patch01
  4. Sender: unix-sources-moderator@pa.dec.com
  5. Approved: vixie@pa.dec.com
  6.  
  7. Submitted-By: creps@silver.ucs.indiana.edu (Steve Creps)
  8. Posting-Number: Volume 26, Issue 12
  9. Archive-Name: newmail.pch1
  10.  
  11.    This is a bugfix patch for my newmail program that was posted in
  12. comp.sources.unix a couple of weeks ago.
  13.  
  14.    The first problem was with the program giving a bus error on SYSV
  15. machines when run in daemon mode.  This was a problem with an uninitialized
  16. pointer.  It got through the testing stage because it only appeared for me
  17. when optimization was turned on (-O), and I apparently compiled it without
  18. optimization when testing.  I believe it also worked with -O2.  I no longer
  19. have access to an HP-UX (SYSV) machine, so I can't go back and check.  Thanks
  20. to David Nugent for tracking down the problem with the pointer, and sending a
  21. fix for it.
  22.  
  23.    Another is a blind attempt (no more SYSV machine, remember) to fix a
  24. problem on SYSV with an incorrect exit code from daemon mode startup (it's
  25. supposed to return the pid).  I cast it to int.
  26.  
  27.    One more is a fix to one of the scripts to work on Suns.
  28.  
  29.    The rest is a bunch of date changes.
  30.  
  31.     creps@silver.ucs.indiana.edu (Steve Creps)
  32.  
  33. *** old/Makefile    Fri Jan 10 14:37:06 1992
  34. --- Makefile    Fri Jan 10 15:15:56 1992
  35. ***************
  36. *** 1,10 ****
  37. ! # Makefile for newmail(1), Steve Creps, July 17, 1991.
  38.   #LOC=/usr/contrib
  39.   LOC=/usr2/creps
  40.   BIN=$(LOC)/bin
  41.   MAN=$(LOC)/man/man1.Z
  42.   #
  43. ! # Define for BSD, Ultrix, etc.
  44.   SYSTEM=BSD
  45.   # Define for SYS V, HP-UX, etc.
  46.   #SYSTEM=SYSV
  47. --- 1,10 ----
  48. ! # Makefile for newmail(1), Steve Creps, January 10, 1992.
  49.   #LOC=/usr/contrib
  50.   LOC=/usr2/creps
  51.   BIN=$(LOC)/bin
  52.   MAN=$(LOC)/man/man1.Z
  53.   #
  54. ! # Define for BSD, Ultrix, SunOS, etc.
  55.   SYSTEM=BSD
  56.   # Define for SYS V, HP-UX, etc.
  57.   #SYSTEM=SYSV
  58. *** old/README    Fri Jan 10 14:37:06 1992
  59. --- README    Fri Jan 10 15:36:19 1992
  60. ***************
  61. *** 1,8 ****
  62. ! Newmail, version 3.0, Steve Creps, July 19, 1991.
  63.   Give information on existence of new mail messages.  See the man
  64. ! page file (newmail.man) for information on the program.
  65.   
  66. ! This program has been tested under Ultrix and HP-UX.
  67.   
  68.   Previous versions had no version numbers, only dates, so 3.0 is
  69.   a somewhat arbitrary version number.
  70. --- 1,20 ----
  71. ! Newmail, version 3.1, Steve Creps, January 10, 1992.
  72.   Give information on existence of new mail messages.  See the man
  73. ! page file (newmail.man) for information on the program.  This should
  74. ! be the last version unless more bugs are found.
  75.   
  76. ! This program has been tested under Ultrix, SunOS, and HP-UX.
  77. ! Changes from 3.0 to 3.1:
  78. ! - Fix bug causing crash in daemon mode on HP-UX.  This bug didn't show
  79. !   up during testing because its appearance depended on the optimization
  80. !   used.
  81. ! - When returning the child pid (daemon mode), cast it to int first.
  82. ! - Take "f" option to ps out of killnewmail.BSD.  Ultrix doesn't need it, and
  83. !   SunOS chokes on it.
  84.   
  85.   Previous versions had no version numbers, only dates, so 3.0 is
  86.   a somewhat arbitrary version number.
  87. *** old/killnewmail.BSD    Fri Jan 10 14:37:07 1992
  88. --- killnewmail.BSD    Fri Jan 10 15:32:40 1992
  89. ***************
  90. *** 1,2 ****
  91.   #!/bin/sh
  92. ! kill `ps -fg | fgrep newmail | fgrep -e -d | fgrep -v fgrep | awk '{ print $1 }'`
  93. --- 1,2 ----
  94.   #!/bin/sh
  95. ! kill `ps -g | fgrep newmail | fgrep -e -d | fgrep -v fgrep | awk '{ print $1 }'`
  96. *** old/newmail.c    Fri Jan 10 14:37:09 1992
  97. --- newmail.c    Fri Jan 10 15:18:53 1992
  98. ***************
  99. *** 1,6 ****
  100.   /* newmail(1L), check for new, unread, and total mail messages */
  101.   /* Steve Creps, October 24, 1988 */
  102. ! /* Last modified, July 19, 1991 */
  103.   
  104.   /****************************************************************/
  105.   /* #include standard copyright notice:                */
  106. --- 1,6 ----
  107.   /* newmail(1L), check for new, unread, and total mail messages */
  108.   /* Steve Creps, October 24, 1988 */
  109. ! /* Last modified, January 10, 1992 */
  110.   
  111.   /****************************************************************/
  112.   /* #include standard copyright notice:                */
  113. ***************
  114. *** 12,18 ****
  115.   /****************************************************************/
  116.   
  117.   #ifndef lint
  118. ! static char ID[] = "Newmail, version 3.0, (c) 1991 Steve Creps";
  119.   #endif
  120.   
  121.   #include <stdio.h>
  122. --- 12,18 ----
  123.   /****************************************************************/
  124.   
  125.   #ifndef lint
  126. ! static char ID[] = "Newmail, version 3.1, (c) 1991, 1992 Steve Creps";
  127.   #endif
  128.   
  129.   #include <stdio.h>
  130. ***************
  131. *** 54,60 ****
  132.   int argc;
  133.   char *argv[];
  134.   {
  135. !     char *mailfile;
  136.       int c;
  137.       FILE *mailfp;
  138.       pid_t child_id = 0;
  139. --- 54,60 ----
  140.   int argc;
  141.   char *argv[];
  142.   {
  143. !     char *mailfile = NULL;
  144.       int c;
  145.       FILE *mailfp;
  146.       pid_t child_id = 0;
  147. ***************
  148. *** 184,193 ****
  149.       }
  150.   #ifdef SYSV
  151.       /* Just to be neat.  See comment after strdup() above. */
  152. !     free((void *)mailfile);
  153.   #endif
  154.   
  155. !     return optd > 0 ? child_id : ncount;
  156.   }
  157.   
  158.   #define MAXLEN 12 /* we're discarding most of the end of the line */
  159. --- 184,195 ----
  160.       }
  161.   #ifdef SYSV
  162.       /* Just to be neat.  See comment after strdup() above. */
  163. !     if (mailfile != NULL) { /* in case your free() doesn't like getting NULL */
  164. !       free((void *)mailfile);
  165. !     }
  166.   #endif
  167.   
  168. !     return optd > 0 ? (int)child_id : ncount;
  169.   }
  170.   
  171.   #define MAXLEN 12 /* we're discarding most of the end of the line */
  172. *** old/newmail.man    Fri Jan 10 14:37:09 1992
  173. --- newmail.man    Fri Jan 10 14:51:57 1992
  174. ***************
  175. *** 89,92 ****
  176.   Written by Steve Creps, Indiana University, October 24, 1988, based
  177.   on observation of Unix mailbox format.
  178.   Not derived from anyone else's code.
  179. ! Last modified July 19, 1991.
  180. --- 89,92 ----
  181.   Written by Steve Creps, Indiana University, October 24, 1988, based
  182.   on observation of Unix mailbox format.
  183.   Not derived from anyone else's code.
  184. ! Last modified January 10, 1992.
  185.