From f49a2fdc4fb4a3bc95c228ade38332685197210f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 16 Aug 2022 13:57:44 +0200 Subject: [PATCH] delta: simplify uci_load_delta() by using a helper MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit In the commit 3c7f3556b0039 ("Fix delta path handling.") uci_load_delta() was modified by open coding uci_load_delta_file(). It seems that reason behind it was to avoid uci_parse_delta(). The same can be achieved by passing NULL as "struct uci_package *p" argument. Cc: Yousong Zhou Signed-off-by: Rafał Miłecki --- delta.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/delta.c b/delta.c index d8bd3a6..85ec970 100644 --- a/delta.c +++ b/delta.c @@ -293,7 +293,7 @@ error: } /* returns the number of changes that were successfully parsed */ -static int uci_load_delta_file(struct uci_context *ctx, struct uci_package *p, char *filename, FILE **f, bool flush) +static int uci_load_delta_file(struct uci_context *ctx, struct uci_package *p, char *filename, FILE *volatile *f, bool flush) { FILE *volatile stream = NULL; volatile int changes = 0; @@ -334,9 +334,7 @@ __private int uci_load_delta(struct uci_context *ctx, struct uci_package *p, boo if ((asprintf(&filename, "%s/%s", ctx->savedir, p->e.name) < 0) || !filename) UCI_THROW(ctx, UCI_ERR_MEM); - UCI_TRAP_SAVE(ctx, done); - f = uci_open_stream(ctx, filename, NULL, SEEK_SET, flush, false); - UCI_TRAP_RESTORE(ctx); + uci_load_delta_file(ctx, NULL, filename, &f, flush); if (flush && f && (changes > 0)) { if (ftruncate(fileno(f), 0) < 0) { @@ -346,7 +344,6 @@ __private int uci_load_delta(struct uci_context *ctx, struct uci_package *p, boo } } -done: free(filename); uci_close_stream(f); ctx->err = 0; -- 2.30.2