diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-03-16 07:51:02 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-03-16 07:51:02 +0000 |
commit | 9bd800e9794c86d5e15f2ddcaa13e5779100bf9d (patch) | |
tree | d58bc39bc248aecc8ca9feaa509b0fa0120d4d72 /src | |
parent | a391edf3646ee1961a76343530b28f1884a4d78e (diff) | |
download | gnunet-9bd800e9794c86d5e15f2ddcaa13e5779100bf9d.tar.gz gnunet-9bd800e9794c86d5e15f2ddcaa13e5779100bf9d.zip |
expand ~ in log file name
Diffstat (limited to 'src')
-rw-r--r-- | src/util/common_logging.c | 12 |
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; |