]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Make expand_filename into a tor_strdup() alias on windows.
authorNick Mathewson <nickm@torproject.org>
Mon, 22 Feb 2010 17:42:31 +0000 (12:42 -0500)
committerNick Mathewson <nickm@torproject.org>
Mon, 22 Feb 2010 17:42:31 +0000 (12:42 -0500)
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.

src/common/util.c
src/or/config.c
src/tools/tor-checkkey.c

index a15af7ed572fb3f362b22529e893062285b7a59a..f7e5dd06c56b884c8094f815bbad9fdd9ce5b929 100644 (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
index 0453904e8179c8cde2781a0560b7f14a2fcc3f2a..5ad1d3f44696210c94a9821bdcb30b38adfb2930 100644 (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")) {
index 30c223a7a1ad7b33e31ea4fb0fcce3c81c9570d1..e15cc46df918a080f2238225087f19fa5418f4b2 100644 (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) {