reencode_string: use size_t for string lengths
The iconv interface takes a size_t, which is the appropriate type for an in-memory buffer. But our reencode_string_* functions use integers, meaning we may get confusing results when the sizes exceed INT_MAX. Let's use size_t consistently. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
77aa03d6c7
commit
c7d017d7e1
6
utf8.c
6
utf8.c
@ -470,7 +470,7 @@ int utf8_fprintf(FILE *stream, const char *format, ...)
|
||||
#else
|
||||
typedef char * iconv_ibp;
|
||||
#endif
|
||||
char *reencode_string_iconv(const char *in, size_t insz, iconv_t conv, int *outsz_p)
|
||||
char *reencode_string_iconv(const char *in, size_t insz, iconv_t conv, size_t *outsz_p)
|
||||
{
|
||||
size_t outsz, outalloc;
|
||||
char *out, *outpos;
|
||||
@ -534,9 +534,9 @@ static const char *fallback_encoding(const char *name)
|
||||
return name;
|
||||
}
|
||||
|
||||
char *reencode_string_len(const char *in, int insz,
|
||||
char *reencode_string_len(const char *in, size_t insz,
|
||||
const char *out_encoding, const char *in_encoding,
|
||||
int *outsz)
|
||||
size_t *outsz)
|
||||
{
|
||||
iconv_t conv;
|
||||
char *out;
|
||||
|
Reference in New Issue
Block a user