diff options
| author | bloodstalker <thabogre@gmail.com> | 2019-01-21 10:05:05 +0000 | 
|---|---|---|
| committer | bloodstalker <thabogre@gmail.com> | 2019-01-21 10:05:05 +0000 | 
| commit | 69ae85688f9d5ab3b8b3a19d4581ec72c99f8c3b (patch) | |
| tree | fc8e5f2531fefe6e71c3fb54da859018475ebf1b | |
| parent | update (diff) | |
| download | luatablegen-69ae85688f9d5ab3b8b3a19d4581ec72c99f8c3b.tar.gz luatablegen-69ae85688f9d5ab3b8b3a19d4581ec72c99f8c3b.zip | |
update
Diffstat (limited to '')
| -rwxr-xr-x | luatablegen.py | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/luatablegen.py b/luatablegen.py index 365861b..9f90820 100755 --- a/luatablegen.py +++ b/luatablegen.py @@ -601,7 +601,6 @@ class TbgParser(object):          c_source.write("if (_st == NULL) return 0;\n")          c_source.write("\tlua_checkstack(__ls, " + repr(len(field_names)) + ");\n")          if not field_names: -            print(struct_name)              orig_node = get_def_node(struct_name, self.elems)              lua_type = orig_node.attrib["luatype"]              field_name = orig_node.attrib["name"] @@ -671,6 +670,14 @@ class TbgParser(object):          rev_counter = -len(field_types)          c_source.write(NEW[0].replace("XXX", struct_name))          c_source.write("\tlua_checkstack(__ls, " + repr(len(field_names)) + ");\n") +        if not field_names: +            orig_node = get_def_node(struct_name, self.elems) +            lua_type = orig_node.attrib["luatype"] +            field_name = orig_node.attrib["name"] +            field_type = orig_node.attrib["type"] +            if lua_type == "integer": dummy = "\t"+simple_type_resovler(field_type) +" "+field_name +"_s"+" = "+"luaL_optinteger(__ls,-1,0);\n" +            elif lua_type == "string":dummy = "\t"+simple_type_resovler(field_type) +" "+field_name+" = "+"lua_tostring(__ls,-1,0);\n" +            c_source.write(dummy)          for lua_type, field_name, field_type in zip(lua_types, field_names, field_types):              parent = get_def_node(struct_name, self.elems)              child = get_def_node(field_name, self.elems) @@ -727,6 +734,12 @@ class TbgParser(object):          c_source.write(NEW[2].replace("XXX", struct_name))          for field_name in field_names:              c_source.write("\tdummy->" + field_name + " = " + field_name + ";\n") +        if not field_names: +            orig_node = get_def_node(struct_name, self.elems) +            lua_type = orig_node.attrib["luatype"] +            field_name = orig_node.attrib["name"] +            field_type = orig_node.attrib["type"] +            c_source.write("\tdummy->" + field_name + " = " + field_name + "_s"  + ";\n")          c_source.write(NEW[3].replace("XXX", struct_name))          c_source.write("\n") | 
