X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=form%2Ffld_ftchoice.c;h=9534d134ca9678962c0efd0f6f2a4a2ea3432ec0;hp=8e7d2a9683f1ef081ffc4aa96c00a7d53436b367;hb=5e1e572b71ae31a6071daa24e2460a68a6f1003c;hpb=0eb88fc5281804773e2a0c7a488a4452463535ce;ds=sidebyside diff --git a/form/fld_ftchoice.c b/form/fld_ftchoice.c index 8e7d2a96..9534d134 100644 --- a/form/fld_ftchoice.c +++ b/form/fld_ftchoice.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * + * Copyright (c) 1998-2012,2016 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,12 +27,12 @@ ****************************************************************************/ /**************************************************************************** - * Author: Juergen Pfeifer 1995,1997 * + * Author: Juergen Pfeifer, 1995,1997 * ****************************************************************************/ #include "form.priv.h" -MODULE_ID("$Id: fld_ftchoice.c,v 1.4 1999/05/16 17:17:21 juergen Exp $") +MODULE_ID("$Id: fld_ftchoice.c,v 1.14 2016/01/23 21:32:00 tom Exp $") /*--------------------------------------------------------------------------- | Facility : libnform @@ -46,16 +46,24 @@ MODULE_ID("$Id: fld_ftchoice.c,v 1.4 1999/05/16 17:17:21 juergen Exp $") | Return Values : E_OK - success | E_BAD_ARGUMENT - invalid arguments +--------------------------------------------------------------------------*/ -int set_fieldtype_choice(FIELDTYPE * typ, - bool (* const next_choice) (FIELD *,const void *), - bool (* const prev_choice) (FIELD *,const void *)) +NCURSES_EXPORT(int) +set_fieldtype_choice(FIELDTYPE *typ, + bool (*const next_choice) (FIELD *, const void *), + bool (*const prev_choice) (FIELD *, const void *)) { - if ( !typ || !next_choice || !prev_choice ) + T((T_CALLED("set_fieldtype_choice(%p,%p,%p)"), (void *)typ, TR_FUNC(next_choice), TR_FUNC(prev_choice))); + + if (!typ || !next_choice || !prev_choice) RETURN(E_BAD_ARGUMENT); - typ->status |= _HAS_CHOICE; + SetStatus(typ, _HAS_CHOICE); +#if NCURSES_INTEROP_FUNCS + typ->enum_next.onext = next_choice; + typ->enum_prev.oprev = prev_choice; +#else typ->next = next_choice; typ->prev = prev_choice; +#endif RETURN(E_OK); }