kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sun, 14 Jul 2013 08:36:05 +0000 (15:36 +0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 15 Jul 2013 17:56:09 +0000 (10:56 -0700)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
dir.c
pathspec.c
pathspec.h
diff --git a/dir.c b/dir.c
index bf224986db04718dcf0bee556214b1e8b6969c86..79465e7f4caca6ec014ed5052dcc14cd038430f2 100644 (file)
--- a/dir.c
+++ b/dir.c
@@ -1473,14 +1473,6 @@ int remove_path(const char *name)
        return 0;
 }
 
        return 0;
 }
 
-int limit_pathspec_to_literal(void)
-{
-       static int flag = -1;
-       if (flag < 0)
-               flag = git_env_bool(GIT_LITERAL_PATHSPECS_ENVIRONMENT, 0);
-       return flag;
-}
-
 /*
  * Frees memory within dir which was allocated for exclude lists and
  * the exclude_stack.  Does not free dir itself.
 /*
  * Frees memory within dir which was allocated for exclude lists and
  * the exclude_stack.  Does not free dir itself.
index 82ede57206cd136933f5df4de7537c7d85ab14db..b2e3a8778c24c13cea34f092cb7fdb00bcd7533d 100644 (file)
@@ -91,11 +91,15 @@ static unsigned prefix_pathspec(struct pathspec_item *item,
                                const char *prefix, int prefixlen,
                                const char *elt)
 {
                                const char *prefix, int prefixlen,
                                const char *elt)
 {
+       static int literal_global = -1;
        unsigned magic = 0, short_magic = 0;
        const char *copyfrom = elt, *long_magic_end = NULL;
        char *match;
        int i, pathspec_prefix = -1;
 
        unsigned magic = 0, short_magic = 0;
        const char *copyfrom = elt, *long_magic_end = NULL;
        char *match;
        int i, pathspec_prefix = -1;
 
+       if (literal_global < 0)
+               literal_global = git_env_bool(GIT_LITERAL_PATHSPECS_ENVIRONMENT, 0);
+
        if (elt[0] != ':') {
                ; /* nothing to do */
        } else if (elt[1] == '(') {
        if (elt[0] != ':') {
                ; /* nothing to do */
        } else if (elt[1] == '(') {
@@ -184,7 +188,7 @@ static unsigned prefix_pathspec(struct pathspec_item *item,
        if (flags & PATHSPEC_PREFIX_ORIGIN) {
                struct strbuf sb = STRBUF_INIT;
                const char *start = elt;
        if (flags & PATHSPEC_PREFIX_ORIGIN) {
                struct strbuf sb = STRBUF_INIT;
                const char *start = elt;
-               if (prefixlen && !limit_pathspec_to_literal()) {
+               if (prefixlen && !literal_global) {
                        /* Preserve the actual prefix length of each pattern */
                        if (long_magic_end) {
                                strbuf_add(&sb, start, long_magic_end - start);
                        /* Preserve the actual prefix length of each pattern */
                        if (long_magic_end) {
                                strbuf_add(&sb, start, long_magic_end - start);
@@ -232,7 +236,7 @@ static unsigned prefix_pathspec(struct pathspec_item *item,
                                     elt, ce_len, ce->name);
                }
 
                                     elt, ce_len, ce->name);
                }
 
-       if (limit_pathspec_to_literal())
+       if (literal_global)
                item->nowildcard_len = item->len;
        else {
                item->nowildcard_len = simple_length(item->match);
                item->nowildcard_len = item->len;
        else {
                item->nowildcard_len = simple_length(item->match);
index 2f3532e8f1f532bbbe6aae10f978295b0fb2dda2..7ef9896edb84df10488437afe4d87dfd1c626d17 100644 (file)
@@ -61,8 +61,6 @@ extern void parse_pathspec(struct pathspec *pathspec,
 extern void copy_pathspec(struct pathspec *dst, const struct pathspec *src);
 extern void free_pathspec(struct pathspec *);
 
 extern void copy_pathspec(struct pathspec *dst, const struct pathspec *src);
 extern void free_pathspec(struct pathspec *);
 
-extern int limit_pathspec_to_literal(void);
-
 extern char *find_pathspecs_matching_against_index(const struct pathspec *pathspec);
 extern void add_pathspec_matches_against_index(const struct pathspec *pathspec, char *seen);
 extern const char *check_path_for_gitlink(const char *path);
 extern char *find_pathspecs_matching_against_index(const struct pathspec *pathspec);
 extern void add_pathspec_matches_against_index(const struct pathspec *pathspec, char *seen);
 extern const char *check_path_for_gitlink(const char *path);