[Circle] [code] improved log

From: Ric Klaren (j.klaren@student.utwente.nl)
Date: 11/17/96


Just a tidbit of code I had lying around, an improved log function using 
variable args... (compiled and 100% working on Linux system)

Add this to utils.h

extern void log( char *format, ... );

Add this to the top of utils.c

#include <stdarg.h>

And this somewhere in between:

/* writes a string to the log
 * New version, allows printf like call
void log(char *format, ... )
   va_list args;
   time_t ct;
   char *tmstr;
   char buf[512];

   va_start( args, format );
   vsprintf( buf, format, args );

   ct = time(0);
   tmstr = asctime(localtime(&ct));
   *(tmstr + strlen(tmstr) - 1) = '\0';
   fprintf(stderr, "%-19.19s :: %s\n", tmstr, buf );

   va_end( args );

Ok what's the use of this: allows calls like

log("SYSERR: well somebody goofed up this time");
log("SYSERR: he goofed this up %s", buf );
log("SYSERR: he did it using a %ld", some_long_int );

I guess it makes the code a bit more readable (and shorter)

Could do the same to mudlog and send_char....


Greetinx GrimReaper of Realms Of Frustration ( 4000)

- Ric Klaren - j.klaren@student.utwente.nl - ia_ric@cs.utwente.nl -------------
``Why don't we just invite them to dinner and massacre them all when
they're drunk?''
``You heard the man. There's seven hundred thousand of them.''
``Ah? So it'd have to be something simple with pasta, then.''
From: Interesting Times by Terry Pratchet

| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |

This archive was generated by hypermail 2b30 : 12/18/00 PST