-
-char *
-rlsearch(fd, nelp, width)
- int fd;
- u_int *nelp, *width;
-{
- register u_int len;
- long val;
- char *base, *malloc();
-
- if (read(fd, (char *)&val, sizeof(long)) != sizeof(long))
- return(NULL);
- *nelp = (u_int)ntohl(val);
- if (read(fd, (char *)&val, sizeof(long)) != sizeof(long))
- return(NULL);
- *width = (u_int)ntohl(val);
-
- len = *nelp * *width;
- if (!(base = malloc(len)))
- return(NULL);
- return(read(fd, base, len) == len ? base : NULL);
-}
-
-wlsearch(fd, base, nelp, width)
- int fd;
- char *base;
- u_int nelp, width;
-{
- long val;
-
- val = htonl((long)nelp);
- if (write(fd, (char *)&val, sizeof(long)) != sizeof(long))
- return(-1);
- val = htonl((long)width);
- if (write(fd, (char *)&val, sizeof(long)) != sizeof(long))
- return(-1);
- if (write(fd, base, nelp * width) != nelp * width)
- return(-1);
- return(0);
-}