summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Krause <minipli@googlemail.com>2012-04-03 20:42:01 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-04-04 00:40:31 +0200
commit67997d330dae9c12eb640aa21f7e51b193890461 (patch)
tree01f9aa258ab8cb289585b3b1a30e950d8352dacc
parentf17789c4ff8faf0340946f8ba6c3b35c02e36cee (diff)
libpayload: minor cleanups
Apply some const correctness to const/non-const strings in libc and libpci (what an ugly cast that was). Remove duplicated NULL test in printf_putstr(), already done in print_string() - reduces size of libpayload by a few bytes. Change-Id: I13f479df13e39d79cab291e9d99d153e1ef43eae Signed-off-by: Mathias Krause <minipli@googlemail.com> Reviewed-on: http://review.coreboot.org/849 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marcj303@gmail.com>
-rw-r--r--payloads/libpayload/libc/printf.c19
-rw-r--r--payloads/libpayload/libpci/libpci.c2
2 files changed, 6 insertions, 15 deletions
diff --git a/payloads/libpayload/libc/printf.c b/payloads/libpayload/libc/printf.c
index e3cf8bbb24..c9a6cca45a 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. */
diff --git a/payloads/libpayload/libpci/libpci.c b/payloads/libpayload/libpci/libpci.c
index ecc2b25c91..e9df10c42f 100644
--- a/payloads/libpayload/libpci/libpci.c
+++ b/payloads/libpayload/libpci/libpci.c
@@ -96,7 +96,7 @@ void pci_filter_init(struct pci_access* pacc, struct pci_filter* pf)
pf->device = -1;
}
-static char *invalid_pci_device_string = (char *)"invalid pci device string";
+static char invalid_pci_device_string[] = "invalid pci device string";
/* parse domain:bus:dev.func (with all components but "dev" optional)
* into filter.