From 2327b48d77c28dbf70d811b765ddd7e1a72618ac Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Thu, 4 Jun 2020 11:41:03 -0700 Subject: aux/getflags: fix named rune arguments. Flags can be runes. That means that we can't just look at p[1] to decide if we have a named argument, we need to look one rune forward. This change does that. --- sys/src/cmd/aux/getflags.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'sys/src/cmd/aux/getflags.c') 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: -- cgit v1.2.3