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:
parent
a2bd2e60b5
commit
d198b4b8bb
@ -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;
|
||||
|
@ -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 @@ nohost:
|
||||
}
|
||||
u->doc = doc;
|
||||
while (*p != '\0') {
|
||||
if (!isspace((int)*p)) {
|
||||
if (!isspace((unsigned char)*p)) {
|
||||
*doc++ = *p++;
|
||||
} else {
|
||||
*doc++ = '%';
|
||||
|
@ -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;
|
||||
|
@ -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 == '-') {
|
||||
|
Loading…
x
Reference in New Issue
Block a user