On Thu, Oct 24, 2013 at 3:43 PM, Frank Heckenbach <invalid.nore...@gnu.org> wrote: > Another thing that changed in the course of the output patches is that > messages are now generated in vfmtconcat() using vsnprintf() as well as > va_copy(), both C99 and at least the latter AFAIK not very widely used. > > For testing you could try replacing the body of vfmtconcat() with "vprintf > (fmt, args);". (Keep the return statement to avoid a compiler warning; the > returned value isn't actually used.) This will break output-sync, of course, > but if the messages are correct then, we've found the culprits.
I no longer have notes about what version I saw it in, but HP-UX's vsnprintf/snprintf would, when the buffer wasn't large enough, return -1 instead of the "number of chars that would have been written". I think it also flubbed handling of buflen==0 as the workaround code we used would make a first try passing a buflen of 1 and a single char buf instead of a buflen of zero and NULL. Or maybe that part was a bug in AIX. Hmm... Philip Guenther _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make