From 6728035e8b29b78debc7ea7773f9d169b2968c65 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 6 Feb 2008 23:15:57 +0000 Subject: 2008-02-06 Joel Sherrill * libcsupport/src/printk.c: Added width and padding for %s. * libmisc/cpuuse/cpuusagereport.c: Support object names that are strings longer than 4 chanracters. --- cpukit/ChangeLog | 6 ++++++ cpukit/libcsupport/src/printk.c | 33 +++++++++++++++++++++++++++++---- cpukit/libmisc/cpuuse/cpuusagereport.c | 13 +++++++++---- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index b9efd7124b..da121ccc72 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2008-02-06 Joel Sherrill + + * libcsupport/src/printk.c: Added width and padding for %s. + * libmisc/cpuuse/cpuusagereport.c: Support object names that are + strings longer than 4 chanracters. + 2008-02-06 Joel Sherrill PR 1277/networking diff --git a/cpukit/libcsupport/src/printk.c b/cpukit/libcsupport/src/printk.c index e8ccbd7da6..97895ab75d 100644 --- a/cpukit/libcsupport/src/printk.c +++ b/cpukit/libcsupport/src/printk.c @@ -63,7 +63,6 @@ static void printNum( } } - /* * vprintk * @@ -79,13 +78,14 @@ void vprintk( ) { char c, *str; - int lflag, base, sign, width, lead; + int lflag, base, sign, width, lead, minus; for (; *fmt != '\0'; fmt++) { lflag = 0; base = 0; sign = 0; width = 0; + minus = 0; lead = ' '; if (*fmt == '%') { fmt++; @@ -93,6 +93,10 @@ void vprintk( lead = '0'; fmt++; } + if (*fmt == '-' ) { + minus = 1; + fmt++; + } while (*fmt >= '0' && *fmt <= '9' ) { width *= 10; width += (*fmt - '0'); @@ -111,8 +115,29 @@ void vprintk( case 'x': case 'X': base = 16; sign = 0; break; case 'p': base = 16; sign = 0; break; case 's': - for (str = va_arg(ap, char *); *str; str++) - BSP_output_char(*str); + { int i, len; + char *s; + + str = va_arg(ap, char *); + + /* calculate length of string */ + for ( len=0, s=str ; *s ; len++, s++ ) + ; + + /* leading spaces */ + if ( !minus ) + for ( i=len ; iObject.id, sizeof(name), name ); - (*print)( context, "0x%08" PRIx32 " %4s ", the_thread->Object.id, name ); + (*print)( + context, + "0x%08" PRIx32 " %-12s ", + the_thread->Object.id, + name + ); #ifdef RTEMS_ENABLE_NANOSECOND_CPU_USAGE_STATISTICS /* -- cgit v1.2.3