This is the patch for removing sprint from the mtx directory. I don't know what this arch is anyway, so I couldn't test it. The API for fpexcname() needed to be changed to make this work. Reference: /n/sources/patch/saved/remove-sprint-mtx Date: Fri Feb 25 22:32:00 CET 2011 Signed-off-by: 20h@r-36.net --- /sys/src/9/mtx/trap.c Fri Feb 25 22:29:43 2011 +++ /sys/src/9/mtx/trap.c Fri Feb 25 22:29:39 2011 @@ -181,7 +181,7 @@ "overflow", "invalid operation", }; -char *fpexcname(Ureg*, ulong, char*); +char *fpexcname(Ureg*, ulong, char*, int); #define FPEXPMASK 0xfff80300 /* Floating exception bits in fpscr */ @@ -275,7 +275,7 @@ s = "undefined program exception"; if(user){ spllo(); - sprint(buf, "sys: trap: %s", s); + snprint(buf, sizeof(buf), "sys: trap: %s", s); postnote(up, 1, buf, NDebug); break; } @@ -285,7 +285,7 @@ default: if(ecode < nelem(excname) && user){ spllo(); - sprint(buf, "sys: trap: %s", excname[ecode]); + snprint(buf, sizeof(buf), "sys: trap: %s", excname[ecode]); postnote(up, 1, buf, NDebug); break; } @@ -327,7 +327,7 @@ dumpregs(ureg); panic("fault: 0x%lux", addr); } - sprint(buf, "sys: trap: fault %s addr=0x%lux", read? "read" : "write", addr); + snprint(buf, sizeof(buf), "sys: trap: fault %s addr=0x%lux", read? "read" : "write", addr); postnote(up, 1, buf, NDebug); } up->insyscall = insyscall; @@ -400,7 +400,7 @@ } char* -fpexcname(Ureg *ur, ulong fpscr, char *buf) +fpexcname(Ureg *ur, ulong fpscr, char *buf, int blen) { int i; char *s; @@ -415,7 +415,7 @@ s = fpcause[i]; if(s == 0) return "no floating point exception"; - sprint(buf, "%s fppc=0x%lux", s, fppc); + snprint(buf, ml, "%s fppc=0x%lux", s, fppc); return buf; } --- /sys/src/9/mtx/main.c Fri Feb 25 22:29:50 2011 +++ /sys/src/9/mtx/main.c Fri Feb 25 22:29:46 2011 @@ -391,7 +391,7 @@ int i; char cc[KNAMELEN], *p; - sprint(cc, "%s%d", class, ctlrno); + snprint(cc, sizeof(cc), "%s%d", class, ctlrno); p = getconf(cc); if(p == 0) --- /sys/src/9/mtx/devether.c Fri Feb 25 22:30:00 2011 +++ /sys/src/9/mtx/devether.c Fri Feb 25 22:29:54 2011 @@ -393,16 +393,16 @@ if(ether->irq >= 0) intrenable(ether->irq, ether->interrupt, ether, ether->tbdf, name); - i = sprint(buf, "#l%d: %s: %dMbps port 0x%luX irq %d", + i = snprint(buf, sizeof(buf), "#l%d: %s: %dMbps port 0x%luX irq %d", ctlrno, ether->type, ether->mbps, ether->port, ether->irq); if(ether->mem) - i += sprint(buf+i, " addr 0x%luX", PADDR(ether->mem)); + i += snprint(buf+i, sizeof(buf)-i, " addr 0x%luX", PADDR(ether->mem)); if(ether->size) - i += sprint(buf+i, " size 0x%luX", ether->size); - i += sprint(buf+i, ": %2.2ux%2.2ux%2.2ux%2.2ux%2.2ux%2.2ux", + i += snprint(buf+i, sizeof(buf)-i, " size 0x%luX", ether->size); + i += snprint(buf+i, sizeof(buf)-i, ": %2.2ux%2.2ux%2.2ux%2.2ux%2.2ux%2.2ux", ether->ea[0], ether->ea[1], ether->ea[2], ether->ea[3], ether->ea[4], ether->ea[5]); - sprint(buf+i, "\n"); + snprint(buf+i, sizeof(buf)-i, "\n"); print(buf); if(ether->mbps >= 100){ --- /sys/src/9/mtx/devarch.c Fri Feb 25 22:30:06 2011 +++ /sys/src/9/mtx/devarch.c Fri Feb 25 22:30:03 2011 @@ -309,7 +309,7 @@ continue; if(strcmp(m->tag, "dummy") == 0) break; - sprint(buf, "%8lux %8lux %-12.12s\n", m->start, m->end-1, m->tag); + snprint(buf, sizeof(buf), "%8lux %8lux %-12.12s\n", m->start, m->end-1, m->tag); memmove(p, buf, Linelen); p += Linelen; n--;