summaryrefslogtreecommitdiff
path: root/lib/libform/fld_newftyp.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2010-01-12 23:22:15 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2010-01-12 23:22:15 +0000
commit6ee254699bf787d78835419be2b3241fb037d444 (patch)
tree07fe67dab517e4990f344fe2c00e65cef4d25b81 /lib/libform/fld_newftyp.c
parent0b62f5dc36fc7203a74cdc812c4234ae188fdfd2 (diff)
Update to ncurses 5.7, with local changes reapplied.
This is around eight years worth of changes (previously we were around ncurses 5.2), too many to list - many bug fixes and also a few new functions. A major bump for libcurses, libpanel, libform and libmenu. ok deraadt
Diffstat (limited to 'lib/libform/fld_newftyp.c')
-rw-r--r--lib/libform/fld_newftyp.c84
1 files changed, 45 insertions, 39 deletions
diff --git a/lib/libform/fld_newftyp.c b/lib/libform/fld_newftyp.c
index 4abd3d5f16d..7d2e7ffb801 100644
--- a/lib/libform/fld_newftyp.c
+++ b/lib/libform/fld_newftyp.c
@@ -1,7 +1,5 @@
-/* $OpenBSD: fld_newftyp.c,v 1.5 2001/01/22 18:02:13 millert Exp $ */
-
/****************************************************************************
- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2004,2007 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 *
@@ -29,76 +27,80 @@
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1995,1997 *
+ * Author: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
#include "form.priv.h"
-MODULE_ID("$From: fld_newftyp.c,v 1.6 2000/12/10 02:09:38 tom Exp $")
+MODULE_ID("$Id: fld_newftyp.c,v 1.6 2010/01/12 23:22:07 nicm Exp $")
-static FIELDTYPE const default_fieldtype = {
- 0, /* status */
- 0L, /* reference count */
- (FIELDTYPE *)0, /* pointer to left operand */
- (FIELDTYPE *)0, /* pointer to right operand */
- 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 */
+static FIELDTYPE const default_fieldtype =
+{
+ 0, /* status */
+ 0L, /* reference count */
+ (FIELDTYPE *)0, /* pointer to left operand */
+ (FIELDTYPE *)0, /* pointer to right operand */
+ 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 */
};
-NCURSES_EXPORT_VAR(const FIELDTYPE*) _nc_Default_FieldType = &default_fieldtype;
-
+NCURSES_EXPORT_VAR(const FIELDTYPE *)
+_nc_Default_FieldType = &default_fieldtype;
+
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : FIELDTYPE *new_fieldtype(
| bool (* const field_check)(FIELD *,const void *),
-| bool (* const char_check) (int, const void *) )
-|
+| bool (* const char_check) (int, const void *) )
+|
| Description : Create a new fieldtype. The application programmer must
| write a field_check and a char_check function and give
| them as input to this call.
-| If an error occurs, errno is set to
+| If an error occurs, errno is set to
| E_BAD_ARGUMENT - invalid arguments
| E_SYSTEM_ERROR - system error (no memory)
|
-| Return Values : Fieldtype pointer or NULL if error occured
+| Return Values : Fieldtype pointer or NULL if error occurred
+--------------------------------------------------------------------------*/
NCURSES_EXPORT(FIELDTYPE *)
-new_fieldtype (
- bool (* const field_check)(FIELD *,const void *),
- bool (* const char_check) (int,const void *) )
+new_fieldtype(bool (*const field_check) (FIELD *, const void *),
+ bool (*const char_check) (int, const void *))
{
FIELDTYPE *nftyp = (FIELDTYPE *)0;
-
- if ( (field_check) || (char_check) )
+
+ T((T_CALLED("new_fieldtype(%p,%p)"), field_check, char_check));
+ if ((field_check) || (char_check))
{
- nftyp = (FIELDTYPE *)malloc(sizeof(FIELDTYPE));
+ nftyp = typeMalloc(FIELDTYPE, 1);
+
if (nftyp)
{
+ T((T_CREATE("fieldtype %p"), nftyp));
*nftyp = default_fieldtype;
nftyp->fcheck = field_check;
nftyp->ccheck = char_check;
}
else
{
- SET_ERROR( E_SYSTEM_ERROR );
+ SET_ERROR(E_SYSTEM_ERROR);
}
}
else
{
- SET_ERROR( E_BAD_ARGUMENT );
+ SET_ERROR(E_BAD_ARGUMENT);
}
- return nftyp;
+ returnFieldType(nftyp);
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int free_fieldtype(FIELDTYPE *typ)
-|
+|
| Description : Release the memory associated with this fieldtype.
|
| Return Values : E_OK - success
@@ -106,12 +108,14 @@ new_fieldtype (
| E_BAD_ARGUMENT - invalid fieldtype pointer
+--------------------------------------------------------------------------*/
NCURSES_EXPORT(int)
-free_fieldtype (FIELDTYPE *typ)
+free_fieldtype(FIELDTYPE *typ)
{
+ T((T_CALLED("free_fieldtype(%p)"), typ));
+
if (!typ)
RETURN(E_BAD_ARGUMENT);
- if (typ->ref!=0)
+ if (typ->ref != 0)
RETURN(E_CONNECTED);
if (typ->status & _RESIDENT)
@@ -119,8 +123,10 @@ free_fieldtype (FIELDTYPE *typ)
if (typ->status & _LINKED_TYPE)
{
- if (typ->left ) typ->left->ref--;
- if (typ->right) typ->right->ref--;
+ if (typ->left)
+ typ->left->ref--;
+ if (typ->right)
+ typ->right->ref--;
}
free(typ);
RETURN(E_OK);