]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
More unsigned chasts for toupper/tolower/ctype
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 13 Oct 2014 08:35:00 +0000 (08:35 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 13 Oct 2014 08:35:00 +0000 (08:35 +0000)
git-svn-id: file:///svn/unbound/trunk@3242 be551aaa-1e26-0410-a405-d3ace91eadb9

12 files changed:
compat/inet_aton.c
compat/strptime.c
ldns/parseutil.c
ldns/str2wire.c
libunbound/libunbound.c
services/outside_network.c
testcode/readhex.c
testcode/replay.c
testcode/testpkts.c
util/config_file.c
util/data/dname.c
validator/val_nsec3.c

index 33c323d9986551768ca014c7f278263190f3039f..e93fe8d7398c7d94f1cbb62b49c1c5c3af30f465 100644 (file)
@@ -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
index 9a0caa535749584a491fdb78fd0a587e3bf33921..3dd8a7b4885a30e9bb212ffb27c7a869517faf34 100644 (file)
@@ -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++;
index 55e3a5b1ad9cf663076269f25e3d0a460a39e358..7d3841619a28cf37e7b9855a43835007c1cc7aae 100644 (file)
@@ -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;
index ff5060702a8a46149df55337bbe3ada44b141a73..31ef6e10a72cfd1dcbeb551f3cf658843ace9d1f 100644 (file)
@@ -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;
index 78d31968ac619d833cbfc17d25d6bc4c680e54d3..31c55fad90bb70827fa39d64438e108a117ffa03 100644 (file)
@@ -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;
index 986c53dd81202f3314ec645fa86ede18d5ba1a69..5bb52ff9fe444cbc33f1b421150745b2906a036d 100644 (file)
@@ -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--;
index b986efdebc1b4cb32226af19168f6d352ea9e422..d9aba09b71028688e8392f2260e48c62f591caca 100644 (file)
@@ -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);
index ee87b1a88fb7997825f527efe9063005031b9c23..eb2a7a6507d90a31a6eed56ccd0b084e1cc49197 100644 (file)
@@ -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++;
                }
index c5aa2445374ee4502f249528ea4f05b1f7752dca..725e3a4bad000640a72bc0efd442529d3e693d09 100644 (file)
@@ -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;
                }
index 96ec2f11db6c9a95d68335797e9d50241e867ba1..4bc7c0332a2d2759df45053d65d7145bfe871875 100644 (file)
@@ -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);
index 76f2e6458264cc45ce8dc25817b14c63db7c843a..d43bbf6d24076d0d9f5a1a2c8d8dbfc74ac8eb1a 100644 (file)
@@ -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++;
index fe5091c0a384c093ff4c725c9bb2e235bb8539ce..548daf2bf0a7b625720da0112661ce8bc2083635 100644 (file)
@@ -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;
                }