aboutsummaryrefslogtreecommitdiff
path: root/llimits.h
diff options
context:
space:
mode:
Diffstat (limited to 'llimits.h')
-rw-r--r--llimits.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/llimits.h b/llimits.h
index 47dee9a6..3bcd1b7f 100644
--- a/llimits.h
+++ b/llimits.h
@@ -33,7 +33,8 @@ typedef unsigned long lu_mem;
33typedef long l_obj; 33typedef long l_obj;
34#endif /* } */ 34#endif /* } */
35 35
36#define MAX_LOBJ cast(l_obj, ~cast(lu_mem, 0) >> 1) 36#define MAX_LOBJ \
37 cast(l_obj, (cast(lu_mem, 1) << (sizeof(l_obj) * CHAR_BIT - 1)) - 1)
37 38
38 39
39/* chars used as small naturals (so that 'char' is reserved for characters) */ 40/* chars used as small naturals (so that 'char' is reserved for characters) */
@@ -44,7 +45,10 @@ typedef signed char ls_byte;
44/* maximum value for size_t */ 45/* maximum value for size_t */
45#define MAX_SIZET ((size_t)(~(size_t)0)) 46#define MAX_SIZET ((size_t)(~(size_t)0))
46 47
47/* maximum size visible for Lua (must be representable in a lua_Integer) */ 48/*
49** Maximum size for strings and userdata visible for Lua (should be
50** representable in a lua_Integer)
51*/
48#define MAX_SIZE (sizeof(size_t) < sizeof(lua_Integer) ? MAX_SIZET \ 52#define MAX_SIZE (sizeof(size_t) < sizeof(lua_Integer) ? MAX_SIZET \
49 : (size_t)(LUA_MAXINTEGER)) 53 : (size_t)(LUA_MAXINTEGER))
50 54