check_filename: tighten dwim-wildcard ambiguity
[gitweb.git] / setup.c
diff --git a/setup.c b/setup.c
index 1055b8270811c9f55a441d4d7a7f5185dceec1d1..69a8adaaf2899cb23eb97bde2bdfc825881a0ffc 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -140,9 +140,7 @@ int check_filename(const char *prefix, const char *arg)
                if (arg[2] == '\0') /* ":/" is root dir, always exists */
                        return 1;
                name = arg + 2;
-       } else if (!no_wildcard(arg))
-               return 1;
-       else if (prefix)
+       } else if (prefix)
                name = prefix_filename(prefix, strlen(prefix), arg);
        else
                name = arg;
@@ -203,7 +201,7 @@ void verify_filename(const char *prefix,
 {
        if (*arg == '-')
                die("bad flag '%s' used after filename", arg);
-       if (check_filename(prefix, arg))
+       if (check_filename(prefix, arg) || !no_wildcard(arg))
                return;
        die_verify_filename(prefix, arg, diagnose_misspelt_rev);
 }