+ if (ret == 0)
+ return;
+ /*
+ * The FD_ISSET() is not strictly necessary, but is allows us
+ * to skip the malloc below if there is nothing to read anyway.
+ */
+ if (!FD_ISSET(ct->rc4c.fd, &s->rfds))
+ return;
+ buf2 = para_malloc(CLIENT_BUFSIZE);
+ ret = client_recv_buffer(ct, &s->rfds, buf2, CLIENT_BUFSIZE, &n);
+ if (n > 0) {
+ buf2 = para_realloc(buf2, n);
+ btr_add_output(buf2, n, btrn);
+ } else
+ free(buf2);
+ goto out;
+ }