7 print("status=usage\n");
12 findarg(char *flags, Rune r)
17 for(p=flags; p!=(char*)1; p=strchr(p, ',')+1){
33 for(; *p && *p != ','; p++)
34 if(*p == ' ' && *(p-1) != ' ')
40 main(int argc, char *argv[])
42 char *flags, *p, buf[512];
46 doquote = needsrcquote;
48 argv0 = argv[0]; /* for sysfatal */
50 flags = getenv("flagfmt");
52 fprint(2, "$flagfmt not set\n");
53 print("exit 'missing flagfmt'");
57 fmtfdinit(&fmt, 1, buf, sizeof buf);
58 for(p=flags; p!=(char*)1; p=strchr(p, ',')+1)
59 fmtprint(&fmt, "flag%.1s=()\n", p);
62 if((p = findarg(flags, ARGC())) == nil)
65 if(*p == ',' || *p == 0){
66 fmtprint(&fmt, "flag%C=1\n", ARGC());
70 fmtprint(&fmt, "flag%C=(", ARGC());
72 fmtprint(&fmt, "%s%q", i ? " " : "", EARGF(usage()));
73 fmtprint(&fmt, ")\n");
76 fmtprint(&fmt, "*=(");
78 fmtprint(&fmt, "%s%q", i ? " " : "", argv[i]);
79 fmtprint(&fmt, ")\n");
80 fmtprint(&fmt, "status=''\n");