From 256a721d46a112d8807a488ec0176985c09bbbf1 Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Mon, 16 Apr 2012 12:47:58 +0100 Subject: tracetool: handle DTrace keywords 'in', 'next', 'self' Language keywords cannot be used as argument names. The DTrace backend appends an underscore to the argument name in order to make the argument name legal. This patch adds 'in', 'next', and 'self' keywords to dtrace.py. Also drop the unnecessary argument name lstrip() call. The Arguments.build() method already ensures there is no space around argument names. Furthermore it is misleading to do the lstrip() *after* checking against keywords because the keyword check would not match if spaces were in the name. Signed-off-by: Stefan Hajnoczi Reviewed-by: Alon Levy Reviewed-by: LluĂ­s Vilanova --- scripts/tracetool/backend/dtrace.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/tracetool/backend/dtrace.py b/scripts/tracetool/backend/dtrace.py index cebbd57dd8..9cab75cde8 100644 --- a/scripts/tracetool/backend/dtrace.py +++ b/scripts/tracetool/backend/dtrace.py @@ -86,10 +86,10 @@ def stap(events): i = 1 if len(e.args) > 0: for name in e.args.names(): - # 'limit' is a reserved keyword - if name == 'limit': - name = '_limit' - out(' %s = $arg%d;' % (name.lstrip(), i)) + # Append underscore to reserved keywords + if name in ('limit', 'in', 'next', 'self'): + name += '_' + out(' %s = $arg%d;' % (name, i)) i += 1 out('}') -- cgit v1.2.3-55-g7522