X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=form%2Ffrm_def.c;h=34be5fe7ca9c6df53ef26b4c3a804968f0103c6a;hp=9b537bfa9043f300a089f7dc240b0c5d5d6b3ac2;hb=0eb88fc5281804773e2a0c7a488a4452463535ce;hpb=3a9b6a3bf0269231bef7de74757a910dedd04e0c diff --git a/form/frm_def.c b/form/frm_def.c index 9b537bfa..34be5fe7 100644 --- a/form/frm_def.c +++ b/form/frm_def.c @@ -1,28 +1,38 @@ -/*-----------------------------------------------------------------------------+ -| The ncurses form library is Copyright (C) 1995-1997 | -| by Juergen Pfeifer | -| All Rights Reserved. | -| | -| Permission to use, copy, modify, and distribute this software and its | -| documentation for any purpose and without fee is hereby granted, provided | -| that the above copyright notice appear in all copies and that both that | -| copyright notice and this permission notice appear in supporting | -| documentation, and that the name of the above listed copyright holder(s) not | -| be used in advertising or publicity pertaining to distribution of the | -| software without specific, written prior permission. | -| | -| THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO | -| THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT- | -| NESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR | -| ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RE- | -| SULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, | -| NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH | -| THE USE OR PERFORMANCE OF THIS SOFTWARE. | -+-----------------------------------------------------------------------------*/ +/**************************************************************************** + * Copyright (c) 1998 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 * + * "Software"), to deal in the Software without restriction, including * + * without limitation the rights to use, copy, modify, merge, publish, * + * distribute, distribute with modifications, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included * + * in all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * + * * + * Except as contained in this notice, the name(s) of the above copyright * + * holders shall not be used in advertising or otherwise to promote the * + * sale, use or other dealings in this Software without prior written * + * authorization. * + ****************************************************************************/ + +/**************************************************************************** + * Author: Juergen Pfeifer 1995,1997 * + ****************************************************************************/ #include "form.priv.h" -MODULE_ID("$Id: frm_def.c,v 1.4 1997/05/01 16:47:54 juergen Exp $") +MODULE_ID("$Id: frm_def.c,v 1.9 1999/05/16 17:20:43 juergen Exp $") /* this can't be readonly */ static FORM default_form = { @@ -109,23 +119,24 @@ static FIELD *Insert_Field_By_Position(FIELD *newfield, FIELD *head) +--------------------------------------------------------------------------*/ static void Disconnect_Fields( FORM * form ) { - FIELD **fields; - - assert(form && form->field); - - for(fields=form->field;*fields;fields++) + if (form->field) { - if (form == (*fields)->form) - (*fields)->form = (FORM *)0; - } - - form->rows = form->cols = 0; - form->maxfield = form->maxpage = -1; - form->field = (FIELD **)0; - if (form->page) - free(form->page); - form->page = (_PAGE *)0; -} + FIELD **fields; + + for(fields=form->field;*fields;fields++) + { + if (form == (*fields)->form) + (*fields)->form = (FORM *)0; + } + + form->rows = form->cols = 0; + form->maxfield = form->maxpage = -1; + form->field = (FIELD **)0; + if (form->page) + free(form->page); + form->page = (_PAGE *)0; + } +} /*--------------------------------------------------------------------------- | Facility : libnform @@ -362,30 +373,4 @@ int field_count(const FORM * form) return (Normalize_Form( form )->maxfield); } -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int scale_form( const FORM *form, int *rows, int *cols ) -| -| Description : Retrieve size of form -| -| Return Values : E_OK - no error -| E_BAD_ARGUMENT - invalid form pointer -| E_NOT_CONNECTED - no fields connected to form -+--------------------------------------------------------------------------*/ -int scale_form(const FORM * form, int * rows, int * cols) -{ - if ( !form ) - RETURN(E_BAD_ARGUMENT); - - if ( !(form->field) ) - RETURN(E_NOT_CONNECTED); - - if (rows) - *rows = form->rows; - if (cols) - *cols = form->cols; - - RETURN(E_OK); -} - /* frm_def.c ends here */