static int luaIni_getFloat(lua_State* L) { int ret = 0; int top = 0; float value = 0; IniFile* ini = 0; CMArg args[3] = { {0, vtPtrs}, {0, vtPtrs}, {0, vtFloat}, }; top = lua_gettop(L); jn2Exit0(top == 3 || top == 4); ini = userdataToObj<IniFile>(L, 1); jn2Exit0(ini); ret = lua_getArgs(L, args, _countof(args), top, 2); jn2Exit0(ret); ret = ini->GetFloat(args[0].pszValue, args[1].pszValue, args[2].fValue, value); lua_pushnumber(L, value); return 1; Exit0: return 0; }