eliminate arbitrary limit on devctl writes Reference: /n/atom/patch/applied/usbdevctllimits Date: Tue Mar 11 09:53:59 CET 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/usb/lib/dev.c Tue Mar 11 09:53:31 2014 +++ /sys/src/cmd/usb/lib/dev.c Tue Mar 11 09:53:31 2014 @@ -52,7 +52,7 @@ mode = "w"; snprint(name, sizeof(name), "/dev/usb/ep%d.%d", d->id, id); if(access(name, AEXIST) == 0){ - dprint(2, "%s: %s already exists; trying to open\n", argv0, name); + dprint(2, "%s: %s already exists; trying to open mode %s\n", argv0, name, mode); epd = opendev(name); if(epd != nil) epd->maxpkt = ep->maxpkt; /* guess */ @@ -481,12 +481,14 @@ int devctl(Dev *dev, char *fmt, ...) { - char buf[128]; + char *s; + int r; va_list arg; - char *e; va_start(arg, fmt); - e = vseprint(buf, buf+sizeof(buf), fmt, arg); + s = vsmprint(fmt, arg); va_end(arg); - return write(dev->cfd, buf, e-buf); + r = write(dev->cfd, s, strlen(s)); + free(s); + return r; }