X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fformat.c;h=ccd999e582fa623bd677184ef509d364306666f4;hb=31a4aa7b354dcef292c0ddaf8fbae915938a5d23;hp=072ff3b33625c4922372cb61edecbb6547ebd1de;hpb=19e540f73e60ccd47b0fbc0fbf543ba1703a2e5c;p=vpp.git diff --git a/src/vppinfra/format.c b/src/vppinfra/format.c index 072ff3b3362..ccd999e582f 100644 --- a/src/vppinfra/format.c +++ b/src/vppinfra/format.c @@ -278,6 +278,7 @@ do_percent (u8 ** _s, const u8 * fmt, va_list * va) case 'x': case 'X': case 'u': + case 'o': case 'd': { u64 number; @@ -311,6 +312,9 @@ do_percent (u8 ** _s, const u8 * fmt, va_list * va) break; } + if (c == 'o') + o.base = 8; + s = format_integer (s, number, &o); } break; @@ -383,7 +387,7 @@ done: return f; } -u8 * +__clib_export u8 * va_format (u8 * s, const char *fmt, va_list * va) { const u8 *f = (u8 *) fmt, *g; @@ -412,10 +416,15 @@ va_format (u8 * s, const char *fmt, va_list * va) if (f > g) vec_add (s, g, f - g); +#ifdef __COVERITY__ + if (s == 0) + return (u8 *) "liar liar pants on fire s can't be zero!"; +#endif + return s; } -u8 * +__clib_export u8 * format (u8 * s, const char *fmt, ...) { va_list va; @@ -429,7 +438,7 @@ format (u8 * s, const char *fmt, ...) return s; } -word +__clib_export word va_fformat (FILE * f, char *fmt, va_list * va) { word ret; @@ -453,7 +462,7 @@ va_fformat (FILE * f, char *fmt, va_list * va) return ret; } -word +__clib_export word fformat (FILE * f, char *fmt, ...) { va_list va; @@ -467,7 +476,7 @@ fformat (FILE * f, char *fmt, ...) } #ifdef CLIB_UNIX -void +__clib_export void fformat_append_cr (FILE * ofp, const char *fmt, ...) { va_list va; @@ -478,7 +487,7 @@ fformat_append_cr (FILE * ofp, const char *fmt, ...) fformat (ofp, "\n"); } -word +__clib_export word fdformat (int fd, char *fmt, ...) { word ret;