new_menu(ITEM ** items) { int err = E_SYSTEM_ERROR; MENU *menu = (MENU *) calloc(1, sizeof(MENU)); T((T_CALLED("new_menu(%p)"), items)); if (menu) { *menu = _nc_Default_Menu; menu->status = 0; menu->rows = menu->frows; menu->cols = menu->fcols; if (items && *items) { if (!_nc_Connect_Items(menu, items)) { err = E_NOT_CONNECTED; free(menu); menu = (MENU *) 0; } } } if (!menu) SET_ERROR(err); returnMenu(menu); }
new_menu (ITEM ** items) { MENU *menu = (MENU *)calloc(1,sizeof(MENU)); if (menu) { *menu = _nc_Default_Menu; menu->status = 0; menu->rows = menu->frows; menu->cols = menu->fcols; if (items && *items) { if (!_nc_Connect_Items(menu,items)) { free(menu); menu = (MENU *)0; } } } if (!menu) SET_ERROR(E_SYSTEM_ERROR); return(menu); }
set_menu_items (MENU * menu, ITEM ** items) { if (!menu || (items && !(*items))) RETURN(E_BAD_ARGUMENT); if ( menu->status & _POSTED ) RETURN(E_POSTED); if (menu->items) _nc_Disconnect_Items(menu); if (items) { if(!_nc_Connect_Items( menu, items )) RETURN(E_CONNECTED); } menu->items = items; RETURN(E_OK); }