summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'util.c')
-rw-r--r--util.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/util.c b/util.c
index 7f37e88..177bd14 100644
--- a/util.c
+++ b/util.c
@@ -398,14 +398,14 @@ int uci_parse_argument(struct uci_context *ctx, FILE *stream, char **str, char *
UCI_ASSERT(ctx, str != NULL);
UCI_ASSERT(ctx, result != NULL);
- if (ctx->pctx) {
- if (ctx->pctx->file != stream) {
- uci_cleanup(ctx);
- }
- } else {
+ if (ctx->pctx && (ctx->pctx->file != stream))
+ uci_cleanup(ctx);
+
+ if (!ctx->pctx)
uci_alloc_parse_context(ctx);
- ctx->pctx->file = stream;
- }
+
+ ctx->pctx->file = stream;
+
if (!*str) {
uci_getln(ctx, 0);
*str = ctx->pctx->buf;