emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r103882: * xdisp.c (vmessage): Use me


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r103882: * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
Date: Sun, 10 Apr 2011 12:47:49 -0700
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 103882
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Sun 2011-04-10 12:47:49 -0700
message:
  * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
modified:
  src/ChangeLog
  src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-04-10 19:12:28 +0000
+++ b/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'
--- a/src/xdisp.c       2011-04-10 02:27:15 +0000
+++ b/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]