diff options
author | Alexander Bokovoy <ab@samba.org> | 2012-08-23 18:44:01 +0300 |
---|---|---|
committer | Alexander Bokovoy <ab@samba.org> | 2012-09-07 12:31:42 +0200 |
commit | 6b2e7aabb79f7825568985a9138394dee06b76de (patch) | |
tree | 0af976eb333a490fcf104be1480c94887fee63a5 | |
parent | b86c8fd92d4c1b238572690660a2093f50ba88b1 (diff) | |
download | samba-6b2e7aabb79f7825568985a9138394dee06b76de.tar.gz samba-6b2e7aabb79f7825568985a9138394dee06b76de.tar.bz2 samba-6b2e7aabb79f7825568985a9138394dee06b76de.zip |
wafsamba/samba_abi: fix signature parsing for structures
Signature parsing for structure objects was broken. Existing regexp
was greedingly cutting off additional curly brackets that belonged to
the first and last structure member.
-rw-r--r-- | buildtools/wafsamba/samba_abi.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/buildtools/wafsamba/samba_abi.py b/buildtools/wafsamba/samba_abi.py index 2966d7c1bf..69da7bd9a5 100644 --- a/buildtools/wafsamba/samba_abi.py +++ b/buildtools/wafsamba/samba_abi.py @@ -15,8 +15,9 @@ version_key = lambda x: map(int, x.split(".")) def normalise_signature(sig): '''normalise a signature from gdb''' sig = sig.strip() - sig = re.sub('^\$[0-9]+\s=\s\{*', '', sig) - sig = re.sub('\}(\s0x[0-9a-f]+\s<\w+>)?$', '', sig) + sig = re.sub('^\$[0-9]+\s=\s\{(.+)\}$', r'\1', sig) + sig = re.sub('^\$[0-9]+\s=\s\{(.+)\}(\s0x[0-9a-f]+\s<\w+>)+$', r'\1', sig) + sig = re.sub('^\$[0-9]+\s=\s(0x[0-9a-f]+)\s?(<\w+>)?$', r'\1', sig) sig = re.sub('0x[0-9a-f]+', '0xXXXX', sig) sig = re.sub('", <incomplete sequence (\\\\[a-z0-9]+)>', r'\1"', sig) |