From 71016cda9739642fd49ffa949555e7240b7b1284 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 29 Jul 2011 19:39:51 +0200 Subject: [PATCH] add support for multiple config_param_list::next pointers --- config.c | 14 ++++++++++++-- config.h | 6 ++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/config.c b/config.c index 64ca983..1e465c5 100644 --- a/config.c +++ b/config.c @@ -69,8 +69,8 @@ static void uci_array_to_blob(struct blob_buf *b, struct uci_option *o, free(str); } -static void uci_to_blob(struct blob_buf *b, struct uci_section *s, - const struct config_param_list *p) +static void __uci_to_blob(struct blob_buf *b, struct uci_section *s, + const struct config_param_list *p) { const struct blobmsg_policy *attr; struct uci_element *e; @@ -107,6 +107,16 @@ static void uci_to_blob(struct blob_buf *b, struct uci_section *s, } } +static void uci_to_blob(struct blob_buf *b, struct uci_section *s, + const struct config_param_list *p) +{ + int i; + + __uci_to_blob(b, s, p); + for (i = 0; i < p->n_next; i++) + uci_to_blob(b, s, p->next[i]); +} + static void config_parse_interface(struct uci_section *s) { diff --git a/config.h b/config.h index 6403e1f..83d7c25 100644 --- a/config.h +++ b/config.h @@ -15,10 +15,12 @@ union config_param_info { }; struct config_param_list { - const struct config_param_list *next; - int n_params; + int n_params, n_next; + const struct blobmsg_policy *params; const union config_param_info *info; + + const struct config_param_list *next[]; }; #endif -- 2.11.0