home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / TELECOM / OSKBox.lzh / MAILBOX / CC / dumpusers.c < prev    next >
C/C++ Source or Header  |  1991-02-03  |  1KB  |  53 lines

  1. #include <ctype.h>
  2. #include "mailbox.h"
  3.  
  4. struct userstruct user;
  5.  
  6.  
  7. main (argc, argv)
  8. char *argv[];
  9. {
  10.     int userfile;
  11.     int i;
  12.     char *p;
  13.  
  14.     chdir (HOME);
  15.     if ((userfile = open ("users", 1)) <= 0) {
  16.         printf ("Error: can't open user file\n");
  17.         exit (0);
  18.         }
  19.     for (i = 1; i < argc; i++)
  20.         for (p = argv[i]; *p; p++)
  21.             *p = toupper (*p);
  22.     while (read (userfile, &user, sizeof (user)))
  23.         if (!(user.usopt & ISDELETED))
  24.             if (argc == 1)
  25.                 printuser ();
  26.             else
  27.                 for (i = 1; i < argc; i++)
  28.                     if (strcmp (argv[i], user.uscall) == 0)
  29.                         printuser ();
  30.     }
  31.  
  32. printuser ()
  33. {
  34.     char *ctl = 
  35. "%-6.6s %02d%02d%02d %02d%02d %04.4d %6.6d       %2d%c%c%c%c%c  %-12.12s%s\n";
  36.     static int flag = 0;
  37.  
  38.     if (!flag) {
  39.         printf ("Call   Date   Time Logd    Msg Hm BBS SXPBSS  Name        Path\n");
  40.         flag = 1;
  41.         }
  42.     printf (ctl, user.uscall, (user.usdate >> 16) % 100,
  43.     (user.usdate >> 8) & 0xff, user.usdate & 0xff,
  44.     (user.ustime >> 16) & 0xff, (user.ustime >> 8) & 0xff,
  45.     user.uscnt, user.usnmr, user.usssid, (user.usopt & ISEXPERT) ? 'Y' : 'N',
  46.     (user.usopt & ISPNG) ? 'Y' : 'N', 
  47.     (user.usopt & ISBBS) ? 'Y' : 'N', 
  48.     (user.usopt & ISSUPER) ? 'Y' : 'N', 
  49.     (user.usopt & ISSTUPID) ? 'Y' : 'N', 
  50.     user.usname, user.uspath);
  51.     }
  52.  
  53.