close (fd);
malloc_copyfd2rx (int fd, struct rx_call *call, size_t len){    void *buf;    struct stat statbuf;    u_long bufsize;    u_long nread;    int ret = 0;    if (fstat (fd, &statbuf)) {	arla_warn (ADEBFBUF, errno, "fstat");	bufsize = 1024;    } else	bufsize = statbuf.st_blksize;    buf = malloc (bufsize);    if (buf == NULL)	return ENOMEM;    while (len	   && (nread = read (fd, buf, min(bufsize, len))) > 0) {	if (rx_Write (call, buf, nread) != nread) {	    ret = errno;	    break;	}	len -= nread;    }    close (fd);    free (buf);    return ret;}