ncurses 5.9 - patch 20131110
[ncurses.git] / form / fld_attr.c
index ce01b65d867eeee6b4b6a74acb26a57e16bad685..0112f009ecd4e74d453d0b49191ee894161262ec 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998-2004,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 <Juergen.Pfeifer@T-Online.de> 1995,1997        *
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
  ****************************************************************************/
+
 #include "form.priv.h"
 
-MODULE_ID("$Id: fld_attr.c,v 1.2 1998/02/11 12:13:44 tom Exp $")
+MODULE_ID("$Id: fld_attr.c,v 1.11 2010/01/23 21:12:08 tom Exp $")
 
 /*----------------------------------------------------------------------------
   Field-Attribute manipulation routines
   --------------------------------------------------------------------------*/
 /* "Template" macro to generate a function to set a fields attribute */
 #define GEN_FIELD_ATTR_SET_FCT( name ) \
-int set_field_ ## name (FIELD * field, chtype attr)\
+NCURSES_IMPEXP int NCURSES_API set_field_ ## name (FIELD * field, chtype attr)\
 {\
    int res = E_BAD_ARGUMENT;\
+   T((T_CALLED("set_field_" #name "(%p,%s)"), field, _traceattr(attr)));\
    if ( attr==A_NORMAL || ((attr & A_ATTRIBUTES)==attr) )\
      {\
        Normalize_Field( field );\
-       if ((field -> name) != attr)\
-         {\
-           field -> name = attr;\
-           res = _nc_Synchronize_Attributes( field );\
-         }\
-       else\
-        res = E_OK;\
+       if (field != 0) \
+        { \
+        if ((field -> name) != attr)\
+          {\
+            field -> name = attr;\
+            res = _nc_Synchronize_Attributes( field );\
+          }\
+        else\
+          {\
+            res = E_OK;\
+          }\
+        }\
      }\
    RETURN(res);\
 }
 
 /* "Template" macro to generate a function to get a fields attribute */
 #define GEN_FIELD_ATTR_GET_FCT( name ) \
-chtype field_ ## name (const FIELD * field)\
+NCURSES_IMPEXP chtype NCURSES_API field_ ## name (const FIELD * field)\
 {\
-   return ( A_ATTRIBUTES & (Normalize_Field( field ) -> name) );\
+   T((T_CALLED("field_" #name "(%p)"), (const void *) field));\
+   returnAttr( A_ATTRIBUTES & (Normalize_Field( field ) -> name) );\
 }
 
 /*---------------------------------------------------------------------------
-|   Facility      :  libnform  
+|   Facility      :  libnform
 |   Function      :  int set_field_fore(FIELD *field, chtype attr)
-|   
+|
 |   Description   :  Sets the foreground of the field used to display the
 |                    field contents.
 |
@@ -73,22 +81,22 @@ chtype field_ ## name (const FIELD * field)\
 |                    E_BAD_ARGUMENT   - invalid attributes
 |                    E_SYSTEM_ERROR   - system error
 +--------------------------------------------------------------------------*/
-GEN_FIELD_ATTR_SET_FCT( fore )
+GEN_FIELD_ATTR_SET_FCT(fore)
 
 /*---------------------------------------------------------------------------
-|   Facility      :  libnform  
+|   Facility      :  libnform
 |   Function      :  chtype field_fore(const FIELD *)
-|   
+|
 |   Description   :  Retrieve fields foreground attribute
 |
 |   Return Values :  The foreground attribute
 +--------------------------------------------------------------------------*/
-GEN_FIELD_ATTR_GET_FCT( fore )
+GEN_FIELD_ATTR_GET_FCT(fore)
 
 /*---------------------------------------------------------------------------
-|   Facility      :  libnform  
+|   Facility      :  libnform
 |   Function      :  int set_field_back(FIELD *field, chtype attr)
-|   
+|
 |   Description   :  Sets the background of the field used to display the
 |                    fields extend.
 |
@@ -96,16 +104,16 @@ GEN_FIELD_ATTR_GET_FCT( fore )
 |                    E_BAD_ARGUMENT   - invalid attributes
 |                    E_SYSTEM_ERROR   - system error
 +--------------------------------------------------------------------------*/
-GEN_FIELD_ATTR_SET_FCT( back )
+GEN_FIELD_ATTR_SET_FCT(back)
 
 /*---------------------------------------------------------------------------
 |   Facility      :  libnform
-|   Function      :  chtype field_back(const 
-|   
+|   Function      :  chtype field_back(const
+|
 |   Description   :  Retrieve fields background attribute
 |
 |   Return Values :  The background attribute
 +--------------------------------------------------------------------------*/
-GEN_FIELD_ATTR_GET_FCT( back )
+GEN_FIELD_ATTR_GET_FCT(back)
 
 /* fld_attr.c ends here */