summaryrefslogtreecommitdiff
path: root/src/cxml.h
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.h
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.h')
-rw-r--r--src/cxml.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/cxml.h b/src/cxml.h
index bb1179b..2636ca0 100644
--- a/src/cxml.h
+++ b/src/cxml.h
@@ -1,32 +1,33 @@
/*
- 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/>.
*/
#ifndef LIBCXML_CXML_H
#define LIBCXML_CXML_H
+#include <locked_sstream.h>
#include <boost/shared_ptr.hpp>
#include <boost/optional.hpp>
#include <boost/filesystem.hpp>
#include <boost/algorithm/string/erase.hpp>
#include <stdint.h>
#include <string>
-#include <sstream>
#include <list>
/* Hack for OS X compile failure; see https://bugs.launchpad.net/hugin/+bug/910160 */
@@ -112,7 +113,7 @@ public:
{
std::string s = string_child (c);
boost::erase_all (s, " ");
- std::stringstream t;
+ locked_stringstream t;
t.imbue (std::locale::classic ());
t << s;
T n;
@@ -130,7 +131,7 @@ public:
std::string t = s.get ();
boost::erase_all (t, " ");
- std::stringstream u;
+ locked_stringstream u;
u.imbue (std::locale::classic ());
u << t;
T n;
@@ -161,7 +162,7 @@ public:
{
std::string s = string_attribute (c);
boost::erase_all (s, " ");
- std::stringstream t;
+ locked_stringstream t;
t.imbue (std::locale::classic ());
t << s;
T n;
@@ -179,7 +180,7 @@ public:
std::string t = s.get ();
boost::erase_all (t, " ");
- std::stringstream u;
+ locked_stringstream u;
u.imbue (std::locale::classic ());
u << t;
T n;
@@ -225,7 +226,6 @@ public:
virtual ~Document ();
void read_file (boost::filesystem::path);
- void read_stream (std::istream &);
void read_string (std::string);
std::string root_name () const {