home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 1 / GoldFishApril1994_CD2.img / d4xx / d473 / cnewssrc / cnews_src.lzh / misc / ctime.c < prev    next >
C/C++ Source or Header  |  1990-12-22  |  1KB  |  71 lines

  1. /*
  2.  * ctime time_t ... - print the ascii time of time_t(s)
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <ctype.h>
  7. #include <time.h>
  8. #include <sys/types.h>
  9. #include <sys/timeb.h>
  10.  
  11. #define    DAY    (24L*60L*60L)
  12.  
  13. struct timeb ftnow;
  14.  
  15. char *progname;
  16.  
  17. extern long atol();
  18. extern char *malloc();
  19. extern struct tm *gmtime();
  20. extern time_t time();
  21.  
  22. /* Forwards. */
  23. extern void process();
  24.  
  25. /*
  26.  - main - parse arguments and handle options
  27.  */
  28. main(argc, argv)
  29. int argc;
  30. char *argv[];
  31. {
  32.     register int c;
  33.     register int errflg = 0;
  34.     extern int optind;
  35.     extern char *optarg;
  36.  
  37.     progname = argv[0];
  38.     ftime(&ftnow);
  39.  
  40.     while ((c = getopt(argc, argv, "")) != EOF)
  41.         switch (c) {
  42.         case '?':
  43.         default:
  44.             errflg++;
  45.             break;
  46.         }
  47.     if (errflg || optind == argc) {
  48.         (void) fprintf(stderr, "Usage: %s ascii_time ...\n", progname);
  49.         exit(2);
  50.     }
  51.  
  52.     for (; optind < argc; optind++)
  53.         process(argv[optind]);
  54.     exit(0);
  55. }
  56.  
  57. /*
  58.  * process - print time_t of tm
  59.  */
  60. void
  61. process(tms)
  62. char *tms;
  63. {
  64.     time_t tm;
  65.     char *ctime();
  66.     long atol();
  67.  
  68.     tm = atol(tms);
  69.     (void) fputs(ctime(&tm), stdout);
  70. }
  71.