diff options
author | midipix <writeonce@midipix.org> | 2024-06-22 08:55:55 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2024-06-22 08:59:38 +0000 |
commit | 02205c83a51babe3f09c8dcee032e1e4ee1373a6 (patch) | |
tree | 13086838e53b046d766a904a5d72140ff9bb54c5 /src/internal/argv | |
parent | e2a8a5a200649227ce8fce9fd1be7cab4529e4b8 (diff) | |
download | tpax-02205c83a51babe3f09c8dcee032e1e4ee1373a6.tar.bz2 tpax-02205c83a51babe3f09c8dcee032e1e4ee1373a6.tar.xz |
argv.h: argv_show_status(): output keyval pairs where appropriate.
Diffstat (limited to 'src/internal/argv')
-rw-r--r-- | src/internal/argv/argv.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/internal/argv/argv.h b/src/internal/argv/argv.h index 17e820f..8efedda 100644 --- a/src/internal/argv/argv.h +++ b/src/internal/argv/argv.h @@ -856,8 +856,10 @@ static void argv_show_status( struct argv_ctx * ctx, struct argv_meta * meta) { + int i; int argc; char ** argv; + struct argv_keyval * keyv; struct argv_entry * entry; const struct argv_option * option; char short_name[2] = {0}; @@ -887,6 +889,27 @@ static void argv_show_status( else argv_dprintf(fd,"[-%s,--%s]\n", short_name,option->long_name); + + if (entry->keyv) { + for (i=0,keyv=entry->keyv; keyv->keyword; i++,keyv++) { + switch (keyv->flags) { + case ARGV_KEYVAL_ASSIGN: + argv_dprintf(fd,"\tkeyval[%d]: <%s>=%s\n", + i,keyv->keyword,keyv->value); + break; + + case ARGV_KEYVAL_OVERRIDE: + argv_dprintf(fd,"\tkeyval[%d]: <%s>:=%s\n", + i,keyv->keyword,keyv->value); + break; + + default: + argv_dprintf(fd,"\tkeyval[%d]: <%s>\n", + i,keyv->keyword); + break; + } + } + } } else { argv_dprintf(fd,"<program arg> := %s\n",entry->arg); } |