use 9pclient instead of fs
This commit is contained in:
parent
3f54e7c8a4
commit
eb423b5cc0
1 changed files with 15 additions and 26 deletions
41
src/cmd/9p.c
41
src/cmd/9p.c
|
|
@ -2,7 +2,7 @@
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <libc.h>
|
#include <libc.h>
|
||||||
#include <fcall.h>
|
#include <fcall.h>
|
||||||
#include <fs.h>
|
#include <9pclient.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
|
|
||||||
char *addr;
|
char *addr;
|
||||||
|
|
@ -72,12 +72,12 @@ threadmain(int argc, char **argv)
|
||||||
usage();
|
usage();
|
||||||
}
|
}
|
||||||
|
|
||||||
Fsys*
|
CFsys*
|
||||||
xparse(char *name, char **path)
|
xparse(char *name, char **path)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
char *p;
|
char *p;
|
||||||
Fsys *fs;
|
CFsys *fs;
|
||||||
|
|
||||||
if(addr == nil){
|
if(addr == nil){
|
||||||
p = strchr(name, '/');
|
p = strchr(name, '/');
|
||||||
|
|
@ -100,24 +100,11 @@ xparse(char *name, char **path)
|
||||||
return fs;
|
return fs;
|
||||||
}
|
}
|
||||||
|
|
||||||
Fid*
|
CFid*
|
||||||
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*
|
|
||||||
xopen(char *name, int mode)
|
xopen(char *name, int mode)
|
||||||
{
|
{
|
||||||
Fid *fid;
|
CFid *fid;
|
||||||
Fsys *fs;
|
CFsys *fs;
|
||||||
|
|
||||||
fs = xparse(name, &name);
|
fs = xparse(name, &name);
|
||||||
fid = fsopen(fs, name, mode);
|
fid = fsopen(fs, name, mode);
|
||||||
|
|
@ -129,7 +116,7 @@ xopen(char *name, int mode)
|
||||||
int
|
int
|
||||||
xopenfd(char *name, int mode)
|
xopenfd(char *name, int mode)
|
||||||
{
|
{
|
||||||
Fsys *fs;
|
CFsys *fs;
|
||||||
|
|
||||||
fs = xparse(name, &name);
|
fs = xparse(name, &name);
|
||||||
return fsopenfd(fs, name, mode);
|
return fsopenfd(fs, name, mode);
|
||||||
|
|
@ -140,7 +127,7 @@ xread(int argc, char **argv)
|
||||||
{
|
{
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
int n;
|
int n;
|
||||||
Fid *fid;
|
CFid *fid;
|
||||||
|
|
||||||
ARGBEGIN{
|
ARGBEGIN{
|
||||||
default:
|
default:
|
||||||
|
|
@ -186,7 +173,7 @@ xwrite(int argc, char **argv)
|
||||||
{
|
{
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
int n, did;
|
int n, did;
|
||||||
Fid *fid;
|
CFid *fid;
|
||||||
|
|
||||||
ARGBEGIN{
|
ARGBEGIN{
|
||||||
default:
|
default:
|
||||||
|
|
@ -240,7 +227,8 @@ void
|
||||||
xstat(int argc, char **argv)
|
xstat(int argc, char **argv)
|
||||||
{
|
{
|
||||||
Dir *d;
|
Dir *d;
|
||||||
Fid *fid;
|
CFsys *fs;
|
||||||
|
char *name;
|
||||||
|
|
||||||
ARGBEGIN{
|
ARGBEGIN{
|
||||||
default:
|
default:
|
||||||
|
|
@ -250,9 +238,10 @@ xstat(int argc, char **argv)
|
||||||
if(argc != 1)
|
if(argc != 1)
|
||||||
usage();
|
usage();
|
||||||
|
|
||||||
fid = xwalk(argv[0]);
|
name = argv[0];
|
||||||
if((d = fsdirfstat(fid)) == 0)
|
fs = xparse(name, &name);
|
||||||
sysfatal("dirfstat: %r");
|
if((d = fsdirstat(fs, name)) == 0)
|
||||||
|
sysfatal("dirstat: %r");
|
||||||
fmtinstall('D', dirfmt);
|
fmtinstall('D', dirfmt);
|
||||||
fmtinstall('M', dirmodefmt);
|
fmtinstall('M', dirmodefmt);
|
||||||
print("%D\n", d);
|
print("%D\n", d);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue