]> git.ipfire.org Git - thirdparty/git.git/commitdiff
precompose_utf8: make precompose_string_if_needed() public
authorTorsten Bögershausen <tboegi@web.de>
Sun, 4 Apr 2021 06:17:45 +0000 (08:17 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 6 Apr 2021 00:30:04 +0000 (17:30 -0700)
commit 5c327502 (MacOS: precompose_argv_prefix(), 2021-02-03) uses
the function precompose_string_if_needed() internally.  It is only
used from precompose_argv_prefix() and therefore static in
compat/precompose_utf8.c

Expose this function, it will be used in the next commit.

While there, allow passing a NULL pointer, which will return NULL.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/precompose_utf8.c
compat/precompose_utf8.h
git-compat-util.h

index ec560565a862ccf091d68cf34bf2bb985e4faf9c..cce1d57a46471c9465d6a55c176a063fdfef96eb 100644 (file)
@@ -60,10 +60,12 @@ void probe_utf8_pathname_composition(void)
        strbuf_release(&path);
 }
 
-static inline const char *precompose_string_if_needed(const char *in)
+const char *precompose_string_if_needed(const char *in)
 {
        size_t inlen;
        size_t outlen;
+       if (!in)
+               return NULL;
        if (has_non_ascii(in, (size_t)-1, &inlen)) {
                iconv_t ic_prec;
                char *out;
@@ -96,10 +98,7 @@ const char *precompose_argv_prefix(int argc, const char **argv, const char *pref
                argv[i] = precompose_string_if_needed(argv[i]);
                i++;
        }
-       if (prefix) {
-               prefix = precompose_string_if_needed(prefix);
-       }
-       return prefix;
+       return precompose_string_if_needed(prefix);
 }
 
 
index d70b84665c61faee9e1fe1197c1fe61788d2afb2..fea06cf28a52dffacf1839d99b364d71f16b6461 100644 (file)
@@ -29,6 +29,7 @@ typedef struct {
 } PREC_DIR;
 
 const char *precompose_argv_prefix(int argc, const char **argv, const char *prefix);
+const char *precompose_string_if_needed(const char *in);
 void probe_utf8_pathname_composition(void);
 
 PREC_DIR *precompose_utf8_opendir(const char *dirname);
index 93d9b4b7afd29b9209ba01728cda85a356a35c56..3616d12d47a5165a4da112360a017cabaebc2d9e 100644 (file)
@@ -256,6 +256,11 @@ static inline const char *precompose_argv_prefix(int argc, const char **argv, co
 {
        return prefix;
 }
+static inline const char *precompose_string_if_needed(const char *in)
+{
+       return in;
+}
+
 #define probe_utf8_pathname_composition()
 #endif