Remove "release-" from displayed git version.
[tinc] / src / logger.c
index 123f022..2b4c7e3 100644 (file)
@@ -1,6 +1,6 @@
 /*
     logger.c -- logging code
-    Copyright (C) 2004-2006 Guus Sliepen <guus@tinc-vpn.org>
+    Copyright (C) 2004-2013 Guus Sliepen <guus@tinc-vpn.org>
                   2004-2005 Ivo Timmermans
 
     This program is free software; you can redistribute it and/or modify
@@ -22,6 +22,7 @@
 
 #include "conf.h"
 #include "meta.h"
+#include "names.h"
 #include "logger.h"
 #include "connection.h"
 #include "control_common.h"
@@ -30,7 +31,6 @@
 debug_t debug_level = DEBUG_NOTHING;
 static logmode_t logmode = LOGMODE_STDERR;
 static pid_t logpid;
-extern char *logfilename;
 static FILE *logfile = NULL;
 #ifdef HAVE_MINGW
 static HANDLE loghandle = NULL;
@@ -41,7 +41,6 @@ bool logcontrol = false;
 
 static void real_logger(int level, int priority, const char *message) {
        char timestr[32] = "";
-       time_t now;
        static bool suppress = false;
 
        // Bail out early if there is nothing to do.
@@ -58,8 +57,10 @@ static void real_logger(int level, int priority, const char *message) {
                                fflush(stderr);
                                break;
                        case LOGMODE_FILE:
-                               now = time(NULL);
-                               strftime(timestr, sizeof timestr, "%Y-%m-%d %H:%M:%S", localtime(&now));
+                               if(!now.tv_sec)
+                                       gettimeofday(&now, NULL);
+                               time_t now_sec = now.tv_sec;
+                               strftime(timestr, sizeof timestr, "%Y-%m-%d %H:%M:%S", localtime(&now_sec));
                                fprintf(logfile, "%s %s[%ld]: %s\n", timestr, logident, (long)logpid, message);
                                fflush(logfile);
                                break;