static char *
get_buffer (size_t need)
{
- /* Make sure we have room. */
+ /* Make sure we have room. NEED includes space for \0. */
if (need > fmtbuf.size)
{
fmtbuf.size += need * 2;
fmtbuf.buffer = xrealloc (fmtbuf.buffer, fmtbuf.size);
}
- fmtbuf.buffer[need] = '\0';
+ fmtbuf.buffer[need-1] = '\0';
return fmtbuf.buffer;
}
strcat (p, "\n");
- assert (fmtbuf.buffer[len] == '\0');
+ assert (fmtbuf.buffer[len-1] == '\0');
outputs (0, fmtbuf.buffer);
}
strcat (p, "\n");
- assert (fmtbuf.buffer[len] == '\0');
+ assert (fmtbuf.buffer[len-1] == '\0');
outputs (1, fmtbuf.buffer);
}
strcat (p, stop);
- assert (fmtbuf.buffer[len] == '\0');
+ assert (fmtbuf.buffer[len-1] == '\0');
outputs (1, fmtbuf.buffer);
die (2);