]> code.delx.au - gnu-emacs/commitdiff
(Fformat): Allocated extra (dummy) element in info.
authorKim F. Storm <storm@cua.dk>
Fri, 30 Jul 2004 12:05:32 +0000 (12:05 +0000)
committerKim F. Storm <storm@cua.dk>
Fri, 30 Jul 2004 12:05:32 +0000 (12:05 +0000)
src/ChangeLog
src/editfns.c

index 282d422beb16535d0b26571073658fee95a48c26..11cc0f7ba896be392b82f57ce4a807956e06afc8 100644 (file)
@@ -1,3 +1,7 @@
+2004-07-30  Kim F. Storm  <storm@cua.dk>
+
+       * editfns.c (Fformat): Allocate extra (dummy) element in info.
+
 2004-07-28  Luc Teirlinck  <teirllm@auburn.edu>
 
        * eval.c (Fdefvar, Fdefconst): Doc fixes.
index a506c5f4fc85d7b68dd66ac5f89ccdae36229226..88a0e63118ff13c789b5868d31cc08e5747e039a 100644 (file)
@@ -3254,6 +3254,7 @@ usage: (format STRING &rest OBJECTS)  */)
       /* Piggyback on this loop to initialize precision[N]. */
       precision[n] = -1;
     }
+  precision[nargs] = -1;
 
   CHECK_STRING (args[0]);
   /* We may have to change "%S" to "%s". */
@@ -3277,11 +3278,11 @@ usage: (format STRING &rest OBJECTS)  */)
 
   /* Allocate the info and discarded tables.  */
   {
-    int nbytes = nargs * sizeof *info;
+    int nbytes = (nargs+1) * sizeof *info;
     int i;
     info = (struct info *) alloca (nbytes);
     bzero (info, nbytes);
-    for (i = 0; i < nargs; i++)
+    for (i = 0; i <= nargs; i++)
       info[i].start = -1;
     discarded = (char *) alloca (SBYTES (args[0]));
     bzero (discarded, SBYTES (args[0]));