/* 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 an extension in the 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; }