much better nan!
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 9 Dec 2009 05:30:43 +0000 (05:30 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 9 Dec 2009 05:30:43 +0000 (05:30 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@44305 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/Edje.h
src/lib/edje_main.c

index ee48ba0..3c42460 100644 (file)
@@ -260,14 +260,8 @@ struct _Edje_External_Param
 typedef struct _Edje_External_Param Edje_External_Param;
 
 #ifndef NAN
-# include <endian.h>
-# if __BYTE_ORDER == __BIG_ENDIAN
-#  define __nan_bytes { 0x7f, 0xc0, 0, 0 }
-# elif __BYTE_ORDER == __LITLE_ENDIAN
-#  define __nan_bytes { 0, 0, 0xc0, 0x7f }
-# endif
-static union { unsigned char __c[4]; float __d; } __nan_union = { __nan_bytes };
-# define NAN (__nan_union.d)
+extern float *_edje_const_nan;
+#define NAN (*_edje_const_nan)
 #endif
 
 #define EDJE_EXTERNAL_INT_UNSET INT32_MAX
index 5540352..1704e22 100644 (file)
@@ -6,6 +6,9 @@
 
 #include "edje_private.h"
 
+static const unsigned int _edje_conte_nan_int = 0x7fc00000;
+float *_edje_const_nan = (float *)(&(_edje_conte_nan_int));
+
 static int _edje_init_count = 0;
 static int _edje_log_dom_global = -1;
 Eina_Mempool *_edje_real_part_mp = NULL;