1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00

Never pass a `char' to a ctype function. I had relied on gcc -Wall

letting me know about instances of this, but it turns out that my
ctype.h explicitly casts input values to `int' to evade the
`subscript has type char' warning, so it had been carefully not
letting me know! Found them all by compiling with a doctored
ctype.h, and hopefully fixed them all too.

[originally from svn r2927]
This commit is contained in:
Simon Tatham 2003-03-11 09:30:31 +00:00
parent 43fe7d3c87
commit 73203bce79
4 changed files with 7 additions and 7 deletions

View File

@ -164,8 +164,8 @@ void ldisc_send(void *handle, char *buf, int len, int interactive)
bsb(ldisc, plen(ldisc, ldisc->buf[ldisc->buflen - 1])); bsb(ldisc, plen(ldisc, ldisc->buf[ldisc->buflen - 1]));
ldisc->buflen--; ldisc->buflen--;
if (ldisc->buflen > 0 && if (ldisc->buflen > 0 &&
isspace(ldisc->buf[ldisc->buflen - 1]) && isspace((unsigned char)ldisc->buf[ldisc->buflen-1]) &&
!isspace(ldisc->buf[ldisc->buflen])) !isspace((unsigned char)ldisc->buf[ldisc->buflen]))
break; break;
} }
break; break;

View File

@ -281,7 +281,7 @@ static int proxy_for_destination (SockAddr addr, char *hostname, int port,
while (exclude_list[s]) { while (exclude_list[s]) {
while (exclude_list[s] && while (exclude_list[s] &&
(isspace(exclude_list[s]) || (isspace((unsigned char)exclude_list[s]) ||
exclude_list[s] == ',')) s++; exclude_list[s] == ',')) s++;
if (!exclude_list[s]) break; if (!exclude_list[s]) break;
@ -289,7 +289,7 @@ static int proxy_for_destination (SockAddr addr, char *hostname, int port,
e = s; e = s;
while (exclude_list[e] && while (exclude_list[e] &&
(isalnum(exclude_list[e]) || (isalnum((unsigned char)exclude_list[e]) ||
exclude_list[e] == '-' || exclude_list[e] == '-' ||
exclude_list[e] == '.' || exclude_list[e] == '.' ||
exclude_list[e] == '*')) e++; exclude_list[e] == '*')) e++;
@ -325,7 +325,7 @@ static int proxy_for_destination (SockAddr addr, char *hostname, int port,
/* Make sure we really have reached the next comma or end-of-string */ /* Make sure we really have reached the next comma or end-of-string */
while (exclude_list[s] && while (exclude_list[s] &&
!isspace(exclude_list[s]) && !isspace((unsigned char)exclude_list[s]) &&
exclude_list[s] != ',') s++; exclude_list[s] != ',') s++;
} }

View File

@ -169,7 +169,7 @@ static char *rlogin_init(void *frontend_handle, void **backend_handle,
sk_write(rlogin->s, cfg->termtype, sk_write(rlogin->s, cfg->termtype,
strlen(cfg->termtype)); strlen(cfg->termtype));
sk_write(rlogin->s, "/", 1); sk_write(rlogin->s, "/", 1);
for (p = cfg->termspeed; isdigit(*p); p++) continue; for (p = cfg->termspeed; isdigit((unsigned char)*p); p++) continue;
sk_write(rlogin->s, cfg->termspeed, p - cfg->termspeed); sk_write(rlogin->s, cfg->termspeed, p - cfg->termspeed);
rlogin->bufsize = sk_write(rlogin->s, &z, 1); rlogin->bufsize = sk_write(rlogin->s, &z, 1);
} }

View File

@ -80,7 +80,7 @@ void provide_xrm_string(char *string)
memcpy(key, p, q-p); memcpy(key, p, q-p);
key[q-p-1] = '\0'; key[q-p-1] = '\0';
xrms->key = key; xrms->key = key;
while (*q && isspace(*q)) while (*q && isspace((unsigned char)*q))
q++; q++;
xrms->value = dupstr(q); xrms->value = dupstr(q);