diff options
| author | rsc <devnull@localhost> | 2005-01-02 19:46:12 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2005-01-02 19:46:12 +0000 |
| commit | 2600337aa704efbeba8201e88147a764b4fd2b90 (patch) | |
| tree | 48d526d00a515aabde861659380cf0f393e16401 /src/libfs/walk.c | |
| parent | acc021b8f8c727c0f04f33615354170fd7bccd0c (diff) | |
| download | plan9port-2600337aa704efbeba8201e88147a764b4fd2b90.tar.gz plan9port-2600337aa704efbeba8201e88147a764b4fd2b90.zip | |
remove libfs. now lib9pclient
Diffstat (limited to 'src/libfs/walk.c')
| -rw-r--r-- | src/libfs/walk.c | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/src/libfs/walk.c b/src/libfs/walk.c deleted file mode 100644 index ad4eddc7..00000000 --- a/src/libfs/walk.c +++ /dev/null @@ -1,73 +0,0 @@ -/* Copyright (C) 2003 Russ Cox, Massachusetts Institute of Technology */ -/* See COPYRIGHT */ - -#include <u.h> -#include <libc.h> -#include <fcall.h> -#include <fs.h> -#include "fsimpl.h" - -Fid* -fswalk(Fid *fid, char *oname) -{ - char *freep, *name; - int i, nwalk; - char *p; - Fid *wfid; - Fcall tx, rx; - - freep = nil; - name = oname; - if(name){ - freep = malloc(strlen(name)+1); - if(freep == nil) - return nil; - strcpy(freep, name); - name = freep; - } - - if((wfid = _fsgetfid(fid->fs)) == nil){ - free(freep); - return nil; - } - - nwalk = 0; - do{ - /* collect names */ - for(i=0; name && *name && i < MAXWELEM; ){ - p = name; - name = strchr(name, '/'); - if(name) - *name++ = 0; - if(*p == 0) - continue; - tx.wname[i++] = p; - } - - /* do a walk */ - tx.type = Twalk; - tx.fid = nwalk ? wfid->fid : fid->fid; - tx.newfid = wfid->fid; - tx.nwname = i; - if(fsrpc(fid->fs, &tx, &rx, 0) < 0){ - Error: - free(freep); - if(nwalk) - fsclose(wfid); - else - _fsputfid(wfid); - return nil; - } - if(rx.nwqid != tx.nwname){ - /* XXX lame error */ - werrstr("file '%s' not found", oname); - goto Error; - } - if(rx.nwqid == 0) - wfid->qid = fid->qid; - else - wfid->qid = rx.wqid[rx.nwqid-1]; - nwalk++; - }while(name && *name); - return wfid; -} |
