--- ray/src/common/process.c 2020/02/28 05:18:49 2.9 +++ ray/src/common/process.c 2024/10/29 00:35:06 2.13 @@ -1,10 +1,10 @@ #ifndef lint -static const char RCSid[] = "$Id: process.c,v 2.9 2020/02/28 05:18:49 greg Exp $"; +static const char RCSid[] = "$Id: process.c,v 2.13 2024/10/29 00:35:06 greg Exp $"; #endif /* * Routines to communicate with separate process via dual pipes * - * External symbols declared in standard.h + * External symbols declared in rtprocess.h */ #include "copyright.h" @@ -24,12 +24,10 @@ The functions open_process() and close_process() exist int process( /* process data through pd */ SUBPROC *pd, - char *recvbuf, char *sendbuf, + void *recvbuf, void *sendbuf, int nbr, int nbs ) { - if (nbs > PIPE_BUF) - return(-1); if (!(pd->flags & PF_RUNNING)) return(-1); if (writebuf(pd->w, sendbuf, nbs) < nbs) @@ -39,14 +37,15 @@ process( /* process data through pd */ -int +ssize_t readbuf( /* read all of requested buffer */ int fd, - char *bpos, - int siz + void *buf, + ssize_t siz ) { - int cc = 0, nrem = siz; + char *bpos = (char *)buf; + ssize_t cc = 0, nrem = siz; retry: while (nrem > 0 && (cc = read(fd, bpos, nrem)) > 0) { bpos += cc; @@ -63,14 +62,15 @@ retry: } -int +ssize_t writebuf( /* write all of requested buffer */ int fd, -char *bpos, -int siz +const void *buf, +ssize_t siz ) { - int cc = 0, nrem = siz; + const char *bpos = (const char *)buf; + ssize_t cc = 0, nrem = siz; retry: while (nrem > 0 && (cc = write(fd, bpos, nrem)) > 0) { bpos += cc;