]> pilppa.org Git - uci.git/blobdiff - ucimap.c
fix possible uninitialized warning from gcc 4.92
[uci.git] / ucimap.c
index 52c920b39323a88f0906b8f14fd59c2015cadd98..0ffab944d3d354c3d7c561973e3674a76bd054e2 100644 (file)
--- a/ucimap.c
+++ b/ucimap.c
@@ -59,23 +59,13 @@ struct ucimap_fixup {
 static inline bool
 ucimap_is_alloc(enum ucimap_type type)
 {
-       switch(type & UCIMAP_SUBTYPE) {
-       case UCIMAP_STRING:
-               return true;
-       default:
-               return false;
-       }
+       return (type & UCIMAP_SUBTYPE) == UCIMAP_STRING;
 }
 
 static inline bool
 ucimap_is_fixup(enum ucimap_type type)
 {
-       switch(type & UCIMAP_SUBTYPE) {
-       case UCIMAP_SECTION:
-               return true;
-       default:
-               return false;
-       }
+       return (type & UCIMAP_SUBTYPE) == UCIMAP_SECTION;
 }
 
 static inline bool
@@ -229,7 +219,7 @@ ucimap_handle_fixup(struct uci_map *map, struct ucimap_fixup *f)
                break;
        case UCIMAP_LIST:
                list = f->data->list;
-               data = ucimap_list_append(f->data->list);
+               data = ucimap_list_append(list);
                if (!data)
                        return false;
 
@@ -894,6 +884,7 @@ ucimap_parse(struct uci_map *map, struct uci_package *pkg)
                        } else {
                                sd = malloc(sm->alloc_len);
                                memset(sd, 0, sm->alloc_len);
+                               sd = ucimap_ptr_section(sm, sd);
                        }
                        if (!sd)
                                continue;