diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-04-19 04:33:07 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-04-19 04:33:07 +0200 |
commit | 34a1b1bb22e482e9a31e522e6df1b34d1673a20a (patch) | |
tree | b4bc82a95fd04ee19134de52ad85212d55ad6c8c /sys/src/cmd/6c | |
parent | e6634fbd0c3e091d6db26c4290d6b31e1e7a36e7 (diff) |
?c: fix Bconv() misusage of strncat()
Diffstat (limited to 'sys/src/cmd/6c')
-rw-r--r-- | sys/src/cmd/6c/list.c | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/sys/src/cmd/6c/list.c b/sys/src/cmd/6c/list.c index b93707862..5110132d0 100644 --- a/sys/src/cmd/6c/list.c +++ b/sys/src/cmd/6c/list.c @@ -16,44 +16,36 @@ listinit(void) int Bconv(Fmt *fp) { - char str[STRINGSZ], ss[STRINGSZ], *s; Bits bits; int i; - memset(str, 0, sizeof str); bits = va_arg(fp->args, Bits); while(bany(&bits)) { i = bnum(bits); - if(str[0]) - strncat(str, " ", sizeof str - 1); - if(var[i].sym == S) { - snprint(ss, sizeof ss, "$%lld", var[i].offset); - s = ss; - } else - s = var[i].sym->name; - strncat(str, s, sizeof str - 1); bits.b[i/32] &= ~(1L << (i%32)); + if(var[i].sym == S) + fmtprint(fp, "$%lld ", var[i].offset); + else + fmtprint(fp, "%s ", var[i].sym->name); } - return fmtstrcpy(fp, str); + return 0; } int Pconv(Fmt *fp) { - char str[STRINGSZ]; Prog *p; p = va_arg(fp->args, Prog*); if(p->as == ADATA) - snprint(str, sizeof str, " %A %D/%d,%D", + return fmtprint(fp, " %A %D/%d,%D", p->as, &p->from, p->from.scale, &p->to); else if(p->as == ATEXT) - snprint(str, sizeof str, " %A %D,%d,%D", + return fmtprint(fp, " %A %D,%d,%D", p->as, &p->from, p->from.scale, &p->to); else - snprint(str, sizeof str, " %A %D,%D", + return fmtprint(fp, " %A %D,%D", p->as, &p->from, &p->to); - return fmtstrcpy(fp, str); } int @@ -274,16 +266,13 @@ char* regstr[] = int Rconv(Fmt *fp) { - char str[20]; int r; r = va_arg(fp->args, int); if(r >= D_AL && r <= D_NONE) - snprint(str, sizeof str, "%s", regstr[r-D_AL]); + return fmtprint(fp, "%s", regstr[r-D_AL]); else - snprint(str, sizeof str, "gok(%d)", r); - - return fmtstrcpy(fp, str); + return fmtprint(fp, "gok(%d)", r); } int |