(xdopt,xdver,xdump): Add meta data for opt and ver.

This commit is contained in:
Ron Koenderink 2005-11-05 01:49:47 +00:00
parent 0d0800f4ac
commit ba5b1b0a79

View file

@ -274,10 +274,27 @@ xdmeta(int type)
/* Dump Options[], return RET_OK. */ /* Dump Options[], return RET_OK. */
static int static int
xdopt(void) xdopt(int meta)
{ {
int i; int i;
char *sep; char *sep;
struct castr ca;
if (meta) {
xdhdr("options", mdchr_ca, 1);
for (i = 0; Options[i].opt_key; ++i) {
ca.ca_type = NSC_INT;
ca.ca_flags = 0;
ca.ca_len = 0;
ca.ca_off = 0;
ca.ca_name = Options[i].opt_key;
ca.ca_table = EF_BAD;
xdflds(mdchr_ca, &ca);
pr("\n");
}
xdftr(i);
return RET_OK;
}
xdhdr1("options" , 0); xdhdr1("options" , 0);
@ -301,12 +318,34 @@ xdopt(void)
} }
static int static int
xdver(void) xdver(int meta)
{ {
struct keymatch *kp; struct keymatch *kp;
char *sep; char *sep;
int n;
struct castr ca;
struct valstr val; struct valstr val;
if (meta) {
xdhdr("version", mdchr_ca, 1);
n = 0;
for (kp = configkeys; kp->km_key; ++kp) {
if (kp->km_type != NSC_NOTYPE && !(kp->km_flags & KM_INTERNAL)) {
ca.ca_type = kp->km_type;
ca.ca_flags = 0;
ca.ca_len = 0;
ca.ca_off = 0;
ca.ca_name = kp->km_key;
ca.ca_table = EF_BAD;
xdflds(mdchr_ca, &ca);
pr("\n");
n++;
}
}
xdftr(n);
return RET_OK;
}
xdhdr1("version", 0); xdhdr1("version", 0);
sep = ""; sep = "";
@ -361,9 +400,9 @@ xdump(void)
else else
return xditem(type, player->argp[2]); return xditem(type, player->argp[2]);
} else if (!strncmp(p, "opt", strlen(p))) { } else if (!strncmp(p, "opt", strlen(p))) {
return xdopt(); return xdopt(meta);
} else if (!strncmp(p, "ver", strlen(p))) { } else if (!strncmp(p, "ver", strlen(p))) {
return xdver(); return xdver(meta);
} }
return RET_SYN; return RET_SYN;