aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/util/common_logging.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/util/common_logging.c b/src/util/common_logging.c
index 6c3dda9bc..8ba955dea 100644
--- a/src/util/common_logging.c
+++ b/src/util/common_logging.c
@@ -336,11 +336,22 @@ setup_log_file (const struct tm *tm)
336 int altlog_fd; 336 int altlog_fd;
337 int dup_return; 337 int dup_return;
338 FILE *altlog; 338 FILE *altlog;
339 char *leftsquare;
339 340
340 if (NULL == log_file_name) 341 if (NULL == log_file_name)
341 return GNUNET_SYSERR; 342 return GNUNET_SYSERR;
342 if (0 == strftime (fn, sizeof (fn), log_file_name, tm)) 343 if (0 == strftime (fn, sizeof (fn), log_file_name, tm))
343 return GNUNET_SYSERR; 344 return GNUNET_SYSERR;
345 leftsquare = strrchr (fn, '[');
346 if ( (NULL != leftsquare) && (']' == leftsquare[1]) )
347 {
348 char *logfile_copy = GNUNET_strdup (fn);
349 logfile_copy[leftsquare - fn] = '\0';
350 logfile_copy[leftsquare - fn + 1] = '\0';
351 snprintf (fn, PATH_MAX, "%s%d%s",
352 logfile_copy, getpid (), &logfile_copy[leftsquare - fn + 2]);
353 GNUNET_free (logfile_copy);
354 }
344 if (0 == strcmp (fn, last_fn)) 355 if (0 == strcmp (fn, last_fn))
345 return GNUNET_OK; /* no change */ 356 return GNUNET_OK; /* no change */
346 log_rotate (last_fn); 357 log_rotate (last_fn);