diff options
-rw-r--r-- | snac.c | 20 | ||||
-rw-r--r-- | snac.h | 4 |
2 files changed, 23 insertions, 1 deletions
@@ -21,10 +21,28 @@ d_char *srv_baseurl = NULL; int dbglevel = 0; +d_char *xs_time(char *fmt, int local) +/* returns a d_char with a formated time */ +{ + time_t t = time(NULL); + struct tm tm; + char tmp[64]; + + if (local) + localtime_r(&t, &tm); + else + gmtime_r(&t, &tm); + + strftime(tmp, sizeof(tmp), fmt, &tm); + + return xs_str_new(tmp); +} + + void srv_log(d_char *str) /* logs a message */ { - char tm[16] = "00:00:00"; + xs *tm = xs_local_time("%H:%M:%S"); xs *msg = str; fprintf(stderr, "%s %s\n", tm, msg); @@ -7,6 +7,10 @@ extern d_char *srv_baseurl; extern int dbglevel; +d_char *xs_time(char *fmt, int local); +#define xs_local_time(fmt) xs_time(fmt, 1) +#define xs_utc_time(fmt) xs_time(fmt, 0) + void srv_log(d_char *str); int srv_open(char *basedir); |