Code

Rework cvsexportcommit to handle binary files for all cases.
[git.git] / builtin-repo-config.c
index a1756c85803f9444fd6154511640d9b3b0da07e7..f60cee1dc54497d8ba00069a56e14b431f6a0852 100644 (file)
@@ -72,12 +72,12 @@ static int get_value(const char* key_, const char* regex_)
                const char *home = getenv("HOME");
                local = getenv("GIT_CONFIG_LOCAL");
                if (!local)
-                       local = repo_config = strdup(git_path("config"));
+                       local = repo_config = xstrdup(git_path("config"));
                if (home)
-                       global = strdup(mkpath("%s/.gitconfig", home));
+                       global = xstrdup(mkpath("%s/.gitconfig", home));
        }
 
-       key = strdup(key_);
+       key = xstrdup(key_);
        for (tl=key+strlen(key)-1; tl >= key && *tl != '.'; --tl)
                *tl = tolower(*tl);
        for (tl=key; *tl && *tl != '.'; ++tl)
@@ -119,7 +119,7 @@ static int get_value(const char* key_, const char* regex_)
        if (do_all)
                ret = !seen;
        else
-               ret =  (seen == 1) ? 0 : 1;
+               ret = (seen == 1) ? 0 : seen > 1 ? 2 : 1;
 
 free_strings:
        free(repo_config);