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
	
	 Torsten Bögershausen
						Torsten Bögershausen