diff options
author | fche <fche> | 2006-11-08 17:51:32 +0000 |
---|---|---|
committer | fche <fche> | 2006-11-08 17:51:32 +0000 |
commit | 72dbc9153036800cefdb5f2970666acc82cdb732 (patch) | |
tree | c9cb188d1c502a37a9089909e92d1194694a7792 /staptree.cxx | |
parent | f8399ba29877a2529d4f841f775382345095e2d3 (diff) | |
download | systemtap-steved-72dbc9153036800cefdb5f2970666acc82cdb732.tar.gz systemtap-steved-72dbc9153036800cefdb5f2970666acc82cdb732.tar.xz systemtap-steved-72dbc9153036800cefdb5f2970666acc82cdb732.zip |
2006-11-08 Frank Ch. Eigler <fche@elastic.org>
* util.h (lex_cast_qstring): Move def'n here. Also quote \.
(stringify, lex_cast, lex_cast_hex): Move defn here.
* buildrun.cxx, elaborate.cxx, main.cxx, staptree.cxx: Adapt.
Diffstat (limited to 'staptree.cxx')
-rw-r--r-- | staptree.cxx | 33 |
1 files changed, 2 insertions, 31 deletions
diff --git a/staptree.cxx b/staptree.cxx index fdfc516c..1656f64a 100644 --- a/staptree.cxx +++ b/staptree.cxx @@ -9,6 +9,8 @@ #include "config.h" #include "staptree.h" #include "parse.h" +#include "util.h" + #include <iostream> #include <typeinfo> #include <sstream> @@ -17,37 +19,6 @@ using namespace std; -// return as quoted string, with at least '"' backslash-escaped -template <typename IN> inline string -lex_cast_qstring(IN const & in) -{ - stringstream ss; - string out, out2; - if (!(ss << in)) - throw runtime_error("bad lexical cast"); - out = ss.str(); - out2 += '"'; - for (unsigned i=0; i<out.length(); i++) - { - if (out[i] == '"') // XXX others? - out2 += '\\'; - out2 += out[i]; - } - out2 += '"'; - return out2; -} - - -template <typename OUT, typename IN> inline OUT -lex_cast(IN const & in) -{ - stringstream ss; - OUT out; - if (!(ss << in && ss >> out)) - throw runtime_error("bad lexical cast"); - return out; -} - expression::expression (): type (pe_unknown), tok (0) |