X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=fishdescriptor%2Fpy%2Ffishdescriptor%2Findonor.py;h=f01f9eb0c6e910de98ee65c8c654de3f8d091325;hb=6f3a1bd6659dd7e724db2e2f18f62bf331e63421;hp=6c799c019aea198c46da220b8a58c857abe32c13;hpb=83e64b8f0bcb3eefe88b52ae003e05599adfca4a;p=chiark-utils.git diff --git a/fishdescriptor/py/fishdescriptor/indonor.py b/fishdescriptor/py/fishdescriptor/indonor.py index 6c799c0..f01f9eb 100644 --- a/fishdescriptor/py/fishdescriptor/indonor.py +++ b/fishdescriptor/py/fishdescriptor/indonor.py @@ -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'