diff options
author | ache <ache@FreeBSD.org> | 1999-11-04 04:30:44 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1999-11-04 04:30:44 +0000 |
commit | 96b246d3bd7690f28854662d3ebe0192eef115af (patch) | |
tree | 5d83a93533506a2a91291e90e79663d9bc778009 /lib/libc/net/inet_network.c | |
parent | bf7360672452046e6f50351ef4541014ee98ef91 (diff) | |
download | FreeBSD-src-96b246d3bd7690f28854662d3ebe0192eef115af.zip FreeBSD-src-96b246d3bd7690f28854662d3ebe0192eef115af.tar.gz |
Add unsigned char cast to ctype macros arg
Diffstat (limited to 'lib/libc/net/inet_network.c')
-rw-r--r-- | lib/libc/net/inet_network.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/libc/net/inet_network.c b/lib/libc/net/inet_network.c index 2f38be2..e44257a 100644 --- a/lib/libc/net/inet_network.c +++ b/lib/libc/net/inet_network.c @@ -29,6 +29,8 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $FreeBSD$ */ #if defined(LIBC_SCCS) && !defined(lint) @@ -60,13 +62,13 @@ again: if (*cp == 'x' || *cp == 'X') base = 16, cp++; while ((c = *cp) != 0) { - if (isdigit(c)) { + if (isdigit((unsigned char)c)) { val = (val * base) + (c - '0'); cp++; continue; } - if (base == 16 && isxdigit(c)) { - val = (val << 4) + (c + 10 - (islower(c) ? 'a' : 'A')); + if (base == 16 && isxdigit((unsigned char)c)) { + val = (val << 4) + (c + 10 - (islower((unsigned char)c) ? 'a' : 'A')); cp++; continue; } @@ -78,7 +80,7 @@ again: *pp++ = val, cp++; goto again; } - if (*cp && !isspace(*cp)) + if (*cp && !isspace((unsigned char)*cp)) return (INADDR_NONE); *pp++ = val; n = pp - parts; |