From 30eef04fc16244e124421d3b89ee67c606449805 Mon Sep 17 00:00:00 2001 From: bloodstalker Date: Mon, 24 Sep 2018 20:28:52 +0330 Subject: fix --- luatablegen.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'luatablegen.py') diff --git a/luatablegen.py b/luatablegen.py index ae75733..3a9cf2b 100755 --- a/luatablegen.py +++ b/luatablegen.py @@ -465,6 +465,23 @@ class TbgParser(object): c_source.write("\n") def check(self, c_source, struct_name): + #print(struct_name) + node = get_def_node(struct_name, self.elems) + #print(node.attrib["name"]) + has_conditional = False + for elem in node: + if node.attrib["name"] == "W_Import_Section_Entry": print(elem.tag) + if "conditional" in elem.attrib: + has_conditional = True + print("fuck yeah") + if has_conditional == True: + print("here") + c_source.write('static XXX* check_XXX(lua_State* __ls, int index) {\n'.replace("XXX", struct_name)) + c_source.write('\tXXX* dummy;\n'.replace("XXX", struct_name)) + c_source.write('dummy = lua_touserdata(__ls, index);\n'.replace("XXX", struct_name)) + c_source.write('\tif (dummy == NULL) printf("XXX:bad user data type.\\n");\n'.replace("XXX", struct_name)) + c_source.write('\treturn dummy;\n}\n') + return for line in CHECK: c_source.write(line.replace("XXX", struct_name)) c_source.write("\n") -- cgit v1.2.3