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>
maint
parent
5c327502db
commit
5020774aef
|
@ -60,10 +60,12 @@ void probe_utf8_pathname_composition(void)
|
||||||
strbuf_release(&path);
|
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 inlen;
|
||||||
size_t outlen;
|
size_t outlen;
|
||||||
|
if (!in)
|
||||||
|
return NULL;
|
||||||
if (has_non_ascii(in, (size_t)-1, &inlen)) {
|
if (has_non_ascii(in, (size_t)-1, &inlen)) {
|
||||||
iconv_t ic_prec;
|
iconv_t ic_prec;
|
||||||
char *out;
|
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]);
|
argv[i] = precompose_string_if_needed(argv[i]);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
if (prefix) {
|
return precompose_string_if_needed(prefix);
|
||||||
prefix = precompose_string_if_needed(prefix);
|
|
||||||
}
|
|
||||||
return prefix;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ typedef struct {
|
||||||
} PREC_DIR;
|
} PREC_DIR;
|
||||||
|
|
||||||
const char *precompose_argv_prefix(int argc, const char **argv, const char *prefix);
|
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);
|
void probe_utf8_pathname_composition(void);
|
||||||
|
|
||||||
PREC_DIR *precompose_utf8_opendir(const char *dirname);
|
PREC_DIR *precompose_utf8_opendir(const char *dirname);
|
||||||
|
|
|
@ -256,6 +256,11 @@ static inline const char *precompose_argv_prefix(int argc, const char **argv, co
|
||||||
{
|
{
|
||||||
return prefix;
|
return prefix;
|
||||||
}
|
}
|
||||||
|
static inline const char *precompose_string_if_needed(const char *in)
|
||||||
|
{
|
||||||
|
return in;
|
||||||
|
}
|
||||||
|
|
||||||
#define probe_utf8_pathname_composition()
|
#define probe_utf8_pathname_composition()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue