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 /tapsets.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 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 45 |
1 files changed, 1 insertions, 44 deletions
diff --git a/tapsets.cxx b/tapsets.cxx index 3de3e5bd..9d0b7ebc 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -13,6 +13,7 @@ #include "tapsets.h" #include "translate.h" #include "session.h" +#include "util.h" #include <deque> #include <iostream> @@ -50,50 +51,6 @@ extern "C" { using namespace std; -// XXX: should standardize to these functions throughout translator - -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; -} - -template <typename OUT, typename IN> inline OUT -lex_cast_hex(IN const & in) -{ - stringstream ss; - OUT out; - if (!(ss << hex << showbase << in && ss >> out)) - throw runtime_error("bad lexical cast"); - return out; -} - - -// 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; -} - - #if 0 static void emit_probe_timing(derived_probe* p, translator_output* o) |