# mitem_new 3x

## NAME

           mitem_new - create and destroy menu items

## SYNOPSIS

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

## DESCRIPTION

           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 life-
           time of the item. So you  should  be  very  carefull  with
           names  or descriptions allocated on the stack of some rou-
           tines.
           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

           The function new_item returns NULL on error.

           The function free_item returns one of the following:

           E_OK The routine succeeded.

           E_SYSTEM_ERROR
                System error occurred (see errno).

           E_BAD_ARGUMENT
                Routine  detected  an incorrect or out-of-range argu-
                ment.

           E_CONNECTED
                Item is connected to a menu.

## SEE ALSO

           curses(3x), menu(3x).

## NOTES

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

## PORTABILITY

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

## AUTHORS

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