aboutsummaryrefslogtreecommitdiff
path: root/src/log.c
diff options
context:
space:
mode:
authortoni <toni@devlap.local>2016-01-30 00:17:25 +0100
committertoni <toni@devlap.local>2016-01-30 00:17:25 +0100
commitfbd15154bea20f5b29e0d193b60f648891684f8a (patch)
tree4e34c6fea46ba05a88fd7484e6ddcb833eed0836 /src/log.c
parent2decdd502f1c9b33800cc41daff25536066f7560 (diff)
early logging 2
Diffstat (limited to 'src/log.c')
-rw-r--r--src/log.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/log.c b/src/log.c
index 06513cf..ea52fda 100644
--- a/src/log.c
+++ b/src/log.c
@@ -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;
}