/* FUNCTION <>---number of column positions of a wide-character code INDEX wcwidth ANSI_SYNOPSIS #include int wcwidth(const wchar_t <[wc]>); TRAD_SYNOPSIS #include int wcwidth(<[wc]>) wchar_t *<[wc]>; DESCRIPTION The <> function shall determine the number of column positions required for the wide character wc. The application shall ensure that the value of wc is a character representable as a wchar_t, and is a wide-character code corresponding to a valid character in the current locale. RETURNS The <> function shall either return 0 (if wc is a null wide-character code), or return the number of column positions to be occupied by the wide-character code wc, or return -1 (if wc does not correspond to a printable wide-character code). The current implementation of <> simply sets the width of all printable characters to 1 since newlib has no character tables around. PORTABILITY <> has been introduced in the Single UNIX Specification Volume 2 <> has been marked as extension in Single UNIX Specification Volume 3 */ #include <_ansi.h> #include #include int _DEFUN (wcwidth, (wc), _CONST wchar_t wc) { if (iswprint (wc)) return 1; if (iswcntrl (wc) || wc == L'\0') return 0; return -1; }