aboutsummaryrefslogtreecommitdiff
path: root/form/fty_alnum.c
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2011-04-30 10:55:14 +0000
committerEd Schouten <ed@FreeBSD.org>2011-04-30 10:55:14 +0000
commit0294a182a1629b1d854b84906e73487d6cb75fba (patch)
treee563e21bcc0164ba11452983316bda26eebb1d3c /form/fty_alnum.c
parent22b11c4db16996bf8d4878fab98762c348676df3 (diff)
downloadsrc-0294a182a1629b1d854b84906e73487d6cb75fba.tar.gz
src-0294a182a1629b1d854b84906e73487d6cb75fba.zip
Import a stock copy of ncurses 5.8 into the vendor space.vendor/ncurses/5.8-20110226
It seems both local changes we made to 5.7 have already been fixed upstream properly, so there is no need to preserve the changes. Also, with SVN we import full source trees. Unlike CVS, where we removed unneeded cruft.
Notes
Notes: svn path=/vendor/ncurses/dist/; revision=221243 svn path=/vendor/ncurses/5.8-20110226/; revision=221244; tag=vendor/ncurses/5.8-20110226
Diffstat (limited to 'form/fty_alnum.c')
-rw-r--r--form/fty_alnum.c63
1 files changed, 49 insertions, 14 deletions
diff --git a/form/fty_alnum.c b/form/fty_alnum.c
index 59dd2736e8ab..cda23dc2b653 100644
--- a/form/fty_alnum.c
+++ b/form/fty_alnum.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2006,2007 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 *
@@ -34,7 +34,7 @@
#include "form.priv.h"
-MODULE_ID("$Id: fty_alnum.c,v 1.21 2007/10/13 19:31:52 tom Exp $")
+MODULE_ID("$Id: fty_alnum.c,v 1.24 2010/01/23 21:14:36 tom Exp $")
#define thisARG alnumARG
@@ -46,28 +46,48 @@ thisARG;
/*---------------------------------------------------------------------------
| Facility : libnform
-| Function : static void *Make_This_Type(va_list *ap)
+| Function : static void *Generic_This_Type(void *arg)
|
| Description : Allocate structure for alphanumeric type argument.
|
| Return Values : Pointer to argument structure or NULL on error
+--------------------------------------------------------------------------*/
static void *
-Make_This_Type(va_list *ap)
+Generic_This_Type(void *arg)
{
- thisARG *argp = typeMalloc(thisARG, 1);
+ thisARG *argp = (thisARG *) 0;
- if (argp)
+ if (arg)
{
- T((T_CREATE("thisARG %p"), argp));
- argp->width = va_arg(*ap, int);
- }
+ argp = typeMalloc(thisARG, 1);
+ if (argp)
+ {
+ T((T_CREATE("thisARG %p"), (void *)argp));
+ argp->width = *((int *)arg);
+ }
+ }
return ((void *)argp);
}
/*---------------------------------------------------------------------------
| Facility : libnform
+| Function : static void *Make_This_Type(va_list *ap)
+|
+| Description : Allocate structure for alphanumeric type argument.
+|
+| Return Values : Pointer to argument structure or NULL on error
++--------------------------------------------------------------------------*/
+static void *
+Make_This_Type(va_list *ap)
+{
+ int w = va_arg(*ap, int);
+
+ return Generic_This_Type((void *)&w);
+}
+
+/*---------------------------------------------------------------------------
+| Facility : libnform
| Function : static void *Copy_ThisType(const void *argp)
|
| Description : Copy structure for alphanumeric type argument.
@@ -82,7 +102,7 @@ Copy_This_Type(const void *argp)
if (result)
{
- T((T_CREATE("thisARG %p"), result));
+ T((T_CREATE("thisARG %p"), (void *)result));
*result = *ap;
}
@@ -156,12 +176,27 @@ static FIELDTYPE typeTHIS =
Make_This_Type,
Copy_This_Type,
Free_This_Type,
- Check_This_Field,
- Check_This_Character,
- NULL,
- NULL
+ INIT_FT_FUNC(Check_This_Field),
+ INIT_FT_FUNC(Check_This_Character),
+ INIT_FT_FUNC(NULL),
+ INIT_FT_FUNC(NULL),
+#if NCURSES_INTEROP_FUNCS
+ Generic_This_Type
+#endif
};
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALNUM = &typeTHIS;
+#if NCURSES_INTEROP_FUNCS
+/* The next routines are to simplify the use of ncurses from
+ programming languages with restictions on interop with C level
+ constructs (e.g. variable access or va_list + ellipsis constructs)
+*/
+NCURSES_EXPORT(FIELDTYPE *)
+_nc_TYPE_ALNUM(void)
+{
+ return TYPE_ALNUM;
+}
+#endif
+
/* fty_alnum.c ends here */