home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / progc / xdev_118.arj / LOG.C < prev    next >
Text File  |  1989-10-28  |  2KB  |  102 lines

  1. /* Utility to write "XBBS standard" logfile entries from batch files */
  2.  
  3. #include "stdio.h"
  4. #include "stdlib.h"
  5. #include "time.h"
  6. #include "dos.h"
  7. #include "string.h"
  8.  
  9. char * fidodate(void);
  10. char * addtolog(char *);
  11.  
  12.     char logfile[143];
  13.  
  14.  
  15. void main (argc,argv)
  16.  
  17.  int argc;
  18.  char *argv[];
  19.  
  20. {
  21.  
  22.     register unsigned int x;
  23.     char logentry[143]="";
  24.  
  25.     if (argc<3) {
  26.         fputs("\nERROR CALLING LOG! Usage: LOG Filename.EXT Text to add to logfile\n",stdout);
  27.         exit(1);
  28.     }
  29.     strcpy(logfile,argv[1]);
  30.     for (x=2;x<argc;x++) {
  31.         strcat(logentry,argv[x]);
  32.         strcat(logentry," ");
  33.     }
  34.     addtolog(logentry);
  35. }
  36.  
  37.  
  38.  
  39. char * fidodate (void)
  40.  
  41. {
  42.  
  43.  char months[12][4]={
  44.     "Jan",
  45.     "Feb",
  46.     "Mar",
  47.     "Apr",
  48.     "May",
  49.     "Jun",
  50.     "Jul",
  51.     "Aug",
  52.     "Sep",
  53.     "Oct",
  54.     "Nov",
  55.     "Dec"
  56.  };
  57.  static char fdate[20];
  58.  struct date dos_date;
  59.  struct time dos_time;
  60.  
  61. /* 26 Jul 89  06:23:47 */
  62.  
  63.  getdate(&dos_date);
  64.  gettime(&dos_time);
  65.  
  66.  sprintf(fdate,"%02hu %s %02d  %02hu:%02hu:%02hu",dos_date.da_day,months[dos_date.da_mon-1],dos_date.da_year%100,dos_time.ti_hour,dos_time.ti_min,dos_time.ti_sec);
  67.  return(fdate);
  68.  
  69. }
  70.  
  71.  
  72.  
  73. char * addtolog (text)  /* WRITE LOGFILE ENTRIES */
  74.  
  75.  char *text;
  76.  
  77. {
  78.  
  79.  FILE *pf;
  80.  char p[133];
  81.  
  82.  pf = fopen(logfile,"a");
  83.  if (pf == NULL) return text;
  84.  fseek(pf,0,SEEK_END);
  85.  if (text[0]!='*') {
  86.    strcpy(p,fidodate());
  87.    p[16]=0;
  88.    strcat(p,"  ");
  89.    strncat(p,text,132-strlen(p));
  90.    p[132]=0;
  91.  }
  92.  else {
  93.         strncpy(p,text,79);
  94.         p[79]=0;
  95.  }
  96.  fputs(p,pf);
  97.  fputs("\n",pf);
  98.  fclose(pf);
  99.  return text;
  100.  
  101. }
  102.