/****************************************************************************
- * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2009,2010 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 *
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer, 1995,1997 *
+ * Author: Juergen Pfeifer, 1995-1997,2009 *
****************************************************************************/
#include "form.priv.h"
-MODULE_ID("$Id: frm_sub.c,v 1.7 2003/10/25 15:17:08 tom Exp $")
+MODULE_ID("$Id: frm_sub.c,v 1.12 2010/01/23 21:14:36 tom Exp $")
/*---------------------------------------------------------------------------
| Facility : libnform
| E_POSTED - form is posted
+--------------------------------------------------------------------------*/
NCURSES_EXPORT(int)
-set_form_sub (FORM * form, WINDOW * win)
+set_form_sub(FORM *form, WINDOW *win)
{
- if (form && (form->status & _POSTED))
+ T((T_CALLED("set_form_sub(%p,%p)"), (void *)form, (void *)win));
+
+ if (form && (form->status & _POSTED))
RETURN(E_POSTED);
+ else
+ {
+#if NCURSES_SP_FUNCS
+ FORM *f = Normalize_Form(form);
- Normalize_Form( form )->sub = win;
- RETURN(E_OK);
-}
+ f->sub = win ? win : StdScreen(Get_Form_Screen(f));
+ RETURN(E_OK);
+#else
+ Normalize_Form(form)->sub = win;
+ RETURN(E_OK);
+#endif
+ }
+}
/*---------------------------------------------------------------------------
| Facility : libnform
| Return Values : The pointer to the Subwindow.
+--------------------------------------------------------------------------*/
NCURSES_EXPORT(WINDOW *)
-form_sub (const FORM * form)
+form_sub(const FORM *form)
{
- const FORM* f = Normalize_Form( form );
- return Get_Form_Window(f);
+ const FORM *f;
+
+ T((T_CALLED("form_sub(%p)"), (const void *)form));
+
+ f = Normalize_Form(form);
+ returnWin(Get_Form_Window(f));
}
/* frm_sub.c ends here */