diff options
author | Josh Stone <jistone@redhat.com> | 2009-09-02 16:14:08 -0700 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-09-02 16:14:08 -0700 |
commit | aca66a36681ac7cbf7fcc2eac4dafc83d6559ef9 (patch) | |
tree | 0e8f39ae14f5793b37b0565c4a17811b696c9f9b /parse.cxx | |
parent | d185503c723ded087ff987e8fa08c2418e60006b (diff) | |
download | systemtap-steved-aca66a36681ac7cbf7fcc2eac4dafc83d6559ef9.tar.gz systemtap-steved-aca66a36681ac7cbf7fcc2eac4dafc83d6559ef9.tar.xz systemtap-steved-aca66a36681ac7cbf7fcc2eac4dafc83d6559ef9.zip |
Unify lex_cast* and avoid string copies
We always use lex_cast either to string or from string, so I made that
explicit, and got rid of some string copies in the process. There was
also stringify(), which was redundant to lex_cast<string>.
We also always used lex_cast_hex to string, so that's now hard-coded and
again eliminated a string copy.
For lex_cast_qstring<string>, there's no need to write the streamify the
input, so a specialization now operates directly on the input.
Hopefully this is a bit cleaner, and I do measure it to be a little
faster on scripts with many probes.
Diffstat (limited to 'parse.cxx')
-rw-r--r-- | parse.cxx | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -754,9 +754,8 @@ lexer::scan (bool wildcard) idx <= session.args.size()); // prevent overflow if (idx == 0 || idx-1 >= session.args.size()) - throw parse_error ("command line argument index " + lex_cast<string>(idx) - + " out of range [1-" + lex_cast<string>(session.args.size()) + "]", n); - + throw parse_error ("command line argument index " + lex_cast(idx) + + " out of range [1-" + lex_cast(session.args.size()) + "]", n); string arg = session.args[idx-1]; if (c == '$') input_put (arg); else input_put (lex_cast_qstring (arg)); |