RE: [RFC-v2] BFD MinGW/Cygwin build error in bfd/peiXXgen.c
"Pierre Muller" <[email protected]>
| Newsgroups | gmane.comp.gnu.binutils,gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
> > 2013-12-19 Pierre Muller <[email protected]> > > > > peXXigen.c (u16_mbtouc): Avoid unused function warning by > excluding if > > __CYGWIN__ or __MINGW32__ macro is defined. > > (rsrc_cmp): Fix Windows host version and version without wchar > header. > > [__CYGWIN__, __MINGW32__]: Introduce rsrccmp macro. > > Thanks - I have applied this patch. Not yet completely OK: peigen.c: In function ‘rsrc_cmp’: peigen.c:2984:17: erreur: unused variable ‘i’ [-Werror=unused-variable] ChangeLog entry: 2013-12-19 Pierre Muller <[email protected]> Fix unused variable warning. diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c index 843cae8..d50db73 100644 --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c @@ -2981,7 +2981,6 @@ static signed int rsrc_cmp (bfd_boolean is_name, rsrc_entry * a, rsrc_entry * b) { signed int res; - unsigned int i; bfd_byte * astring; unsigned int alen; bfd_byte * bstring; @@ -3013,24 +3012,26 @@ rsrc_cmp (bfd_boolean is_name, rsrc_entry * a, rsrc_entry * b) min (alen, blen)); #elif defined HAVE_WCHAR_H - res = 0; - for (i = min (alen, blen); i--; astring += 2, bstring += 2) - { - wchar_t awc; - wchar_t bwc; - - /* Convert UTF-16 unicode characters into wchar_t characters so - that we can then perform a case insensitive comparison. */ - int Alen = u16_mbtouc (& awc, (const unsigned short *) astring, 2); - int Blen = u16_mbtouc (& bwc, (const unsigned short *) bstring, 2); - - if (Alen != Blen) - return Alen - Blen; - res = wcsncasecmp (& awc, & bwc, 1); - if (res) - break; - } - + { + unsigned int i; + res = 0; + for (i = min (alen, blen); i--; astring += 2, bstring += 2) + { + wchar_t awc; + wchar_t bwc; + + /* Convert UTF-16 unicode characters into wchar_t characters so + that we can then perform a case insensitive comparison. */ + int Alen = u16_mbtouc (& awc, (const unsigned short *) astring, 2); + int Blen = u16_mbtouc (& bwc, (const unsigned short *) bstring, 2); + + if (Alen != Blen) + return Alen - Blen; + res = wcsncasecmp (& awc, & bwc, 1); + if (res) + break; + } + } #else /* Do the best we can - a case sensitive, untranslated comparison. */ res = memcmp (astring, bstring, min (alen, blen) * 2);