commit - ec41125f3b5e0e8d46516fa5ba5b684a3a88a880
commit + 9b3d503bacfb3fdfc48ce47e3e1169e8a0ee91be
blob - 51050345c0e144ef6d59749be1449198ba47fd21
blob + 15107e3bbecbf299b404877569511bd07865216e
--- src/cmd/vac/vacfs.c
+++ src/cmd/vac/vacfs.c
*rread(Fid*), *rwrite(Fid*), *rclunk(Fid*),
*rremove(Fid*), *rstat(Fid*), *rwstat(Fid*);
-char *(*fcalls[])(Fid*) = {
- [Tflush] rflush,
- [Tversion] rversion,
- [Tattach] rattach,
- [Tauth] rauth,
- [Twalk] rwalk,
- [Topen] ropen,
- [Tcreate] rcreate,
- [Tread] rread,
- [Twrite] rwrite,
- [Tclunk] rclunk,
- [Tremove] rremove,
- [Tstat] rstat,
- [Twstat] rwstat,
+char *(*fcalls[Tmax])(Fid*);
+
+void
+initfcalls(void)
+{
+ fcalls[Tflush]= rflush;
+ fcalls[Tversion]= rversion;
+ fcalls[Tattach]= rattach;
+ fcalls[Tauth]= rauth;
+ fcalls[Twalk]= rwalk;
+ fcalls[Topen]= ropen;
+ fcalls[Tcreate]= rcreate;
+ fcalls[Tread]= rread;
+ fcalls[Twrite]= rwrite;
+ fcalls[Tclunk]= rclunk;
+ fcalls[Tremove]= rremove;
+ fcalls[Tstat]= rstat;
+ fcalls[Twstat]= rwstat;
};
char Eperm[] = "permission denied";
if(argc != 1)
usage();
+ initfcalls();
init(argv[0], host, ncache, readOnly);
if(pipe(p) < 0)
f->busy = 1;
f->file = file;
- f->qid = (Qid){vacfilegetid(f->file), 0, QTDIR};
+ f->qid.path = vacfilegetid(f->file);
+ f->qid.vers = 0;
+ f->qid.type = QTDIR;
thdr.qid = f->qid;
if(rhdr.uname[0])
f->user = vtstrdup(rhdr.uname);