X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=coreboot.git;a=blobdiff_plain;f=payloads%2Flibpayload%2Flibc%2Fprintf.c;fp=payloads%2Flibpayload%2Flibc%2Fprintf.c;h=c9a6cca45a75fc39a2a590039d034f1da7221418;hp=e3cf8bbb24ca2224879ac96ff3da8add9f0a0548;hb=67997d330dae9c12eb640aa21f7e51b193890461;hpb=f17789c4ff8faf0340946f8ba6c3b35c02e36cee diff --git a/payloads/libpayload/libc/printf.c b/payloads/libpayload/libc/printf.c index e3cf8bbb2..c9a6cca45 100644 --- a/payloads/libpayload/libc/printf.c +++ b/payloads/libpayload/libc/printf.c @@ -85,8 +85,8 @@ typedef enum { PrintfQualifierPointer, } qualifier_t; -static char digits_small[] = "0123456789abcdef"; -static char digits_big[] = "0123456789ABCDEF"; +static const char digits_small[] = "0123456789abcdef"; +static const char digits_big[] = "0123456789ABCDEF"; /** * Print one or more characters without adding newline. @@ -109,18 +109,9 @@ static int printf_putnchars(const char *buf, size_t count, * @param ps Write function specification and support data. * @return Number of characters printed. */ -static int printf_putstr(const char *str, struct printf_spec *ps) +static inline int printf_putstr(const char *str, struct printf_spec *ps) { - size_t count; - - if (str == NULL) { - const char *nullstr = "(NULL)"; - return printf_putnchars(nullstr, strlen(nullstr), ps); - } - - count = strlen(str); - - return ps->write((void *)str, count, ps->data); + return printf_putnchars(str, strlen(str), ps); } /** @@ -228,7 +219,7 @@ static int print_string(char *s, int width, unsigned int precision, static int print_number(uint64_t num, int width, int precision, int base, uint64_t flags, struct printf_spec *ps) { - char *digits = digits_small; + const char *digits = digits_small; char d[PRINT_NUMBER_BUFFER_SIZE]; char *ptr = &d[PRINT_NUMBER_BUFFER_SIZE - 1]; int size = 0; /* Size of number with all prefixes and signs. */