summaryrefslogtreecommitdiffstats
path: root/staptree.cxx
diff options
context:
space:
mode:
authorfche <fche>2006-11-08 17:51:32 +0000
committerfche <fche>2006-11-08 17:51:32 +0000
commit72dbc9153036800cefdb5f2970666acc82cdb732 (patch)
treec9cb188d1c502a37a9089909e92d1194694a7792 /staptree.cxx
parentf8399ba29877a2529d4f841f775382345095e2d3 (diff)
downloadsystemtap-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.cxx33
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)