Skip to content
This repository was archived by the owner on Jul 8, 2025. It is now read-only.

Commit a20481b

Browse files
committed
Fix array type data
1 parent 252155c commit a20481b

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

idb/typeinf.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -98,19 +98,19 @@ def da(self):
9898
base = 0
9999
nelem = 0
100100
while True:
101-
typ = self.db()
101+
typ = self.peek_u8()
102102
if typ & 0x80 == 0:
103103
break
104104
self.seek(1)
105105
da = (da << 7) | typ & 0x7F
106106
b += 1
107107
if b >= 4:
108-
z = self.db()
108+
z = self.peek_u8()
109109
if z != 0:
110110
base = 0x10 * da | z & 0xF
111-
nelem = (self.db() >> 4) & 7
111+
nelem = (self.u8() >> 4) & 7
112112
while True:
113-
y = self.db()
113+
y = self.peek_u8()
114114
if (y & 0x80) == 0:
115115
break
116116
self.seek(1)
@@ -853,10 +853,7 @@ def deserialize(self, til, ts, fields, fieldcmts):
853853
self.base = 0
854854
self.n_elems = ts.dt()
855855
else:
856-
ok, self.n_elems, self.base = ts.da()
857-
if not ok:
858-
raise ValueError()
859-
return self
856+
_, self.n_elems, self.base = ts.da()
860857
ts.tah_attr()
861858
self.elem_type = create_tinfo(til, ts.ref(), fields, fieldcmts)
862859
return self
@@ -1137,17 +1134,16 @@ def deserialize(self, til, ts, fields, fieldcmts):
11371134
field_i = 0
11381135
for i in range(member_cnt):
11391136
member = UdtMember()
1137+
member.type = create_tinfo(til, ts.ref(), fields, fieldcmts)
1138+
attr = ts.sdacl_attr() if not self.is_union else 0
1139+
member.tafld_bits = attr
1140+
member.fda = attr
11401141
if not member.is_baseclass():
11411142
if len(fields) > field_i:
11421143
member.name = fields[field_i]
11431144
if n < len(fieldcmts):
11441145
member.cmt = fieldcmts[field_i]
11451146
field_i += 1
1146-
1147-
member.type = create_tinfo(til, ts.ref(), fields, fieldcmts)
1148-
attr = ts.sdacl_attr() if not self.is_union else 0
1149-
member.tafld_bits = attr
1150-
member.fda = attr
11511147
self.members.append(member)
11521148
return self
11531149

0 commit comments

Comments
 (0)