sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Loading...
Searching...
No Matches
lstring.h
Go to the documentation of this file.
1/*
2** $Id: lstring.h $
3** String table (keep all strings handled by Lua)
4** See Copyright Notice in lua.h
5*/
6
11#ifndef lstring_h
12#define lstring_h
13
14#include "lgc.h"
15#include "lobject.h"
16#include "lstate.h"
17
18
19/*
20** Memory-allocation error message must be preallocated (it cannot
21** be created after memory is exhausted)
22*/
23#define MEMERRMSG "not enough memory"
24
25
26/*
27** Size of a TString: Size of the header plus space for the string
28** itself (including final '\0').
29*/
30#define sizelstring(l) (offsetof(TString, contents) + ((l) + 1) * sizeof(char))
31
32#define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \
33 (sizeof(s)/sizeof(char))-1))
34
35
36/*
37** test whether a string is a reserved word
38*/
39#define isreserved(s) ((s)->tt == LUA_VSHRSTR && (s)->extra > 0)
40
41
42/*
43** equality for short strings, which are always internalized
44*/
45#define eqshrstr(a,b) check_exp((a)->tt == LUA_VSHRSTR, (a) == (b))
46
47
48LUAI_FUNC unsigned int luaS_hash (const char *str, size_t l, unsigned int seed);
49LUAI_FUNC unsigned int luaS_hashlongstr (TString *ts);
50LUAI_FUNC int luaS_eqlngstr (TString *a, TString *b);
51LUAI_FUNC void luaS_resize (lua_State *L, int newsize);
52LUAI_FUNC void luaS_clearcache (global_State *g);
53LUAI_FUNC void luaS_init (lua_State *L);
54LUAI_FUNC void luaS_remove (lua_State *L, TString *ts);
55LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, int nuvalue);
56LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l);
57LUAI_FUNC TString *luaS_new (lua_State *L, const char *str);
58LUAI_FUNC TString *luaS_createlngstrobj (lua_State *L, size_t l);
59
60
61#endif