+2006-06-27 Bruno Haible <bruno@clisp.org>
+
+ Assume ANSI C header files and <ctype.h> functions.
+ * mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
+ (mbsnwidth): Use isprint, iscntrl instead.
+
2006-07-03 Jim Meyering <jim@meyering.net>
* cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
# endif
#endif
-/* Get ISPRINT. */
-#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
-# define IN_CTYPE_DOMAIN(c) 1
-#else
-# define IN_CTYPE_DOMAIN(c) isascii(c)
-#endif
-/* Undefine to protect against the definition in wctype.h of Solaris 2.6. */
-#undef ISPRINT
-#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
-#undef ISCNTRL
-#define ISCNTRL(c) (IN_CTYPE_DOMAIN (c) && iscntrl (c))
-
/* Returns the number of columns needed to represent the multibyte
character string pointed to by STRING. If a non-printable character
occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned.
{
unsigned char c = (unsigned char) *p++;
- if (ISPRINT (c))
+ if (isprint (c))
width++;
else if (!(flags & MBSW_REJECT_UNPRINTABLE))
- width += (ISCNTRL (c) ? 0 : 1);
+ width += (iscntrl (c) ? 0 : 1);
else
return -1;
}