diff options
Diffstat (limited to 'src/cmd/venti/ifile.c')
-rw-r--r-- | src/cmd/venti/ifile.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/src/cmd/venti/ifile.c b/src/cmd/venti/ifile.c deleted file mode 100644 index 811e487c..00000000 --- a/src/cmd/venti/ifile.c +++ /dev/null @@ -1,93 +0,0 @@ -#include "stdinc.h" -#include "dat.h" -#include "fns.h" - -int -readifile(IFile *f, char *name) -{ - ZBlock *b; - - b = readfile(name); - if(b == nil) - return -1; - f->name = name; - f->b = b; - f->pos = 0; - return 0; -} - -void -freeifile(IFile *f) -{ - freezblock(f->b); - f->b = nil; - f->pos = 0; -} - -int -partifile(IFile *f, Part *part, u64int start, u32int size) -{ - ZBlock *b; - - b = alloczblock(size, 0); - if(b == nil) - return -1; - if(readpart(part, start, b->data, size) < 0){ - seterr(EAdmin, "can't read %s: %r", part->name); - freezblock(b); - return -1; - } - f->name = part->name; - f->b = b; - f->pos = 0; - return 0; -} - -/* - * return the next non-blank input line, - * stripped of leading white space and with # comments eliminated - */ -char* -ifileline(IFile *f) -{ - char *s, *e, *t; - int c; - - for(;;){ - s = (char*)&f->b->data[f->pos]; - e = memchr(s, '\n', f->b->len - f->pos); - if(e == nil) - return nil; - *e++ = '\0'; - f->pos = e - (char*)f->b->data; - t = strchr(s, '#'); - if(t != nil) - *t = '\0'; - for(; c = *s; s++) - if(c != ' ' && c != '\t' && c != '\r') - return s; - } -} - -int -ifilename(IFile *f, char *dst) -{ - char *s; - - s = ifileline(f); - if(s == nil || strlen(s) >= ANameSize) - return -1; - namecp(dst, s); - return 0; -} - -int -ifileu32int(IFile *f, u32int *r) -{ - char *s; - - s = ifileline(f); - if(s == nil) - return -1; - return stru32int(s, r); -} |