From: Felix Fietkau Date: Wed, 28 Mar 2012 10:29:09 +0000 (+0300) Subject: cli: return non-zero status on errors X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=af2665866061c63ba63335b43aa6ff5102d4e492;p=project%2Fuci.git cli: return non-zero status on errors --- diff --git a/cli.c b/cli.c index 196a83e..144cdde 100644 --- a/cli.c +++ b/cli.c @@ -258,6 +258,7 @@ static int package_cmd(int cmd, char *tuple) { struct uci_element *e = NULL; struct uci_ptr ptr; + int ret = 0; if (uci_lookup_ptr(ctx, &ptr, tuple, true) != UCI_OK) { cli_perror(); @@ -272,8 +273,10 @@ static int package_cmd(int cmd, char *tuple) case CMD_COMMIT: if (flags & CLI_FLAG_NOCOMMIT) return 0; - if (uci_commit(ctx, &ptr.p, false) != UCI_OK) + if (uci_commit(ctx, &ptr.p, false) != UCI_OK) { cli_perror(); + ret = 1; + } break; case CMD_EXPORT: uci_export(ctx, stdout, ptr.p, true); @@ -282,7 +285,7 @@ static int package_cmd(int cmd, char *tuple) if (!(ptr.flags & UCI_LOOKUP_COMPLETE)) { ctx->err = UCI_ERR_NOTFOUND; cli_perror(); - return 1; + ret = 1; } switch(e->type) { case UCI_TYPE_PACKAGE: @@ -301,8 +304,9 @@ static int package_cmd(int cmd, char *tuple) break; } - uci_unload(ctx, ptr.p); - return 0; + if (ptr.p) + uci_unload(ctx, ptr.p); + return ret; } static int uci_do_import(int argc, char **argv)