+ When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
+ completion, and <STRONG>ERR</STRONG> otherwise.
+
+ Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Otherwise, it returns
+ <STRONG>ERR</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>CCHARW_MAX</STRONG> symbol is specific to ncurses. X/Open Curses does not
+ provide details for the layout of the <STRONG>cchar_t</STRONG> structure. It tells what
+ data are stored in it:
+
+ <STRONG>o</STRONG> a spacing character (<STRONG>wchar_t</STRONG>, i.e., 32-bits).
+
+ <STRONG>o</STRONG> non-spacing characters (again, <STRONG>wchar_t</STRONG>'s).
+
+ <STRONG>o</STRONG> attributes (at least 16 bits, inferred from the various ACS- and
+ WACS-flags).
+
+ <STRONG>o</STRONG> color pair (at least 16 bits, inferred from the <STRONG>unsigned</STRONG> <STRONG>short</STRONG>
+ type).
+
+ The non-spacing characters are optional, in the sense that zero or more
+ may be stored in a <STRONG>cchar_t</STRONG>. XOpen/Curses specifies a limit:
+
+ Implementations may limit the number of non-spacing characters that
+ can be associated with a spacing character, provided any limit is
+ at least 5.
+
+ The Unix implementations at the time follow that limit:
+
+ <STRONG>o</STRONG> AIX 4 and OSF1 4 use the same declaration with an array of 5 non-
+ spacing characters <EM>z</EM> and a single spacing character <EM>c</EM>.
+
+ <STRONG>o</STRONG> HP-UX 10 uses an opaque structure with 28 bytes, which is large
+ enough for the 6 <STRONG>wchar_t</STRONG> values.
+
+ <STRONG>o</STRONG> Solaris xpg4 curses uses a single array of 6 <STRONG>wchar_t</STRONG> values.
+
+ This implementation's <STRONG>cchar_t</STRONG> was defined in 1995 using <STRONG>5</STRONG> for the total
+ of spacing and non-spacing characters (<STRONG>CCHARW_MAX</STRONG>). That was probably
+ due to a misreading of the AIX 4 header files, because the X/Open
+ Curses document was not generally available at that time. Later (in
+ 2002), this detail was overlooked when beginning to implement the func-
+ tions using the structure.
+
+ In practice, even four non-spacing characters may seem enough. X/Open
+ Curses documents possible uses for non-spacing characters, including
+ using them for ligatures between characters (a feature apparently not
+ supported by any curses implementation). Unicode does not limit the
+ (analogous) number of combining characters, so some applications may be
+ affected.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ Functions: <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>wcwidth(3)</STRONG>.