aboutsummaryrefslogtreecommitdiff
path: root/src/lj_str.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_str.h')
-rw-r--r--src/lj_str.h17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/lj_str.h b/src/lj_str.h
index 3aa03662..6317e794 100644
--- a/src/lj_str.h
+++ b/src/lj_str.h
@@ -20,14 +20,17 @@ LJ_FUNC void LJ_FASTCALL lj_str_free(global_State *g, GCstr *s);
20#define lj_str_newlit(L, s) (lj_str_new(L, "" s, sizeof(s)-1)) 20#define lj_str_newlit(L, s) (lj_str_new(L, "" s, sizeof(s)-1))
21 21
22/* Type conversions. */ 22/* Type conversions. */
23LJ_FUNC size_t LJ_FASTCALL lj_str_bufnum(char *s, cTValue *o); 23LJ_FUNC MSize LJ_FASTCALL lj_str_bufnum(char *s, cTValue *o);
24LJ_FUNC char * LJ_FASTCALL lj_str_bufint(char *p, int32_t k); 24LJ_FUNC MSize LJ_FASTCALL lj_str_bufptr(char *p, const void *v);
25LJ_FUNC const char *lj_str_buftv(char *buf, cTValue *o, MSize *lenp);
25LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnum(lua_State *L, const lua_Number *np); 26LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnum(lua_State *L, const lua_Number *np);
26LJ_FUNC GCstr * LJ_FASTCALL lj_str_fromint(lua_State *L, int32_t k); 27LJ_FUNC GCstr * LJ_FASTCALL lj_str_fromint(lua_State *L, int32_t k);
27LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnumber(lua_State *L, cTValue *o); 28LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnumber(lua_State *L, cTValue *o);
28 29
29#define LJ_STR_INTBUF (1+10) 30#define LJ_STR_INTBUF (1+10)
30#define LJ_STR_NUMBUF LUAI_MAXNUMBER2STR 31#define LJ_STR_NUMBUF LUAI_MAXNUMBER2STR
32#define LJ_STR_NUMBERBUF LUAI_MAXNUMBER2STR
33#define LJ_STR_PTRBUF (2*sizeof(ptrdiff_t)+2)
31 34
32/* String formatting. */ 35/* String formatting. */
33LJ_FUNC const char *lj_str_pushvf(lua_State *L, const char *fmt, va_list argp); 36LJ_FUNC const char *lj_str_pushvf(lua_State *L, const char *fmt, va_list argp);
@@ -37,14 +40,4 @@ LJ_FUNC const char *lj_str_pushf(lua_State *L, const char *fmt, ...)
37#endif 40#endif
38 ; 41 ;
39 42
40/* Resizable string buffers. Struct definition in lj_obj.h. */
41LJ_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 43#endif