summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Moore <timoore@redhat.com>2009-10-28 18:57:50 +0100
committerTim Moore <timoore@redhat.com>2009-10-28 18:57:50 +0100
commit1fc4d13df3342b10003c27bc0bc8bd196ecd5622 (patch)
tree9fe5cc507f6b58dc90410f71620f8c44573dac94
parentf70d5f6b702e8da5c6affb3f34836c466b01f1b9 (diff)
downloadsystemtap-steved-1fc4d13df3342b10003c27bc0bc8bd196ecd5622.tar.gz
systemtap-steved-1fc4d13df3342b10003c27bc0bc8bd196ecd5622.tar.xz
systemtap-steved-1fc4d13df3342b10003c27bc0bc8bd196ecd5622.zip
Fix regression of parsing grapher options
* grapher/StapParser.hxx (ioCallback): Test return value from findTaggedValue properly.
-rw-r--r--grapher/StapParser.cxx56
1 files changed, 28 insertions, 28 deletions
diff --git a/grapher/StapParser.cxx b/grapher/StapParser.cxx
index 249836d3..9e42dab6 100644
--- a/grapher/StapParser.cxx
+++ b/grapher/StapParser.cxx
@@ -156,18 +156,15 @@ vector<string> commaSplit(const boost::sub_range<Glib::ustring>& range)
shared_ptr<GraphDataBase> gdata = itr->second;
string decl;
// Hack: scan from the beginning of dataString again
- if (findTaggedValue(dataString, "%Title:", decl)
- != string::npos)
+ if (findTaggedValue(dataString, "%Title:", decl))
{
gdata->title = decl;
}
- else if (findTaggedValue(dataString, "%XAxisTitle:", decl)
- != string::npos)
+ else if (findTaggedValue(dataString, "%XAxisTitle:", decl))
{
gdata->xAxisText = decl;
}
- else if (findTaggedValue(dataString, "%YAxisTitle:", decl)
- != string::npos)
+ else if (findTaggedValue(dataString, "%YAxisTitle:", decl))
{
gdata->yAxisText = decl;
}
@@ -179,29 +176,32 @@ vector<string> commaSplit(const boost::sub_range<Glib::ustring>& range)
stream >> ymax;
gdata->scale = ymax;
}
-
- if (!_csv.elements.empty())
- {
- vector<string> tokens = commaSplit(dataString);
- int i = 0;
- double time;
- vector<string>::iterator tokIter = tokens.begin();
- std::istringstream timeStream(*tokIter++);
- timeStream >> time;
- for (vector<string>::iterator e = tokens.end();
- tokIter != e;
- ++tokIter, ++i)
- {
- parseData(_csv.elements[i].second, time, *tokIter);
- }
- }
else
- {
- double time;
- string data;
- stream >> time >> data;
- parseData(itr->second, time, data);
- }
+ {
+ if (!_csv.elements.empty())
+ {
+ vector<string> tokens = commaSplit(dataString);
+ int i = 0;
+ double time;
+ vector<string>::iterator tokIter = tokens.begin();
+ std::istringstream timeStream(*tokIter++);
+ timeStream >> time;
+ for (vector<string>::iterator e = tokens.end();
+ tokIter != e;
+ ++tokIter, ++i)
+ {
+ parseData(_csv.elements[i].second, time,
+ *tokIter);
+ }
+ }
+ else
+ {
+ double time;
+ string data;
+ stream >> time >> data;
+ parseData(itr->second, time, data);
+ }
+ }
}
}
_buffer.erase(0, ret + 1);