From: Felix Fietkau Date: Mon, 28 Jan 2008 03:50:45 +0000 (+0100) Subject: cleanup X-Git-Url: http://git.openwrt.org/?p=project%2Fuci.git;a=commitdiff_plain;h=d2c85b2804aaa22e539e266b5ed4cf958d6ceb35 cleanup --- diff --git a/file.c b/file.c index 412ce13..9a2e353 100644 --- a/file.c +++ b/file.c @@ -293,14 +293,9 @@ static void uci_switch_config(struct uci_context *ctx) * if an older config under the same name exists, unload it * ignore errors here, e.g. if the config was not found */ - UCI_TRAP_SAVE(ctx, ignore); e = uci_lookup_list(ctx, &ctx->root, name); if (e) - uci_unload(ctx, uci_to_package(e)); - UCI_TRAP_RESTORE(ctx); -ignore: - ctx->errno = 0; - + UCI_THROW(ctx, UCI_ERR_DUPLICATE); pctx->package = uci_alloc_package(ctx, name); } diff --git a/libuci.c b/libuci.c index c0b4ab0..74b3d7b 100644 --- a/libuci.c +++ b/libuci.c @@ -25,13 +25,14 @@ #include "err.h" static const char *uci_errstr[] = { - [UCI_OK] = "Success", - [UCI_ERR_MEM] = "Out of memory", - [UCI_ERR_INVAL] = "Invalid argument", - [UCI_ERR_NOTFOUND] = "Entry not found", - [UCI_ERR_IO] = "I/O error", - [UCI_ERR_PARSE] = "Parse error", - [UCI_ERR_UNKNOWN] = "Unknown error", + [UCI_OK] = "Success", + [UCI_ERR_MEM] = "Out of memory", + [UCI_ERR_INVAL] = "Invalid argument", + [UCI_ERR_NOTFOUND] = "Entry not found", + [UCI_ERR_IO] = "I/O error", + [UCI_ERR_PARSE] = "Parse error", + [UCI_ERR_DUPLICATE] = "Duplicate entry", + [UCI_ERR_UNKNOWN] = "Unknown error", }; #include "util.c" diff --git a/uci.h b/uci.h index 3b597db..c7251ab 100644 --- a/uci.h +++ b/uci.h @@ -43,6 +43,7 @@ enum UCI_ERR_NOTFOUND, UCI_ERR_IO, UCI_ERR_PARSE, + UCI_ERR_DUPLICATE, UCI_ERR_UNKNOWN, UCI_ERR_LAST };