@@ -64,14 +64,17 @@ class Arguments:
res = []
for arg in arg_str.split(","):
arg = arg.strip()
- parts = arg.split()
- head, sep, tail = parts[-1].rpartition("*")
- parts = parts[:-1]
- if tail == "void":
- assert len(parts) == 0 and sep == ""
+ if arg == 'void':
continue
- arg_type = " ".join(parts + [ " ".join([head, sep]).strip() ]).strip()
- res.append((arg_type, tail))
+
+ if '*' in arg:
+ arg_type, identifier = arg.rsplit('*', 1)
+ arg_type += '*'
+ identifier = identifier.strip()
+ else:
+ arg_type, identifier = arg.rsplit(None, 1)
+
+ res.append((arg_type, identifier))
return Arguments(res)
def __iter__(self):
The str.rpartition() function is related to str.split() and is used for splitting strings. It was introduced in Python 2.5 and therefore cannot be used in tracetool as Python 2.4 compatibility is required. Replace the code using str.rsplit(). Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> --- scripts/tracetool/__init__.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)