mirror of
https://github.com/NLnetLabs/unbound.git
synced 2024-09-21 06:37:08 +00:00
More unsigned chasts for toupper/tolower/ctype
git-svn-id: file:///svn/unbound/trunk@3242 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
f607500a2c
commit
339a6be27d
@ -103,7 +103,7 @@ inet_aton(const char *cp, struct in_addr *addr)
|
||||
* Values are specified as for C:
|
||||
* 0x=hex, 0=octal, isdigit=decimal.
|
||||
*/
|
||||
if (!isdigit(c))
|
||||
if (!isdigit((unsigned char)c))
|
||||
return (0);
|
||||
val = 0; base = 10;
|
||||
if (c == '0') {
|
||||
@ -114,12 +114,12 @@ inet_aton(const char *cp, struct in_addr *addr)
|
||||
base = 8;
|
||||
}
|
||||
for (;;) {
|
||||
if (isascii(c) && isdigit(c)) {
|
||||
if (isascii((unsigned char)c) && isdigit((unsigned char)c)) {
|
||||
val = (val * base) + (c - '0');
|
||||
c = *++cp;
|
||||
} else if (base == 16 && isascii(c) && isxdigit(c)) {
|
||||
} else if (base == 16 && isascii((unsigned char)c) && isxdigit((unsigned char)c)) {
|
||||
val = (val << 4) |
|
||||
(c + 10 - (islower(c) ? 'a' : 'A'));
|
||||
(c + 10 - (islower((unsigned char)c) ? 'a' : 'A'));
|
||||
c = *++cp;
|
||||
} else
|
||||
break;
|
||||
@ -141,7 +141,7 @@ inet_aton(const char *cp, struct in_addr *addr)
|
||||
/*
|
||||
* Check for trailing characters.
|
||||
*/
|
||||
if (c != '\0' && (!isascii(c) || !isspace(c)))
|
||||
if (c != '\0' && (!isascii((unsigned char)c) || !isspace((unsigned char)c)))
|
||||
return (0);
|
||||
/*
|
||||
* Concoct the address according to
|
||||
|
@ -89,7 +89,7 @@ str2int(const char **buf, int max)
|
||||
{
|
||||
int ret=0, count=0;
|
||||
|
||||
while (*buf[0] != '\0' && isdigit(*buf[0]) && count<max) {
|
||||
while (*buf[0] != '\0' && isdigit((unsigned char)*buf[0]) && count<max) {
|
||||
ret = ret*10 + (*buf[0] - '0');
|
||||
(*buf)++;
|
||||
count++;
|
||||
|
@ -288,9 +288,9 @@ sldns_parse_escape(uint8_t *ch_p, const char** str_p)
|
||||
{
|
||||
uint16_t val;
|
||||
|
||||
if ((*str_p)[0] && isdigit((*str_p)[0]) &&
|
||||
(*str_p)[1] && isdigit((*str_p)[1]) &&
|
||||
(*str_p)[2] && isdigit((*str_p)[2])) {
|
||||
if ((*str_p)[0] && isdigit((unsigned char)(*str_p)[0]) &&
|
||||
(*str_p)[1] && isdigit((unsigned char)(*str_p)[1]) &&
|
||||
(*str_p)[2] && isdigit((unsigned char)(*str_p)[2])) {
|
||||
|
||||
val = (uint16_t)(((*str_p)[0] - '0') * 100 +
|
||||
((*str_p)[1] - '0') * 10 +
|
||||
@ -303,7 +303,7 @@ sldns_parse_escape(uint8_t *ch_p, const char** str_p)
|
||||
*str_p += 3;
|
||||
return 1;
|
||||
|
||||
} else if ((*str_p)[0] && !isdigit((*str_p)[0])) {
|
||||
} else if ((*str_p)[0] && !isdigit((unsigned char)(*str_p)[0])) {
|
||||
|
||||
*ch_p = (uint8_t)*(*str_p)++;
|
||||
return 1;
|
||||
|
@ -1929,7 +1929,7 @@ int sldns_str2wire_tag_buf(const char* str, uint8_t* rd, size_t* len)
|
||||
if(*len < slen+1)
|
||||
return LDNS_WIREPARSE_ERR_BUFFER_TOO_SMALL;
|
||||
for (ptr = str; *ptr; ptr++) {
|
||||
if(!isalnum(*ptr))
|
||||
if(!isalnum((unsigned char)*ptr))
|
||||
return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_TAG, ptr-str);
|
||||
}
|
||||
rd[0] = slen;
|
||||
|
@ -959,7 +959,7 @@ ub_ctx_resolvconf(struct ub_ctx* ctx, const char* fname)
|
||||
parse++;
|
||||
addr = parse;
|
||||
/* skip [0-9a-fA-F.:]*, i.e. IP4 and IP6 address */
|
||||
while(isxdigit(*parse) || *parse=='.' || *parse==':')
|
||||
while(isxdigit((unsigned char)*parse) || *parse=='.' || *parse==':')
|
||||
parse++;
|
||||
/* terminate after the address, remove newline */
|
||||
*parse = 0;
|
||||
@ -1031,7 +1031,7 @@ ub_ctx_hosts(struct ub_ctx* ctx, const char* fname)
|
||||
/* format: <addr> spaces <name> spaces <name> ... */
|
||||
addr = parse;
|
||||
/* skip addr */
|
||||
while(isxdigit(*parse) || *parse == '.' || *parse == ':')
|
||||
while(isxdigit((unsigned char)*parse) || *parse == '.' || *parse == ':')
|
||||
parse++;
|
||||
if(*parse == '\n' || *parse == 0)
|
||||
continue;
|
||||
|
@ -1334,16 +1334,16 @@ serviced_perturb_qname(struct ub_randstate* rnd, uint8_t* qbuf, size_t len)
|
||||
while(lablen) {
|
||||
while(lablen--) {
|
||||
/* only perturb A-Z, a-z */
|
||||
if(isalpha((int)*d)) {
|
||||
if(isalpha((unsigned char)*d)) {
|
||||
/* get a random bit */
|
||||
if(bits == 0) {
|
||||
random = ub_random(rnd);
|
||||
bits = 30;
|
||||
}
|
||||
if(random & 0x1) {
|
||||
*d = (uint8_t)toupper((int)*d);
|
||||
*d = (uint8_t)toupper((unsigned char)*d);
|
||||
} else {
|
||||
*d = (uint8_t)tolower((int)*d);
|
||||
*d = (uint8_t)tolower((unsigned char)*d);
|
||||
}
|
||||
random >>= 1;
|
||||
bits--;
|
||||
|
@ -49,7 +49,7 @@ static void
|
||||
skip_whites(const char** p)
|
||||
{
|
||||
while(1) {
|
||||
while(isspace((int)**p))
|
||||
while(isspace((unsigned char)**p))
|
||||
(*p)++;
|
||||
if(**p == ';') {
|
||||
/* comment, skip until newline */
|
||||
@ -71,11 +71,11 @@ void hex_to_buf(sldns_buffer* pkt, const char* hex)
|
||||
skip_whites(&p);
|
||||
if(sldns_buffer_position(pkt) == sldns_buffer_limit(pkt))
|
||||
fatal_exit("hex_to_buf: buffer too small");
|
||||
if(!isalnum((int)*p))
|
||||
if(!isalnum((unsigned char)*p))
|
||||
break;
|
||||
val = sldns_hexdigit_to_int(*p++) << 4;
|
||||
skip_whites(&p);
|
||||
log_assert(*p && isalnum((int)*p));
|
||||
log_assert(*p && isalnum((unsigned char)*p));
|
||||
val |= sldns_hexdigit_to_int(*p++);
|
||||
sldns_buffer_write_u8(pkt, (uint8_t)val);
|
||||
skip_whites(&p);
|
||||
|
@ -651,7 +651,7 @@ do_macro_variable(rbtree_t* store, char* buf, size_t remain)
|
||||
char sv;
|
||||
if(at[0]==0)
|
||||
return NULL; /* no variable name after $ */
|
||||
while(*at && (isalnum((int)*at) || *at=='_')) {
|
||||
while(*at && (isalnum((unsigned char)*at) || *at=='_')) {
|
||||
at++;
|
||||
}
|
||||
/* terminator, we are working in macro_expand() buffer */
|
||||
@ -724,7 +724,7 @@ do_macro_arith(char* orig, size_t remain, char** arithstart)
|
||||
/* remember start pos of expr, skip the first number */
|
||||
at = orig;
|
||||
*arithstart = at;
|
||||
while(*at && (isdigit((int)*at) || *at == '.'))
|
||||
while(*at && (isdigit((unsigned char)*at) || *at == '.'))
|
||||
at++;
|
||||
return at;
|
||||
}
|
||||
@ -737,7 +737,7 @@ do_macro_arith(char* orig, size_t remain, char** arithstart)
|
||||
*arithstart = NULL;
|
||||
return do_macro_arith(orig, remain, arithstart);
|
||||
}
|
||||
if(isdigit((int)operator)) {
|
||||
if(isdigit((unsigned char)operator)) {
|
||||
*arithstart = orig;
|
||||
return at+skip; /* do nothing, but setup for later number */
|
||||
}
|
||||
@ -820,13 +820,13 @@ macro_expand(rbtree_t* store, struct replay_runtime* runtime, char** text)
|
||||
at = do_macro_recursion(store, runtime, at, remain);
|
||||
} else if(*at == '$') {
|
||||
at = do_macro_variable(store, at, remain);
|
||||
} else if(isdigit((int)*at)) {
|
||||
} else if(isdigit((unsigned char)*at)) {
|
||||
at = do_macro_arith(at, remain, &arithstart);
|
||||
} else {
|
||||
/* copy until whitespace or operator */
|
||||
if(*at && (isalnum((int)*at) || *at=='_')) {
|
||||
if(*at && (isalnum((unsigned char)*at) || *at=='_')) {
|
||||
at++;
|
||||
while(*at && (isalnum((int)*at) || *at=='_'))
|
||||
while(*at && (isalnum((unsigned char)*at) || *at=='_'))
|
||||
at++;
|
||||
} else at++;
|
||||
}
|
||||
|
@ -344,7 +344,7 @@ hex_buffer2wire(sldns_buffer *data_buffer)
|
||||
for (data_buf_pos = 0; data_buf_pos < sldns_buffer_position(data_buffer); data_buf_pos++) {
|
||||
c = (int) data_wire[data_buf_pos];
|
||||
|
||||
if (state < 2 && !isascii(c)) {
|
||||
if (state < 2 && !isascii((unsigned char)c)) {
|
||||
/*verbose("non ascii character found in file: (%d) switching to raw mode\n", c);*/
|
||||
state = 2;
|
||||
}
|
||||
|
@ -1113,9 +1113,9 @@ cfg_count_numbers(const char* s)
|
||||
s++;
|
||||
if(!*s) /* only - not allowed */
|
||||
return 0;
|
||||
if(!isdigit((int)*s)) /* bad character */
|
||||
if(!isdigit((unsigned char)*s)) /* bad character */
|
||||
return 0;
|
||||
while(*s && isdigit((int)*s))
|
||||
while(*s && isdigit((unsigned char)*s))
|
||||
s++;
|
||||
num++;
|
||||
}
|
||||
@ -1127,7 +1127,7 @@ static int isalldigit(const char* str, size_t l)
|
||||
{
|
||||
size_t i;
|
||||
for(i=0; i<l; i++)
|
||||
if(!isdigit(str[i]))
|
||||
if(!isdigit((unsigned char)str[i]))
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
@ -1159,7 +1159,7 @@ cfg_parse_memsize(const char* str, size_t* res)
|
||||
mult = 1024*1024;
|
||||
else if(len > 1 && tolower(str[len-1]) == 'k')
|
||||
mult = 1024;
|
||||
else if(len > 0 && isdigit(str[len-1]))
|
||||
else if(len > 0 && isdigit((unsigned char)str[len-1]))
|
||||
mult = 1;
|
||||
else {
|
||||
log_err("unknown size specifier: '%s'", str);
|
||||
|
@ -114,8 +114,8 @@ query_dname_compare(register uint8_t* d1, register uint8_t* d2)
|
||||
while(lab1--) {
|
||||
/* compare bytes first for speed */
|
||||
if(*d1 != *d2 &&
|
||||
tolower((int)*d1) != tolower((int)*d2)) {
|
||||
if(tolower((int)*d1) < tolower((int)*d2))
|
||||
tolower((unsigned char)*d1) != tolower((unsigned char)*d2)) {
|
||||
if(tolower((unsigned char)*d1) < tolower((unsigned char)*d2))
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
@ -138,7 +138,7 @@ query_dname_tolower(uint8_t* dname)
|
||||
while(labellen) {
|
||||
dname++;
|
||||
while(labellen--) {
|
||||
*dname = (uint8_t)tolower((int)*dname);
|
||||
*dname = (uint8_t)tolower((unsigned char)*dname);
|
||||
dname++;
|
||||
}
|
||||
labellen = *dname;
|
||||
@ -167,7 +167,7 @@ pkt_dname_tolower(sldns_buffer* pkt, uint8_t* dname)
|
||||
if(dname+lablen >= sldns_buffer_end(pkt))
|
||||
return;
|
||||
while(lablen--) {
|
||||
*dname = (uint8_t)tolower((int)*dname);
|
||||
*dname = (uint8_t)tolower((unsigned char)*dname);
|
||||
dname++;
|
||||
}
|
||||
if(dname >= sldns_buffer_end(pkt))
|
||||
@ -256,8 +256,8 @@ dname_pkt_compare(sldns_buffer* pkt, uint8_t* d1, uint8_t* d2)
|
||||
log_assert(len1 == len2 && len1 != 0);
|
||||
/* compare labels */
|
||||
while(len1--) {
|
||||
if(tolower((int)*d1++) != tolower((int)*d2++)) {
|
||||
if(tolower((int)d1[-1]) < tolower((int)d2[-1]))
|
||||
if(tolower((unsigned char)*d1++) != tolower((unsigned char)*d2++)) {
|
||||
if(tolower((unsigned char)d1[-1]) < tolower((unsigned char)d2[-1]))
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
@ -282,7 +282,7 @@ dname_query_hash(uint8_t* dname, hashvalue_t h)
|
||||
labuf[0] = lablen;
|
||||
i=0;
|
||||
while(lablen--)
|
||||
labuf[++i] = (uint8_t)tolower((int)*dname++);
|
||||
labuf[++i] = (uint8_t)tolower((unsigned char)*dname++);
|
||||
h = hashlittle(labuf, labuf[0] + 1, h);
|
||||
lablen = *dname++;
|
||||
}
|
||||
@ -310,7 +310,7 @@ dname_pkt_hash(sldns_buffer* pkt, uint8_t* dname, hashvalue_t h)
|
||||
labuf[0] = lablen;
|
||||
i=0;
|
||||
while(lablen--)
|
||||
labuf[++i] = (uint8_t)tolower((int)*dname++);
|
||||
labuf[++i] = (uint8_t)tolower((unsigned char)*dname++);
|
||||
h = hashlittle(labuf, labuf[0] + 1, h);
|
||||
lablen = *dname++;
|
||||
}
|
||||
@ -423,8 +423,8 @@ static int
|
||||
memlowercmp(uint8_t* p1, uint8_t* p2, uint8_t len)
|
||||
{
|
||||
while(len--) {
|
||||
if(*p1 != *p2 && tolower((int)*p1) != tolower((int)*p2)) {
|
||||
if(tolower((int)*p1) < tolower((int)*p2))
|
||||
if(*p1 != *p2 && tolower((unsigned char)*p1) != tolower((unsigned char)*p2)) {
|
||||
if(tolower((unsigned char)*p1) < tolower((unsigned char)*p2))
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
@ -480,10 +480,10 @@ dname_lab_cmp(uint8_t* d1, int labs1, uint8_t* d2, int labs2, int* mlabs)
|
||||
* lastdiff = c;
|
||||
* lastmlabs = atlabel; } apart from d1++,d2++ */
|
||||
while(len1) {
|
||||
if(*d1 != *d2 && tolower((int)*d1)
|
||||
!= tolower((int)*d2)) {
|
||||
if(tolower((int)*d1) <
|
||||
tolower((int)*d2)) {
|
||||
if(*d1 != *d2 && tolower((unsigned char)*d1)
|
||||
!= tolower((unsigned char)*d2)) {
|
||||
if(tolower((unsigned char)*d1) <
|
||||
tolower((unsigned char)*d2)) {
|
||||
lastdiff = -1;
|
||||
lastmlabs = atlabel;
|
||||
d1 += len1;
|
||||
@ -561,7 +561,7 @@ void dname_str(uint8_t* dname, char* str)
|
||||
return;
|
||||
}
|
||||
while(lablen--) {
|
||||
if(isalnum((int)*dname)
|
||||
if(isalnum((unsigned char)*dname)
|
||||
|| *dname == '-' || *dname == '_'
|
||||
|| *dname == '*')
|
||||
*s++ = *(char*)dname++;
|
||||
|
@ -731,8 +731,8 @@ label_compare_lower(uint8_t* lab1, uint8_t* lab2, size_t lablen)
|
||||
{
|
||||
size_t i;
|
||||
for(i=0; i<lablen; i++) {
|
||||
if(tolower((int)*lab1) != tolower((int)*lab2)) {
|
||||
if(tolower((int)*lab1) < tolower((int)*lab2))
|
||||
if(tolower((unsigned char)*lab1) != tolower((unsigned char)*lab2)) {
|
||||
if(tolower((unsigned char)*lab1) < tolower((unsigned char)*lab2))
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user