ref: ec1c1b9b52632a5af59f37c1330573b78775cce1
parent: 1e0b65c8bfb2f1b6fbc189795b73a6e89b05dc75
author: cinap_lenrek <[email protected]>
date: Sun Dec 23 20:21:47 EST 2018
dossrv: cleanup
--- a/sys/src/cmd/dossrv/dossubs.c
+++ b/sys/src/cmd/dossrv/dossubs.c
@@ -144,7 +144,8 @@
bp->fatinfo = fisec;
bp->freeptr = GLONG(fi->nextfree);
bp->freeclusters = GLONG(fi->freeclust);
- chat("fat info: %ld free clusters, next free %ld\n", bp->freeclusters, bp->freeptr);
+ chat("fat info: %ld free clusters, next free %ld\n",
+ bp->freeclusters, bp->freeptr);
}
putsect(p1);
}
@@ -154,12 +155,10 @@
bootdump(2, b);
bp->rootaddr = bp->fataddr + bp->nfats*bp->fatsize;
bp->rootstart = 0;
- i = bp->rootsize*DOSDIRSIZE + bp->sectsize-1;
- i /= bp->sectsize;
- bp->dataaddr = bp->rootaddr + i;
+ bp->dataaddr = bp->rootaddr + (bp->rootsize*DOSDIRSIZE + bp->sectsize-1)/bp->sectsize;
bp->freeptr = FATRESRV;
}
- bp->fatclusters = FATRESRV+(bp->volsize - bp->dataaddr)/bp->clustsize;
+ bp->fatclusters = FATRESRV + (bp->volsize - bp->dataaddr)/bp->clustsize;
if(xf->isfat32)
bp->fatbits = 32;
@@ -205,7 +204,7 @@
Iosect *p;
dp = f->ptr;
- if(dp->p)
+ if(dp->p != nil)
panic("getfile");
p = getsect(f->xf, dp->addr);
if(p == nil)
@@ -234,7 +233,7 @@
Dosptr *dp;
dp = f->ptr;
- if(!dp->p)
+ if(dp->p == nil)
panic("putfile");
putsect(dp->p);
dp->p = nil;
@@ -898,8 +897,7 @@
goto error;
}
}
- k = clust2sect(bp, ppclust) +
- so%bp->clustsize;
+ k = clust2sect(bp, ppclust) + so%bp->clustsize;
}else{
if(so*bp->sectsize >= bp->rootsize*DOSDIRSIZE)
goto error;
@@ -919,7 +917,7 @@
return 0;
error:
- if(p)
+ if(p != nil)
putsect(p);
return -1;
}
--- a/sys/src/cmd/dossrv/iotrack.c
+++ b/sys/src/cmd/dossrv/iotrack.c
@@ -39,6 +39,8 @@
int toff;
Iosect *p;
+ if(addr < 0)
+ return nil;
toff = addr % Sect2trk;
taddr = addr - toff;
t = getiotrack(xf, taddr);
@@ -45,7 +47,7 @@
if(rflag && (t->flags&BSTALE)){
if(tread(t) < 0){
unmlock(&t->lock);
- return 0;
+ return nil;
}
t->flags &= ~BSTALE;
}