提交 00dfbaad 编写于 作者: P Pauli

Fix ctype arguments.

Cast arguments to the various ctype functions to unsigned char to match their
documentation.
Reviewed-by: NAndy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4203)
上级 0d68367a
......@@ -61,7 +61,7 @@ char *opt_progname(const char *argv0)
if (n > sizeof prog - 1)
n = sizeof prog - 1;
for (q = prog, i = 0; i < n; i++, p++)
*q++ = isupper(*p) ? tolower(*p) : *p;
*q++ = tolower((unsigned char)*p);
*q = '\0';
return prog;
}
......
......@@ -300,7 +300,7 @@ static int massage_filename(char *name)
if (q != NULL) {
for (q++; *q != '\0'; q++) {
if (!isdigit(*q))
if (!isdigit((unsigned char)*q))
return 1;
}
}
......
......@@ -1001,7 +1001,8 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
((ch >= 'a') && (ch <= 'z')) ||
(ch == '-') || (ch == '.') || (ch == '='))
#else
while (isalnum(ch) || (ch == '-') || (ch == '.') || (ch == '='))
while (isalnum((unsigned char)ch) || (ch == '-') || (ch == '.')
|| (ch == '='))
#endif
{
ch = *(++l);
......
......@@ -109,7 +109,7 @@ static int atoi64(const char *in, int64_t *result)
for ( ; *in != '\0'; in++) {
char c = *in;
if (!isdigit(c))
if (!isdigit((unsigned char)c))
return 0;
ret *= 10;
ret += (c - '0');
......
......@@ -1302,7 +1302,7 @@ static int parse_uint64(const char *value, uint64_t *pr)
return -1;
}
*pr *= 10;
if (!TEST_true(isdigit(*p))) {
if (!TEST_true(isdigit((unsigned char)*p))) {
TEST_error("Invalid character in string %s", value);
return -1;
}
......
......@@ -72,12 +72,12 @@ static void test_fail_string_common(const char *prefix, const char *file,
if (l1 > 0) {
b1[n1 = l1 > width ? width : l1] = 0;
for (i = 0; i < n1; i++)
b1[i] = isprint(m1[i]) ? m1[i] : '.';
b1[i] = isprint((unsigned char)m1[i]) ? m1[i] : '.';
}
if (l2 > 0) {
b2[n2 = l2 > width ? width : l2] = 0;
for (i = 0; i < n2; i++)
b2[i] = isprint(m2[i]) ? m2[i] : '.';
b2[i] = isprint((unsigned char)m2[i]) ? m2[i] : '.';
}
diff = 0;
i = 0;
......
......@@ -70,12 +70,12 @@ static char *strip_spaces(char *p)
char *q;
/* Skip over leading spaces */
while (*p && isspace(*p))
while (*p && isspace((unsigned char)*p))
p++;
if (!*p)
return NULL;
for (q = p + strlen(p) - 1; q != p && isspace(*q); )
for (q = p + strlen(p) - 1; q != p && isspace((unsigned char)*q); )
*q-- = '\0';
return *p ? p : NULL;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册