plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 9b3ac170501c1f1b50a8e7eaf39d68653b3bd72d
parent a1b61b4635adf4e070fdf91e3a512d94195214cd
Author: Russ Cox <rsc@swtch.com>
Date:   Wed,  2 Jul 2008 15:39:13 -0400

vac: fix -m bug (Myron Cheung)

Diffstat:
Msrc/cmd/vac/file.c | 3+--
Msrc/cmd/vac/vac.c | 6+++---
2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/cmd/vac/file.c b/src/cmd/vac/file.c @@ -408,7 +408,6 @@ dirlookup(VacFile *f, char *elem) filefree(ff); goto Err; } -fprint(2, "offset %s %lld\n", ff->dir.elem, ff->dir.qidoffset); ff->qidoffset = f->qidoffset + ff->dir.qidoffset; vtfileunlock(meta); vtblockput(b); @@ -664,7 +663,7 @@ vacfilegetentries(VacFile *f, VtEntry *e, VtEntry *me) if(me){ if(f->msource == nil) memset(me, 0, sizeof *me); - if(getentry(f->msource, me) < 0){ + else if(getentry(f->msource, me) < 0){ filerunlock(f); return -1; } diff --git a/src/cmd/vac/vac.c b/src/cmd/vac/vac.c @@ -616,9 +616,9 @@ vacmerge(VacFile *fp, char *name) if(verbose) fprint(2, "merging %s\n", name); - de = vdeopen(fs->root); + mp = vacfsgetroot(mfs); + de = vdeopen(mp); if(de){ - mp = vacfsgetroot(mfs); offset = 0; if(vacfsgetmaxqid(mfs, &maxqid) >= 0){ _vacfsnextqid(fs, &offset); @@ -636,8 +636,8 @@ vacmerge(VacFile *fp, char *name) vdcleanup(&vd); } vdeclose(de); - vacfiledecref(mp); } + vacfiledecref(mp); vacfsclose(mfs); return 0; }