X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gobject%2Fgvaluetransform.c;h=5579e7f4166e38f2130ba0e8600616b4111d1392;hb=9da85c7262325478e8730ae9f3e76bd0528a9a8c;hp=e1c3bba10ac0abae52003a8ad3e36a27718e2252;hpb=73007021796f33d7ccec4e5f2bb2b2f8660347f2;p=platform%2Fupstream%2Fglib.git diff --git a/gobject/gvaluetransform.c b/gobject/gvaluetransform.c index e1c3bba..5579e7f 100644 --- a/gobject/gvaluetransform.c +++ b/gobject/gvaluetransform.c @@ -12,9 +12,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General - * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307, USA. + * Public License along with this library; if not, see . */ #include "config.h" @@ -22,8 +20,8 @@ #include #include "gvalue.h" +#include "gtype-private.h" #include "genums.h" -#include "gobjectalias.h" /* same type transforms @@ -106,16 +104,8 @@ DEFINE_CAST (uint64_uint, v_uint64, guint, v_uint); DEFINE_CAST (uint64_long, v_uint64, glong, v_long); DEFINE_CAST (uint64_ulong, v_uint64, gulong, v_ulong); DEFINE_CAST (uint64_int64, v_uint64, gint64, v_int64); -#ifdef _MSC_VER -/* work around error C2520: conversion from unsigned __int64 to double - * not implemented, use signed __int64 - * If it is supported don't miss to g_value_register_transform_func() below - */ -#pragma message ("Check if cast from uint64 to double is supported with msvc 6.0") -#else DEFINE_CAST (uint64_float, v_uint64, gfloat, v_float); DEFINE_CAST (uint64_double, v_uint64, gdouble, v_double); -#endif DEFINE_CAST (float_s8, v_float, gint8, v_int); DEFINE_CAST (float_u8, v_float, guint8, v_uint); DEFINE_CAST (float_int, v_float, gint, v_int); @@ -148,7 +138,7 @@ value_transform_##func_name (const GValue *src_value, \ DEFINE_BOOL_CHECK (int_bool, v_int); DEFINE_BOOL_CHECK (uint_bool, v_uint); DEFINE_BOOL_CHECK (long_bool, v_long); -DEFINE_BOOL_CHECK (ulong_bool, v_uint); +DEFINE_BOOL_CHECK (ulong_bool, v_ulong); DEFINE_BOOL_CHECK (int64_bool, v_int64); DEFINE_BOOL_CHECK (uint64_bool, v_uint64); @@ -224,7 +214,7 @@ value_transform_flags_string (const GValue *src_value, g_string_append (gstring, flags_value->value_name); flags_value = g_flags_get_first_value (class, v_flags); } - while (flags_value); + while (flags_value && v_flags); if (v_flags) dest_value->data[0].v_pointer = g_strdup_printf ("%s | %u", @@ -244,7 +234,7 @@ value_transform_flags_string (const GValue *src_value, /* registration */ void -g_value_transforms_init (void) +_g_value_transforms_init (void) { /* some transformations are a bit questionable, * we currently skip those @@ -376,11 +366,8 @@ g_value_transforms_init (void) g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_UINT64, value_transform_uint64_uint64); g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_ENUM, value_transform_uint64_long); g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_FLAGS, value_transform_uint64_ulong); -#ifndef _MSC_VER - /* required casts unsupported with msvc 5.0 */ g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_FLOAT, value_transform_uint64_float); g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_DOUBLE, value_transform_uint64_double); -#endif g_value_register_transform_func (G_TYPE_UINT64, G_TYPE_STRING, value_transform_uint64_string); g_value_register_transform_func (G_TYPE_ENUM, G_TYPE_CHAR, value_transform_long_s8); g_value_register_transform_func (G_TYPE_ENUM, G_TYPE_UCHAR, value_transform_long_u8);