
1 Sep
2011
1 Sep
'11
1:38 a.m.
Hi Mike, Andrew,
On Thu, Sep 1, 2011 at 8:47 AM, Mike Frysinger vapier@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