aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-03-16 07:51:02 +0000
committerChristian Grothoff <christian@grothoff.org>2010-03-16 07:51:02 +0000
commit9bd800e9794c86d5e15f2ddcaa13e5779100bf9d (patch)
treed58bc39bc248aecc8ca9feaa509b0fa0120d4d72 /src
parenta391edf3646ee1961a76343530b28f1884a4d78e (diff)
downloadgnunet-9bd800e9794c86d5e15f2ddcaa13e5779100bf9d.tar.gz
gnunet-9bd800e9794c86d5e15f2ddcaa13e5779100bf9d.zip
expand ~ in log file name
Diffstat (limited to 'src')
-rw-r--r--src/util/common_logging.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/util/common_logging.c b/src/util/common_logging.c
index 9d7b0de1f..13cb17af7 100644
--- a/src/util/common_logging.c
+++ b/src/util/common_logging.c
@@ -169,6 +169,7 @@ GNUNET_log_setup (const char *comp, const char *loglevel, const char *logfile)
169{ 169{
170 FILE *altlog; 170 FILE *altlog;
171 int dirwarn; 171 int dirwarn;
172 char *fn;
172 173
173 GNUNET_free_non_null (component); 174 GNUNET_free_non_null (component);
174 GNUNET_asprintf (&component, 175 GNUNET_asprintf (&component,
@@ -178,17 +179,20 @@ GNUNET_log_setup (const char *comp, const char *loglevel, const char *logfile)
178 min_level = get_type (loglevel); 179 min_level = get_type (loglevel);
179 if (logfile == NULL) 180 if (logfile == NULL)
180 return GNUNET_OK; 181 return GNUNET_OK;
181 dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (logfile)); 182 fn = GNUNET_STRINGS_filename_expand (logfile);
182 altlog = FOPEN (logfile, "a"); 183 dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
184 altlog = FOPEN (fn, "a");
183 if (altlog == NULL) 185 if (altlog == NULL)
184 { 186 {
185 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", logfile); 187 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
186 if (dirwarn) 188 if (dirwarn)
187 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 189 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
188 _("Failed to create or access directory for log file `%s'\n"), 190 _("Failed to create or access directory for log file `%s'\n"),
189 logfile); 191 fn);
192 GNUNET_free (fn);
190 return GNUNET_SYSERR; 193 return GNUNET_SYSERR;
191 } 194 }
195 GNUNET_free (fn);
192 if (GNUNET_stderr != NULL) 196 if (GNUNET_stderr != NULL)
193 fclose (GNUNET_stderr); 197 fclose (GNUNET_stderr);
194 GNUNET_stderr = altlog; 198 GNUNET_stderr = altlog;