]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[CLEANUP] shut warnings 'is*' macros from ctype.h on solaris
authorWilly Tarreau <w@1wt.eu>
Sun, 17 Jun 2007 19:51:38 +0000 (21:51 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 17 Jun 2007 19:51:38 +0000 (21:51 +0200)
Solaris visibly uses an array for is*, which returns warnings
about the use of signed chars as indexes. Good opportunity to
put casts everywhere.

src/acl.c
src/cfgparse.c
src/proto_http.c
src/regex.c

index a4744602ec9c99ea3b4362c92f6d7752d4e18a61..f7ac06c0e824481a43de8a8765ce04a2399bf8a7 100644 (file)
--- a/src/acl.c
+++ b/src/acl.c
@@ -324,7 +324,7 @@ int acl_parse_int(const char **text, struct acl_pattern *pattern, int *opaque)
        const char *ptr = *text;
 
 
-       while (!isdigit(*ptr)) {
+       while (!isdigit((unsigned char)*ptr)) {
                if      (strcmp(ptr, "eq") == 0) *opaque = 0;
                else if (strcmp(ptr, "gt") == 0) *opaque = 1;
                else if (strcmp(ptr, "ge") == 0) *opaque = 2;
index f3aefa0d551b425649fccf91795b046fb3cc5f29..39abbc318adba2ef5f82b41ca0bc02b6fe3e73e5 100644 (file)
@@ -1335,7 +1335,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args)
                if (rport) {
                        *rport++ = 0;
                        realport = atol(rport);
-                       if (!isdigit((int)*rport))
+                       if (!isdigit((unsigned char)*rport))
                                newsrv->state |= SRV_MAPPORTS;
                } else {
                        realport = 0;
@@ -2264,7 +2264,7 @@ int readcfgfile(const char *file)
                end = line + strlen(line);
 
                /* skip leading spaces */
-               while (isspace((int)*line))
+               while (isspace((unsigned char)*line))
                        line++;
        
                arg = 0;
@@ -2318,10 +2318,10 @@ int readcfgfile(const char *file)
                                *line = 0;
                                break;
                        }
-                       else if (isspace((int)*line)) {
+                       else if (isspace((unsigned char)*line)) {
                                /* a non-escaped space is an argument separator */
                                *line++ = 0;
-                               while (isspace((int)*line))
+                               while (isspace((unsigned char)*line))
                                        line++;
                                args[++arg] = line;
                        }
index 33f1a95b81f808fc426630905dc4ce0dbfdfb403..9044d5d0a2c263ad853ba2eb39ac2f42cec9e2e5 100644 (file)
@@ -4264,7 +4264,7 @@ void manage_client_side_cookies(struct session *t, struct buffer *req)
                        while (p1 < cur_end) {
                                if (*p1 == ';' || *p1 == ',')
                                        colon = p1;
-                               else if (!isspace((int)*p1))
+                               else if (!isspace((unsigned char)*p1))
                                        break;
                                p1++;
                        }
@@ -4285,7 +4285,7 @@ void manage_client_side_cookies(struct session *t, struct buffer *req)
                                break;
                    
                        p4 = p3;
-                       while (p4 < cur_end && !isspace((int)*p4) && *p4 != ';' && *p4 != ',')
+                       while (p4 < cur_end && !isspace((unsigned char)*p4) && *p4 != ';' && *p4 != ',')
                                p4++;
 
                        /* here, we have the cookie name between p1 and p2,
@@ -4833,7 +4833,7 @@ void manage_server_side_cookies(struct session *t, struct buffer *rtr)
                                break;
 
                        p4 = p3;
-                       while (p4 < cur_end && !isspace((int)*p4) && *p4 != ';')
+                       while (p4 < cur_end && !isspace((unsigned char)*p4) && *p4 != ';')
                                p4++;
 
                        /* here, we have the cookie name between p1 and p2,
@@ -5025,7 +5025,7 @@ void check_response_for_cacheability(struct session *t, struct buffer *rtr)
                /* p1 is at the beginning of the value */
                p2 = p1;
 
-               while (p2 < cur_end && *p2 != '=' && *p2 != ',' && !isspace((int)*p2))
+               while (p2 < cur_end && *p2 != '=' && *p2 != ',' && !isspace((unsigned char)*p2))
                        p2++;
 
                /* we have a complete value between p1 and p2 */
@@ -5622,11 +5622,11 @@ acl_fetch_path(struct proxy *px, struct session *l4, void *l7, int dir,
        if (*ptr == '*')
                return 0;
 
-       if (isalpha(*ptr)) {
+       if (isalpha((unsigned char)*ptr)) {
                /* this is a scheme as described by RFC3986, par. 3.1 */
                ptr++;
                while (ptr < end &&
-                      (isalnum(*ptr) || *ptr == '+' || *ptr == '-' || *ptr == '.'))
+                      (isalnum((unsigned char)*ptr) || *ptr == '+' || *ptr == '-' || *ptr == '.'))
                        ptr++;
                /* skip '://' */
                if (ptr == end || *ptr++ != ':')
index ae7620068f3a4de1d359f9061571545147b6f722..70093667fa416950972b842495971c1091dde4f6 100644 (file)
@@ -31,7 +31,7 @@ int exp_replace(char *dst, char *src, const char *str, const regmatch_t *matches
        while (*str) {
                if (*str == '\\') {
                        str++;
-                       if (isdigit((int)*str)) {
+                       if (isdigit((unsigned char)*str)) {
                                int len, num;
 
                                num = *str - '0';
@@ -74,7 +74,7 @@ const char *check_replace_string(const char *str)
                        str++;
                        if (!*str)
                                return err;
-                       else if (isdigit((int)*str))
+                       else if (isdigit((unsigned char)*str))
                                err = NULL;
                        else if (*str == 'x') {
                                str++;