From a14f9f0fbd4f2226d8ccef8de5d42a4abc7b82fe Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 23 Jun 2012 22:28:37 +0000 Subject: [PATCH] -LRN: Support [] (formatted to be pid) in logfile names: I needed it for mesh debugging. Wrote this patch before your log rotation changes, and had to hastily adapt it after them, so i'm not sure it actually works. Did some quick tests on it, and it appears to be working, so i'll just send it to you as is, and see how it turns out. --- src/util/common_logging.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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) int altlog_fd; int dup_return; FILE *altlog; + char *leftsquare; if (NULL == log_file_name) return GNUNET_SYSERR; if (0 == strftime (fn, sizeof (fn), log_file_name, tm)) return GNUNET_SYSERR; + leftsquare = strrchr (fn, '['); + if ( (NULL != leftsquare) && (']' == leftsquare[1]) ) + { + char *logfile_copy = GNUNET_strdup (fn); + logfile_copy[leftsquare - fn] = '\0'; + logfile_copy[leftsquare - fn + 1] = '\0'; + snprintf (fn, PATH_MAX, "%s%d%s", + logfile_copy, getpid (), &logfile_copy[leftsquare - fn + 2]); + GNUNET_free (logfile_copy); + } if (0 == strcmp (fn, last_fn)) return GNUNET_OK; /* no change */ log_rotate (last_fn); -- 2.25.1