# curses in NetBSD
NetBSD is one of the last operating systems (or even the last one?) not using <a href="http://en.wikipedia.org/wiki/Ncurses">ncurses</a>.
As curses is not as specified as you could wish, there are some differences to consider.
Note: This article covers curses as well as libform and libmenu, which are bundled together with ncurses.
This is meant to be an (naturally incomplete) list of what the programmer has to care for.
* [[!template id=man name="new_item" section="3"]] in NetBSD's curses copies the string you pass to it, while ncurses' new_item(3) just sets a pointer.
* [[!template id=man name="post_menu" section="3"]] in NetBSD's curses will return E_NO_ROOM if the names of the items are too long for the menu, while ncurses' post_menu(3) will just cut them.
* [[!template id=man name="getnstr" section="3"]] in NetBSD's curses will read up to N characters including NUL byte, while ncurses' getnstr(3) will read up to N characters not including NUL byte thus assuming buffer of size N+1
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb