From be22ae2d0729f68672e3202c91cfe13c9e74cccc Mon Sep 17 00:00:00 2001 From: rsc Date: Fri, 26 Mar 2004 01:59:35 +0000 Subject: SunOS can rot in hell. --- src/cmd/ramfs.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'src/cmd/ramfs.c') diff --git a/src/cmd/ramfs.c b/src/cmd/ramfs.c index 2c1658b0..e155607a 100644 --- a/src/cmd/ramfs.c +++ b/src/cmd/ramfs.c @@ -89,21 +89,25 @@ char *rflush(Fid*), *rversion(Fid*), *rauth(Fid*), *rread(Fid*), *rwrite(Fid*), *rclunk(Fid*), *rremove(Fid*), *rstat(Fid*), *rwstat(Fid*); -char *(*fcalls[])(Fid*) = { - [Tversion] rversion, - [Tflush] rflush, - [Tauth] rauth, - [Tattach] rattach, - [Twalk] rwalk, - [Topen] ropen, - [Tcreate] rcreate, - [Tread] rread, - [Twrite] rwrite, - [Tclunk] rclunk, - [Tremove] rremove, - [Tstat] rstat, - [Twstat] rwstat, -}; +char *(*fcalls[Tmax])(Fid*); + +static void +initfcalls(void) +{ + fcalls[Tversion]= rversion; + fcalls[Tflush]= rflush; + fcalls[Tauth]= rauth; + fcalls[Tattach]= rattach; + 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"; char Enotdir[] = "not a directory"; @@ -141,6 +145,7 @@ main(int argc, char *argv[]) int stdio = 0; char *service; + initfcalls(); service = "ramfs"; defmnt = "/tmp"; ARGBEGIN{ -- cgit v1.2.3