diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-12-11 20:48:44 -0200 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-12-11 20:48:44 -0200 |
| commit | 9aff171f3bf0125314a29a5ca952470b2d83708e (patch) | |
| tree | 8d1b400e0108198bde554a31731c655113bc4086 /lobject.h | |
| parent | ed9be5e1f0d4b68aa848f85744ad959d7a57c9f4 (diff) | |
| download | lua-9aff171f3bf0125314a29a5ca952470b2d83708e.tar.gz lua-9aff171f3bf0125314a29a5ca952470b2d83708e.tar.bz2 lua-9aff171f3bf0125314a29a5ca952470b2d83708e.zip | |
new type `boolean'
Diffstat (limited to 'lobject.h')
| -rw-r--r-- | lobject.h | 9 |
1 files changed, 8 insertions, 1 deletions
| @@ -37,7 +37,8 @@ typedef union { | |||
| 37 | union Closure *cl; | 37 | union Closure *cl; |
| 38 | struct Table *h; | 38 | struct Table *h; |
| 39 | struct lua_TObject *v; | 39 | struct lua_TObject *v; |
| 40 | lua_Number n; /* LUA_TNUMBER */ | 40 | lua_Number n; |
| 41 | int b; | ||
| 41 | } Value; | 42 | } Value; |
| 42 | 43 | ||
| 43 | 44 | ||
| @@ -55,7 +56,10 @@ typedef struct lua_TObject { | |||
| 55 | #define clvalue(o) ((o)->value.cl) | 56 | #define clvalue(o) ((o)->value.cl) |
| 56 | #define hvalue(o) ((o)->value.h) | 57 | #define hvalue(o) ((o)->value.h) |
| 57 | #define vvalue(o) ((o)->value.v) | 58 | #define vvalue(o) ((o)->value.v) |
| 59 | #define bvalue(o) ((o)->value.b) | ||
| 58 | 60 | ||
| 61 | #define l_isfalse(o) (ttype(o) == LUA_TNIL || \ | ||
| 62 | (ttype(o) == LUA_TBOOLEAN && bvalue(o) == 0)) | ||
| 59 | 63 | ||
| 60 | /* Macros to set values */ | 64 | /* Macros to set values */ |
| 61 | #define setnvalue(obj,x) \ | 65 | #define setnvalue(obj,x) \ |
| @@ -63,6 +67,9 @@ typedef struct lua_TObject { | |||
| 63 | 67 | ||
| 64 | #define chgnvalue(obj,x) ((obj)->value.n=(x)) | 68 | #define chgnvalue(obj,x) ((obj)->value.n=(x)) |
| 65 | 69 | ||
| 70 | #define setbvalue(obj,x) \ | ||
| 71 | { TObject *_o=(obj); _o->tt=LUA_TBOOLEAN; _o->value.b=(x); } | ||
| 72 | |||
| 66 | #define setsvalue(obj,x) \ | 73 | #define setsvalue(obj,x) \ |
| 67 | { TObject *_o=(obj); _o->tt=LUA_TSTRING; _o->value.ts=(x); } | 74 | { TObject *_o=(obj); _o->tt=LUA_TSTRING; _o->value.ts=(x); } |
| 68 | 75 | ||
