From f8d4dd25732f518001bfbec1fae01902edabcb4b Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 24 Jul 2019 12:18:35 +0200 Subject: clean up printf printf is avoiding switch statements so that it can be used in very early startup, before jump tables can be read from the F segment. We could use -fno-jump-tables, but we can also keep the if statements and clean them up so that the indentation is fine. Signed-off-by: Paolo Bonzini --- printf.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/printf.c b/printf.c index 8d7f56d..bfbd15c 100644 --- a/printf.c +++ b/printf.c @@ -157,18 +157,17 @@ int vsnprintf(char *buf, int size, const char *fmt, va_list va) } morefmt: f = *fmt++; - do { if (f == '%') { addchar(&s, '%'); - break; + continue; } if (f == 'c') { addchar(&s, va_arg(va, int)); - break; + continue; } if (f == '\0') { --fmt; - break; + continue; } if (f == '0') { props.pad = '0'; @@ -196,7 +195,7 @@ int vsnprintf(char *buf, int size, const char *fmt, va_list va) panic(); break; } - break; + continue; } if (f == 'x') { switch (nlong) { @@ -210,20 +209,18 @@ int vsnprintf(char *buf, int size, const char *fmt, va_list va) panic(); break; } - break; + continue; } if (f == 'p') { print_str(&s, "0x", props); print_unsigned(&s, (unsigned long)va_arg(va, void *), 16, props); - break; + continue; } if (f == 's') { print_str(&s, va_arg(va, const char *), props); - break; + continue; } addchar(&s, f); - break; - } while(0); } *s.buffer = 0; ++s.added; -- cgit v1.1