1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-10 19:45:04 -05:00

Read the return value of the swrite() macro and 'print' a message in case of failure.

This commit is contained in:
Yang Tse 2006-07-12 07:33:54 +00:00
parent 8272874704
commit f975fd03a1

View File

@ -71,6 +71,7 @@
#include "transfer.h" #include "transfer.h"
#include "sendf.h" #include "sendf.h"
#include "telnet.h" #include "telnet.h"
#include "connect.h"
#define _MPRINTF_REPLACE /* use our functions only */ #define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h> #include <curl/mprintf.h>
@ -290,12 +291,18 @@ static void send_negotiation(struct connectdata *conn, int cmd, int option)
{ {
unsigned char buf[3]; unsigned char buf[3];
ssize_t bytes_written; ssize_t bytes_written;
int err;
struct SessionHandle *data = conn->data;
buf[0] = CURL_IAC; buf[0] = CURL_IAC;
buf[1] = cmd; buf[1] = cmd;
buf[2] = option; buf[2] = option;
bytes_written = swrite(conn->sock[FIRSTSOCKET], buf, 3); bytes_written = swrite(conn->sock[FIRSTSOCKET], buf, 3);
if(bytes_written < 0) {
err = Curl_sockerrno();
failf(data,"Sending data failed (%d)",err);
}
printoption(conn->data, "SENT", cmd, option); printoption(conn->data, "SENT", cmd, option);
} }
@ -847,6 +854,7 @@ static void suboption(struct connectdata *conn)
ssize_t bytes_written; ssize_t bytes_written;
size_t len; size_t len;
size_t tmplen; size_t tmplen;
int err;
char varname[128]; char varname[128];
char varval[128]; char varval[128];
struct SessionHandle *data = conn->data; struct SessionHandle *data = conn->data;
@ -860,6 +868,10 @@ static void suboption(struct connectdata *conn)
"%c%c%c%c%s%c%c", CURL_IAC, CURL_SB, CURL_TELOPT_TTYPE, "%c%c%c%c%s%c%c", CURL_IAC, CURL_SB, CURL_TELOPT_TTYPE,
CURL_TELQUAL_IS, tn->subopt_ttype, CURL_IAC, CURL_SE); CURL_TELQUAL_IS, tn->subopt_ttype, CURL_IAC, CURL_SE);
bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len); bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len);
if(bytes_written < 0) {
err = Curl_sockerrno();
failf(data,"Sending data failed (%d)",err);
}
printsub(data, '>', &temp[2], len-2); printsub(data, '>', &temp[2], len-2);
break; break;
case CURL_TELOPT_XDISPLOC: case CURL_TELOPT_XDISPLOC:
@ -868,6 +880,10 @@ static void suboption(struct connectdata *conn)
"%c%c%c%c%s%c%c", CURL_IAC, CURL_SB, CURL_TELOPT_XDISPLOC, "%c%c%c%c%s%c%c", CURL_IAC, CURL_SB, CURL_TELOPT_XDISPLOC,
CURL_TELQUAL_IS, tn->subopt_xdisploc, CURL_IAC, CURL_SE); CURL_TELQUAL_IS, tn->subopt_xdisploc, CURL_IAC, CURL_SE);
bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len); bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len);
if(bytes_written < 0) {
err = Curl_sockerrno();
failf(data,"Sending data failed (%d)",err);
}
printsub(data, '>', &temp[2], len-2); printsub(data, '>', &temp[2], len-2);
break; break;
case CURL_TELOPT_NEW_ENVIRON: case CURL_TELOPT_NEW_ENVIRON:
@ -891,6 +907,10 @@ static void suboption(struct connectdata *conn)
"%c%c", CURL_IAC, CURL_SE); "%c%c", CURL_IAC, CURL_SE);
len += 2; len += 2;
bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len); bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len);
if(bytes_written < 0) {
err = Curl_sockerrno();
failf(data,"Sending data failed (%d)",err);
}
printsub(data, '>', &temp[2], len-2); printsub(data, '>', &temp[2], len-2);
break; break;
} }