--- ray/src/util/netproc.c 1997/10/28 14:01:39 2.8 +++ ray/src/util/netproc.c 2003/11/10 16:52:24 2.13 @@ -1,27 +1,27 @@ -/* Copyright (c) 1996 Regents of the University of California */ - #ifndef lint -static char SCCSid[] = "$SunId$ LBL"; +static const char RCSid[] = "$Id: netproc.c,v 2.13 2003/11/10 16:52:24 greg Exp $"; #endif - /* * Parallel network process handling routines */ +#include #include +#include #include #include +#include + #include "selcall.h" #include "netproc.h" #include "paths.h" -#include "vfork.h" PSERVER *pslist = NULL; /* global process server list */ -static PROC *pindex[FD_SETSIZE]; /* process index table */ +static NETPROC *pindex[FD_SETSIZE]; /* process index table */ static char ourhost[64]; /* this host name */ -static char ourdir[MAXPATH]; /* our working directory */ +static char ourdir[PATH_MAX]; /* our working directory */ static char ouruser[32]; /* our user name */ static char *ourshell; /* our user's shell */ @@ -30,10 +30,7 @@ static int maxfd; /* maximum assigned descriptor */ extern char *remsh; /* externally defined remote shell program */ -extern char *malloc(), *realloc(); -extern char *getenv(); - PSERVER * addpserver(host, dir, usr, np) /* add a new process server */ char *host, *dir, *usr; @@ -43,16 +40,16 @@ int np; /* allocate the struct */ if (np < 1) return(NULL); - ps = (PSERVER *)malloc(sizeof(PSERVER)+(np-1)*sizeof(PROC)); + ps = (PSERVER *)malloc(sizeof(PSERVER)+(np-1)*sizeof(NETPROC)); if (ps == NULL) return(NULL); if (!ourhost[0]) { /* initialize */ - char dirtmp[MAXPATH]; + char dirtmp[PATH_MAX]; register char *cp; register int len; strcpy(ourhost, myhostname()); - getwd(dirtmp); + getcwd(dirtmp, sizeof(dirtmp)); if ((cp = getenv("HOME")) != NULL) { if (!strcmp(cp, dirtmp)) ourdir[0] = '\0'; @@ -126,7 +123,7 @@ PSERVER *ps; /* remove server from list */ psp->next = ps->next; pslist = pstart.next; - free((char *)ps); /* free associated memory */ + free((void *)ps); /* free associated memory */ } @@ -153,7 +150,7 @@ register PSERVER *ps; char *command; int (*compf)(); { - char udirt[MAXPATH]; + char udirt[PATH_MAX]; char *av[16]; int pfd[2], pid; register int i; @@ -234,7 +231,7 @@ int fd; { char errbuf[BUFSIZ]; int nr; - register PROC *pp; + register NETPROC *pp; /* look up associated process */ if ((pp = pindex[fd]) == NULL) abort(); /* serious consistency error */ @@ -249,7 +246,7 @@ int fd; if (pp->elen == 0) pp->errs = (char *)malloc(nr+1); else - pp->errs = (char *)realloc(pp->errs, pp->elen+nr+1); + pp->errs = (char *)realloc((void *)pp->errs, pp->elen+nr+1); if (pp->errs == NULL) { perror("malloc failed"); exit(1); @@ -288,7 +285,7 @@ PSERVER *ps; int pn; int status; { - register PROC *pp; + register NETPROC *pp; pp = ps->proc + pn; if (pp->cf != NULL) /* client cleanup */ @@ -296,7 +293,7 @@ int status; close(pp->efd); /* close error stream */ pindex[pp->efd] = NULL; FD_CLR(pp->efd, &errdesc); - free((char *)pp->errs); + free((void *)pp->errs); pp->com = NULL; /* clear settings */ pp->pid = -1; pp->efd = -1;