summaryrefslogtreecommitdiffstats
path: root/lib/libfetch/ftp.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libfetch/ftp.c')
-rw-r--r--lib/libfetch/ftp.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c
index 4316346e..914f674 100644
--- a/lib/libfetch/ftp.c
+++ b/lib/libfetch/ftp.c
@@ -102,11 +102,16 @@ __FBSDID("$FreeBSD$");
static struct url cached_host;
static conn_t *cached_connection;
-#define isftpreply(foo) (isdigit((int)foo[0]) && isdigit((int)foo[1]) \
- && isdigit((int)foo[2]) \
- && (foo[3] == ' ' || foo[3] == '\0'))
-#define isftpinfo(foo) (isdigit((int)foo[0]) && isdigit((int)foo[1]) \
- && isdigit((int)foo[2]) && foo[3] == '-')
+#define isftpreply(foo) \
+ (isdigit((unsigned char)foo[0]) && \
+ isdigit((unsigned char)foo[1]) && \
+ isdigit((unsigned char)foo[2]) && \
+ (foo[3] == ' ' || foo[3] == '\0'))
+#define isftpinfo(foo) \
+ (isdigit((unsigned char)foo[0]) && \
+ isdigit((unsigned char)foo[1]) && \
+ isdigit((unsigned char)foo[2]) && \
+ foo[3] == '-')
/*
* Translate IPv4 mapped IPv6 address to IPv4 address
@@ -150,7 +155,8 @@ ftp_chkerr(conn_t *conn)
}
}
- while (conn->buflen && isspace((int)conn->buf[conn->buflen - 1]))
+ while (conn->buflen &&
+ isspace((unsigned char)conn->buf[conn->buflen - 1]))
conn->buflen--;
conn->buf[conn->buflen] = '\0';
@@ -414,11 +420,11 @@ ftp_stat(conn_t *conn, const char *file, struct url_stat *us)
ftp_seterr(e);
return (-1);
}
- for (ln = conn->buf + 4; *ln && isspace((int)*ln); ln++)
+ for (ln = conn->buf + 4; *ln && isspace((unsigned char)*ln); ln++)
/* nothing */ ;
- for (us->size = 0; *ln && isdigit((int)*ln); ln++)
+ for (us->size = 0; *ln && isdigit((unsigned char)*ln); ln++)
us->size = us->size * 10 + *ln - '0';
- if (*ln && !isspace((int)*ln)) {
+ if (*ln && !isspace((unsigned char)*ln)) {
ftp_seterr(FTP_PROTOCOL_ERROR);
us->size = -1;
return (-1);
@@ -432,7 +438,7 @@ ftp_stat(conn_t *conn, const char *file, struct url_stat *us)
ftp_seterr(e);
return (-1);
}
- for (ln = conn->buf + 4; *ln && isspace((int)*ln); ln++)
+ for (ln = conn->buf + 4; *ln && isspace((unsigned char)*ln); ln++)
/* nothing */ ;
switch (strspn(ln, "0123456789")) {
case 14:
@@ -691,7 +697,7 @@ ftp_transfer(conn_t *conn, const char *oper, const char *file,
switch (e) {
case FTP_PASSIVE_MODE:
case FTP_LPASSIVE_MODE:
- for (p = ln + 3; *p && !isdigit((int)*p); p++)
+ for (p = ln + 3; *p && !isdigit((unsigned char)*p); p++)
/* nothing */ ;
if (!*p) {
e = FTP_PROTOCOL_ERROR;
OpenPOWER on IntegriCloud