X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gobject%2Fgvaluetypes.c;h=c2850d13a521ff83f6d6e6e2d6dd8dcf4d7f6813;hb=f42fe6cdc056b77f74ff6e332389d444c50ae7dc;hp=a05ccd90b644e578a0c8a0566534e3acda98700c;hpb=1df8160fa675b225809eed2f86d2489133e5e54d;p=platform%2Fupstream%2Fglib.git diff --git a/gobject/gvaluetypes.c b/gobject/gvaluetypes.c index a05ccd9..c2850d1 100644 --- a/gobject/gvaluetypes.c +++ b/gobject/gvaluetypes.c @@ -636,6 +636,7 @@ _g_value_types_init (void) * @v_char: character value to be set * * Set the contents of a %G_TYPE_CHAR #GValue to @v_char. + * Deprecated: 2.32: This function's input type is broken, see g_value_set_schar() */ void g_value_set_char (GValue *value, @@ -650,9 +651,13 @@ g_value_set_char (GValue *value, * g_value_get_char: * @value: a valid #GValue of type %G_TYPE_CHAR * - * Get the contents of a %G_TYPE_CHAR #GValue. + * Do not use this function; it is broken on platforms where the %char + * type is unsigned, such as ARM and PowerPC. See g_value_get_schar(). + * + * Get the contents of a %G_TYPE_CHAR #GValue. * * Returns: character contents of @value + * Deprecated: 2.32: This function's return type is broken, see g_value_get_schar() */ gchar g_value_get_char (const GValue *value) @@ -663,6 +668,41 @@ g_value_get_char (const GValue *value) } /** + * g_value_set_schar: + * @value: a valid #GValue of type %G_TYPE_CHAR + * @v_char: signed 8 bit integer to be set + * + * Set the contents of a %G_TYPE_CHAR #GValue to @v_char. + * + * Since: 2.32 + */ +void +g_value_set_schar (GValue *value, + gint8 v_char) +{ + g_return_if_fail (G_VALUE_HOLDS_CHAR (value)); + + value->data[0].v_int = v_char; +} + +/** + * g_value_get_schar: + * @value: a valid #GValue of type %G_TYPE_CHAR + * + * Get the contents of a %G_TYPE_CHAR #GValue. + * + * Returns: signed 8 bit integer contents of @value + * Since: 2.32 + */ +gint8 +g_value_get_schar (const GValue *value) +{ + g_return_val_if_fail (G_VALUE_HOLDS_CHAR (value), 0); + + return value->data[0].v_int; +} + +/** * g_value_set_uchar: * @value: a valid #GValue of type %G_TYPE_UCHAR * @v_uchar: unsigned character value to be set