new_item(3x) — Linux manual page


mitem_new(3X)                                                  mitem_new(3X)

NAME         top

       new_item, free_item - create and destroy menu items

SYNOPSIS         top

       #include <menu.h>
       ITEM *new_item(const char *name, const char *description);
       int free_item(ITEM *item);

DESCRIPTION         top

       The function new_item allocates a new item and initializes it from
       the name and description pointers.  Please notice that the item
       stores only the pointers to the name and description.  Those pointers
       must be valid during the lifetime of the item.  So you should be very
       careful with names or descriptions allocated on the stack of some
       The function free_item de-allocates an item.  Please notice that it
       is the responsibility of the application to release the memory for
       the name or the description of the item.

RETURN VALUE         top

       The function new_item returns NULL on error.  It sets errno according
       to the function's failure:

            Routine detected an incorrect or out-of-range argument.

            System error occurred, e.g., malloc failure.

       The function free_item returns one of the following:

       E_OK The routine succeeded.

            Routine detected an incorrect or out-of-range argument.

            Item is connected to a menu.

            System error occurred (see errno(3)).

SEE ALSO         top

       curses(3X), menu(3X).

NOTES         top

       The header file <menu.h> automatically includes the header file

PORTABILITY         top

       These routines emulate the System V menu library.  They were not
       supported on Version 7 or BSD versions.

AUTHORS         top

       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric
       S. Raymond.

COLOPHON         top

       This page is part of the ncurses (new curses) project.  Information
       about the project can be found at 
       ⟨⟩.  If you have a
       bug report for this manual page, send it to  This page was obtained from the
       project's upstream Git mirror of the CVS repository
       ⟨git://⟩ on 2020-09-18.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2020-08-17.)  If you discover any rendering problems in
       this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not part
       of the original manual page), send a mail to