emacs-devel
[Top][All Lists]
Advanced

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]