mirror of https://github.com/moparisthebest/curl
attempt to avoid warnings in picky environments by storing options as
unsigned chars
This commit is contained in:
parent
b0adcd6a46
commit
34e7daf989
29
lib/telnet.c
29
lib/telnet.c
|
@ -5,7 +5,7 @@
|
||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
*
|
*
|
||||||
* This software is licensed as described in the file COPYING, which
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* you should have received as part of this distribution. The terms
|
||||||
|
@ -163,8 +163,8 @@ struct TELNET {
|
||||||
struct curl_slist *telnet_vars; /* Environment variables */
|
struct curl_slist *telnet_vars; /* Environment variables */
|
||||||
|
|
||||||
/* suboptions */
|
/* suboptions */
|
||||||
char subbuffer[SUBBUFSIZE];
|
unsigned char subbuffer[SUBBUFSIZE];
|
||||||
char *subpointer, *subend; /* buffer for sub-options */
|
unsigned char *subpointer, *subend; /* buffer for sub-options */
|
||||||
|
|
||||||
TelnetReceive telrcv_state;
|
TelnetReceive telrcv_state;
|
||||||
};
|
};
|
||||||
|
@ -1014,18 +1014,15 @@ void telrcv(struct connectdata *conn,
|
||||||
if (c != CURL_IAC)
|
if (c != CURL_IAC)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* This is an error. We only expect to get
|
* This is an error. We only expect to get "IAC IAC" or "IAC SE".
|
||||||
* "IAC IAC" or "IAC SE". Several things may
|
* Several things may have happend. An IAC was not doubled, the
|
||||||
* have happend. An IAC was not doubled, the
|
* IAC SE was left off, or another option got inserted into the
|
||||||
* IAC SE was left off, or another option got
|
* suboption are all possibilities. If we assume that the IAC was
|
||||||
* inserted into the suboption are all possibilities.
|
* not doubled, and really the IAC SE was left off, we could get
|
||||||
* If we assume that the IAC was not doubled,
|
* into an infinate loop here. So, instead, we terminate the
|
||||||
* and really the IAC SE was left off, we could
|
* suboption, and process the partial suboption if we can.
|
||||||
* get into an infinate loop here. So, instead,
|
|
||||||
* we terminate the suboption, and process the
|
|
||||||
* partial suboption if we can.
|
|
||||||
*/
|
*/
|
||||||
CURL_SB_ACCUM(tn, (unsigned char)CURL_IAC);
|
CURL_SB_ACCUM(tn, CURL_IAC);
|
||||||
CURL_SB_ACCUM(tn, c);
|
CURL_SB_ACCUM(tn, c);
|
||||||
tn->subpointer -= 2;
|
tn->subpointer -= 2;
|
||||||
CURL_SB_TERM(tn);
|
CURL_SB_TERM(tn);
|
||||||
|
@ -1040,8 +1037,8 @@ void telrcv(struct connectdata *conn,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CURL_SB_ACCUM(tn, (unsigned char)CURL_IAC);
|
CURL_SB_ACCUM(tn, CURL_IAC);
|
||||||
CURL_SB_ACCUM(tn, (unsigned char)CURL_SE);
|
CURL_SB_ACCUM(tn, CURL_SE);
|
||||||
tn->subpointer -= 2;
|
tn->subpointer -= 2;
|
||||||
CURL_SB_TERM(tn);
|
CURL_SB_TERM(tn);
|
||||||
suboption(conn); /* handle sub-option */
|
suboption(conn); /* handle sub-option */
|
||||||
|
|
Loading…
Reference in New Issue