Example #1
0
free_menu (MENU * menu)
{
  if (!menu)
    RETURN(E_BAD_ARGUMENT);
  
  if ( menu->status & _POSTED )
    RETURN(E_POSTED);
  
  if (menu->items) 
    _nc_Disconnect_Items(menu);
  
  if ((menu->status & _MARK_ALLOCATED) && menu->mark)
    free(menu->mark);

  free(menu);
  RETURN(E_OK);
}
Example #2
0
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);
}