sync up dossrv removing leftover debugging. Reference: /n/atom/patch/applied2013/dossrvupd Date: Wed Jun 19 23:24:54 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/dossrv/devio.c Wed Jun 19 23:24:30 2013 +++ /sys/src/cmd/dossrv/devio.c Wed Jun 19 23:24:30 2013 @@ -27,7 +27,6 @@ if(xf->dev < 0) return -1; - chat("(pread(%ld, %lld)", n, xf->offset+(vlong)addr*Sectorsize); nread = pread(xf->dev, buf, n, xf->offset+(vlong)addr*Sectorsize); if (nread == n) return 0; --- /sys/src/cmd/dossrv/dossubs.c Wed Jun 19 23:24:30 2013 +++ /sys/src/cmd/dossrv/dossubs.c Wed Jun 19 23:24:30 2013 @@ -950,7 +950,6 @@ o = offset%bp->sectsize; while(count > 0){ addr = fileaddr(f, isect++, 0); -chat("addr = %d->%d\n", isect-1, addr); if(addr < 0) break; c = bp->sectsize - o; @@ -1137,6 +1136,13 @@ *p = 0; } +Rune +utfbe16(uchar *buf) +{ + /* not extended-plane capable */ + return buf[0] | buf[1]<<8; +} + static char* getnamerunes(char *dst, uchar *buf, int step) { @@ -1147,15 +1153,15 @@ d = dbuf; r = 1; for(i = 1; r && i < 11; i += 2){ - r = buf[i] | (buf[i+1] << 8); + r = utfbe16(buf + i); d += runetochar(d, &r); } for(i = 14; r && i < 26; i += 2){ - r = buf[i] | (buf[i+1] << 8); + r = utfbe16(buf + i); d += runetochar(d, &r); } for(i = 28; r && i < 32; i += 2){ - r = buf[i] | (buf[i+1] << 8); + r = utfbe16(buf + i); d += runetochar(d, &r); } @@ -1860,36 +1866,6 @@ fprint(2, "bad fat info sector: %d reserved %d; %d >= %d\n", bsec, res, fisec, res); } -static char* -sanitize(char *s, char *e, Dosdir *d) -{ - char c, *p, buf[8+3+2]; - int i, j; - - j = 0; - p = (char*)d->name; - for(i = 0; i < 8; i++){ - c = p[i]; - if(c == 0) - break; - if(c & 0x80 || c < ' ') - c = '-'; - buf[j++] = c; - } - buf[j++] = '.'; - p = (char*)d->ext; - for(i = 0; i < 3; i++){ - c = p[i]; - if(c == 0) - break; - if(c & 0x80 || c < ' ') - c = '-'; - buf[j++] = c; - } - buf[j] = 0; - return seprint(s, e, "\"%s\" ", buf); -} - void dirdump(void *vdbuf) { @@ -1913,8 +1889,7 @@ name = getnamerunes(name, dbuf, 1); seprint(buf, ebuf, "\"%s\" %2.2x %2.2ux %2.2ux %d", name, dbuf[0], dbuf[12], dbuf[13], GSHORT(d->start)); }else{ -// s = seprint(buf, ebuf, "\"%.8s.%.3s\" ", (char*)d->name, (char*)d->ext); - s = sanitize(buf, ebuf, d); + s = seprint(buf, ebuf, "\"%.8s.%.3s\" ", (char*)d->name, (char*)d->ext); for(i=7; i>=0; i--) *s++ = d->attr&(1<tp->p[toff]; if(p == 0){ p = newsect(); -chat("getiosect(%ld) NEW %p\n", addr, p); t->tp->p[toff] = p; p->flags = t->flags&BSTALE; p->lock.key = 0; p->t = t; p->iobuf = t->tp->buf[toff]; } -else chat("getiosect(%ld) recycle %p from %#p\n", addr, p, getcallerpc(&xf)); unmlock(&t->lock); mlock(&p->lock); return p;