* minibuf.c (Fread_buffer): Don't assume strlen fits in int.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 20 Jun 2011 06:14:57 +0000 (23:14 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 20 Jun 2011 06:14:57 +0000 (23:14 -0700)
src/ChangeLog
src/minibuf.c

index 8bff8e5..238e37a 100644 (file)
@@ -1,5 +1,6 @@
 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * minibuf.c (Fread_buffer):
        * lread.c (intern, intern_c_string):
        * image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]:
        Don't assume string length fits in int.
index 1b55503..ca2f22d 100644 (file)
@@ -1115,7 +1115,7 @@ function, instead of the usual behavior.  */)
 {
   Lisp_Object args[4], result;
   char *s;
-  int len;
+  ptrdiff_t len;
   int count = SPECPDL_INDEX ();
 
   if (BUFFERP (def))
@@ -1137,7 +1137,7 @@ function, instead of the usual behavior.  */)
          if (STRINGP (prompt))
            {
              s = SSDATA (prompt);
-             len = strlen (s);
+             len = SBYTES (prompt);
              if (len >= 2 && s[len - 2] == ':' && s[len - 1] == ' ')
                len = len - 2;
              else if (len >= 1 && (s[len - 1] == ':' || s[len - 1] == ' '))