/* Reader for generic 'load' function: 'lua_load' uses the stack for internal stuff, so the reader cannot change the stack top. Instead, it keeps its resulting string in a reserved slot inside the stack.  */
static const char* generic_reader(lua_State *L, void *ud, size_t *size)
/* Reader for generic 'load' function: 'lua_load' uses the stack for internal stuff, so the reader cannot change the stack top. Instead, it keeps its resulting string in a reserved slot inside the stack.  */
static const char* generic_reader(lua_State *L, void *ud, size_t *size)
{
    lua_pop(L, 1);
    *size = 0;
    return NULL;
  }
  else if (l_unlikely(!lua_isstring(L, -1)))
    luaL_error(L, "reader function must return a string");
  lua_replace(L, RESERVEDSLOT);
  return lua_tolstring(L, RESERVEDSLOT, size);
}