7
7
8
8
from kaitaistruct import KaitaiStruct
9
9
10
- def dump_struct (s , sections , prefix = "" ):
10
+ def dump_struct (s , sections , prefix = "" , offset = 0 ):
11
11
if isinstance (s , list ):
12
12
#print("list")
13
13
for i , item in enumerate (s ):
@@ -16,7 +16,7 @@ def dump_struct(s, sections, prefix=""):
16
16
"label" : label ,
17
17
"parent" : prefix
18
18
})
19
- dump_struct (item , sections , label )
19
+ dump_struct (item , sections , label , offset )
20
20
elif isinstance (s , KaitaiStruct ):
21
21
#print(vars(s))
22
22
if hasattr (s , "_debug" ):
@@ -28,13 +28,14 @@ def dump_struct(s, sections, prefix=""):
28
28
# print(vars(prop))
29
29
#print("")
30
30
label = prefix + "." + name if prefix else name
31
+ section_offset = descr ["start" ] + offset
31
32
sections .append ({
32
- "start" : descr ["start" ],
33
- "end" : descr ["end" ],
33
+ "start" : descr ["start" ] + offset ,
34
+ "end" : descr ["end" ] + offset ,
34
35
"label" : label ,
35
36
"parent" : prefix
36
37
})
37
- dump_struct (prop , sections , label )
38
+ dump_struct (prop , sections , label , section_offset )
38
39
39
40
def parse_data (input_filename , output_filename , action_progress ):
40
41
# locate the compiled struct module
0 commit comments