X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=menu%2Fm_item_opt.c;h=5dcc06b65b38236f71648fd2323747993da065c2;hp=14a52b4438563ba2994212cd0297741bf12dd334;hb=a8987e73ec254703634802b4f7ee30d3a485524d;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1 diff --git a/menu/m_item_opt.c b/menu/m_item_opt.c index 14a52b44..5dcc06b6 100644 --- a/menu/m_item_opt.c +++ b/menu/m_item_opt.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * + * Copyright (c) 1998,2000 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -27,7 +27,7 @@ ****************************************************************************/ /**************************************************************************** - * Author: Juergen Pfeifer 1995,1997 * + * Author: Juergen Pfeifer, 1995,1997 * ****************************************************************************/ /*************************************************************************** @@ -37,7 +37,7 @@ #include "menu.priv.h" -MODULE_ID("$Id: m_item_opt.c,v 1.6 1998/02/11 12:13:49 tom Exp $") +MODULE_ID("$Id: m_item_opt.c,v 1.14 2003/11/08 20:50:19 tom Exp $") /*--------------------------------------------------------------------------- | Facility : libnmenu @@ -50,8 +50,11 @@ MODULE_ID("$Id: m_item_opt.c,v 1.6 1998/02/11 12:13:49 tom Exp $") | Return Values : E_OK - success | E_BAD_ARGUMENT - invalid item options +--------------------------------------------------------------------------*/ -int set_item_opts(ITEM *item, Item_Options opts) +NCURSES_EXPORT(int) +set_item_opts (ITEM *item, Item_Options opts) { + opts &= ALL_ITEM_OPTS; + if (opts & ~ALL_ITEM_OPTS) RETURN(E_BAD_ARGUMENT); @@ -88,17 +91,18 @@ int set_item_opts(ITEM *item, Item_Options opts) | Return Values : E_OK - success | E_BAD_ARGUMENT - invalid options +--------------------------------------------------------------------------*/ -int item_opts_off(ITEM *item, Item_Options opts) +NCURSES_EXPORT(int) +item_opts_off (ITEM *item, Item_Options opts) { ITEM *citem = item; /* use a copy because set_item_opts must detect - NULL item itself to adjust its behaviour */ + NULL item itself to adjust its behavior */ if (opts & ~ALL_ITEM_OPTS) RETURN(E_BAD_ARGUMENT); else { - Normalize_Item(citem); - opts = citem->opt & ~opts; + Normalize_Item(citem); + opts = citem->opt & ~(opts & ALL_ITEM_OPTS); return set_item_opts( item, opts ); } } @@ -112,11 +116,13 @@ int item_opts_off(ITEM *item, Item_Options opts) | Return Values : E_OK - success | E_BAD_ARGUMENT - invalid options +--------------------------------------------------------------------------*/ -int item_opts_on(ITEM *item, Item_Options opts) +NCURSES_EXPORT(int) +item_opts_on (ITEM *item, Item_Options opts) { ITEM *citem = item; /* use a copy because set_item_opts must detect - NULL item itself to adjust its behaviour */ + NULL item itself to adjust its behavior */ + opts &= ALL_ITEM_OPTS; if (opts & ~ALL_ITEM_OPTS) RETURN(E_BAD_ARGUMENT); else @@ -135,7 +141,8 @@ int item_opts_on(ITEM *item, Item_Options opts) | | Return Values : Items options +--------------------------------------------------------------------------*/ -Item_Options item_opts(const ITEM * item) +NCURSES_EXPORT(Item_Options) +item_opts (const ITEM * item) { return (ALL_ITEM_OPTS & Normalize_Item(item)->opt); }