Skip to content

Commit

Permalink
Merge pull request #2 from peterbell10/InvalidEnumCrashFix
Browse files Browse the repository at this point in the history
Fill tolua_Error when enum is invalid
  • Loading branch information
Seadragon91 committed May 17, 2017
2 parents 93b6e24 + cf89a5b commit 2bfca6b
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions src/bin/lua/enumerate.lua
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,13 @@ function classEnumerate:supcode ()
_global_output_enums[self.name] = 1
output("int tolua_is" .. string.gsub(self.name,"::","_") .. " (lua_State* L, int lo, int def, tolua_Error* err)")
output("{")
output("if (!tolua_isnumber(L,lo,def,err)) return 0;")
output("lua_Number val = tolua_tonumber(L,lo,def);")
output("return val >= " .. self.min .. ".0 && val <= " ..self.max .. ".0;")
output("\tif (!tolua_isnumber(L,lo,def,err)) return 0;")
output("\tlua_Number val = tolua_tonumber(L,lo,def);")
output("\tif (val >= " .. self.min .. ".0 && val <= " ..self.max .. ".0) return 1;")
output("\terr->index = lo;")
output("\terr->array = 0;")
output("\terr->type = \"" .. self.name .. "\";")
output("\treturn 0;")
output("}")
end
end
Expand Down

0 comments on commit 2bfca6b

Please sign in to comment.