X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fuci.git;a=blobdiff_plain;f=list.c;h=502f51f216cd3debaa9e83eb1a8969af71247491;hp=3fc6076a06f395c928cc11d41fe046d4cfdc93c4;hb=65e2c3559b451315935f9483c5f4e59d63441e54;hpb=ee1d58013e175386841efd30a9deb3e8a64d584e diff --git a/list.c b/list.c index 3fc6076..502f51f 100644 --- a/list.c +++ b/list.c @@ -2,9 +2,9 @@ * libuci - Library for the Unified Configuration Interface * Copyright (C) 2008 Felix Fietkau * - * this program is free software; you can redistribute it and/or modify - * it under the terms of the gnu lesser general public license version 2.1 - * as published by the free software foundation + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1 + * as published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -414,11 +414,8 @@ int uci_delete(struct uci_context *ctx, struct uci_package *p, char *section, ch /* NB: p, section, option validated by uci_lookup */ UCI_INTERNAL(uci_lookup, ctx, &e, p, section, option); - if (!internal) - return uci_del_element(ctx, e); - UCI_INTERNAL(uci_del_element, ctx, e); - - return 0; + ctx->internal = internal; + return uci_del_element(ctx, e); } int uci_set(struct uci_context *ctx, struct uci_package *p, char *section, char *option, char *value) @@ -468,11 +465,8 @@ int uci_set(struct uci_context *ctx, struct uci_package *p, char *section, char else e = &s->e; - if (!internal) - return uci_set_element_value(ctx, &e, value); - - UCI_INTERNAL(uci_set_element_value, ctx, &e, value); - return 0; + ctx->internal = internal; + return uci_set_element_value(ctx, &e, value); notfound: /*