diff options
author | toni <toni@devlap.local> | 2016-01-30 00:17:25 +0100 |
---|---|---|
committer | toni <toni@devlap.local> | 2016-01-30 00:17:25 +0100 |
commit | fbd15154bea20f5b29e0d193b60f648891684f8a (patch) | |
tree | 4e34c6fea46ba05a88fd7484e6ddcb833eed0836 /src/log.c | |
parent | 2decdd502f1c9b33800cc41daff25536066f7560 (diff) |
early logging 2
Diffstat (limited to 'src/log.c')
-rw-r--r-- | src/log.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -7,24 +7,32 @@ #define LOG_BUFSIZ 128 -static FILE* logfile; +static FILE* logfile = NULL; int log_init(char* file) { + if (!file) return -1; logfile = fopen(file, "a+"); return (logfile ? 0 : errno); } +void log_free(void) +{ + if (logfile) + fclose(logfile); + logfile = NULL; +} + int logs(char* format, ...) { int ret; - char* buf; va_list vargs; - buf = (char*) calloc(LOG_BUFSIZ, sizeof(char)); + if (!logfile) return -1; va_start(vargs, format); - ret = vsnprintf(buf, LOG_BUFSIZ, format, vargs); + ret = vfprintf(logfile, format, vargs); + fflush(logfile); va_end(vargs); return ret; } |