diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2022-08-16 13:57:44 +0200 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2022-08-28 13:05:20 +0200 |
commit | f49a2fdc4fb4a3bc95c228ade38332685197210f (patch) | |
tree | f0e6e9fe3ea3d0dbe33785cce506341d856c54cf | |
parent | 5de3871898e1ef4aec773e4dc9dc18acf52acee4 (diff) | |
download | uci-f49a2fdc4fb4a3bc95c228ade38332685197210f.tar.gz |
delta: simplify uci_load_delta() by using a helper
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 <yszhou4tech@gmail.com>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-rw-r--r-- | delta.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -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; |