va_start() in between; reorder code so that we call vsnprintf and then just fputs that buffer. crank the size of lastmsg whilst we're here problem noted by Hideo Saito in [bin/14348].