/****************************************************************************
- * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * Copyright 2020 Thomas E. Dickey *
+ * Copyright 1998-2010,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: frm_post.c,v 1.7 2003/10/25 15:17:08 tom Exp $")
+MODULE_ID("$Id: frm_post.c,v 1.13 2020/02/02 23:34:34 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int post_form(FORM * form)
-|
+|
| Description : Writes the form into its associated subwindow.
|
| Return Values : E_OK - success
| E_SYSTEM_ERROR - system error
+--------------------------------------------------------------------------*/
NCURSES_EXPORT(int)
-post_form (FORM * form)
+post_form(FORM *form)
{
WINDOW *formwin;
int err;
int page;
+ T((T_CALLED("post_form(%p)"), (void *)form));
+
if (!form)
RETURN(E_BAD_ARGUMENT);
- if (form->status & _POSTED)
+ if (form->status & _POSTED)
RETURN(E_POSTED);
if (!(form->field))
RETURN(E_NOT_CONNECTED);
-
+
formwin = Get_Form_Window(form);
- if ((form->cols > getmaxx(formwin)) || (form->rows > getmaxy(formwin)))
+ if ((form->cols > getmaxx(formwin)) || (form->rows > getmaxy(formwin)))
RETURN(E_NO_ROOM);
- /* reset form->curpage to an invald value. This forces Set_Form_Page
+ /* reset form->curpage to an invalid value. This forces Set_Form_Page
to do the page initialization which is required by post_form.
- */
+ */
page = form->curpage;
form->curpage = -1;
- if ((err = _nc_Set_Form_Page(form,page,form->current))!=E_OK)
+ if ((err = _nc_Set_Form_Page(form, page, form->current)) != E_OK)
RETURN(err);
- form->status |= _POSTED;
+ SetStatus(form, _POSTED);
- Call_Hook(form,forminit);
- Call_Hook(form,fieldinit);
+ Call_Hook(form, forminit);
+ Call_Hook(form, fieldinit);
_nc_Refresh_Current_Field(form);
RETURN(E_OK);
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int unpost_form(FORM * form)
-|
+|
| Description : Erase form from its associated subwindow.
|
| Return Values : E_OK - success
| E_BAD_STATE - called from a hook routine
+--------------------------------------------------------------------------*/
NCURSES_EXPORT(int)
-unpost_form (FORM * form)
+unpost_form(FORM *form)
{
+ T((T_CALLED("unpost_form(%p)"), (void *)form));
+
if (!form)
RETURN(E_BAD_ARGUMENT);
- if (!(form->status & _POSTED))
+ if (!(form->status & _POSTED))
RETURN(E_NOT_POSTED);
- if (form->status & _IN_DRIVER)
+ if (form->status & _IN_DRIVER)
RETURN(E_BAD_STATE);
- Call_Hook(form,fieldterm);
- Call_Hook(form,formterm);
+ Call_Hook(form, fieldterm);
+ Call_Hook(form, formterm);
werase(Get_Form_Window(form));
delwin(form->w);
form->w = (WINDOW *)0;
- form->status &= ~_POSTED;
+ ClrStatus(form, _POSTED);
RETURN(E_OK);
}