From 128c47a9137baf121f39d63e3f89b699abc81d93 Mon Sep 17 00:00:00 2001 From: Fridrich Štrba Date: Thu, 11 Jul 2013 10:27:44 +0200 Subject: Trying to use iterators without wrapping the data --- configure.ac | 7 ++++--- src/lib/libvisio_utils.cpp | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 8af2f10..77bbe05 100644 --- a/configure.ac +++ b/configure.ac @@ -109,11 +109,12 @@ AC_SUBST(ZLIB_LIBS) AC_CHECK_HEADERS( boost/algorithm/string.hpp \ - boost/optional.hpp \ - boost/spirit/include/classic.hpp \ boost/archive/iterators/binary_from_base64.hpp \ boost/archive/iterators/remove_whitespace.hpp \ - boost/archive/iterators/transform_width.hpp, + boost/archive/iterators/transform_width.hpp \ + boost/optional.hpp \ + boost/range/iterator_range.hpp \ + boost/spirit/include/classic.hpp, [], [AC_MSG_ERROR(Required boost headers not found. install boost >= 1.36)], [] diff --git a/src/lib/libvisio_utils.cpp b/src/lib/libvisio_utils.cpp index ae3f237..9ad520c 100644 --- a/src/lib/libvisio_utils.cpp +++ b/src/lib/libvisio_utils.cpp @@ -35,6 +35,7 @@ #include #include #include +#include uint8_t libvisio::readU8(WPXInputStream *input) { @@ -125,7 +126,7 @@ double libvisio::readDouble(WPXInputStream *input) void libvisio::appendFromBase64(WPXBinaryData &data, const unsigned char *base64Data, size_t base64DataLength) { - std::string base64String((const char *)base64Data, base64DataLength); + boost::iterator_range base64String((const char *)base64Data, (const char *)base64Data + base64DataLength); typedef boost::archive::iterators::transform_width< boost::archive::iterators::binary_from_base64< boost::archive::iterators::remove_whitespace< std::string::const_iterator > >, 8, 6 > base64_decoder; -- cgit v1.2.3