diff --git a/sched_boundary/sched_boundary.py b/sched_boundary/sched_boundary.py index e3128842cd1b688c0c2e98cbef3208b4b261cbc8..4a506fdfb341f3a7f3c51c134b2d66035ceac649 100644 --- a/sched_boundary/sched_boundary.py +++ b/sched_boundary/sched_boundary.py @@ -54,8 +54,13 @@ class GccBugs(object): @staticmethod def typedef(decl, str): - if isinstance(decl.type.name, gcc.TypeDecl): - name = decl.type.name.name + t = decl.type + + while isinstance(t, (gcc.PointerType, gcc.ArrayType)): + t = t.dereference + + if isinstance(t.name, gcc.TypeDecl): + name = t.name.name return str.replace('struct ' + name, name) else: return str