home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / TELECOM / rn_4_3_blars.lzh / last.c < prev    next >
Text File  |  1990-08-22  |  1KB  |  59 lines

  1. /* $Header: last.c,v 4.3.2.1 89/12/20 23:23:07 sob Exp $
  2.  *
  3.  * $Log:    last.c,v $
  4.  * Revision 4.3.2.1  89/12/20  23:23:07  sob
  5.  * .rnlast sometimes is a null file. This gives bogus information when
  6.  * restarting rn following an abnormal termination. This bug was reported
  7.  * by weening@gang-of-four.stanford.edu
  8.  * 
  9.  * Revision 4.3  85/05/01  11:42:16  lwall
  10.  * Baseline for release with 4.3bsd.
  11.  * 
  12.  */
  13.  
  14. #include "EXTERN.h"
  15. #include "common.h"
  16. #include "rn.h"
  17. #include "util.h"
  18. #include "intrp.h"
  19. #include "INTERN.h"
  20. #include "last.h"
  21.  
  22. char *lastname = Nullch;    /* path name of .rnlast file */
  23.  
  24. void
  25. last_init(tcbuf)
  26. char *tcbuf;
  27. {
  28.     lastname = savestr(filexp(LASTNAME));
  29.     if ((tmpfp = fopen(lastname,"r")) != Nullfp &&
  30.     fgets(tcbuf,1024,tmpfp) != Nullch) {
  31.     tcbuf[strlen(tcbuf)-1] = '\0';
  32.     lastngname = savestr(tcbuf);
  33.     fgets(tcbuf,1024,tmpfp);
  34.     lasttime = atol(tcbuf);
  35.     fgets(tcbuf,1024,tmpfp);
  36.     lastactsiz = atol(tcbuf);
  37.     fclose(tmpfp);
  38.     }
  39.     else {
  40.     lastngname = nullstr;
  41.     lasttime = 0;
  42.     lastactsiz = 0;
  43.     }
  44. }
  45.  
  46. /* put out certain values for next run of rn */
  47.  
  48. void
  49. writelast()
  50. {
  51.     if ((tmpfp = fopen(lastname,"w")) != Nullfp) {
  52.     fprintf(tmpfp,"%s\n%ld\n%ld\n",
  53.         (ngname==Nullch?nullstr:ngname),(long)lasttime,(long)lastactsiz);
  54.     fclose(tmpfp);
  55.     }
  56.     else
  57.     printf(cantcreate,lastname) FLUSH;
  58. }
  59.