Fix checks in gfield.c

When checking if the readable/writable flags are missing for the fields
we are trying to read and write, use (a & flag) == 0, not (!a & flag).

http://bugzilla.gnome.org/show_bug.cgi?id=579727
This commit is contained in:
Owen W. Taylor 2009-04-21 10:57:50 -04:00
parent 933fcbc88c
commit 46d5a2392d

View File

@ -25,7 +25,7 @@ g_field_info_get_field (GIFieldInfo *field_info,
GITypeInfo *type_info;
gboolean result = FALSE;
if (!g_field_info_get_flags (field_info) & GI_FIELD_IS_READABLE)
if ((g_field_info_get_flags (field_info) & GI_FIELD_IS_READABLE) == 0)
return FALSE;
offset = g_field_info_get_offset (field_info);
@ -219,7 +219,7 @@ g_field_info_get_field (GIFieldInfo *field_info,
* to write fields where memory management would by required. A field
* with a type such as 'char *' must be set with a setter function.
*
* Returns: %TRUE if reading the field succeeded, otherwise %FALSE
* Returns: %TRUE if writing the field succeeded, otherwise %FALSE
*/
gboolean
g_field_info_set_field (GIFieldInfo *field_info,
@ -230,7 +230,7 @@ g_field_info_set_field (GIFieldInfo *field_info,
GITypeInfo *type_info;
gboolean result = FALSE;
if (!g_field_info_get_flags (field_info) & GI_FIELD_IS_WRITABLE)
if ((g_field_info_get_flags (field_info) & GI_FIELD_IS_WRITABLE) == 0)
return FALSE;
offset = g_field_info_get_offset (field_info);