X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=lib%2Fvsprintf.c;h=bedc865240de0dd7a2d50fa9be5a73dce5084b7b;hb=4af0f01ba501d1050e46fffb6d719916a6345ee5;hp=e0f264850f7fa75bc6cbeaad2537d3fffc4a318d;hpb=746667f1e56bf08d03e66a178df3c4f4f6c806e1;p=karo-tx-uboot.git diff --git a/lib/vsprintf.c b/lib/vsprintf.c index e0f264850f..bedc865240 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -842,13 +842,11 @@ int sprintf(char *buf, const char *fmt, ...) return i; } -void panic(const char *fmt, ...) +static void panic_finish(void) __attribute__ ((noreturn)); + +static void panic_finish(void) { - va_list args; - va_start(args, fmt); - vprintf(fmt, args); putc('\n'); - va_end(args); #if defined(CONFIG_PANIC_HANG) hang(); #else @@ -859,6 +857,21 @@ void panic(const char *fmt, ...) ; } +void panic_str(const char *str) +{ + puts(str); + panic_finish(); +} + +void panic(const char *fmt, ...) +{ + va_list args; + va_start(args, fmt); + vprintf(fmt, args); + va_end(args); + panic_finish(); +} + void __assert_fail(const char *assertion, const char *file, unsigned line, const char *function) {