This is misc.c in view mode; [Download] [Up]
/*********************************************************************/ /* */ /* Programmer: */ /* Olaf Mueller <olaf@orest.escape.de> */ /* */ /* Purpose: */ /* Answering Machine */ /* some useful procedures */ /* */ /* History: */ /* 29-08-96 Initial Release Olaf Mueller */ /* */ /* Notes: */ /* */ /*********************************************************************/ #include <libc.h> #include "misc.h" #include "const.h" char *currentTimeString (char *string,int len) { time_t now = time (NULL) ; // strftime (string,len,"%c",localtime(&now)) ; strftime (string,len,"%Y-%m-%d_%H:%M:%S",localtime(&now)) ; return string ; } int log (char *filename,char *format,...) { va_list ap ; char buffer [1000] ; char timestr [50] ; FILE *fp ; int rc = -1 ; va_start (ap,format) ; vsprintf (buffer,format,ap) ; va_end (ap) ; if ((fp = fopen(filename,"a")) != NULL) { rc = fprintf (fp,"%s-%s %s: %s\n", PROGNAME,PROGVERSION,currentTimeString(timestr,50),buffer) ; fclose (fp) ; } return rc ; } /* convert 'string' to 'buffer' to make special characters more visible */ char *debugsputs (char *buffer,char *string) { int ii ; char cc , *buf = buffer ; struct translate { char from ; char to ; } tl [] = { { '\0' , '0' } , { '\t' , 't' } , { '\n' , 'n' } , { '\r' , 'r' } } ; while ((cc = *string++) != '\0') { for (ii = sizeof(tl)/sizeof(struct translate) - 1 ; ii >= 0 ; ii--) if (cc == tl[ii].from) { *buf++ = '\\' ; *buf++ = tl[ii].to ; break ; } if (ii < 0) *buf++ = cc ; } *buf = '\0' ; return buffer ; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.