home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2785 / job.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-02-20  |  1.1 KB  |  64 lines

  1. /*
  2. **    j o b . c
  3. **
  4. **    functions for retrieving job information
  5. **
  6. **    Arthur W. Neilson III
  7. **    art@bohtsg.pegasus.com
  8. **    Feb 7, 1991
  9. **
  10. */
  11.  
  12. #include "main.h"
  13. #include "node.h"
  14.  
  15. #define MAXLINE        133
  16.  
  17. VOID
  18. jobinfo(name, job)
  19. char   *name;
  20. Job    *job;
  21. {
  22.     FILE   *fp;
  23.     char   *getfield(), *ptr;
  24.     char    buf[MAXLINE];
  25.     int     i;
  26.  
  27.     /* open print file */
  28.     if ((fp = fopen(name, "r")) == NULL)
  29.         return;
  30.  
  31.     /* retrieve first banner line */
  32.     if (fread(buf, sizeof(buf), 1, fp) < 1) {
  33.         fclose(fp);
  34.         return;
  35.     }
  36.     fclose(fp);
  37.  
  38.     /* skip fields 1 thru 4 */
  39.     if ((ptr = strtok(buf, " ")) == NULL)
  40.         return;
  41.     for (i = 2; i <= 4 && strtok(NULL, " ") != NULL; i++)
  42.         ;
  43.  
  44.     /* and get jobname from field 5 */
  45.     strcpy(job->name, strtok(NULL, " "));
  46.  
  47.     /* search for time field */
  48.     while ((ptr = strtok(NULL, " ")) != NULL)
  49.         if (strchr(ptr, '.') != NULL)
  50.             break;
  51.  
  52.     /* get time */
  53.     if (at(ptr, '.') == 2)
  54.         sprintf(job->time, "0%7s", ptr);
  55.     else
  56.         strcpy(job->time, ptr);
  57.     strcpy(job->ampm, strtok(NULL, " "));
  58.  
  59.     /* and date */
  60.     strcpy(job->day, strtok(NULL, " "));
  61.     strcpy(job->month, strtok(NULL, " "));
  62.     strcpy(job->year, strtok(NULL, " "));
  63. }
  64.