misc/liblua/lstring.h
changeset 2812 0a24853de796
child 10017 de822cd3df3a
equal deleted inserted replaced
2811:4cad87e11bf6 2812:0a24853de796
       
     1 /*
       
     2 ** $Id: lstring.h,v 1.43.1.1 2007/12/27 13:02:25 roberto Exp $
       
     3 ** String table (keep all strings handled by Lua)
       
     4 ** See Copyright Notice in lua.h
       
     5 */
       
     6 
       
     7 #ifndef lstring_h
       
     8 #define lstring_h
       
     9 
       
    10 
       
    11 #include "lgc.h"
       
    12 #include "lobject.h"
       
    13 #include "lstate.h"
       
    14 
       
    15 
       
    16 #define sizestring(s)	(sizeof(union TString)+((s)->len+1)*sizeof(char))
       
    17 
       
    18 #define sizeudata(u)	(sizeof(union Udata)+(u)->len)
       
    19 
       
    20 #define luaS_new(L, s)	(luaS_newlstr(L, s, strlen(s)))
       
    21 #define luaS_newliteral(L, s)	(luaS_newlstr(L, "" s, \
       
    22                                  (sizeof(s)/sizeof(char))-1))
       
    23 
       
    24 #define luaS_fix(s)	l_setbit((s)->tsv.marked, FIXEDBIT)
       
    25 
       
    26 LUAI_FUNC void luaS_resize (lua_State *L, int newsize);
       
    27 LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, Table *e);
       
    28 LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l);
       
    29 
       
    30 
       
    31 #endif