commit 70c9f86c100042ce308bc53e63c72f36be5e7f86
parent 405d555fe44ab53be9887fd2765f05a4501cf756
Author: Russ Cox <rsc@swtch.com>
Date: Sat, 14 Jun 2008 13:41:07 -0400
unvac, vacfs: allow literal vac scores in addition to file names
Diffstat:
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/src/cmd/vac/fs.c b/src/cmd/vac/fs.c
@@ -49,17 +49,23 @@ vacfsopen(VtConn *z, char *file, int mode, int ncache)
{
int fd;
uchar score[VtScoreSize];
-
- fd = open(file, OREAD);
- if(fd < 0)
- return nil;
-
- if(readscore(fd, score) < 0){
+ char *prefix;
+
+ if(vtparsescore(file, &prefix, score) >= 0){
+ if(strcmp(prefix, "vac") != 0){
+ werrstr("not a vac file");
+ return nil;
+ }
+ }else{
+ fd = open(file, OREAD);
+ if(fd < 0)
+ return nil;
+ if(readscore(fd, score) < 0){
+ close(fd);
+ return nil;
+ }
close(fd);
- return nil;
}
- close(fd);
-
return vacfsopenscore(z, score, mode, ncache);
}