As several people pointed out, I did all the ctype casts the wrong

way (not for the first time...)

Noticed by:	bde, ru ++
MFC after:	1 week
This commit is contained in:
Dag-Erling Smørgrav 2007-12-19 00:26:36 +00:00
parent 7ff4930d73
commit facd982794
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=174761
4 changed files with 36 additions and 28 deletions

View file

@ -763,12 +763,12 @@ fetch_no_proxy_match(const char *host)
p = no_proxy;
do {
/* position p at the beginning of a domain suffix */
while (*p == ',' || isspace((int)*p))
while (*p == ',' || isspace((unsigned char)*p))
p++;
/* position q at the first separator character */
for (q = p; *q; ++q)
if (*q == ',' || isspace((int)*q))
if (*q == ',' || isspace((unsigned char)*q))
break;
d_len = q - p;

View file

@ -369,7 +369,7 @@ fetchParseURL(const char *URL)
/* port */
if (*p == ':') {
for (q = ++p; *q && (*q != '/'); q++)
if (isdigit((int)*q))
if (isdigit((unsigned char)*q))
u->port = u->port * 10 + (*q - '0');
else {
/* invalid port */
@ -395,7 +395,7 @@ fetchParseURL(const char *URL)
}
u->doc = doc;
while (*p != '\0') {
if (!isspace((int)*p)) {
if (!isspace((unsigned char)*p)) {
*doc++ = *p++;
} else {
*doc++ = '%';

View file

@ -102,11 +102,16 @@ __FBSDID("$FreeBSD$");
static struct url cached_host;
static conn_t *cached_connection;
#define isftpreply(foo) (isdigit((int)foo[0]) && isdigit((int)foo[1]) \
&& isdigit((int)foo[2]) \
&& (foo[3] == ' ' || foo[3] == '\0'))
#define isftpinfo(foo) (isdigit((int)foo[0]) && isdigit((int)foo[1]) \
&& isdigit((int)foo[2]) && foo[3] == '-')
#define isftpreply(foo) \
(isdigit((unsigned char)foo[0]) && \
isdigit((unsigned char)foo[1]) && \
isdigit((unsigned char)foo[2]) && \
(foo[3] == ' ' || foo[3] == '\0'))
#define isftpinfo(foo) \
(isdigit((unsigned char)foo[0]) && \
isdigit((unsigned char)foo[1]) && \
isdigit((unsigned char)foo[2]) && \
foo[3] == '-')
/*
* Translate IPv4 mapped IPv6 address to IPv4 address
@ -150,7 +155,8 @@ ftp_chkerr(conn_t *conn)
}
}
while (conn->buflen && isspace((int)conn->buf[conn->buflen - 1]))
while (conn->buflen &&
isspace((unsigned char)conn->buf[conn->buflen - 1]))
conn->buflen--;
conn->buf[conn->buflen] = '\0';
@ -414,11 +420,11 @@ ftp_stat(conn_t *conn, const char *file, struct url_stat *us)
ftp_seterr(e);
return (-1);
}
for (ln = conn->buf + 4; *ln && isspace((int)*ln); ln++)
for (ln = conn->buf + 4; *ln && isspace((unsigned char)*ln); ln++)
/* nothing */ ;
for (us->size = 0; *ln && isdigit((int)*ln); ln++)
for (us->size = 0; *ln && isdigit((unsigned char)*ln); ln++)
us->size = us->size * 10 + *ln - '0';
if (*ln && !isspace((int)*ln)) {
if (*ln && !isspace((unsigned char)*ln)) {
ftp_seterr(FTP_PROTOCOL_ERROR);
us->size = -1;
return (-1);
@ -432,7 +438,7 @@ ftp_stat(conn_t *conn, const char *file, struct url_stat *us)
ftp_seterr(e);
return (-1);
}
for (ln = conn->buf + 4; *ln && isspace((int)*ln); ln++)
for (ln = conn->buf + 4; *ln && isspace((unsigned char)*ln); ln++)
/* nothing */ ;
switch (strspn(ln, "0123456789")) {
case 14:
@ -691,7 +697,7 @@ ftp_transfer(conn_t *conn, const char *oper, const char *file,
switch (e) {
case FTP_PASSIVE_MODE:
case FTP_LPASSIVE_MODE:
for (p = ln + 3; *p && !isdigit((int)*p); p++)
for (p = ln + 3; *p && !isdigit((unsigned char)*p); p++)
/* nothing */ ;
if (!*p) {
e = FTP_PROTOCOL_ERROR;

View file

@ -137,15 +137,15 @@ http_new_chunk(struct httpio *io)
if (fetch_getln(io->conn) == -1)
return (-1);
if (io->conn->buflen < 2 || !isxdigit((int)*io->conn->buf))
if (io->conn->buflen < 2 || !isxdigit((unsigned char)*io->conn->buf))
return (-1);
for (p = io->conn->buf; *p && !isspace((int)*p); ++p) {
for (p = io->conn->buf; *p && !isspace((unsigned char)*p); ++p) {
if (*p == ';')
break;
if (!isxdigit((int)*p))
if (!isxdigit((unsigned char)*p))
return (-1);
if (isdigit((int)*p)) {
if (isdigit((unsigned char)*p)) {
io->chunksize = io->chunksize * 16 +
*p - '0';
} else {
@ -417,8 +417,10 @@ http_get_reply(conn_t *conn)
return (HTTP_PROTOCOL_ERROR);
p += 4;
}
if (*p != ' ' || !isdigit((int)p[1]) ||
!isdigit((int)p[2]) || !isdigit((int)p[3]))
if (*p != ' ' ||
!isdigit((unsigned char)p[1]) ||
!isdigit((unsigned char)p[2]) ||
!isdigit((unsigned char)p[3]))
return (HTTP_PROTOCOL_ERROR);
conn->err = (p[1] - '0') * 100 + (p[2] - '0') * 10 + (p[3] - '0');
@ -436,7 +438,7 @@ http_match(const char *str, const char *hdr)
/* nothing */;
if (*str || *hdr != ':')
return (NULL);
while (*hdr && isspace((int)*++hdr))
while (*hdr && isspace((unsigned char)*++hdr))
/* nothing */;
return (hdr);
}
@ -451,7 +453,7 @@ http_next_header(conn_t *conn, const char **p)
if (fetch_getln(conn) == -1)
return (hdr_syserror);
while (conn->buflen && isspace((int)conn->buf[conn->buflen - 1]))
while (conn->buflen && isspace((unsigned char)conn->buf[conn->buflen - 1]))
conn->buflen--;
conn->buf[conn->buflen] = '\0';
if (conn->buflen == 0)
@ -500,7 +502,7 @@ http_parse_length(const char *p, off_t *length)
{
off_t len;
for (len = 0; *p && isdigit((int)*p); ++p)
for (len = 0; *p && isdigit((unsigned char)*p); ++p)
len = len * 10 + (*p - '0');
if (*p)
return (-1);
@ -525,16 +527,16 @@ http_parse_range(const char *p, off_t *offset, off_t *length, off_t *size)
first = last = -1;
++p;
} else {
for (first = 0; *p && isdigit((int)*p); ++p)
for (first = 0; *p && isdigit((unsigned char)*p); ++p)
first = first * 10 + *p - '0';
if (*p != '-')
return (-1);
for (last = 0, ++p; *p && isdigit((int)*p); ++p)
for (last = 0, ++p; *p && isdigit((unsigned char)*p); ++p)
last = last * 10 + *p - '0';
}
if (first > last || *p != '/')
return (-1);
for (len = 0, ++p; *p && isdigit((int)*p); ++p)
for (len = 0, ++p; *p && isdigit((unsigned char)*p); ++p)
len = len * 10 + *p - '0';
if (*p || len < last - first + 1)
return (-1);
@ -750,7 +752,7 @@ http_print_html(FILE *out, FILE *in)
comment = tag = 0;
while ((line = fgetln(in, &len)) != NULL) {
while (len && isspace((int)line[len - 1]))
while (len && isspace((unsigned char)line[len - 1]))
--len;
for (p = q = line; q < line + len; ++q) {
if (comment && *q == '-') {