precompose_utf8: make precompose_string_if_needed() public
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>
Torsten Bögershausen committed
Apr 4, 2021 at 08:17 UTC
5020774aef3fc80c89fac2e04d4ed0aeac66cdf0
3 files changed
+10
-5
compat/precompose_utf8.c
+4
-5
@@ -60,10 +60,12 @@ void probe_utf8_pathname_composition(void)
60
strbuf_release(&path);
61
}
62
63
-static inline const char *precompose_string_if_needed(const char *in)
63
+const char *precompose_string_if_needed(const char *in)
64
{
65
size_t inlen;
66
size_t outlen;
67
+ if (!in)
68
+ return NULL;
69
if (has_non_ascii(in, (size_t)-1, &inlen)) {
70
iconv_t ic_prec;
71
char *out;
@@ -96,10 +98,7 @@ const char *precompose_argv_prefix(int argc, const char **argv, const char *pref
98
argv[i] = precompose_string_if_needed(argv[i]);
99
i++;
100
}
99
- if (prefix) {
100
- prefix = precompose_string_if_needed(prefix);
101
- }
102
- return prefix;
101
+ return precompose_string_if_needed(prefix);
102
}
103
104
compat/precompose_utf8.h
+1
@@ -29,6 +29,7 @@ typedef struct {
29
} PREC_DIR;
30
31
const char *precompose_argv_prefix(int argc, const char **argv, const char *prefix);
32
+const char *precompose_string_if_needed(const char *in);
33
void probe_utf8_pathname_composition(void);
34
35
PREC_DIR *precompose_utf8_opendir(const char *dirname);
git-compat-util.h
+5
@@ -256,6 +256,11 @@ static inline const char *precompose_argv_prefix(int argc, const char **argv, co
256
{
257
return prefix;
258
}
259
+static inline const char *precompose_string_if_needed(const char *in)
260
+{
261
+ return in;
262
+}
263
+
264
#define probe_utf8_pathname_composition()
265
#endif
266