mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38: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:
parent
43fe7d3c87
commit
73203bce79
4
ldisc.c
4
ldisc.c
@ -164,8 +164,8 @@ void ldisc_send(void *handle, char *buf, int len, int interactive)
|
||||
bsb(ldisc, plen(ldisc, ldisc->buf[ldisc->buflen - 1]));
|
||||
ldisc->buflen--;
|
||||
if (ldisc->buflen > 0 &&
|
||||
isspace(ldisc->buf[ldisc->buflen - 1]) &&
|
||||
!isspace(ldisc->buf[ldisc->buflen]))
|
||||
isspace((unsigned char)ldisc->buf[ldisc->buflen-1]) &&
|
||||
!isspace((unsigned char)ldisc->buf[ldisc->buflen]))
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
6
proxy.c
6
proxy.c
@ -281,7 +281,7 @@ static int proxy_for_destination (SockAddr addr, char *hostname, int port,
|
||||
|
||||
while (exclude_list[s]) {
|
||||
while (exclude_list[s] &&
|
||||
(isspace(exclude_list[s]) ||
|
||||
(isspace((unsigned char)exclude_list[s]) ||
|
||||
exclude_list[s] == ',')) s++;
|
||||
|
||||
if (!exclude_list[s]) break;
|
||||
@ -289,7 +289,7 @@ static int proxy_for_destination (SockAddr addr, char *hostname, int port,
|
||||
e = s;
|
||||
|
||||
while (exclude_list[e] &&
|
||||
(isalnum(exclude_list[e]) ||
|
||||
(isalnum((unsigned char)exclude_list[e]) ||
|
||||
exclude_list[e] == '-' ||
|
||||
exclude_list[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 */
|
||||
while (exclude_list[s] &&
|
||||
!isspace(exclude_list[s]) &&
|
||||
!isspace((unsigned char)exclude_list[s]) &&
|
||||
exclude_list[s] != ',') s++;
|
||||
}
|
||||
|
||||
|
2
rlogin.c
2
rlogin.c
@ -169,7 +169,7 @@ static char *rlogin_init(void *frontend_handle, void **backend_handle,
|
||||
sk_write(rlogin->s, cfg->termtype,
|
||||
strlen(cfg->termtype));
|
||||
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);
|
||||
rlogin->bufsize = sk_write(rlogin->s, &z, 1);
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ void provide_xrm_string(char *string)
|
||||
memcpy(key, p, q-p);
|
||||
key[q-p-1] = '\0';
|
||||
xrms->key = key;
|
||||
while (*q && isspace(*q))
|
||||
while (*q && isspace((unsigned char)*q))
|
||||
q++;
|
||||
xrms->value = dupstr(q);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user