Module Name: src Committed By: christos Date: Wed Mar 21 14:19:15 UTC 2012
Modified Files: src/lib/libc/stdlib: strfmon.c Log Message: unsigned char portability casts To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/lib/libc/stdlib/strfmon.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/stdlib/strfmon.c diff -u src/lib/libc/stdlib/strfmon.c:1.9 src/lib/libc/stdlib/strfmon.c:1.10 --- src/lib/libc/stdlib/strfmon.c:1.9 Tue Mar 13 17:13:48 2012 +++ src/lib/libc/stdlib/strfmon.c Wed Mar 21 10:19:15 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: strfmon.c,v 1.9 2012/03/13 21:13:48 christos Exp $ */ +/* $NetBSD: strfmon.c,v 1.10 2012/03/21 14:19:15 christos Exp $ */ /*- * Copyright (c) 2001 Alexey Zelkin <phan...@freebsd.org> @@ -32,7 +32,7 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdlib/strfmon.c,v 1.14 2003/03/20 08:18:55 ache Exp $"); #else -__RCSID("$NetBSD: strfmon.c,v 1.9 2012/03/13 21:13:48 christos Exp $"); +__RCSID("$NetBSD: strfmon.c,v 1.10 2012/03/21 14:19:15 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -63,6 +63,10 @@ __RCSID("$NetBSD: strfmon.c,v 1.9 2012/0 #define USE_INTL_CURRENCY 0x40 /* use international currency symbol */ #define IS_NEGATIVE 0x80 /* is argument value negative ? */ +#ifndef NBCHAR_MAX +#define NBCHAR_MAX ((unsigned char)CHAR_MAX) +#endif + /* internal macros */ #define PRINT(CH) do { \ if (dst >= s + maxsize) \ @@ -443,9 +447,9 @@ __setup_vars(int flags, char *cs_precede /* Set defult values for unspecified information. */ if (*cs_precedes != 0) *cs_precedes = 1; - if (*sep_by_space == CHAR_MAX) + if ((unsigned char)*sep_by_space == NBCHAR_MAX) *sep_by_space = 0; - if (*sign_posn == CHAR_MAX) + if ((unsigned char)*sign_posn == NBCHAR_MAX) *sign_posn = 0; } @@ -482,14 +486,14 @@ get_groups(int size, char *grouping) { int chars = 0; - if (*grouping == CHAR_MAX || *grouping <= 0) /* no grouping ? */ + if ((unsigned char)*grouping == NBCHAR_MAX || *grouping <= 0) /* no grouping ? */ return (0); while (size > (int)*grouping) { chars++; size -= (int)*grouping++; /* no more grouping ? */ - if (*grouping == CHAR_MAX) + if ((unsigned char)*grouping == NBCHAR_MAX) break; /* rest grouping with same value ? */ if (*grouping == 0) { @@ -581,7 +585,7 @@ __format_grouped_double(double value, in /* XXX: Why not use %' instead? */ if ((*flags & NEED_GROUPING) && thousands_sep != '\0' && /* XXX: need investigation */ - *grouping != CHAR_MAX && + (unsigned char)*grouping != NBCHAR_MAX && *grouping > 0) { while (avalue_size > (int)*grouping) { GRPCPY(*grouping); @@ -589,7 +593,7 @@ __format_grouped_double(double value, in grouping++; /* no more grouping ? */ - if (*grouping == CHAR_MAX) + if ((unsigned char)*grouping == NBCHAR_MAX) break; /* rest grouping with same value ? */