From 70c9f86c100042ce308bc53e63c72f36be5e7f86 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sat, 14 Jun 2008 13:41:07 -0400 Subject: unvac, vacfs: allow literal vac scores in addition to file names --- src/cmd/vac/fs.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'src/cmd/vac') diff --git a/src/cmd/vac/fs.c b/src/cmd/vac/fs.c index d9ab258c..9d3bb349 100644 --- 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); } -- cgit v1.2.3