[coreboot] New patch to review for coreboot: 82eb56b libpayload: minor cleanups

Mathias Krause (minipli@googlemail.com) gerrit at coreboot.org
Tue Apr 3 21:15:40 CEST 2012


Mathias Krause (minipli at googlemail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/849

-gerrit

commit 82eb56b102aa2294961bb65a244b537d521b9d12
Author: Mathias Krause <minipli at googlemail.com>
Date:   Tue Apr 3 20:42:01 2012 +0200

    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 at googlemail.com>
---
 payloads/libpayload/libc/printf.c   |   19 +++++--------------
 payloads/libpayload/libpci/libpci.c |    2 +-
 2 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/payloads/libpayload/libc/printf.c b/payloads/libpayload/libc/printf.c
index e3cf8bb..c9a6cca 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 ecc2b25..e9df10c 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.




More information about the coreboot mailing list