assign operands

This commit is contained in:
Lukas Wurzinger 2023-02-19 14:37:44 +01:00
parent 8a59e08b6c
commit 8d92ad3993
2 changed files with 16 additions and 14 deletions

View file

@ -533,11 +533,7 @@ static void readarg_add_val(struct readarg_parser *rp, struct readarg_arg *arg,
} }
static const char *readarg_skip_incl(const char *outer, const char *inner) { static const char *readarg_skip_incl(const char *outer, const char *inner) {
while (*inner == *outer) { for (; *inner && *inner == *outer; ++inner, ++outer);
if (!*inner)
return outer;
++inner, ++outer;
}
return !*inner ? outer : NULL; return !*inner ? outer : NULL;
} }

View file

@ -13,6 +13,13 @@ enum opt {
static int write_callback(void *ctx, const char *buf, size_t len); static int write_callback(void *ctx, const char *buf, size_t len);
int main(int argc, char **argv) { int main(int argc, char **argv) {
const char *progname = argv[0] == NULL ? "test" : argv[0];
struct readarg_helpgen_writer writer = {
.write = write_callback,
.ctx = NULL,
};
struct readarg_opt opts[] = { struct readarg_opt opts[] = {
[OPT_HELP] = { [OPT_HELP] = {
.names = { .names = {
@ -126,15 +133,7 @@ int main(int argc, char **argv) {
.len = argc - 1, .len = argc - 1,
}); });
while (readarg_parse(&rp)) while (readarg_parse(&rp));
;
const char *progname = argv[0] == NULL ? "test" : argv[0];
struct readarg_helpgen_writer writer = {
.write = write_callback,
.ctx = NULL,
};
if (rp.error != READARG_ESUCCESS) { if (rp.error != READARG_ESUCCESS) {
fprintf(stderr, "Error: %d\n", rp.error); fprintf(stderr, "Error: %d\n", rp.error);
readarg_helpgen_put_usage(&rp, &writer, progname, "Usage"); readarg_helpgen_put_usage(&rp, &writer, progname, "Usage");
@ -158,6 +157,13 @@ int main(int argc, char **argv) {
return 1; return 1;
} }
readarg_assign_opers(&rp);
if (rp.error != READARG_ESUCCESS) {
fprintf(stderr, "Error: %d\n", rp.error);
readarg_helpgen_put_usage(&rp, &writer, progname, "Usage");
return 1;
}
printf("opt:\n"); printf("opt:\n");
{ {
struct readarg_opt *curr = rp.opts; struct readarg_opt *curr = rp.opts;