static int splitargs(char*, char*[], char*, int);
static int nsfile(char*, Biobuf *, AuthRpc *);
static int nsop(char*, int, char*[], AuthRpc*);
-static int callexport(char*, char*);
static int catch(void*, char*);
int newnsdebug;
cdroot = 0;
flags = 0;
argv0 = 0;
- if (newnsdebug){
+ if(newnsdebug){
for (i = 0; i < argc; i++)
fprint(2, "%s ", argv[i]);
fprint(2, "\n");
return 0;
cdroot |= nsfile(fn, b, rpc);
Bterm(b);
- }else if(strcmp(argv0, "clear") == 0 && argc == 0)
+ }else if(strcmp(argv0, "clear") == 0 && argc == 0){
rfork(RFCNAMEG);
- else if(strcmp(argv0, "bind") == 0 && argc == 2){
- if(bind(argv[0], argv[1], flags) < 0 && newnsdebug)
+ }else if(strcmp(argv0, "bind") == 0 && argc == 2){
+ if(bind(argv[0], argv[1], flags) == -1 && newnsdebug)
fprint(2, "%s: bind: %s %s: %r\n", fn, argv[0], argv[1]);
}else if(strcmp(argv0, "unmount") == 0){
if(argc == 1)
unmount(argv[0], argv[1]);
}else if(strcmp(argv0, "mount") == 0){
fd = open(argv[0], ORDWR);
+ if(fd < 0){
+ if(newnsdebug)
+ fprint(2, "%s: mount: %s: %r\n", fn, argv[0]);
+ return 0;
+ }
if(argc == 2){
- if(famount(fd, rpc, argv[1], flags, "") < 0 && newnsdebug)
+ if(famount(fd, rpc, argv[1], flags, "") == -1 && newnsdebug)
fprint(2, "%s: mount: %s %s: %r\n", fn, argv[0], argv[1]);
}else if(argc == 3){
- if(famount(fd, rpc, argv[1], flags, argv[2]) < 0 && newnsdebug)
+ if(famount(fd, rpc, argv[1], flags, argv[2]) == -1 && newnsdebug)
fprint(2, "%s: mount: %s %s %s: %r\n", fn, argv[0], argv[1], argv[2]);
}
close(fd);
- }else if(strcmp(argv0, "import") == 0){
- fd = callexport(argv[0], argv[1]);
- if(argc == 2)
- famount(fd, rpc, argv[1], flags, "");
- else if(argc == 3)
- famount(fd, rpc, argv[2], flags, "");
- close(fd);
}else if(strcmp(argv0, "cd") == 0 && argc == 1){
if(chdir(argv[0]) == 0 && *argv[0] == '/')
cdroot = 1;
return strncmp(m, wocp, strlen(wocp)) == 0;
}
-static int
-callexport(char *sys, char *tree)
-{
- char *na, buf[3];
- int fd;
- AuthInfo *ai;
-
- na = netmkaddr(sys, 0, "exportfs");
- if((fd = dial(na, 0, 0, 0)) < 0)
- return -1;
- if((ai = auth_proxy(fd, auth_getkey, "proto=p9any role=client")) == nil
- || write(fd, tree, strlen(tree)) < 0
- || read(fd, buf, 3) != 2 || buf[0]!='O' || buf[1]!= 'K'){
- close(fd);
- auth_freeAI(ai);
- return -1;
- }
- auth_freeAI(ai);
- return fd;
-}
-
static char*
unquote(char *s)
{