Skip to content

Commit c96e7ba

Browse files
committed
C language is case sensitive.
Signed-off-by: Cervenka Dusan <[email protected]>
1 parent e0e95f4 commit c96e7ba

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

dissect/cstruct/cstruct.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,7 @@ def addtype(self, name:str, t:typeAll, replace=False):
205205
Raises:
206206
ValueError: If the type already exists.
207207
"""
208-
name = name.lower()
209-
if not replace and name.lower() in self.typedefs:
208+
if not replace and name in self.typedefs:
210209
raise ValueError("Duplicate type: %s" % name)
211210

212211
self.typedefs[name] = t
@@ -276,27 +275,28 @@ def resolve(self, name):
276275
return t
277276

278277
for i in xrange(10):
279-
if t.lower() not in self.typedefs:
278+
if t not in self.typedefs:
280279
raise ResolveError("Unknown type %s" % name)
281280

282-
t = self[t.lower()]
281+
t = self[t]
283282

284283
if not isinstance(t, str):
285284
return t
286285

287286
raise ResolveError("Recursion limit exceeded while resolving type %s" % name)
288287

289288
def __getattr__(self, attr):
289+
if attr in self.typedefs:
290+
return self.typedefs[attr]
291+
292+
if attr in self.consts:
293+
return self.consts[attr]
294+
290295
for enum in self.getEnumTypes():
291296
for enumMember in enum.values.items():
292297
if enumMember[0] == attr:
293298
return enumMember[1]
294299

295-
if attr.lower() in self.typedefs:
296-
return self.typedefs[attr.lower()]
297-
298-
if attr in self.consts:
299-
return self.consts[attr]
300300

301301
raise AttributeError("Invalid Attribute: %s" % attr)
302302

0 commit comments

Comments
 (0)