summaryrefslogtreecommitdiffhomepage
path: root/src/internal/argv
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2024-06-15 23:06:08 +0000
committermidipix <writeonce@midipix.org>2024-06-22 13:41:45 +0000
commitdb73e42c46e02065e3ad64b93c5d0ecc3fb0e6b1 (patch)
tree8cf0ffb65aea47ce8dc6942280b8b3e659d9a1a6 /src/internal/argv
parent60938530ceff2be4922fd0afa387694185f4d812 (diff)
downloadtreebnf-db73e42c46e02065e3ad64b93c5d0ecc3fb0e6b1.tar.bz2
treebnf-db73e42c46e02065e3ad64b93c5d0ecc3fb0e6b1.tar.xz
argv.h: argv_alloc(): refactor for better readability.
Diffstat (limited to 'src/internal/argv')
-rw-r--r--src/internal/argv/argv.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/internal/argv/argv.h b/src/internal/argv/argv.h
index 1f9d6f3..b634696 100644
--- a/src/internal/argv/argv.h
+++ b/src/internal/argv/argv.h
@@ -750,7 +750,8 @@ static struct argv_meta * argv_alloc(char ** argv, struct argv_ctx * ctx)
if (!(imeta->argv = calloc(argc+1,sizeof(char *))))
return argv_free_impl(imeta);
- else if (!(imeta->strbuf = calloc(1,size+1)))
+
+ if (!(imeta->strbuf = calloc(1,size+1)))
return argv_free_impl(imeta);
for (i=0,dst=imeta->strbuf; i<argc; i++) {
@@ -760,15 +761,18 @@ static struct argv_meta * argv_alloc(char ** argv, struct argv_ctx * ctx)
}
imeta->meta.argv = imeta->argv;
- } else
+ } else {
imeta->meta.argv = argv;
+ }
- if (!(imeta->meta.entries = calloc(
- ctx->nentries+1,
- sizeof(struct argv_entry))))
+ imeta->meta.entries = calloc(
+ ctx->nentries+1,
+ sizeof(struct argv_entry));
+
+ if (!imeta->meta.entries)
return argv_free_impl(imeta);
- else
- return &imeta->meta;
+
+ return &imeta->meta;
}
static struct argv_meta * argv_get(