X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=ucimap.c;h=0ffab944d3d354c3d7c561973e3674a76bd054e2;hb=HEAD;hp=52c920b39323a88f0906b8f14fd59c2015cadd98;hpb=97e71a1c1b0a9d50f2dc334e72c89153f8b87d45;p=uci.git diff --git a/ucimap.c b/ucimap.c index 52c920b..0ffab94 100644 --- 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;