[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Revision 103880 broke the Windows build
From: |
Paul Eggert |
Subject: |
Re: Revision 103880 broke the Windows build |
Date: |
Sun, 10 Apr 2011 12:53:50 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9 |
On 04/10/2011 12:01 PM, Eli Zaretskii wrote:
> You are reading MSDN for one of the latest versions of the runtime.
> Not everyone has that installed
Ah, OK, thanks. I committed the following, which uses
memchr instead. Other w32 already uses memchr so memchr
should be OK. A quick Google search says MacOS has it
too.
=== modified file 'src/ChangeLog'
--- src/ChangeLog 2011-04-10 19:12:28 +0000
+++ src/ChangeLog 2011-04-10 19:47:49 +0000
@@ -1,5 +1,7 @@
2011-04-10 Paul Eggert <address@hidden>
+ * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
+
Fix more problems found by GCC 4.6.0's static checks.
* xdisp.c (vmessage): Use a better test for character truncation.
=== modified file 'src/xdisp.c'
--- src/xdisp.c 2011-04-10 02:27:15 +0000
+++ src/xdisp.c 2011-04-10 19:47:49 +0000
@@ -8417,10 +8417,13 @@
/* Do any truncation at a character boundary. */
if (! (0 <= len && len < bufsize))
- for (len = strnlen (buf, bufsize);
- len && ! CHAR_HEAD_P (buf[len - 1]);
- len--)
- continue;
+ {
+ char *end = memchr (buf, 0, bufsize);
+ for (len = end ? end - buf : bufsize;
+ len && ! CHAR_HEAD_P (buf[len - 1]);
+ len--)
+ continue;
+ }
message2 (FRAME_MESSAGE_BUF (f), len, 0);
}