mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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")) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user