summaryrefslogtreecommitdiff
path: root/src/lstring.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lstring.h')
-rw-r--r--src/lstring.h26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/lstring.h b/src/lstring.h
index 67ede68d..be5a1e37 100644
--- a/src/lstring.h
+++ b/src/lstring.h
@@ -1,5 +1,5 @@
/*
-** $Id: lstring.h,v 1.24 2000/10/30 17:49:19 roberto Exp $
+** $Id: lstring.h,v 1.37 2002/08/16 14:45:55 roberto Exp $
** String table (keep all strings handled by Lua)
** See Copyright Notice in lua.h
*/
@@ -12,26 +12,22 @@
#include "lstate.h"
-/*
-** any TString with mark>=FIXMARK is never collected.
-** Marks>=RESERVEDMARK are used to identify reserved words.
-*/
-#define FIXMARK 2
-#define RESERVEDMARK 3
+#define sizestring(l) (cast(lu_mem, sizeof(union TString))+ \
+ (cast(lu_mem, l)+1)*sizeof(char))
+
+#define sizeudata(l) (cast(lu_mem, sizeof(union Udata))+(l))
-#define sizestring(l) ((long)sizeof(TString) + \
- ((long)(l+1)-TSPACK)*(long)sizeof(char))
+#define luaS_new(L, s) (luaS_newlstr(L, s, strlen(s)))
+#define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \
+ (sizeof(s)/sizeof(char))-1))
+#define luaS_fix(s) ((s)->tsv.marked |= (1<<4))
-void luaS_init (lua_State *L);
-void luaS_resize (lua_State *L, stringtable *tb, int newsize);
-TString *luaS_newudata (lua_State *L, size_t s, void *udata);
-TString *luaS_createudata (lua_State *L, void *udata, int tag);
+void luaS_resize (lua_State *L, int newsize);
+Udata *luaS_newudata (lua_State *L, size_t s);
void luaS_freeall (lua_State *L);
TString *luaS_newlstr (lua_State *L, const char *str, size_t l);
-TString *luaS_new (lua_State *L, const char *str);
-TString *luaS_newfixed (lua_State *L, const char *str);
#endif