# include <wctype.h>
#endif
#if !defined iswcntrl && !HAVE_ISWCNTRL
-# define iswcntrl(wc) 0
+# define iswcntrl(wc) (((wc) & ~0x1f) == 0 || (wc) == 0x7f)
#endif
#ifndef mbsinit
# 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;
}