Make expand_filename into a tor_strdup() alias on windows.

On Windows, we don't have a notion of ~ meaning "our homedir", so we
were deliberately using an #ifdef to avoid calling expand_filename()
in multiple places.  This is silly: The right place to turn a function
into a no-op on a single platform is in the function itself, not in
every single call-site.
This commit is contained in:
Nick Mathewson
2010-02-22 12:42:31 -05:00
parent 1dfbec482c
commit d35b8dc582
3 changed files with 4 additions and 10 deletions
+4
View File
@@ -2312,6 +2312,9 @@ char *
expand_filename(const char *filename)
{
tor_assert(filename);
#ifdef MS_WINDOWS
return tor_strdup(filename);
#else
if (*filename == '~') {
size_t len;
char *home, *result;
@@ -2361,6 +2364,7 @@ expand_filename(const char *filename)
} else {
return tor_strdup(filename);
}
#endif
}
#define MAX_SCANF_WIDTH 9999
-6
View File
@@ -3839,13 +3839,7 @@ find_torrc_filename(int argc, char **argv,
log(LOG_WARN, LD_CONFIG, "Duplicate -f options on command line.");
tor_free(fname);
}
#ifdef MS_WINDOWS
/* XXX one day we might want to extend expand_filename to work
* under Windows as well. */
fname = tor_strdup(argv[i+1]);
#else
fname = expand_filename(argv[i+1]);
#endif
*using_default_torrc = 0;
++i;
} else if (!strcmp(argv[i],"--ignore-missing-torrc")) {
-4
View File
@@ -47,11 +47,7 @@ int main(int c, char **v)
fname_idx = 1;
}
#ifdef MS_WINDOWS
fname = tor_strdup(v[fname_idx]);
#else
fname = expand_filename(v[fname_idx]);
#endif
str = read_file_to_str(fname, 0, NULL);
tor_free(fname);
if (!str) {