+2003-11-20 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * connect.c: Renamed xread/xwrite/xclose to
+ fd_read/fd_write/fd_close. The "x" prefix is not appropriate
+ because the semantics have diverged from read/write/close too
+ significantly. Updated all callers.
+
2003-11-20 Hrvoje Niksic <hniksic@xemacs.org>
* connect.c (sock_write): It's not necessary to initialize RES.
logprintf. */
int save_errno = errno;
if (sock >= 0)
- xclose (sock);
+ fd_close (sock);
if (print)
logprintf (LOG_VERBOSE, "failed: %s.\n", strerror (errno));
errno = save_errno;
sockaddr_set_data (sa, bind_address, *port);
if (bind (sock, sa, sockaddr_size (sa)) < 0)
{
- xclose (sock);
+ fd_close (sock);
return -1;
}
DEBUGP (("Local socket fd %d bound.\n", sock));
something is seriously wrong with the socket, and it's
unusable for us anyway because we must know the chosen
port. */
- xclose (sock);
+ fd_close (sock);
return -1;
}
sockaddr_get_data (sa, NULL, port);
}
if (listen (sock, 1) < 0)
{
- xclose (sock);
+ fd_close (sock);
return -1;
}
return sock;
supported = 0;
else
{
- xclose (sock);
+ fd_close (sock);
supported = 1;
}
}
that are not mere file descriptors under the hood, such as SSL
sockets.
- That way the user code can call xread(fd, ...) and we'll run read
+ That way the user code can call fd_read(fd, ...) and we'll run read
or SSL_read or whatever is necessary. */
static struct hash_table *transport_map;
static int transport_map_modified_tick;
struct transport_info {
- xreader_t reader;
- xwriter_t writer;
- xpoller_t poller;
- xcloser_t closer;
+ fd_reader_t reader;
+ fd_writer_t writer;
+ fd_poller_t poller;
+ fd_closer_t closer;
void *ctx;
};
call getpeername, etc. */
void
-register_transport (int fd, xreader_t reader, xwriter_t writer,
- xpoller_t poller, xcloser_t closer, void *ctx)
+fd_register_transport (int fd, fd_reader_t reader, fd_writer_t writer,
+ fd_poller_t poller, fd_closer_t closer, void *ctx)
{
struct transport_info *info;
/* The file descriptor must be non-negative to be registered.
- Negative values are ignored by xclose(), and -1 cannot be used as
+ Negative values are ignored by fd_close(), and -1 cannot be used as
hash key. */
assert (fd >= 0);
++transport_map_modified_tick;
}
-/* When xread/xwrite are called multiple times in a loop, they should
+/* When fd_read/fd_write are called multiple times in a loop, they should
remember the INFO pointer instead of fetching it every time. It is
not enough to compare FD to LAST_FD because FD might have been
closed and reopened. modified_tick ensures that changes to
opt.timeout is used for TIMEOUT. */
int
-xread (int fd, char *buf, int bufsize, double timeout)
+fd_read (int fd, char *buf, int bufsize, double timeout)
{
struct transport_info *info;
LAZY_RETRIEVE_INFO (info);
TIMEOUT. */
int
-xwrite (int fd, char *buf, int bufsize, double timeout)
+fd_write (int fd, char *buf, int bufsize, double timeout)
{
int res;
struct transport_info *info;
/* Close the file descriptor FD. */
void
-xclose (int fd)
+fd_close (int fd)
{
struct transport_info *info;
if (fd < 0)
return;
- /* Don't use LAZY_RETRIEVE_INFO because xclose() is only called once
+ /* Don't use LAZY_RETRIEVE_INFO because fd_close() is only called once
per socket, so that particular optimization wouldn't work. */
info = NULL;
if (transport_map)
int test_socket_open PARAMS ((int));
int socket_has_inet6 PARAMS ((void));
-typedef int (*xreader_t) PARAMS ((int, char *, int, void *));
-typedef int (*xwriter_t) PARAMS ((int, char *, int, void *));
-typedef int (*xpoller_t) PARAMS ((int, double, int, void *));
-typedef void (*xcloser_t) PARAMS ((int, void *));
-void register_transport PARAMS ((int,
- xreader_t, xwriter_t, xpoller_t, xcloser_t,
- void *));
-
-int xread PARAMS ((int, char *, int, double));
-int xwrite PARAMS ((int, char *, int, double));
-void xclose PARAMS ((int));
+typedef int (*fd_reader_t) PARAMS ((int, char *, int, void *));
+typedef int (*fd_writer_t) PARAMS ((int, char *, int, void *));
+typedef int (*fd_poller_t) PARAMS ((int, double, int, void *));
+typedef void (*fd_closer_t) PARAMS ((int, void *));
+void fd_register_transport PARAMS ((int,
+ fd_reader_t, fd_writer_t,
+ fd_poller_t, fd_closer_t,
+ void *));
+
+int fd_read PARAMS ((int, char *, int, double));
+int fd_write PARAMS ((int, char *, int, double));
+void fd_close PARAMS ((int));
#endif /* CONNECT_H */
xfree (respline);
/* Send USER username. */
request = ftp_request ("USER", acc);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
xfree (respline);
/* Send PASS password. */
request = ftp_request ("PASS", pass);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
/* Send PORT request. */
request = ftp_request ("PORT", bytes);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
- xclose (*local_sock);
+ fd_close (*local_sock);
return WRITEFAILED;
}
xfree (request);
if (err != FTPOK)
{
xfree (respline);
- xclose (*local_sock);
+ fd_close (*local_sock);
return err;
}
if (*respline != '2')
{
xfree (respline);
- xclose (*local_sock);
+ fd_close (*local_sock);
return FTPPORTERR;
}
xfree (respline);
/* Send PORT request. */
request = ftp_request ("LPRT", bytes);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
- xclose (*local_sock);
+ fd_close (*local_sock);
return WRITEFAILED;
}
xfree (request);
if (err != FTPOK)
{
xfree (respline);
- xclose (*local_sock);
+ fd_close (*local_sock);
return err;
}
if (*respline != '2')
{
xfree (respline);
- xclose (*local_sock);
+ fd_close (*local_sock);
return FTPPORTERR;
}
xfree (respline);
/* Send PORT request. */
request = ftp_request ("EPRT", bytes);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
- xclose (*local_sock);
+ fd_close (*local_sock);
return WRITEFAILED;
}
xfree (request);
if (err != FTPOK)
{
xfree (respline);
- xclose (*local_sock);
+ fd_close (*local_sock);
return err;
}
if (*respline != '2')
{
xfree (respline);
- xclose (*local_sock);
+ fd_close (*local_sock);
return FTPPORTERR;
}
xfree (respline);
/* Form the request. */
request = ftp_request ("PASV", NULL);
/* And send it. */
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
request = ftp_request ("LPSV", NULL);
/* And send it. */
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
request = ftp_request ("EPSV", (ip->type == IPV4_ADDRESS ? "1" : "2"));
/* And send it. */
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
stype[1] = 0;
/* Send TYPE request. */
request = ftp_request ("TYPE", stype);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
/* Send CWD request. */
request = ftp_request ("CWD", dir);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
number_to_string (numbuf, offset);
request = ftp_request ("REST", numbuf);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
/* Send RETR request. */
request = ftp_request ("RETR", file);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
/* Send LIST request. */
request = ftp_request ("LIST", file);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
/* Send SYST request. */
request = ftp_request ("SYST", NULL);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
/* Send PWD request. */
request = ftp_request ("PWD", NULL);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
/* Send PWD request. */
request = ftp_request ("SIZE", file);
- nwritten = xwrite (RBUF_FD (rbuf), request, strlen (request), -1);
+ nwritten = fd_write (RBUF_FD (rbuf), request, strlen (request), -1);
if (nwritten < 0)
{
xfree (request);
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
case FTPSRVERR:
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("Error in server greeting.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET,
_("Write failed, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
case FTPLOGREFUSED:
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("The server refuses login.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return FTPLOGREFUSED;
break;
case FTPLOGINC:
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("Login incorrect.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return FTPLOGINC;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET,
_("Write failed, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logprintf (LOG_NOTQUIET,
_("Unknown type `%c', closing control connection.\n"),
type_char);
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
case FTPOK:
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET,
_("Write failed, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logprintf (LOG_NOTQUIET, _("No such directory `%s'.\n\n"),
u->dir);
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET,
_("Write failed, closing control connection.\n"));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
if (dtsock < 0)
{
int save_errno = errno;
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
logprintf (LOG_VERBOSE, _("couldn't connect to %s port %hu: %s\n"),
pretty_print_address (&passive_addr), passive_port,
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET,
_("Write failed, closing control connection.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
case CONSOCKERR:
logputs (LOG_VERBOSE, "\n");
logprintf (LOG_NOTQUIET, "socket: %s\n", strerror (errno));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logprintf (LOG_NOTQUIET, _("Bind error (%s).\n"),
strerror (errno));
- xclose (dtsock);
+ fd_close (dtsock);
return err;
break;
case FTPPORTERR:
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("Invalid PORT.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET,
_("Write failed, closing control connection.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logprintf (LOG_NOTQUIET,
_("\nREST failed; will not truncate `%s'.\n"),
con->target);
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return CONTNOTSUPPORTED;
}
request. */
if (opt.spider)
{
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return RETRFINISHED;
}
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET,
_("Write failed, closing control connection.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
case FTPNSFOD:
logputs (LOG_VERBOSE, "\n");
logprintf (LOG_NOTQUIET, _("No such file `%s'.\n\n"), u->file);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (dtsock);
+ fd_close (local_sock);
return err;
break;
case FTPOK:
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
Error in server response, closing control connection.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET,
_("Write failed, closing control connection.\n"));
- xclose (csock);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (csock);
+ fd_close (dtsock);
+ fd_close (local_sock);
rbuf_uninitialize (&con->rbuf);
return err;
break;
logputs (LOG_VERBOSE, "\n");
logprintf (LOG_NOTQUIET, _("No such file or directory `%s'.\n\n"),
".");
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (dtsock);
+ fd_close (local_sock);
return err;
break;
case FTPOK:
if (!fp)
{
logprintf (LOG_NOTQUIET, "%s: %s\n", con->target, strerror (errno));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (dtsock);
+ fd_close (local_sock);
return FOPENERR;
}
}
tms = time_str (NULL);
tmrate = retr_rate (*len - restval, con->dltime, 0);
/* Close data connection socket. */
- xclose (dtsock);
- xclose (local_sock);
+ fd_close (dtsock);
+ fd_close (local_sock);
/* Close the local file. */
{
/* Close or flush the file. We have to be careful to check for
{
logprintf (LOG_NOTQUIET, _("%s: %s, closing control connection.\n"),
con->target, strerror (errno));
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return FWRITEERR;
}
return FTPRETRINT, since there is a possibility that the
whole file was retrieved nevertheless (but that is for
ftp_loop_internal to decide). */
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
return FTPRETRINT;
} /* err != FTPOK */
{
/* I should probably send 'QUIT' and check for a reply, but this
is faster. #### Is it OK, though? */
- xclose (csock);
+ fd_close (csock);
rbuf_uninitialize (&con->rbuf);
}
/* If it was a listing, and opt.server_response is true,
if (con->st & ON_YOUR_OWN)
{
- xclose (RBUF_FD (&con->rbuf));
+ fd_close (RBUF_FD (&con->rbuf));
rbuf_uninitialize (&con->rbuf);
}
if (!opt.spider)
if (rbuf_initialized_p (&con->rbuf) && (con->st & ON_YOUR_OWN))
{
- xclose (RBUF_FD (&con->rbuf));
+ fd_close (RBUF_FD (&con->rbuf));
rbuf_uninitialize (&con->rbuf);
}
return TRYLIMEXC;
*dt |= RETROKF;
/* If a connection was left, quench it. */
if (rbuf_initialized_p (&con.rbuf))
- xclose (RBUF_FD (&con.rbuf));
+ fd_close (RBUF_FD (&con.rbuf));
xfree_null (con.id);
con.id = NULL;
xfree_null (con.target);
/* Register FD with Wget's transport layer, i.e. arrange that
SSL-enabled functions are used for reading, writing, and polling.
- That way the rest of Wget can keep using xread, xwrite, and
- friends and not care what happens underneath. */
- register_transport (fd, ssl_read, ssl_write, ssl_poll, ssl_close, ssl);
+ That way the rest of Wget can use fd_read, fd_write, and friends
+ and not care what happens underneath. */
+ fd_register_transport (fd, ssl_read, ssl_write, ssl_poll, ssl_close, ssl);
DEBUGP (("Connected %d to SSL 0x%0lx\n", fd, (unsigned long) ssl));
return ssl;
if (length == 0)
break;
towrite = WMIN (promised_size - written, length);
- write_error = xwrite (sock, chunk, towrite, -1);
+ write_error = fd_write (sock, chunk, towrite, -1);
if (write_error < 0)
{
fclose (fp);
{
DEBUGP (("Disabling further reuse of socket %d.\n", pconn.socket));
pconn_active = 0;
- xclose (pconn.socket);
+ fd_close (pconn.socket);
xfree (pconn.host);
xzero (pconn);
}
if (pconn_active && (fd) == pconn.socket) \
invalidate_persistent (); \
else \
- xclose (fd); \
+ fd_close (fd); \
} \
} while (0)
if (pconn_active && (fd) == pconn.socket) \
invalidate_persistent (); \
else \
- xclose (fd); \
+ fd_close (fd); \
} while (0)
\f
struct http_stat
logputs (LOG_VERBOSE, "\n");
logprintf (LOG_NOTQUIET,
_("Unable to establish SSL connection.\n"));
- xclose (sock);
+ fd_close (sock);
return CONSSLERR;
}
using_ssl = 1;
xfree (full_path);
/* Send the request to server. */
- write_error = xwrite (sock, request, strlen (request), -1);
+ write_error = fd_write (sock, request, strlen (request), -1);
if (write_error >= 0)
{
if (opt.post_data)
{
DEBUGP (("[POST data: %s]\n", opt.post_data));
- write_error = xwrite (sock, opt.post_data, post_data_size, -1);
+ write_error = fd_write (sock, opt.post_data, post_data_size, -1);
}
else if (opt.post_file_name && post_data_size != 0)
write_error = post_file (sock, opt.post_file_name, post_data_size);
int
rbuf_read_bufferful (struct rbuf *rbuf)
{
- return xread (rbuf->fd, rbuf->buffer, sizeof (rbuf->buffer), -1);
+ return fd_read (rbuf->fd, rbuf->buffer, sizeof (rbuf->buffer), -1);
}
/* Currently unused -- see RBUF_READCHAR. */
int res;
rbuf->buffer_pos = rbuf->buffer;
rbuf->buffer_left = 0;
- res = xread (rbuf->fd, rbuf->buffer, sizeof (rbuf->buffer), -1);
+ res = fd_read (rbuf->fd, rbuf->buffer, sizeof (rbuf->buffer), -1);
if (res <= 0)
return res;
rbuf->buffer_left = res;
}
}
}
- res = xread (fd, dlbuf, amount_to_read, tmout);
+ res = fd_read (fd, dlbuf, amount_to_read, tmout);
if (res == 0 || (res < 0 && errno != ETIMEDOUT))
break;