From 32f761755e2cfee243a1513c9ea9871586463fa6 Mon Sep 17 00:00:00 2001 From: Martin Pool Date: Thu, 11 Apr 2002 02:25:53 +0000 Subject: [PATCH] Try to fix ctype issues by always calling these functions as if (!isdigit(* (unsigned char *) p)) { so that the argument is always in the range of unsigned char when coerced to an int. (See digit 1.) --- access.c | 2 +- clientserver.c | 4 ++-- exclude.c | 4 ++-- loadparm.c | 6 +++--- params.c | 4 ++-- socket.c | 2 +- util.c | 4 ++-- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/access.c b/access.c index 050e8cc4..ff357480 100644 --- a/access.c +++ b/access.c @@ -38,7 +38,7 @@ static int match_address(char *addr, char *tok) if (!addr || !*addr) return 0; - if (!isdigit(tok[0])) return 0; + if (!isdigit(* (unsigned char *) tok)) return 0; p = strchr(tok,'/'); if (p) *p = 0; diff --git a/clientserver.c b/clientserver.c index 2babcffc..4a857e33 100644 --- a/clientserver.c +++ b/clientserver.c @@ -246,7 +246,7 @@ static int rsync_module(int fd, int i) if (am_root) { p = lp_uid(i); if (!name_to_uid(p, &uid)) { - if (!isdigit(*p)) { + if (!isdigit(* (unsigned char *) p)) { rprintf(FERROR,"Invalid uid %s\n", p); io_printf(fd,"@ERROR: invalid uid %s\n", p); return -1; @@ -256,7 +256,7 @@ static int rsync_module(int fd, int i) p = lp_gid(i); if (!name_to_gid(p, &gid)) { - if (!isdigit(*p)) { + if (!isdigit(* (unsigned char *) p)) { rprintf(FERROR,"Invalid gid %s\n", p); io_printf(fd,"@ERROR: invalid gid %s\n", p); return -1; diff --git a/exclude.c b/exclude.c index 27dd303b..dc469e18 100644 --- a/exclude.c +++ b/exclude.c @@ -335,7 +335,7 @@ char *get_exclude_tok(char *p) return(NULL); /* Skip over any initial spaces */ - while(isspace((int) *s)) + while (isspace(* (unsigned char *) s)) s++; /* Are we at the end of the string? */ @@ -348,7 +348,7 @@ char *get_exclude_tok(char *p) s+=2; /* Skip to the next space or the end of the string */ - while(!isspace((int) *s) && *s != '\0') + while (!isspace(* (unsigned char *) s) && *s != '\0') s++; } else { t=NULL; diff --git a/loadparm.c b/loadparm.c index 7bd4483c..d559b117 100644 --- a/loadparm.c +++ b/loadparm.c @@ -479,11 +479,11 @@ static int strwicmp(char *psz1, char *psz2) /* sync the strings on first non-whitespace */ while (1) { - while (isspace((int) *psz1)) + while (isspace(* (unsigned char *) psz1)) psz1++; - while (isspace((int) *psz2)) + while (isspace(* (unsigned char *) psz2)) psz2++; - if (toupper((int) *psz1) != toupper((int) *psz2) + if (toupper(* (unsigned char *) psz1) != toupper(* (unsigned char *) psz2) || *psz1 == '\0' || *psz2 == '\0') break; psz1++; diff --git a/params.c b/params.c index 6d02053e..323d20ba 100644 --- a/params.c +++ b/params.c @@ -164,7 +164,7 @@ static int Continuation( char *line, int pos ) */ { pos--; - while( (pos >= 0) && isspace((int) line[pos]) ) + while( (pos >= 0) && isspace(((unsigned char *)line)[pos]) ) pos--; return( ((pos >= 0) && ('\\' == line[pos])) ? pos : -1 ); @@ -386,7 +386,7 @@ static BOOL Parameter( FILE *InFile, BOOL (*pfunc)(char *, char *), int c ) c = 0; else { - for( end = i; (end >= 0) && isspace((int) bufr[end]); end-- ) + for( end = i; (end >= 0) && isspace(((unsigned char *) bufr)[end]); end-- ) ; c = getc( InFile ); } diff --git a/socket.c b/socket.c index 6a13b04a..bb7acc06 100644 --- a/socket.c +++ b/socket.c @@ -70,7 +70,7 @@ static int establish_proxy_connection(int fd, char *host, int port) buffer); return -1; } - for (cp = &buffer[5]; isdigit((int) *cp) || (*cp == '.'); cp++) + for (cp = &buffer[5]; isdigit(* (unsigned char *) cp) || (*cp == '.'); cp++) ; while (*cp == ' ') cp++; diff --git a/util.c b/util.c index bdde8b45..63af7dab 100644 --- a/util.c +++ b/util.c @@ -532,8 +532,8 @@ void glob_expand(char *base1, char **argv, int *argc, int maxargs) void strlower(char *s) { while (*s) { - if (isupper((int) *s)) - *s = tolower((int) *s); + if (isupper(* (unsigned char *) s)) + *s = tolower(* (unsigned char *) s); s++; } } -- 2.34.1