Try to fix ctype issues by always calling these functions as
[rsync/rsync.git] / access.c
index f176343..ff35748 100644 (file)
--- 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;
@@ -68,6 +68,7 @@ static int match_address(char *addr, char *tok)
                        mask = ntohl(mask);
                } else {
                        int bits = atoi(p+1);
+                       if (bits == 0) return 1;
                        if (bits <= 0 || bits > 32) {
                                rprintf(FERROR,"malformed mask in %s\n", tok);
                                return 0;