Beispiel #1
0
/* 读入解析出来的bin,生成程序定义的结构,并将其以lightuserdata的形式压入 */
static int
lnewproto(lua_State *L) {
	struct sproto * sp;
	size_t sz;
	void * buffer = (void *)luaL_checklstring(L,1,&sz);
	sp = sproto_create(buffer, sz);
	if (sp) {
		lua_pushlightuserdata(L, sp);
		return 1;
	}
	return 0;
}
Beispiel #2
0
static int
lnewproto(lua_State *L) {
	size_t sz = 0;
	void * buffer;
	struct sproto * sp;
	if (lua_isuserdata(L,1)) {
		buffer = lua_touserdata(L,1);
		sz = luaL_checkinteger(L,2);
	} else {
		buffer = (void *)luaL_checklstring(L,1,&sz);
	}
	sp = sproto_create(buffer, sz);
	if (sp) {
		lua_pushlightuserdata(L, sp);
		return 1;
	}
	return 0;
}