ref: 2c596d0021299bdeb05bb92866c150b8e43977e9
parent: 21831527cb77e6b4892e0fcd08bbc7a31f8d9098
parent: 3a79916c9be2d524b392c1a87a4685ceca603831
author: Ori Bernstein <[email protected]>
date: Sun Apr 19 05:03:35 EDT 2020
merge
--- a/lib/ken
+++ b/lib/ken
@@ -38,3 +38,7 @@
I just hate to be pushed around by some @#$%^& machine.
So, if you put a G on the front you have to put a zero on the back?
No.
+thanks.
+It does everything Unix does only less reliably.
+I imagine people programmed in Fortran for the same reason they took three-legged races.
+rob, you shouldn't have shut down this discussion.
--- a/lib/rob
+++ b/lib/rob
@@ -396,3 +396,5 @@
Code can move.
You might find blog.golang.org/constants helpful.
Over time, everything gets better but also worse and always bigger and more complex.
+Nice to see Egreg again.
+It wasn't my intention.
--- a/lib/rsc
+++ b/lib/rsc
@@ -245,3 +245,4 @@
I needed that last week.
I have a new blog post you might be interested in.
Ever since I wrote “go get,” we on the core Go team hoped the community would take care of dependency management.
+This past winter, as a side project, I spent some time getting up to speed on suffix array construction algorithms and rewrote index/suffixarray's New implementation (that is, the index builder) to run 3-10X faster in half the memory of the old one.
--- a/lib/theo
+++ b/lib/theo
@@ -914,3 +914,13 @@
I doubt it.
Well, I disagree.
I don't believe any of this.
+Not all tools are for everyone.
+So a javascript exploit in your browser can perform a rm -rf.
+Fine.
+If you dont like our software, please dont use it.
+In your opinion.
+If you don't like what it does, don't use it.
+The bullshit foaming out of your mouth is astounding.
+PLEASE STOP USING OPENBSD IMMEDIATELY
+Look, you are wrong.
+No. It ends here.
--- a/sys/games/lib/fortunes
+++ b/sys/games/lib/fortunes
@@ -5250,3 +5250,6 @@
Having a public mailing list is an invitation for discussion amongst likeminded individuals, not elitist fuckery. -- Steve Stallion, talking about 9fans
[9fans] ..... UNSUBSCRIBE_HELP NEEDED
Open source may not be safe if it has no super excellent moderator.
+On the Internet, we are all Poland. -- Michael Hayden
+By the way, BBCNews site makes corrupt the browser. -- Kenji
+As much as I'd love to I feel I have to let it go -- rminnich
--- a/sys/src/cmd/1c/list.c
+++ b/sys/src/cmd/1c/list.c
@@ -16,25 +16,19 @@
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, "$%ld", 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, "$%ld ", var[i].offset);
+ else
+ fmtprint(fp, "%s ", var[i].sym->name);
}
- return fmtstrcpy(fp, str);
+ return 0;
}
int
--- a/sys/src/cmd/2c/list.c
+++ b/sys/src/cmd/2c/list.c
@@ -27,25 +27,19 @@
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, "$%ld", 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, "$%ld ", var[i].offset);
+ else
+ fmtprint(fp, "%s ", var[i].sym->name);
}
- return fmtstrcpy(fp, str);
+ return 0;
}
int
--- a/sys/src/cmd/5c/list.c
+++ b/sys/src/cmd/5c/list.c
@@ -17,25 +17,19 @@
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, "$%ld", 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, "$%ld ", var[i].offset);
+ else
+ fmtprint(fp, "%s ", var[i].sym->name);
}
- return fmtstrcpy(fp, str);
+ return 0;
}
char *extra [] = {
@@ -195,12 +189,10 @@
int
Rconv(Fmt *fp)
{
- char str[STRINGSZ];
Adr *a;
int i, v;
a = va_arg(fp->args, Adr*);
- snprint(str, sizeof str, "GOK-reglist");
switch(a->type) {
case D_CONST:
if(a->reg != NREG)
@@ -208,19 +200,14 @@
if(a->sym != S)
break;
v = a->offset;
- memset(str, 0, sizeof str);
+ fmtprint(fp, "[");
for(i=0; i<NREG; i++) {
- if(v & (1<<i)) {
- if(str[0] == 0)
- strncat(str, "[R", sizeof str - 1);
- else
- strncat(str, ",R", sizeof str - 1);
- snprint(str+strlen(str), sizeof(str)-strlen(str), "%d", i);
- }
+ if(v & (1<<i))
+ fmtprint(fp, "R%d,", i);
}
- strncat(str, "]", sizeof str - 1);
+ fmtprint(fp, "]");
}
- return fmtstrcpy(fp, str);
+ return 0;
}
int
--- a/sys/src/cmd/6c/cgen.c
+++ b/sys/src/cmd/6c/cgen.c
@@ -824,9 +824,9 @@
gopcode(o, n->type, r, &nod);
} else {
/* TO DO: could do better with r->addable >= INDEXED */
- regalloc(&nod1, r, Z);
+ regalloc(&nod1, r, nn);
cgen(r, &nod1);
- regalloc(&nod, l, nn);
+ regalloc(&nod, l, Z);
cgen(l, &nod);
gopcode(o, n->type, &nod1, &nod);
regfree(&nod1);
--- a/sys/src/cmd/6c/list.c
+++ b/sys/src/cmd/6c/list.c
@@ -16,44 +16,36 @@
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 @@
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
--- a/sys/src/cmd/8c/list.c
+++ b/sys/src/cmd/8c/list.c
@@ -16,25 +16,19 @@
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), "$%ld", 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, "$%ld ", var[i].offset);
+ else
+ fmtprint(fp, "%s ", var[i].sym->name);
}
- return fmtstrcpy(fp, str);
+ return 0;
}
int
--- a/sys/src/cmd/kc/list.c
+++ b/sys/src/cmd/kc/list.c
@@ -16,25 +16,19 @@
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, "$%ld", 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, "$%ld ", var[i].offset);
+ else
+ fmtprint(fp, "%s ", var[i].sym->name);
}
- return fmtstrcpy(fp, str);
+ return 0;
}
int
--- a/sys/src/cmd/qc/list.c
+++ b/sys/src/cmd/qc/list.c
@@ -16,25 +16,19 @@
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, "$%ld", 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, "$%ld ", var[i].offset);
+ else
+ fmtprint(fp, "%s ", var[i].sym->name);
}
- return fmtstrcpy(fp, str);
+ return 0;
}
int
--- a/sys/src/cmd/vc/list.c
+++ b/sys/src/cmd/vc/list.c
@@ -15,25 +15,19 @@
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, "$%ld", 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, "$%ld ", var[i].offset);
+ else
+ fmtprint(fp, "%s ", var[i].sym->name);
}
- return fmtstrcpy(fp, str);
+ return 0;
}
int
--- a/sys/src/libmemdraw/mkfile
+++ b/sys/src/libmemdraw/mkfile
@@ -29,14 +29,8 @@
</sys/src/cmd/mksyslib
-$O.drawtime: drawtime.$O $LIB
- $LD -o $target $prereq
-
$O.drawtest: drawtest.$O $LIB
$LD -o $target $prereq
$O.arctest: arctest.$O draw.$O arc.$O $LIB
- $LD -o $target $prereq
-
-$O.test: test.$O $LIB
$LD -o $target $prereq