From: Stefan Hajnoczi Date: Tue, 23 Sep 2014 10:37:06 +0000 (+0100) Subject: trace: tighten up trace-events regex to fix bad parse X-Git-Tag: v2.2.0-rc0~70^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f9bbba95691a2b4c14079e32c652b950bd474a33;p=thirdparty%2Fqemu.git trace: tighten up trace-events regex to fix bad parse Use \w for properties and trace event names since they are both drawn from [a-zA-Z0-9_] character sets. The .* for matching properties was too aggressive and caused the following failure with foo(int rc) "(this is a test)": Traceback (most recent call last): File "scripts/tracetool.py", line 139, in main(sys.argv) File "scripts/tracetool.py", line 134, in main binary=binary, probe_prefix=probe_prefix) File "scripts/tracetool/__init__.py", line 334, in generate events = _read_events(fevents) File "scripts/tracetool/__init__.py", line 262, in _read_events res.append(Event.build(line)) File "scripts/tracetool/__init__.py", line 225, in build return Event(name, props, fmt, args, arg_fmts) File "scripts/tracetool/__init__.py", line 185, in __init__ % ", ".join(unknown_props)) ValueError: Unknown properties: foo(int, rc) Cc: LluĂ­s Vilanova Reported-by: Eric Auger Signed-off-by: Stefan Hajnoczi Message-id: 1411468626-20450-1-git-send-email-stefanha@redhat.com --- diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py index 854fb9e0dd2..b9a08443fc1 100644 --- a/scripts/tracetool/__init__.py +++ b/scripts/tracetool/__init__.py @@ -139,8 +139,8 @@ class Event(object): """ - _CRE = re.compile("((?P.*)\s+)?" - "(?P[^(\s]+)" + _CRE = re.compile("((?P[\w\s]+)\s+)?" + "(?P\w+)" "\((?P[^)]*)\)" "\s*" "(?:(?:(?P\".+),)?\s*(?P\".+))?"