/****************************************************************************
- * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2011,2012 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 *
#include "form.priv.h"
-MODULE_ID("$Id: fld_def.c,v 1.34 2007/02/03 23:37:46 tom Exp $")
+MODULE_ID("$Id: fld_def.c,v 1.40 2012/03/11 00:37:16 tom Exp $")
/* this can't be readonly */
static FIELD default_field =
NCURSES_FIELD_EXTENSION
};
-NCURSES_EXPORT_VAR(FIELD *)
-_nc_Default_Field = &default_field;
+NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field = &default_field;
/*---------------------------------------------------------------------------
| Facility : libnform
assert(err != 0 && ap != (va_list *)0);
if ((typ->status & _LINKED_TYPE) != 0)
{
- p = (TypeArgument *)malloc(sizeof(TypeArgument));
+ p = typeMalloc(TypeArgument, 1);
if (p != 0)
{
assert(err != 0 && argp != 0);
if ((typ->status & _LINKED_TYPE) != 0)
{
- p = (TypeArgument *)malloc(sizeof(TypeArgument));
+ p = typeMalloc(TypeArgument, 1);
if (p != 0)
{
{
if ((typ->status & _LINKED_TYPE) != 0)
{
- assert(argp != 0);
- _nc_Free_Argument(typ->left, argp->left);
- _nc_Free_Argument(typ->right, argp->right);
- free(argp);
+ if (argp != 0)
+ {
+ _nc_Free_Argument(typ->left, argp->left);
+ _nc_Free_Argument(typ->right, argp->right);
+ free(argp);
+ }
}
else
{
if (field->type != 0)
{
field->type->ref--;
+ _nc_Free_Argument(field->type, (TypeArgument *)(field->arg));
}
- _nc_Free_Argument(field->type, (TypeArgument *)(field->arg));
}
/*---------------------------------------------------------------------------
nrow >= 0 &&
nbuf >= 0 &&
((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */
- (New_Field = (FIELD *)malloc(sizeof(FIELD))) != 0)
+ (New_Field = typeMalloc(FIELD, 1)) != 0)
{
- T((T_CREATE("field %p"), New_Field));
+ T((T_CREATE("field %p"), (void *)New_Field));
*New_Field = default_field;
- New_Field->rows = rows;
- New_Field->cols = cols;
+ New_Field->rows = (short) rows;
+ New_Field->cols = (short) cols;
New_Field->drows = rows + nrow;
New_Field->dcols = cols;
- New_Field->frow = frow;
- New_Field->fcol = fcol;
+ New_Field->frow = (short) frow;
+ New_Field->fcol = (short) fcol;
New_Field->nrow = nrow;
- New_Field->nbuf = nbuf;
+ New_Field->nbuf = (short) nbuf;
New_Field->link = New_Field;
#if USE_WIDEC_SUPPORT
New_Field->working = newpad(1, Buffer_Length(New_Field) + 1);
- New_Field->expanded = (char **)calloc(1 + (unsigned)rows, sizeof(char *));
+ New_Field->expanded = typeCalloc(char *, 1 + (unsigned)nbuf);
#endif
if (_nc_Copy_Type(New_Field, &default_field))
NCURSES_EXPORT(int)
free_field(FIELD *field)
{
- T((T_CALLED("free_field(%p)"), field));
+ T((T_CALLED("free_field(%p)"), (void *)field));
if (!field)
{
RETURN(E_BAD_ARGUMENT);