diff options
author | Tim Moore <timoore@redhat.com> | 2009-10-28 18:57:50 +0100 |
---|---|---|
committer | Tim Moore <timoore@redhat.com> | 2009-10-28 18:57:50 +0100 |
commit | 1fc4d13df3342b10003c27bc0bc8bd196ecd5622 (patch) | |
tree | 9fe5cc507f6b58dc90410f71620f8c44573dac94 | |
parent | f70d5f6b702e8da5c6affb3f34836c466b01f1b9 (diff) | |
download | systemtap-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.cxx | 56 |
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); |