From eb423b5cc00a36f02129722e85e36eb9da1a60d3 Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 4 Jan 2005 22:09:51 +0000 Subject: use 9pclient instead of fs --- src/cmd/9p.c | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/src/cmd/9p.c b/src/cmd/9p.c index 64f9b8c4..0f0a1a66 100644 --- a/src/cmd/9p.c +++ b/src/cmd/9p.c @@ -2,7 +2,7 @@ #include #include #include -#include +#include <9pclient.h> #include char *addr; @@ -72,12 +72,12 @@ threadmain(int argc, char **argv) usage(); } -Fsys* +CFsys* xparse(char *name, char **path) { int fd; char *p; - Fsys *fs; + CFsys *fs; if(addr == nil){ p = strchr(name, '/'); @@ -100,24 +100,11 @@ xparse(char *name, char **path) return fs; } -Fid* -xwalk(char *name) -{ - Fid *fid; - Fsys *fs; - - fs = xparse(name, &name); - fid = fswalk(fsroot(fs), name); - if(fid == nil) - sysfatal("fswalk %s: %r", name); - return fid; -} - -Fid* +CFid* xopen(char *name, int mode) { - Fid *fid; - Fsys *fs; + CFid *fid; + CFsys *fs; fs = xparse(name, &name); fid = fsopen(fs, name, mode); @@ -129,7 +116,7 @@ xopen(char *name, int mode) int xopenfd(char *name, int mode) { - Fsys *fs; + CFsys *fs; fs = xparse(name, &name); return fsopenfd(fs, name, mode); @@ -140,7 +127,7 @@ xread(int argc, char **argv) { char buf[1024]; int n; - Fid *fid; + CFid *fid; ARGBEGIN{ default: @@ -186,7 +173,7 @@ xwrite(int argc, char **argv) { char buf[1024]; int n, did; - Fid *fid; + CFid *fid; ARGBEGIN{ default: @@ -240,7 +227,8 @@ void xstat(int argc, char **argv) { Dir *d; - Fid *fid; + CFsys *fs; + char *name; ARGBEGIN{ default: @@ -250,9 +238,10 @@ xstat(int argc, char **argv) if(argc != 1) usage(); - fid = xwalk(argv[0]); - if((d = fsdirfstat(fid)) == 0) - sysfatal("dirfstat: %r"); + name = argv[0]; + fs = xparse(name, &name); + if((d = fsdirstat(fs, name)) == 0) + sysfatal("dirstat: %r"); fmtinstall('D', dirfmt); fmtinstall('M', dirmodefmt); print("%D\n", d); -- cgit v1.2.3