libpayload: fix compiler warning for first_cmos_entry()
authorMathias Krause <mathias.krause@secunet.com>
Fri, 17 Feb 2012 10:53:28 +0000 (11:53 +0100)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Fri, 17 Feb 2012 18:24:11 +0000 (19:24 +0100)
The 'name' argument to lookup_cmos_entry() is declared to be 'char *'
but we pass an empty string ("") which is 'const char[]' so the compiler
legitimatly warns about discarded qualifiers here. Fix this by passing
NULL as 'name'.

Minor nitpick: The NULL test in lookup_cmos_entry() is superfluous as our
implementation of strnlen() can handle NULL pointers gracefully. But for
an average C hacker it just doesn't feel right not to do so.

Change-Id: I592917d12d8fa840804c0d19e38b844427064fef
Signed-off-by: Mathias Krause <mathias.krause@secunet.com>
Reviewed-on: http://review.coreboot.org/651
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
payloads/libpayload/drivers/options.c

index 7c762516f52e341045c753b3a65353be83c13784..73316c1de6db86f425b69cd5d37f4aa8d36530a7 100644 (file)
@@ -155,7 +155,7 @@ static int set_cmos_value(const struct nvram_accessor *nvram, u32 bitnum, u32 le
 static struct cb_cmos_entries *lookup_cmos_entry(struct cb_cmos_option_table *option_table, char *name)
 {
        struct cb_cmos_entries *cmos_entry;
-       int len = strnlen(name, CMOS_MAX_NAME_LENGTH);
+       int len = name ? strnlen(name, CMOS_MAX_NAME_LENGTH) : 0;
 
        /* cmos entries are located right after the option table */
 
@@ -173,7 +173,7 @@ static struct cb_cmos_entries *lookup_cmos_entry(struct cb_cmos_option_table *op
 
 struct cb_cmos_entries *first_cmos_entry(struct cb_cmos_option_table *option_table)
 {
-       return lookup_cmos_entry(option_table, "");
+       return lookup_cmos_entry(option_table, NULL);
 }
 
 struct cb_cmos_entries *next_cmos_entry(struct cb_cmos_entries *cmos_entry)