diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 38 | ||||
-rw-r--r-- | src/setup.h | 14 | ||||
-rw-r--r-- | src/urlglob.c | 10 |
3 files changed, 39 insertions, 23 deletions
diff --git a/src/main.c b/src/main.c index af3f4355f..24eec6b34 100644 --- a/src/main.c +++ b/src/main.c @@ -380,7 +380,7 @@ static void warnf(struct Configurable *config, const char *fmt, ...) if(len > (int)WARN_TEXTWIDTH) { int cut = WARN_TEXTWIDTH-1; - while(!isspace((int)ptr[cut]) && cut) { + while(!ISSPACE(ptr[cut]) && cut) { cut--; } @@ -933,7 +933,7 @@ static int formparse(struct Configurable *config, while(ptr && (FORM_FILE_SEPARATOR!= *ptr)) { /* pass all white spaces */ - while(isspace((int)*ptr)) + while(ISSPACE(*ptr)) ptr++; if(curlx_strnequal("type=", ptr, 5)) { @@ -1155,7 +1155,7 @@ static void cleanarg(char *str) static int str2num(long *val, char *str) { int retcode = 0; - if(isdigit((int)*str)) + if(ISDIGIT(*str)) *val = atoi(str); else retcode = 1; /* badness */ @@ -1961,7 +1961,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ if(ptr && (ptr == &nextarg[1]) && (nextarg[2] == '\\' || nextarg[2] == '/') && - (isalpha((int)nextarg[0])) ) + (ISALPHA(nextarg[0])) ) /* colon in the second column, followed by a backslash, and the first character is an alphabetic letter: @@ -2463,7 +2463,7 @@ static int parseconfig(const char *filename, int lineno=0; bool alloced_param; -#define isseparator(x) (((x)=='=') || ((x) == ':')) +#define ISSEP(x) (((x)=='=') || ((x) == ':')) while (NULL != (aline = my_get_line(file))) { lineno++; @@ -2471,7 +2471,7 @@ static int parseconfig(const char *filename, alloced_param=FALSE; /* lines with # in the fist column is a comment! */ - while(*line && isspace((int)*line)) + while(*line && ISSPACE(*line)) line++; switch(*line) { @@ -2487,7 +2487,7 @@ static int parseconfig(const char *filename, /* the option keywords starts here */ option = line; - while(*line && !isspace((int)*line) && !isseparator(*line)) + while(*line && !ISSPACE(*line) && !ISSEP(*line)) line++; /* ... and has ended here */ @@ -2499,7 +2499,7 @@ static int parseconfig(const char *filename, #endif /* pass spaces and separator(s) */ - while(*line && (isspace((int)*line) || isseparator(*line))) + while(*line && (ISSPACE(*line) || ISSEP(*line))) line++; /* the parameter starts here (unless quoted) */ @@ -2544,7 +2544,7 @@ static int parseconfig(const char *filename, } else { param=line; /* parameter starts here */ - while(*line && !isspace((int)*line)) + while(*line && !ISSPACE(*line)) line++; *line=0; /* zero terminate */ } @@ -2852,7 +2852,8 @@ convert_from_network(char *buffer, size_t length) } static -char convert_char(curl_infotype infotype, char this_char) { +char convert_char(curl_infotype infotype, char this_char) +{ /* determine how this specific character should be displayed */ switch(infotype) { case CURLINFO_DATA_IN: @@ -2863,24 +2864,25 @@ char convert_char(curl_infotype infotype, char this_char) { if ((this_char >= 0x20) && (this_char < 0x7f)) { /* printable ASCII hex value: convert to host encoding */ convert_from_network(&this_char, 1); - } else { + } + else { /* non-printable ASCII, use a replacement character */ - return(UNPRINTABLE_CHAR); + return UNPRINTABLE_CHAR; } /* fall through to default */ default: /* treat as host encoding */ - if (isprint(this_char) - && (this_char != '\t') - && (this_char != '\r') - && (this_char != '\n')) { + if (ISPRINT(this_char) + && (this_char != '\t') + && (this_char != '\r') + && (this_char != '\n')) { /* printable characters excluding tabs and line end characters */ - return(this_char); + return this_char; } break; } /* non-printable, use a replacement character */ - return(UNPRINTABLE_CHAR); + return UNPRINTABLE_CHAR; } #endif /* CURL_DOES_CONVERSIONS */ diff --git a/src/setup.h b/src/setup.h index 1acd19e85..a8f636974 100644 --- a/src/setup.h +++ b/src/setup.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -184,4 +184,16 @@ int fileno( FILE *stream); #define strdup(ptr) curlx_strdup(ptr) #endif +#ifndef ISSPACE +/* typecasting craze to avoid negative number inputs to these macros */ +/* copied from lib/setup.h */ +#define ISSPACE(x) (isspace((int)((unsigned char)x))) +#define ISDIGIT(x) (isdigit((int)((unsigned char)x))) +#define ISALNUM(x) (isalnum((int)((unsigned char)x))) +#define ISXDIGIT(x) (isxdigit((int)((unsigned char)x))) +#define ISGRAPH(x) (isgraph((int)((unsigned char)x))) +#define ISALPHA(x) (isalpha((int)((unsigned char)x))) +#define ISPRINT(x) (isprint((int)((unsigned char)x))) +#endif + #endif /* __SRC_CURL_SETUP_H */ diff --git a/src/urlglob.c b/src/urlglob.c index d5d3f4eae..ba4fb1eae 100644 --- a/src/urlglob.c +++ b/src/urlglob.c @@ -177,7 +177,7 @@ static GlobCode glob_range(URLGlob *glob, char *pattern, /* patterns 0,1,2,... correspond to size=1,3,5,... */ ++glob->size; - if (isalpha((int)*pattern)) { /* character range detected */ + if (ISALPHA(*pattern)) { /* character range detected */ char min_c; char max_c; @@ -205,7 +205,7 @@ static GlobCode glob_range(URLGlob *glob, char *pattern, pat->content.CharRange.ptr_c = pat->content.CharRange.min_c = min_c; pat->content.CharRange.max_c = max_c; } - else if (isdigit((int)*pattern)) { /* numeric range detected */ + else if (ISDIGIT(*pattern)) { /* numeric range detected */ int min_n; int max_n; @@ -229,9 +229,11 @@ static GlobCode glob_range(URLGlob *glob, char *pattern, if (*pattern == '0') { /* leading zero specified */ c = pattern; - while (isdigit((int)*c++)) + while (ISDIGIT(*c)) { + c++; ++pat->content.NumRange.padlength; /* padding length is set for all instances of this pattern */ + } } } @@ -498,7 +500,7 @@ char *glob_match_url(char *filename, URLGlob *glob) return NULL; /* major failure */ while (*filename) { - if (*filename == '#' && isdigit((int)filename[1])) { + if (*filename == '#' && ISDIGIT(filename[1])) { unsigned long i; char *ptr = filename; unsigned long num = strtoul(&filename[1], &filename, 10); |