diff options
| -rw-r--r-- | sys/src/cmd/aux/getflags.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/src/cmd/aux/getflags.c b/sys/src/cmd/aux/getflags.c index f4d97271b..400c68c13 100644 --- a/sys/src/cmd/aux/getflags.c +++ b/sys/src/cmd/aux/getflags.c @@ -76,6 +76,7 @@ main(int argc, char *argv[]) { char *flags, *p, *s, *e, buf[512]; int i, n; + Rune r; Fmt fmt; doquote = needsrcquote; @@ -92,14 +93,15 @@ main(int argc, char *argv[]) fmtfdinit(&fmt, 1, buf, sizeof buf); for(p=skipspace(flags); *p; p=nextarg(p)){ s = e = nil; - if(p[1] == ':'){ - s = p + 2; + n = chartorune(&r, p); + if(p[n] == ':'){ + s = p + n + 1; e = argname(s); } if(s != e) fmtprint(&fmt, "%.*s=()\n", (int)(e - s), s); else - fmtprint(&fmt, "flag%.1s=()\n", p); + fmtprint(&fmt, "flag%C=()\n", r); } ARGBEGIN{ default: |
