Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Roblox
GitHub Repository: Roblox/luau
Path: blob/master/VM/src/lbuffer.cpp
2725 views
1
// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details
2
#include "lbuffer.h"
3
4
#include "lgc.h"
5
#include "lmem.h"
6
7
#include <string.h>
8
9
Buffer* luaB_newbuffer(lua_State* L, size_t s)
10
{
11
if (s > MAX_BUFFER_SIZE)
12
luaM_toobig(L);
13
14
Buffer* b = luaM_newgco(L, Buffer, sizebuffer(s), L->activememcat);
15
luaC_init(L, b, LUA_TBUFFER);
16
b->len = unsigned(s);
17
memset(b->data, 0, b->len);
18
return b;
19
}
20
21
void luaB_freebuffer(lua_State* L, Buffer* b, lua_Page* page)
22
{
23
luaM_freegco(L, b, sizebuffer(b->len), b->memcat, page);
24
}
25
26