ncurses 5.7 - patch 20091107
[ncurses.git] / form / fld_newftyp.c
index f101dce57b4ffce0fe5b8e107fcd2299237efa9a..689eda454fec64460c6063945328557d88a6e0fd 100644 (file)
@@ -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.18 2009/11/07 20:18:30 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 *)
@@ -82,8 +85,13 @@ new_fieldtype(bool (*const field_check) (FIELD *, const void *),
        {
          T((T_CREATE("fieldtype %p"), 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
        {