ref: e56eb3e8e7cfdd61477b819a64a6264eade6dfad
parent: d2f342518ad522374155fa35f1821bdf9d394647
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Mon May 23 19:12:30 EDT 2011
aux/vga: pci.c dircount bug 2
--- a/sys/src/cmd/aux/vga/pci.c
+++ b/sys/src/cmd/aux/vga/pci.c
@@ -27,11 +27,7 @@
for(i=0; i<n; i++) {if(strstr(d[i].name, "ctl") == nil)
continue;
- if((j = strlen(d[i].name)-3) < 5)
- continue;
- sprint(buf, "%.*s", j, d[i].name);
-
bno = strtoul(buf, &s, 10);
dno = strtoul(s+1, &s, 10);
fno = strtoul(s+1, nil, 10);
@@ -40,19 +36,16 @@
p->tbdf = MKBUS(BusPCI, bno, dno, fno);
sprint(buf, "%s/%d.%d.%draw", base, bno, dno, fno);
if((p->rawfd = open(buf, ORDWR)) < 0){- fprint(2, "raw: %r\n");
free(p);
continue;
}
sprint(buf, "%s/%d.%d.%dctl", base, bno, dno, fno);
if((fd = open(buf, OREAD)) < 0){- fprint(2, "ctl: %r\n");
close(p->rawfd);
free(p);
continue;
}
if((j = read(fd, buf, sizeof(buf)-1)) <= 0){- fprint(2, "read: %r\n");
close(p->rawfd);
close(fd);
free(p);
--
⑨