Hi Mike, Andrew, On Thu, Sep 1, 2011 at 8:47 AM, Mike Frysinger <vap...@gentoo.org> wrote: > On Wednesday, August 31, 2011 18:20:57 Andrew Murray wrote: >> va_list args; >> uint i; >> char printbuffer[CONFIG_SYS_PBSIZE]; >> + char *buf = printbuffer; >> >> va_start(args, fmt); >> >> +#if defined(CONFIG_BOOT_TRACE) >> + unsigned long long ticks = get_ticks(); >> + int secs = ticks / get_tbclk(); >> + int msec = ((ticks * 1000000) / get_tbclk()) - (secs * 1000000); >> + >> + i += sprintf(buf, "[%5lu.%06lu] ", secs, msec); >> + buf += i; >> +#endif >> + >> /* For this to work, printbuffer must be larger than >> * anything we ever want to print. >> */ >> - i = vsprintf(printbuffer, fmt, args); >> + i += vsprintf(buf, fmt, args); >> va_end(args); > > NAK for a few reasons: > - i dont see how this could possibly compile warning free > - you never initialize "i", only added to it > - you call va_start() inbetween variable decls
And correct me if I'm wrong, but EVERY printf() will get the timing info tacked on - Even the ones without \n which are intermediate prints in larger messages which is going to lead to very ugly outputs I think instead we should look at another 'printf() with timestamp' function which can be used on an as-needed basis Regards, Graeme _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot