summaryrefslogtreecommitdiffhomepage
path: root/src/internal/argv/argv.h
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2024-06-22 08:55:55 +0000
committermidipix <writeonce@midipix.org>2024-06-22 08:59:38 +0000
commit02205c83a51babe3f09c8dcee032e1e4ee1373a6 (patch)
tree13086838e53b046d766a904a5d72140ff9bb54c5 /src/internal/argv/argv.h
parente2a8a5a200649227ce8fce9fd1be7cab4529e4b8 (diff)
downloadtpax-02205c83a51babe3f09c8dcee032e1e4ee1373a6.tar.bz2
tpax-02205c83a51babe3f09c8dcee032e1e4ee1373a6.tar.xz
argv.h: argv_show_status(): output keyval pairs where appropriate.
Diffstat (limited to 'src/internal/argv/argv.h')
-rw-r--r--src/internal/argv/argv.h23
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);
}