From: Danny Smith <danny_smith_0000@yahoo.co.nz>
To: binutils <binutils@sources.redhat.com>
Subject: [Patch] Fix -Werror fallout in binutils/winduni.c (and fix a FIXME)
Date: Thu, 24 Mar 2005 15:16:00 -0000 [thread overview]
Message-ID: <20050324103454.87120.qmail@web50901.mail.yahoo.com> (raw)
With -Werror, I now get error for unused variables 's' and 'w' in
binutils/winduni.c when _WIN32 is defined. The following patch fixes. It
also removes a FIXME that needs to be fixed on the way to providing
support for multibyte code pages on windows.
No testsuite regressions.
Danny
ChangeLog
2005-03-24 Danny Smith <dannysmith@users.sourceforge.net>
* winduni.c (unicode_from_ascii): Don't declared variables
's' and 'w' if _WIN32. Use MultiByteToWideChar to set the unicode
string len.
Index: winduni.c
===================================================================
RCS file: /cvs/src/src/binutils/winduni.c,v
retrieving revision 1.3
diff -c -3 -p -r1.3 winduni.c
*** winduni.c 14 Sep 2003 12:20:17 -0000 1.3
--- winduni.c 24 Mar 2005 10:29:50 -0000
*************** void
*** 43,67 ****
unicode_from_ascii (int *length, unichar **unicode, const char *ascii)
{
int len;
const char *s;
unsigned short *w;
len = strlen (ascii);
-
- if (length != NULL)
- *length = len;
-
*unicode = ((unichar *) res_alloc ((len + 1) * sizeof (unichar)));
-
- #ifdef _WIN32
- /* FIXME: On Windows, we should be using MultiByteToWideChar to set
- the length. */
- MultiByteToWideChar (CP_ACP, 0, ascii, len + 1, *unicode, len + 1);
- #else
for (s = ascii, w = *unicode; *s != '\0'; s++, w++)
*w = *s & 0xff;
*w = 0;
#endif
}
/* Print the unicode string UNICODE to the file E. LENGTH is the
--- 43,74 ----
unicode_from_ascii (int *length, unichar **unicode, const char *ascii)
{
int len;
+ #ifndef _WIN32
const char *s;
unsigned short *w;
len = strlen (ascii);
*unicode = ((unichar *) res_alloc ((len + 1) * sizeof (unichar)));
for (s = ascii, w = *unicode; *s != '\0'; s++, w++)
*w = *s & 0xff;
*w = 0;
+ #else
+ /* We use MultiByteToWideChar rather than strlen to get the unicode
+ string length to allow multibyte "ascii" chars. The value returned
+ by this function includes the trailing '\0'. */
+ len = MultiByteToWideChar (CP_ACP, 0, ascii, -1, NULL, 0);
+ if (len)
+ {
+ *unicode = ((unichar *) res_alloc (len * sizeof (unichar)));
+ MultiByteToWideChar (CP_ACP, 0, ascii, -1, *unicode, len);
+ }
+ /* Discount the trailing '/0'. If MultiByteToWideChar failed,
+ this will set *length to -1. */
+ len--;
#endif
+
+ if (length != NULL)
+ *length = len;
}
/* Print the unicode string UNICODE to the file E. LENGTH is the
Find local movie times and trailers on Yahoo! Movies.
http://au.movies.yahoo.com
next reply other threads:[~2005-03-24 10:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-24 15:16 Danny Smith [this message]
2005-03-24 16:46 ` Nick Clifton
2005-03-24 23:37 ` Danny Smith
2005-03-25 1:21 ` Nick Clifton
2005-03-25 1:22 ` Danny Smith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050324103454.87120.qmail@web50901.mail.yahoo.com \
--to=danny_smith_0000@yahoo.co.nz \
--cc=binutils@sources.redhat.com \
--cc=dannysmith@users.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).