aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2010-02-22 12:42:31 -0500
committerNick Mathewson <nickm@torproject.org>2010-02-22 12:42:31 -0500
commitd35b8dc5827762cd9cbee90f57ef370f477539fb (patch)
treed2159aa694d4fde110ae43b21ed1bd5e97fc32db
parent1dfbec482c50dabd2359d74848a13cbc03c4f9ea (diff)
downloadtor-d35b8dc5827762cd9cbee90f57ef370f477539fb.tar.gz
tor-d35b8dc5827762cd9cbee90f57ef370f477539fb.zip
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.
-rw-r--r--src/common/util.c4
-rw-r--r--src/or/config.c6
-rw-r--r--src/tools/tor-checkkey.c4
3 files changed, 4 insertions, 10 deletions
diff --git a/src/common/util.c b/src/common/util.c
index a15af7ed57..f7e5dd06c5 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -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
diff --git a/src/or/config.c b/src/or/config.c
index 0453904e81..5ad1d3f446 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -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")) {
diff --git a/src/tools/tor-checkkey.c b/src/tools/tor-checkkey.c
index 30c223a7a1..e15cc46df9 100644
--- a/src/tools/tor-checkkey.c
+++ b/src/tools/tor-checkkey.c
@@ -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) {