/*--------------------------------------------------------------------------- | Facility : libnform | Function : int free_form( FORM *form ) | | Description : Release internal memory associated with form. | | Return Values : E_OK - no error | E_BAD_ARGUMENT - invalid form pointer | E_POSTED - form is posted +--------------------------------------------------------------------------*/ int free_form(FORM * form) { if ( !form ) RETURN(E_BAD_ARGUMENT); if ( form->status & _POSTED) RETURN(E_POSTED); Disconnect_Fields( form ); if (form->page) free(form->page); free(form); RETURN(E_OK); }
free_form(FORM *form) { T((T_CALLED("free_form(%p)"), (void *)form)); if (!form) RETURN(E_BAD_ARGUMENT); if (form->status & _POSTED) RETURN(E_POSTED); Disconnect_Fields(form); if (form->page) free(form->page); free(form); RETURN(E_OK); }
/*--------------------------------------------------------------------------- | Facility : libnform | Function : int set_form_fields( FORM *form, FIELD **fields ) | | Description : Set a new association of an array of fields to a form | | Return Values : E_OK - no error | E_BAD_ARGUMENT - invalid form pointer | E_POSTED - form is posted +--------------------------------------------------------------------------*/ int set_form_fields(FORM * form, FIELD ** fields) { FIELD **old; int res; if ( !form ) RETURN(E_BAD_ARGUMENT); if ( form->status & _POSTED ) RETURN(E_POSTED); old = form->field; Disconnect_Fields( form ); if( (res = Associate_Fields( form, fields )) != E_OK ) Connect_Fields( form, old ); RETURN(res); }