summaryrefslogtreecommitdiff
path: root/src/cxml.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-07-22 09:17:06 +0100
committerCarl Hetherington <cth@carlh.net>2016-07-22 09:17:06 +0100
commitb08e6b4c723efef245903caca49c2dafb11f8722 (patch)
treee98a07d4606b2c6d08d8bcbf2be2d710de5eb85b /src/cxml.cc
parent26181f4db08a6d295e34fc666592cdaa64a36782 (diff)
Fix GPL boilerplate. Add locked_sstream dependency. Remove
Document::read_stream; improve Document::read_string efficiency. Use locked_stringstream instead of plain one to try to fix DCP-o-matic crashes on OS X.
Diffstat (limited to 'src/cxml.cc')
-rw-r--r--src/cxml.cc25
1 files changed, 7 insertions, 18 deletions
diff --git a/src/cxml.cc b/src/cxml.cc
index 567dc50..3248324 100644
--- a/src/cxml.cc
+++ b/src/cxml.cc
@@ -1,32 +1,29 @@
/*
- Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
- This program is free software; you can redistribute it and/or modify
+ This file is part of libcxml.
+
+ libcxml is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
- This program is distributed in the hope that it will be useful,
+ libcxml is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ along with libcxml. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <sstream>
-#include <iostream>
#include <boost/filesystem.hpp>
#include <boost/algorithm/string.hpp>
#include <libxml++/libxml++.h>
#include "cxml.h"
using std::string;
-using std::stringstream;
-using std::istream;
using std::list;
using boost::shared_ptr;
using boost::optional;
@@ -265,17 +262,9 @@ cxml::Document::read_file (boost::filesystem::path file)
}
void
-cxml::Document::read_stream (istream& stream)
-{
- _parser->parse_stream (stream);
- take_root_node ();
-}
-
-void
cxml::Document::read_string (string s)
{
- stringstream t (s);
- _parser->parse_stream (t);
+ _parser->parse_memory (s);
take_root_node ();
}