It's a bug revealed by commit 446e774 "cli: properly unload package before quit". The current code would exit with value 1 even if uci_export() succceeded.
Signed-off-by: Yousong Zhou <yszhou4t...@gmail.com> --- cli.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cli.c b/cli.c index b647f77..557472e 100644 --- a/cli.c +++ b/cli.c @@ -305,10 +305,13 @@ static int package_cmd(int cmd, char *tuple) } if (uci_commit(ctx, &ptr.p, false) != UCI_OK) { cli_perror(); + goto out; } break; case CMD_EXPORT: - uci_export(ctx, stdout, ptr.p, true); + if (uci_export(ctx, stdout, ptr.p, true) != UCI_OK) { + goto out; + } break; case CMD_SHOW: if (!(ptr.flags & UCI_LOOKUP_COMPLETE)) { @@ -333,6 +336,8 @@ static int package_cmd(int cmd, char *tuple) break; } + ret = 0; + out: if (ptr.p) uci_unload(ctx, ptr.p); -- 1.7.10.4 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel