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.