RE: [RFC-v2] BFD MinGW/Cygwin build error in bfd/peiXXgen.c

Pierre Muller
2013-12-19T13:18:50Z

> > 2013-12-19 Pierre Muller <muller@sourceware.org>
> >
> > 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 <muller@sourceware.org>

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