diff options
author | Mike Pall <mike> | 2013-04-26 19:20:21 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2013-04-26 19:20:21 +0200 |
commit | a98e6a70c1692cf4e5686d0acee2ede54728af6f (patch) | |
tree | 1c6667a07167ea718152d908312f165e7720323d /src/lj_buf.c | |
parent | f9421f2b9f0959bc80eff064a0f13970c4e35cc1 (diff) | |
download | luajit-a98e6a70c1692cf4e5686d0acee2ede54728af6f.tar.gz luajit-a98e6a70c1692cf4e5686d0acee2ede54728af6f.tar.bz2 luajit-a98e6a70c1692cf4e5686d0acee2ede54728af6f.zip |
Abstract out some common buffer operations.
Diffstat (limited to 'src/lj_buf.c')
-rw-r--r-- | src/lj_buf.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lj_buf.c b/src/lj_buf.c index 32ed52b9..3526a6e5 100644 --- a/src/lj_buf.c +++ b/src/lj_buf.c | |||
@@ -149,6 +149,15 @@ GCstr * LJ_FASTCALL lj_buf_tostr(SBuf *sb) | |||
149 | return lj_str_new(sbufL(sb), sbufB(sb), sbuflen(sb)); | 149 | return lj_str_new(sbufL(sb), sbufB(sb), sbuflen(sb)); |
150 | } | 150 | } |
151 | 151 | ||
152 | GCstr *lj_buf_cat2str(lua_State *L, GCstr *s1, GCstr *s2) | ||
153 | { | ||
154 | MSize len1 = s1->len, len2 = s2->len; | ||
155 | char *buf = lj_buf_tmp(L, len1 + len2); | ||
156 | memcpy(buf, strdata(s1), len1); | ||
157 | memcpy(buf+len1, strdata(s2), len2); | ||
158 | return lj_str_new(L, buf, len1 + len2); | ||
159 | } | ||
160 | |||
152 | uint32_t LJ_FASTCALL lj_buf_ruleb128(const char **pp) | 161 | uint32_t LJ_FASTCALL lj_buf_ruleb128(const char **pp) |
153 | { | 162 | { |
154 | const uint8_t *p = (const uint8_t *)*pp; | 163 | const uint8_t *p = (const uint8_t *)*pp; |