diff options
-rw-r--r-- | dlib/dlib.c | 10 | ||||
-rw-r--r-- | dlib/dlib.h | 4 | ||||
-rw-r--r-- | dpi/cookies.c | 8 | ||||
-rw-r--r-- | dpi/file.c | 2 | ||||
-rw-r--r-- | dpi/ftp.c | 4 | ||||
-rw-r--r-- | src/auth.c | 2 | ||||
-rw-r--r-- | src/colors.c | 2 | ||||
-rw-r--r-- | src/cookies.c | 6 | ||||
-rw-r--r-- | src/misc.c | 8 | ||||
-rw-r--r-- | src/url.c | 2 |
10 files changed, 26 insertions, 22 deletions
diff --git a/dlib/dlib.c b/dlib/dlib.c index a4a63995..d5383903 100644 --- a/dlib/dlib.c +++ b/dlib/dlib.c @@ -124,8 +124,8 @@ char *dStrstrip(char *s) int len; if (s && *s) { - for (p = s; isspace(*p); ++p); - for (len = strlen(p); len && isspace(p[len-1]); --len); + for (p = s; dIsspace(*p); ++p); + for (len = strlen(p); len && dIsspace(p[len-1]); --len); if (p > s) memmove(s, p, len); s[len] = 0; @@ -785,17 +785,17 @@ int dParser_parse_rc_line(char **line, char **name, char **value) ret = 1; } else if ((eq = strchr(*line, '='))) { /* get name */ - for (p = *line; *p && *p != '=' && !isspace(*p); ++p); + for (p = *line; *p && *p != '=' && !dIsspace(*p); ++p); *p = 0; *name = *line; /* skip whitespace */ if (p < eq) - for (++p; isspace(*p); ++p); + for (++p; dIsspace(*p); ++p); /* get value */ if (p == eq) { - for (++p; isspace(*p); ++p); + for (++p; dIsspace(*p); ++p); len = strlen(p); if (len >= 2 && *p == '"' && p[len-1] == '"') { p[len-1] = 0; diff --git a/dlib/dlib.h b/dlib/dlib.h index 72accfbd..ae9c7286 100644 --- a/dlib/dlib.h +++ b/dlib/dlib.h @@ -30,6 +30,10 @@ extern "C" { #undef MIN #define MIN(a, b) (((a) < (b)) ? (a) : (b)) +/* Handle signed char */ +#define dIsspace(c) isspace((uchar_t)(c)) +#define dIsalnum(c) isalnum((uchar_t)(c)) + /* *-- Casts ------------------------------------------------------------------- */ diff --git a/dpi/cookies.c b/dpi/cookies.c index 3dcc5d9a..d8eb4338 100644 --- a/dpi/cookies.c +++ b/dpi/cookies.c @@ -838,7 +838,7 @@ static CookieData_t *Cookies_parse_one(int url_port, char **cookie_str) continue; } /* Skip whitespace */ - while (isspace(*str)) + while (dIsspace(*str)) str++; /* Get attribute */ @@ -1262,17 +1262,17 @@ static int Cookie_control_init(void) j = 0; /* Get the domain */ - while (line[i] != '\0' && !isspace(line[i])) + while (line[i] != '\0' && !dIsspace(line[i])) domain[j++] = line[i++]; domain[j] = '\0'; /* Skip past whitespaces */ - while (isspace(line[i])) + while (dIsspace(line[i])) i++; /* Get the rule */ j = 0; - while (line[i] != '\0' && !isspace(line[i])) + while (line[i] != '\0' && !dIsspace(line[i])) rule[j++] = line[i++]; rule[j] = '\0'; @@ -122,7 +122,7 @@ static const char *File_get_content_type_from_data(void *Data, size_t Size) _MSG("File_get_content_type_from_data:: Size = %d\n", Size); /* HTML try */ - for (i = 0; i < Size && isspace(p[i]); ++i); + for (i = 0; i < Size && dIsspace(p[i]); ++i); if ((Size - i >= 5 && !dStrncasecmp(p+i, "<html", 5)) || (Size - i >= 5 && !dStrncasecmp(p+i, "<head", 5)) || (Size - i >= 6 && !dStrncasecmp(p+i, "<title", 6)) || @@ -97,7 +97,7 @@ static int a_Misc_get_content_type_from_data2(void *Data, size_t Size, size_t i, non_ascci; /* HTML try */ - for (i = 0; i < Size && isspace(p[i]); ++i); + for (i = 0; i < Size && dIsspace(p[i]); ++i); if ((Size - i >= 5 && !dStrncasecmp(p+i, "<html", 5)) || (Size - i >= 5 && !dStrncasecmp(p+i, "<head", 5)) || (Size - i >= 6 && !dStrncasecmp(p+i, "<title", 6)) || @@ -129,7 +129,7 @@ static int a_Misc_get_content_type_from_data2(void *Data, size_t Size, Size = MIN (Size, 256); for (i = 0; i < Size; i++) { ch = (uchar_t) p[i]; - if ((ch < 32 || ch > 126) && !isspace(ch)) + if ((ch < 32 || ch > 126) && !dIsspace(ch)) ++non_ascci; } if (Size == 256) { @@ -91,7 +91,7 @@ static int Auth_path_is_inside(const char *path1, const char *path2, int len) static int Auth_is_token_char(char c) { const char *invalid = "\"()<>@,;:\\[]?=/{} \t"; - return (strchr(invalid, c) || iscntrl(c)) ? 0 : 1; + return (strchr(invalid, c) || iscntrl((uchar_t)c)) ? 0 : 1; } /* diff --git a/src/colors.c b/src/colors.c index 90c738c4..5b647bb2 100644 --- a/src/colors.c +++ b/src/colors.c @@ -246,7 +246,7 @@ int32_t a_Color_parse (const char *subtag, int32_t default_color, int *err) int ret, low, mid, high, st = 1; /* skip leading spaces */ - for (cp = subtag; isspace(*cp); cp++); + for (cp = subtag; dIsspace(*cp); cp++); ret_color = default_color; if (*cp == '#') { diff --git a/src/cookies.c b/src/cookies.c index 396f7126..745614ca 100644 --- a/src/cookies.c +++ b/src/cookies.c @@ -266,17 +266,17 @@ static int Cookie_control_init(void) j = 0; /* Get the domain */ - while (line[i] != '\0' && !isspace(line[i])) + while (line[i] != '\0' && !dIsspace(line[i])) domain[j++] = line[i++]; domain[j] = '\0'; /* Skip past whitespaces */ - while (isspace(line[i])) + while (dIsspace(line[i])) i++; /* Get the rule */ j = 0; - while (line[i] != '\0' && !isspace(line[i])) + while (line[i] != '\0' && !dIsspace(line[i])) rule[j++] = line[i++]; rule[j] = '\0'; @@ -128,7 +128,7 @@ int a_Misc_get_content_type_from_data(void *Data, size_t Size, const char **PT) DetectedContentType Type = DT_OCTET_STREAM; /* default to binary */ /* HTML try */ - for (i = 0; i < Size && isspace(p[i]); ++i); + for (i = 0; i < Size && dIsspace(p[i]); ++i); if ((Size - i >= 5 && !dStrncasecmp(p+i, "<html", 5)) || (Size - i >= 5 && !dStrncasecmp(p+i, "<head", 5)) || (Size - i >= 6 && !dStrncasecmp(p+i, "<title", 6)) || @@ -166,7 +166,7 @@ int a_Misc_get_content_type_from_data(void *Data, size_t Size, const char **PT) Size = MIN (Size, 256); for (i = 0; i < Size; i++) { int ch = (uchar_t) p[i]; - if (ch < 32 && !isspace(ch)) + if (ch < 32 && !dIsspace(ch)) ++bin_chars; if (ch > 126) ++non_ascci; @@ -208,13 +208,13 @@ void a_Misc_parse_content_type(const char *str, char **major, char **minor, if (!str) return; - for (s = str; isalnum(*s) || (*s == '-'); s++); + for (s = str; dIsalnum(*s) || (*s == '-'); s++); if (major) *major = dStrndup(str, s - str); is_text = (s - str == 4) && !dStrncasecmp(str, "text", 4); if (*s == '/') { - for (str = ++s; isalnum(*s) || (*s == '-'); s++); + for (str = ++s; dIsalnum(*s) || (*s == '-'); s++); if (minor) *minor = dStrndup(str, s - str); } @@ -585,7 +585,7 @@ char *a_Url_encode_hex_str(const char *str) newstr = dNew(char, 6*strlen(str)+1); for (c = newstr; *str; str++) - if ((isalnum(*str) && !(*str & 0x80)) || strchr(verbatim, *str)) + if ((dIsalnum(*str) && !(*str & 0x80)) || strchr(verbatim, *str)) /* we really need isalnum for the "C" locale */ *c++ = *str; else if (*str == ' ') |