diff options
author | Li Jin <dragon-fly@qq.com> | 2022-10-31 11:32:33 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2022-11-09 11:29:32 +0800 |
commit | 417ec1a37922c6178900adfec70628cad46731ff (patch) | |
tree | a5a2d74927ad2c41b5a16264a78409e1c0334b72 /win-build/Lua53/lstring.h | |
parent | 3dd607c8887d2fe0186668aabca31bb84a41e2da (diff) | |
download | yuescript-417ec1a37922c6178900adfec70628cad46731ff.tar.gz yuescript-417ec1a37922c6178900adfec70628cad46731ff.tar.bz2 yuescript-417ec1a37922c6178900adfec70628cad46731ff.zip |
fix issue #112 and issue #113.
Diffstat (limited to 'win-build/Lua53/lstring.h')
-rw-r--r-- | win-build/Lua53/lstring.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/win-build/Lua53/lstring.h b/win-build/Lua53/lstring.h new file mode 100644 index 0000000..d612abd --- /dev/null +++ b/win-build/Lua53/lstring.h | |||
@@ -0,0 +1,49 @@ | |||
1 | /* | ||
2 | ** $Id: lstring.h,v 1.61.1.1 2017/04/19 17:20:42 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 | #include "lgc.h" | ||
11 | #include "lobject.h" | ||
12 | #include "lstate.h" | ||
13 | |||
14 | |||
15 | #define sizelstring(l) (sizeof(union UTString) + ((l) + 1) * sizeof(char)) | ||
16 | |||
17 | #define sizeludata(l) (sizeof(union UUdata) + (l)) | ||
18 | #define sizeudata(u) sizeludata((u)->len) | ||
19 | |||
20 | #define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \ | ||
21 | (sizeof(s)/sizeof(char))-1)) | ||
22 | |||
23 | |||
24 | /* | ||
25 | ** test whether a string is a reserved word | ||
26 | */ | ||
27 | #define isreserved(s) ((s)->tt == LUA_TSHRSTR && (s)->extra > 0) | ||
28 | |||
29 | |||
30 | /* | ||
31 | ** equality for short strings, which are always internalized | ||
32 | */ | ||
33 | #define eqshrstr(a,b) check_exp((a)->tt == LUA_TSHRSTR, (a) == (b)) | ||
34 | |||
35 | |||
36 | LUAI_FUNC unsigned int luaS_hash (const char *str, size_t l, unsigned int seed); | ||
37 | LUAI_FUNC unsigned int luaS_hashlongstr (TString *ts); | ||
38 | LUAI_FUNC int luaS_eqlngstr (TString *a, TString *b); | ||
39 | LUAI_FUNC void luaS_resize (lua_State *L, int newsize); | ||
40 | LUAI_FUNC void luaS_clearcache (global_State *g); | ||
41 | LUAI_FUNC void luaS_init (lua_State *L); | ||
42 | LUAI_FUNC void luaS_remove (lua_State *L, TString *ts); | ||
43 | LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s); | ||
44 | LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l); | ||
45 | LUAI_FUNC TString *luaS_new (lua_State *L, const char *str); | ||
46 | LUAI_FUNC TString *luaS_createlngstrobj (lua_State *L, size_t l); | ||
47 | |||
48 | |||
49 | #endif | ||