ftp.nice.ch/pub/next/unix/communication/newam.0.1.s.tar.gz#/newam-0.1/src/misc.c

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.