fold uci_file_cleanup into uci_cleanup
authorFelix Fietkau <nbd@openwrt.org>
Tue, 12 Feb 2008 10:02:00 +0000 (11:02 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 12 Feb 2008 10:02:00 +0000 (11:02 +0100)
file.c
libuci.c

diff --git a/file.c b/file.c
index 553e519..7049b33 100644 (file)
--- a/file.c
+++ b/file.c
  */
 static void uci_file_cleanup(struct uci_context *ctx)
 {
-       struct uci_parse_context *pctx;
-
-       if (ctx->buf) {
-               free(ctx->buf);
-               ctx->buf = NULL;
-               ctx->bufsz = 0;
-       }
-
-       pctx = ctx->pctx;
-       if (!pctx)
-               return;
-
-       ctx->pctx = NULL;
-       if (pctx->package)
-               uci_free_package(&pctx->package);
-
-       if (pctx->buf)
-               free(pctx->buf);
-
-       free(pctx);
 }
 
 
index 7805d74..118289b 100644 (file)
--- a/libuci.c
+++ b/libuci.c
@@ -104,8 +104,28 @@ int uci_set_confdir(struct uci_context *ctx, const char *dir)
 
 int uci_cleanup(struct uci_context *ctx)
 {
+       struct uci_parse_context *pctx;
        UCI_HANDLE_ERR(ctx);
-       uci_file_cleanup(ctx);
+
+       if (ctx->buf) {
+               free(ctx->buf);
+               ctx->buf = NULL;
+               ctx->bufsz = 0;
+       }
+
+       pctx = ctx->pctx;
+       if (!pctx)
+               goto done;
+
+       ctx->pctx = NULL;
+       if (pctx->package)
+               uci_free_package(&pctx->package);
+
+       if (pctx->buf)
+               free(pctx->buf);
+
+       free(pctx);
+done:
        return 0;
 }