commit - 783aadbdcd39e3850c61528c77fcf878448824f4
commit + 49f498ae1193d4e2e867d809fd1dab774ff9f8b8
blob - 26142e28ed54f2986fb4f18a252dd638adecf427
blob + 1d4a3da242d7ba506e2506aa9ee9ec64af4be86f
--- src/cmd/factotum/dat.h
+++ src/cmd/factotum/dat.h
extern int xioasrdresp(int, void*, int);
extern int xioasgetticket(int, char*, char*);
+extern int extrafactotumdir;
+
int havesecstore(void);
int secstorefetch(void);
blob - 1d801b42adaa3790987bb2f7daca05b55366a2ac
blob + f9ad785be85abca7d31c939827ad8b9617240f97
--- src/cmd/factotum/fs.c
+++ src/cmd/factotum/fs.c
Qconv,
};
+static int qtop;
+
Qid
mkqid(int type, int path)
{
return nil;
}
if(strcmp(name, "..") == 0){
- *qid = mkqid(QTDIR, Qroot);
+ *qid = mkqid(QTDIR, qtop);
fid->qid = *qid;
return nil;
}
static void
fsattach(Req *r)
{
- r->fid->qid = mkqid(QTDIR, Qroot);
+ r->fid->qid = mkqid(QTDIR, qtop);
r->ofcall.qid = r->fid->qid;
respond(r, nil);
}
{
USED(s);
+ if(extrafactotumdir)
+ qtop = Qroot;
+ else
+ qtop = Qfactotum;
creq = chancreate(sizeof(Req*), 0);
cfid = chancreate(sizeof(Fid*), 0);
cfidr = chancreate(sizeof(Fid*), 0);
blob - a2647da9e78920b05cbd3ce336e4454655e873fb
blob + a258684d06e72c1d7d79c21209e8cf1a357d38fb
--- src/cmd/factotum/main.c
+++ src/cmd/factotum/main.c
#include "std.h"
#include "dat.h"
+int extrafactotumdir;
int debug;
int trysecstore = 1;
char *factname = "factotum";
case 'n':
trysecstore = 0;
break;
+ case 'x':
+ extrafactotumdir = 1;
+ break;
}ARGEND
if(argc != 0)