MCPcopy Create free account
hub / github.com/bloomberg/comdb2 / setnodevector

Function setnodevector

lua/ltable.c:306–328  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

304
305
306static void setnodevector (lua_State *L, Table *t, int size) {
307 int lsize;
308 if (size == 0) { /* no elements to hash part? */
309 t->node = cast(Node *, dummynode); /* use common `dummynode' */
310 lsize = 0;
311 }
312 else {
313 int i;
314 lsize = ceillog2(size);
315 if (lsize > MAXBITS)
316 luaG_runerror(L, "table overflow");
317 size = twoto(lsize);
318 t->node = luaM_newvector(L, size, Node);
319 for (i=0; i<size; i++) {
320 Node *n = gnode(t, i);
321 gnext(n) = NULL;
322 setnilvalue(gkey(n));
323 setnilvalue(gval(n));
324 }
325 }
326 t->lsizenode = cast_byte(lsize);
327 t->lastfree = gnode(t, size); /* all positions are free */
328}
329
330
331static void resize (lua_State *L, Table *t, int nasize, int nhsize) {

Callers 2

resizeFunction · 0.85
luaH_newFunction · 0.85

Calls 1

luaG_runerrorFunction · 0.85

Tested by

no test coverage detected