Browse Source

fairly simple unsigned char casts for ctype

ok krw
OPENBSD_5_5
deraadt 11 years ago
parent
commit
4c65102df3
1 changed files with 6 additions and 5 deletions
  1. +6
    -5
      src/lib/libutil/fmt_scaled.c

+ 6
- 5
src/lib/libutil/fmt_scaled.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: fmt_scaled.c,v 1.11 2012/11/12 14:07:20 halex Exp $ */
/* $OpenBSD: fmt_scaled.c,v 1.12 2013/11/29 19:00:51 deraadt Exp $ */
/* /*
* Copyright (c) 2001, 2002, 2003 Ian F. Darwin. All rights reserved. * Copyright (c) 2001, 2002, 2003 Ian F. Darwin. All rights reserved.
@ -77,7 +77,7 @@ scan_scaled(char *scaled, long long *result)
long long scale_fact = 1, whole = 0, fpart = 0; long long scale_fact = 1, whole = 0, fpart = 0;
/* Skip leading whitespace */ /* Skip leading whitespace */
while (isascii(*p) && isspace(*p))
while (isascii((unsigned char)*p) && isspace((unsigned char)*p))
++p; ++p;
/* Then at most one leading + or - */ /* Then at most one leading + or - */
@ -104,7 +104,8 @@ scan_scaled(char *scaled, long long *result)
* (but note that E for Exa might look like e to some!). * (but note that E for Exa might look like e to some!).
* Advance 'p' to end, to get scale factor. * Advance 'p' to end, to get scale factor.
*/ */
for (; isascii(*p) && (isdigit(*p) || *p=='.'); ++p) {
for (; isascii((unsigned char)*p) &&
(isdigit((unsigned char)*p) || *p=='.'); ++p) {
if (*p == '.') { if (*p == '.') {
if (fract_digits > 0) { /* oops, more than one '.' */ if (fract_digits > 0) { /* oops, more than one '.' */
errno = EINVAL; errno = EINVAL;
@ -148,10 +149,10 @@ scan_scaled(char *scaled, long long *result)
/* Are we there yet? */ /* Are we there yet? */
if (*p == scale_chars[i] || if (*p == scale_chars[i] ||
*p == tolower(scale_chars[i])) {
*p == tolower((unsigned char)scale_chars[i])) {
/* If it ends with alphanumerics after the scale char, bad. */ /* If it ends with alphanumerics after the scale char, bad. */
if (isalnum(*(p+1))) {
if (isalnum((unsigned char)*(p+1))) {
errno = EINVAL; errno = EINVAL;
return -1; return -1;
} }


Loading…
Cancel
Save