remove the last references to sprint(2) from the k10 kernel. allow calls to smprint(). Reference: /n/atom/patch/applied/k10nosprint Date: Sun Aug 16 06:40:30 CES 2015 Signed-off-by: quanstro@quanstro.net --- /sys/src/nix/port/devproc.c Sun Aug 16 06:39:59 2015 +++ /sys/src/nix/port/devproc.c Sun Aug 16 06:40:00 2015 @@ -141,7 +141,7 @@ }; /* Segment type from portdat.h */ -static char *sname[]={ "Text", "Data", "Bss", "Stack", "Shared", "Phys", }; +static char *sname[SG_TYPE+1]={ "Text", "Data", "Bss", "Stack", "Shared", "Phys", "Type6", "Type7", }; /* * Qids are, in path: @@ -1011,7 +1011,7 @@ sg = p->seg[i]; if(sg == 0) continue; - j += sprint(statbuf+j, "%-6s %c%c %p %p %4d\n", + j += snprint(statbuf+j, sizeof statbuf - j, "%-6s %c%c %p %p %4d\n", sname[sg->type&SG_TYPE], sg->type&SG_RONLY ? 'R' : ' ', sg->profile ? 'P' : ' ', --- /sys/src/nix/port/devsrv.c Sun Aug 16 06:40:02 2015 +++ /sys/src/nix/port/devsrv.c Sun Aug 16 06:40:04 2015 @@ -87,14 +87,10 @@ srvname(Chan *c) { Srv *sp; - char *s; for(sp = srv; sp; sp = sp->link) - if(sp->chan == c){ - s = smalloc(3+strlen(sp->name)+1); - sprint(s, "#s/%s", sp->name); - return s; - } + if(sp->chan == c) + return smprint("#s/%s", sp->name); return nil; } --- /sys/src/nix/port/devpckb.c Sun Aug 16 06:40:06 2015 +++ /sys/src/nix/port/devpckb.c Sun Aug 16 06:40:07 2015 @@ -8,7 +8,7 @@ enum { Spec= 0xF800, /* Unicode private space */ - PF= Spec|0x20, /* num pad function key */ +// PF= Spec|0x20, /* num pad function key */ View= Spec|0x00, /* view (shift window up) */ KF= 0xF000, /* function key (begin Unicode private space) */ Shift= Spec|0x60, @@ -555,7 +555,7 @@ enum { Kblinelen = 3*NUMSIZE+1, }; -extern char* smprint(char*, ...); + static long pckbread(Chan *c, void *a, long n, vlong offset) { --- /sys/src/nix/port/lib.h Sun Aug 16 06:40:10 2015 +++ /sys/src/nix/port/lib.h Sun Aug 16 06:40:11 2015 @@ -108,13 +108,12 @@ extern char* vseprint(char*, char*, char*, va_list); extern int snprint(char*, int, char*, ...); extern int vsnprint(char*, int, char*, va_list); -extern int sprint(char*, char*, ...); +extern char* smprint(char*, ...); #pragma varargck argpos fmtprint 2 #pragma varargck argpos print 1 #pragma varargck argpos seprint 3 #pragma varargck argpos snprint 3 -#pragma varargck argpos sprint 2 #pragma varargck type "lld" vlong #pragma varargck type "llx" vlong --- /sys/src/nix/port/dev.c Sun Aug 16 06:40:13 2015 +++ /sys/src/nix/port/dev.c Sun Aug 16 06:40:15 2015 @@ -119,6 +119,7 @@ { Chan *c; char *buf; + int n; /* * There are no error checks here because @@ -131,8 +132,9 @@ c->dev = devtabget(dc, 0); if(spec == nil) spec = ""; - buf = smalloc(1+UTFmax+strlen(spec)+1); - sprint(buf, "#%C%s", dc, spec); + n = 1+UTFmax+strlen(spec)+1; + buf = smalloc(n); + snprint(buf, n, "#%C%s", dc, spec); c->path = newpath(buf); free(buf); return c;