diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2019-07-24 12:18:35 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-07-24 12:18:35 +0200 |
commit | f8d4dd25732f518001bfbec1fae01902edabcb4b (patch) | |
tree | bdf618127537a71349b5b3fd412d2fb487ad5a49 | |
parent | 0f147388c0c23a2f7267ee0bf58333939d7a5d84 (diff) | |
download | qboot-f8d4dd25732f518001bfbec1fae01902edabcb4b.zip qboot-f8d4dd25732f518001bfbec1fae01902edabcb4b.tar.gz qboot-f8d4dd25732f518001bfbec1fae01902edabcb4b.tar.bz2 |
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 <pbonzini@redhat.com>
-rw-r--r-- | printf.c | 17 |
1 files changed, 7 insertions, 10 deletions
@@ -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; |