home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume6 / shadow-2.pt2 / sulog.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-02-03  |  796 b   |  46 lines

  1. #include <sys/types.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <string.h>
  5. #include "config.h"
  6.  
  7. extern    char    name[];
  8. extern    char    oldname[];
  9.  
  10. time_t    time ();
  11.  
  12. void    sulog (success)
  13. int    success;
  14. {
  15. #ifdef    SULOG
  16.     char    *tty;
  17.     char    *cp;
  18.     char    *ttyname ();
  19.     time_t    clock;
  20.     struct    tm    *tm;
  21.     struct    tm    *localtime ();
  22.     FILE    *fp;
  23.  
  24.     if ((fp = fopen (SULOG, "a+")) == (FILE *) 0)
  25.         return;            /* can't open or create logfile */
  26.  
  27.     (void) time (&clock);
  28.     tm = localtime (&clock);
  29.  
  30.     if (isatty (0) && (cp = ttyname (0))) {
  31.         if (tty = strrchr (cp, '/'))
  32.             tty++;
  33.         else
  34.             tty = cp;
  35.     } else
  36.         tty = "???";
  37.  
  38.     (void) fprintf (fp, "SU %.02d/%0.2d %.02d:%.02d %c %.6s %s-%s\n",
  39.         tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min,
  40.         success ? '+':'-', tty, oldname, name);
  41.  
  42.     fflush (fp);
  43.     fclose (fp);
  44. #endif
  45. }
  46.