diff options
Diffstat (limited to 'src/lj_str.h')
-rw-r--r-- | src/lj_str.h | 35 |
1 files changed, 6 insertions, 29 deletions
diff --git a/src/lj_str.h b/src/lj_str.h index e7687cb1..2e9bfc1d 100644 --- a/src/lj_str.h +++ b/src/lj_str.h | |||
@@ -10,8 +10,13 @@ | |||
10 | 10 | ||
11 | #include "lj_obj.h" | 11 | #include "lj_obj.h" |
12 | 12 | ||
13 | /* String interning. */ | 13 | /* String helpers. */ |
14 | LJ_FUNC int32_t LJ_FASTCALL lj_str_cmp(GCstr *a, GCstr *b); | 14 | LJ_FUNC int32_t LJ_FASTCALL lj_str_cmp(GCstr *a, GCstr *b); |
15 | LJ_FUNC const char *lj_str_find(const char *s, const char *f, | ||
16 | MSize slen, MSize flen); | ||
17 | LJ_FUNC int lj_str_haspattern(GCstr *s); | ||
18 | |||
19 | /* String interning. */ | ||
15 | LJ_FUNC void lj_str_resize(lua_State *L, MSize newmask); | 20 | LJ_FUNC void lj_str_resize(lua_State *L, MSize newmask); |
16 | LJ_FUNCA GCstr *lj_str_new(lua_State *L, const char *str, size_t len); | 21 | LJ_FUNCA GCstr *lj_str_new(lua_State *L, const char *str, size_t len); |
17 | LJ_FUNC void LJ_FASTCALL lj_str_free(global_State *g, GCstr *s); | 22 | LJ_FUNC void LJ_FASTCALL lj_str_free(global_State *g, GCstr *s); |
@@ -19,32 +24,4 @@ LJ_FUNC void LJ_FASTCALL lj_str_free(global_State *g, GCstr *s); | |||
19 | #define lj_str_newz(L, s) (lj_str_new(L, s, strlen(s))) | 24 | #define lj_str_newz(L, s) (lj_str_new(L, s, strlen(s))) |
20 | #define lj_str_newlit(L, s) (lj_str_new(L, "" s, sizeof(s)-1)) | 25 | #define lj_str_newlit(L, s) (lj_str_new(L, "" s, sizeof(s)-1)) |
21 | 26 | ||
22 | /* Type conversions. */ | ||
23 | LJ_FUNC size_t LJ_FASTCALL lj_str_bufnum(char *s, cTValue *o); | ||
24 | LJ_FUNC char * LJ_FASTCALL lj_str_bufint(char *p, int32_t k); | ||
25 | LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnum(lua_State *L, const lua_Number *np); | ||
26 | LJ_FUNC GCstr * LJ_FASTCALL lj_str_fromint(lua_State *L, int32_t k); | ||
27 | LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnumber(lua_State *L, cTValue *o); | ||
28 | |||
29 | #define LJ_STR_INTBUF (1+10) | ||
30 | #define LJ_STR_NUMBUF LUAI_MAXNUMBER2STR | ||
31 | |||
32 | /* String formatting. */ | ||
33 | LJ_FUNC const char *lj_str_pushvf(lua_State *L, const char *fmt, va_list argp); | ||
34 | LJ_FUNC const char *lj_str_pushf(lua_State *L, const char *fmt, ...) | ||
35 | #if defined(__GNUC__) | ||
36 | __attribute__ ((format (printf, 2, 3))) | ||
37 | #endif | ||
38 | ; | ||
39 | |||
40 | /* Resizable string buffers. Struct definition in lj_obj.h. */ | ||
41 | LJ_FUNC char *lj_str_needbuf(lua_State *L, SBuf *sb, MSize sz); | ||
42 | |||
43 | #define lj_str_initbuf(sb) ((sb)->buf = NULL, (sb)->sz = 0) | ||
44 | #define lj_str_resetbuf(sb) ((sb)->n = 0) | ||
45 | #define lj_str_resizebuf(L, sb, size) \ | ||
46 | ((sb)->buf = (char *)lj_mem_realloc(L, (sb)->buf, (sb)->sz, (size)), \ | ||
47 | (sb)->sz = (size)) | ||
48 | #define lj_str_freebuf(g, sb) lj_mem_free(g, (void *)(sb)->buf, (sb)->sz) | ||
49 | |||
50 | #endif | 27 | #endif |