* 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.
This commit is contained in:
Nick Clifton 2009-05-05 09:36:08 +00:00
parent 163ea230b5
commit 6f4c2146e7
2 changed files with 22 additions and 14 deletions

View File

@ -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

View File

@ -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;