diff options
-rw-r--r-- | binutils/ChangeLog | 8 | ||||
-rw-r--r-- | binutils/winduni.c | 28 |
2 files changed, 22 insertions, 14 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 268d75e..c2949fc 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,11 @@ +2009-05-05 Guillaume Duhamel <guillaume.duhamel@gmail.com> + + PR 10109 + * winduni.c: Replace test of HAVE_ICONV_H with a test of + HAVE_ICONV. + (iconv_onechar): Use ICONV_CONST instead of "const". + (wind_MultiByteToWideChar): Initialise local strings. + 2009-04-30 Nick Clifton <nickc@redhat.com> * readelf.c (dump_relocations): Display a relocation against an diff --git a/binutils/winduni.c b/binutils/winduni.c index bf5dbd4..1af3c39 100644 --- a/binutils/winduni.c +++ b/binutils/winduni.c @@ -1,5 +1,5 @@ /* winduni.c -- unicode support for the windres program. - Copyright 1997, 1998, 2000, 2001, 2003, 2007 + Copyright 1997, 1998, 2000, 2001, 2003, 2007, 2009 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support. Rewritten by Kai Tietz, Onevision. @@ -42,7 +42,7 @@ #include "winduni.h" #include "safe-ctype.h" -#if HAVE_ICONV_H +#if HAVE_ICONV #include <iconv.h> #endif @@ -616,16 +616,16 @@ codepage_from_unicode (rc_uint_type *length, const unichar *unicode, char **asci *length = len; } -#ifdef HAVE_ICONV_H +#ifdef HAVE_ICONV static int -iconv_onechar (iconv_t cd, const char *s, char *d, int d_len, const char **n_s, char **n_d) +iconv_onechar (iconv_t cd, ICONV_CONST char *s, char *d, int d_len, const char **n_s, char **n_d) { int i; for (i = 1; i <= 32; i++) { char *tmp_d = d; - const char *tmp_s = s; + ICONV_CONST char *tmp_s = s; size_t ret; size_t s_left = (size_t) i; size_t d_left = (size_t) d_len; @@ -652,7 +652,7 @@ wind_iconv_cp (rc_uint_type cp) return NULL; return lim->iconv_name; } -#endif /* HAVE_ICONV_H */ +#endif /* HAVE_ICONV */ static rc_uint_type wind_MultiByteToWideChar (rc_uint_type cp, const char *mb, @@ -666,7 +666,7 @@ wind_MultiByteToWideChar (rc_uint_type cp, const char *mb, /* Convert to bytes. */ ret *= sizeof (unichar); -#elif defined (HAVE_ICONV_H) +#elif defined (HAVE_ICONV) int first = 1; char tmp[32]; char *p_tmp; @@ -679,11 +679,11 @@ wind_MultiByteToWideChar (rc_uint_type cp, const char *mb, while (1) { int iret; - const char *n_mb; - char *n_tmp; + const char *n_mb = ""; + char *n_tmp = ""; p_tmp = tmp; - iret = iconv_onechar (cd, (const char *) mb, p_tmp, 32, & n_mb, & n_tmp); + iret = iconv_onechar (cd, (ICONV_CONST char *) mb, p_tmp, 32, & n_mb, & n_tmp); if (first) { first = 0; @@ -739,7 +739,7 @@ wind_WideCharToMultiByte (rc_uint_type cp, const unichar *u, char *mb, rc_uint_t ret = (rc_uint_type) WideCharToMultiByte (cp, 0, u, -1, mb, mb_len, NULL, & used_def); -#elif defined (HAVE_ICONV_H) +#elif defined (HAVE_ICONV) int first = 1; char tmp[32]; char *p_tmp; @@ -752,11 +752,11 @@ wind_WideCharToMultiByte (rc_uint_type cp, const unichar *u, char *mb, rc_uint_t while (1) { int iret; - const char *n_u; - char *n_tmp; + const char *n_u = ""; + char *n_tmp = ""; p_tmp = tmp; - iret = iconv_onechar (cd, (const char *) u, p_tmp, 32, &n_u, & n_tmp); + iret = iconv_onechar (cd, (ICONV_CONST char *) u, p_tmp, 32, &n_u, & n_tmp); if (first) { first = 0; |