diff --git a/vfs/ChangeLog b/vfs/ChangeLog index 0a0008671..a0807e135 100644 --- a/vfs/ChangeLog +++ b/vfs/ChangeLog @@ -1,3 +1,10 @@ +2002-07-03 Pavel Roskin + + * ftpfs.c (setup_passive): Cast arguments to isdigit() to + unsigned char for compatibility with non-GNU libc. + * tar.c (from_oct): Likewise with isspace(). + Reported by Roland Illig <1illig@informatik.uni-hamburg.de> + 2002-07-03 Andrew V. Samoilov * extfs.c (extfs_fill_names): Generate filename#vfsname/dir diff --git a/vfs/ftpfs.c b/vfs/ftpfs.c index d83b36e3e..5ca42f364 100644 --- a/vfs/ftpfs.c +++ b/vfs/ftpfs.c @@ -911,11 +911,11 @@ setup_passive (vfs *me, vfs_s_super *super, int my_socket, struct sockaddr_in *s return 0; /* Parse remote parameters */ - for (c = reply_str + 4; (*c) && (!isdigit (*c)); c++) + for (c = reply_str + 4; (*c) && (!isdigit ((unsigned char) *c)); c++) ; if (!*c) return 0; - if (!isdigit (*c)) + if (!isdigit ((unsigned char) *c)) return 0; if (sscanf (c, "%d,%d,%d,%d,%d,%d", &xa, &xb, &xc, &xd, &xe, &xf) != 6) return 0; diff --git a/vfs/tar.c b/vfs/tar.c index e146d9fc9..531973bda 100644 --- a/vfs/tar.c +++ b/vfs/tar.c @@ -40,7 +40,7 @@ static long from_oct (int digs, char *where) { register long value; - while (isspace (*where)) { /* Skip spaces */ + while (isspace ((unsigned char) *where)) { /* Skip spaces */ where++; if (--digs <= 0) return -1; /* All blank field */ @@ -51,7 +51,7 @@ static long from_oct (int digs, char *where) --digs; } - if (digs > 0 && *where && !isspace (*where)) + if (digs > 0 && *where && !isspace ((unsigned char) *where)) return -1; /* Ended on non-space/nul */ return value;