Stefan Hajnoczi writes: > 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 <stefa...@linux.vnet.ibm.com> Reviewed-by: Lluís Vilanova <vilan...@ac.upc.edu> > --- > scripts/tracetool/backend/dtrace.py | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > diff --git a/scripts/tracetool/backend/dtrace.py > b/scripts/tracetool/backend/dtrace.py > index cebbd57..9cab75c 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('}') > -- > 1.7.9.5 -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth