From: Eric Sunshine Date: Fri, 5 Jun 2015 06:42:16 +0000 (-0400) Subject: utf8: NO_ICONV: silence uninitialized variable warning X-Git-Tag: v2.4.6~4^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/e654eb29ab9da97f6acabc261f88aa1f41f78a8f utf8: NO_ICONV: silence uninitialized variable warning The last argument of reencode_string_len() is an 'int *' which is assigned the length of the converted string. When NO_ICONV is defined, however, reencode_string_len() is stubbed out by the macro: #define reencode_string_len(a,b,c,d,e) NULL which never assigns a value to the final argument. When called like this: int n; char *s = reencode_string_len(..., &n); if (s) do_something(s, n); some compilers complain that 'n' is used uninitialized within the conditional. Signed-off-by: Eric Sunshine Reviewed-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/utf8.h b/utf8.h index e4d9183c5f..07e7054343 100644 --- a/utf8.h +++ b/utf8.h @@ -28,7 +28,9 @@ char *reencode_string_len(const char *in, int insz, const char *in_encoding, int *outsz); #else -#define reencode_string_len(a,b,c,d,e) NULL +static inline char *reencode_string_len(const char *a, int b, + const char *c, const char *d, int *e) +{ if (e) *e = 0; return NULL; } #endif static inline char *reencode_string(const char *in,