struct uci_element *e = NULL;
if (uci_lookup_next(ctx, &e, &ctx->root, name) == 0)
return uci_to_package(e);
+ else
+ return NULL;
}
/**
struct uci_element *e = NULL;
if (uci_lookup_next(ctx, &e, &p->sections, name) == 0)
return uci_to_section(e);
+ else
+ return NULL;
}
/**
struct uci_element *e = NULL;
if (uci_lookup_next(ctx, &e, &s->options, name) == 0)
return uci_to_option(e);
+ else
+ return NULL;
+}
+
+static inline const char *
+uci_lookup_option_string(struct uci_context *ctx, struct uci_section *s, const char *name)
+{
+ struct uci_option *o;
+
+ o = uci_lookup_option(ctx, s, name);
+ if (!o || o->type != UCI_TYPE_STRING)
+ return NULL;
+
+ return o->v.string;
}
#endif