Browse Source

NILCONSTANT also depends no endianess (with NaN trick)

Roberto Ierusalimschy 14 years ago
parent
commit
9e89a55a4f
1 changed files with 4 additions and 4 deletions
  1. 4 4
      lobject.h

+ 4 - 4
lobject.h

@@ -1,5 +1,5 @@
 /*
-** $Id: lobject.h,v 2.59 2011/06/09 18:21:25 roberto Exp roberto $
+** $Id: lobject.h,v 2.60 2011/06/13 14:13:06 roberto Exp roberto $
 ** Type definitions for Lua objects
 ** See Copyright Notice in lua.h
 */
@@ -275,14 +275,17 @@ typedef struct lua_TValue TValue;
 #endif
 
 #undef TValuefields
+#undef NILCONSTANT
 #if defined(LUA_NANTRICKLE)
 /* little endian */
 #define TValuefields  \
 	union { struct { Value v_; int tt_; } i; double d_; } u
+#define NILCONSTANT	{{{NULL}, tag2tt(LUA_TNIL)}}
 #else
 /* big endian */
 #define TValuefields  \
 	union { struct { int tt_; Value v_; } i; double d_; } u
+#define NILCONSTANT	{{tag2tt(LUA_TNIL), {NULL}}}
 #endif
 
 #undef numfield
@@ -294,9 +297,6 @@ typedef struct lua_TValue TValue;
 
 #define tag2tt(t)	(NNMARK | (t))
 
-#undef NILCONSTANT
-#define NILCONSTANT	{{{NULL}, tag2tt(LUA_TNIL)}}
-
 #undef val_
 #define val_(o)		((o)->u.i.v_)
 #undef num_