unvac: add -d flag (David Swasey)

This commit is contained in:
Russ Cox
2008-12-06 16:14:10 -08:00
parent 115dbcecc8
commit 286bb40b76
5 changed files with 97 additions and 23 deletions

View File

@@ -2061,3 +2061,32 @@ vacfssync(VacFs *fs)
return -1;
return 0;
}
int
vacfiledsize(VacFile *f)
{
VtEntry e;
if(vacfilegetentries(f,&e,nil) < 0)
return -1;
return e.dsize;
}
/*
* Does block b of f have the same SHA1 hash as the n bytes at buf?
*/
int
sha1matches(VacFile *f, ulong b, uchar *buf, int n)
{
uchar fscore[VtScoreSize];
uchar bufscore[VtScoreSize];
if(vacfileblockscore(f, b, fscore) < 0)
return 0;
n = vtzerotruncate(VtDataType, buf, n);
sha1(buf, n, bufscore, nil);
if(memcmp(bufscore, fscore, VtScoreSize) == 0)
return 1;
return 0;
}