X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=form%2Ffld_newftyp.c;h=4351aed6b3c8ca4e354ec54c372a9fc2a43ad475;hp=f101dce57b4ffce0fe5b8e107fcd2299237efa9a;hb=1f5d7223f670165669ab049909fc665b6acd2a04;hpb=fc79b49bd8a9c5e4db287514cdac46e1691cf48a diff --git a/form/fld_newftyp.c b/form/fld_newftyp.c index f101dce5..4351aed6 100644 --- a/form/fld_newftyp.c +++ b/form/fld_newftyp.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. * + * Copyright (c) 1998-2009,2010 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 * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fld_newftyp.c,v 1.16 2009/04/11 21:27:33 tom Exp $") +MODULE_ID("$Id: fld_newftyp.c,v 1.19 2010/01/23 21:14:36 tom Exp $") static FIELDTYPE default_fieldtype = { @@ -43,10 +43,13 @@ static FIELDTYPE default_fieldtype = NULL, /* makearg function */ NULL, /* copyarg function */ NULL, /* freearg function */ - NULL, /* field validation function */ - NULL, /* Character check function */ - NULL, /* enumerate next function */ - NULL /* enumerate previous function */ + INIT_FT_FUNC(NULL), /* field validation function */ + INIT_FT_FUNC(NULL), /* Character check function */ + INIT_FT_FUNC(NULL), /* enumerate next function */ + INIT_FT_FUNC(NULL), /* enumerate previous function */ +#if NCURSES_INTEROP_FUNCS + NULL /* generic callback alternative to makearg */ +#endif }; NCURSES_EXPORT_VAR(FIELDTYPE *) @@ -80,10 +83,15 @@ new_fieldtype(bool (*const field_check) (FIELD *, const void *), if (nftyp) { - T((T_CREATE("fieldtype %p"), nftyp)); + T((T_CREATE("fieldtype %p"), (void *)nftyp)); *nftyp = default_fieldtype; +#if NCURSES_INTEROP_FUNCS + nftyp->fieldcheck.ofcheck = field_check; + nftyp->charcheck.occheck = char_check; +#else nftyp->fcheck = field_check; nftyp->ccheck = char_check; +#endif } else { @@ -110,7 +118,7 @@ new_fieldtype(bool (*const field_check) (FIELD *, const void *), NCURSES_EXPORT(int) free_fieldtype(FIELDTYPE *typ) { - T((T_CALLED("free_fieldtype(%p)"), typ)); + T((T_CALLED("free_fieldtype(%p)"), (void *)typ)); if (!typ) RETURN(E_BAD_ARGUMENT);