diff options
author | Ramsay Jones <ramsay@ramsay1.demon.co.uk> | 2007-03-03 18:29:03 +0000 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-03-03 18:55:17 -0800 |
commit | fd547a972ad1ad714e1dac0a9ffc7637a64dd9b2 (patch) | |
tree | 99a2ecf4b486a000fbb25d4ebdf9335cb0be1563 /utf8.c | |
parent | 2832114532d92bdd533f84fa520050c5de95c012 (diff) | |
download | git-fd547a972ad1ad714e1dac0a9ffc7637a64dd9b2.tar.gz |
Fix a "pointer type missmatch" warning.
In particular, the second parameter in the call to iconv() will
cause this warning if your library declares iconv() with the
second (input buffer pointer) parameter of type const char **.
This is the old prototype, which is none-the-less used by the
current version of newlib on Cygwin. (It appears in old versions
of glibc too).
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'utf8.c')
-rw-r--r-- | utf8.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -293,11 +293,17 @@ int is_encoding_utf8(const char *name) * with iconv. If the conversion fails, returns NULL. */ #ifndef NO_ICONV +#ifdef OLD_ICONV + typedef const char * iconv_ibp; +#else + typedef char * iconv_ibp; +#endif char *reencode_string(const char *in, const char *out_encoding, const char *in_encoding) { iconv_t conv; size_t insz, outsz, outalloc; - char *out, *outpos, *cp; + char *out, *outpos; + iconv_ibp cp; if (!in_encoding) return NULL; @@ -309,7 +315,7 @@ char *reencode_string(const char *in, const char *out_encoding, const char *in_e outalloc = outsz + 1; /* for terminating NUL */ out = xmalloc(outalloc); outpos = out; - cp = (char *)in; + cp = (iconv_ibp)in; while (1) { size_t cnt = iconv(conv, &cp, &insz, &outpos, &outsz); |