2812
+ − 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
10017
+ − 16
#define sizestring(s) (sizeof(union TString)+((s)->len+1)*sizeof(char))
2812
+ − 17
10017
+ − 18
#define sizeudata(u) (sizeof(union Udata)+(u)->len)
2812
+ − 19
10017
+ − 20
#define luaS_new(L, s) (luaS_newlstr(L, s, strlen(s)))
+ − 21
#define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \
2812
+ − 22
(sizeof(s)/sizeof(char))-1))
+ − 23
10017
+ − 24
#define luaS_fix(s) l_setbit((s)->tsv.marked, FIXEDBIT)
2812
+ − 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