chiark / gitweb /
Revert "fishdescriptor: try parse_eval_via_print"
[chiark-utils.git] / fishdescriptor / py / fishdescriptor / indonor.py
index 51b5a3de9940f6ec742813b84450d9efdd31d979..f01f9eb0c6e910de98ee65c8c654de3f8d091325 100644 (file)
@@ -58,11 +58,11 @@ def parse_eval(expr):
 
 class DonorStructLayout():
     def __init__(l, typename):
-        x = parse_eval('(%s){ }' % typename)
+        x = gdb.lookup_type(typename)
         l._typename = typename
         l._template = [ ]
         l._posns = { }
-        for f in x.type.fields():
+        for f in x.fields():
             l._posns[f.name] = len(l._template)
             try: f.type.fields();  blank = '{ }'
             except TypeError:      blank = '0'
@@ -229,7 +229,7 @@ class DonorImplementation():
     def _protocol_read(di):
         input = sys.stdin.readline()
         if input == '': return None
-        input.rstrip('\n')
+        input = input.rstrip('\n')
         sys.stderr.write("#< %s\n" % input)
         return input