summaryrefslogtreecommitdiff
path: root/libvisio
diff options
context:
space:
mode:
authorFridrich Štrba <fridrich.strba@bluewin.ch>2013-07-06 15:09:57 +0200
committerDavid Tardon <dtardon@redhat.com>2013-07-06 13:20:43 +0000
commit23ac92b79220109b2e7c2ac9aad8b36cc2899788 (patch)
tree33168a9388d6c749bad3a957b6d7d74a9b11a0fe /libvisio
parent2d398166a937b494da7e7b198d2a00d20393a106 (diff)
Proper fix for remove_whitespace iterator and older boost
The previous "fix" was resulting in exceptions in some vdx files. Change-Id: I961560b66bc29660daca54e39f14f612bbb50e34 (cherry picked from commit c4475946b3171353d0eaefe72ba24e13744458a3) Reviewed-on: https://gerrit.libreoffice.org/4749 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'libvisio')
-rw-r--r--libvisio/libvisio-0.0.29-remove_whitespace.patch.136
1 files changed, 24 insertions, 12 deletions
diff --git a/libvisio/libvisio-0.0.29-remove_whitespace.patch.1 b/libvisio/libvisio-0.0.29-remove_whitespace.patch.1
index b8f1eb43d3c7..61dc118134e4 100644
--- a/libvisio/libvisio-0.0.29-remove_whitespace.patch.1
+++ b/libvisio/libvisio-0.0.29-remove_whitespace.patch.1
@@ -1,20 +1,32 @@
--- a/src/lib/libvisio_utils.cpp
+++ b/src/lib/libvisio_utils.cpp
-@@ -33,7 +33,6 @@
- #include "libvisio_utils.h"
+@@ -123,14 +123,15 @@ double libvisio::readDouble(WPXInputStream *input)
+ return tmpUnion.d;
+ }
- #include <boost/archive/iterators/binary_from_base64.hpp>
--#include <boost/archive/iterators/remove_whitespace.hpp>
- #include <boost/archive/iterators/transform_width.hpp>
-
- uint8_t libvisio::readU8(WPXInputStream *input)
-@@ -126,8 +125,7 @@ double libvisio::readDouble(WPXInputStream *input)
- void libvisio::appendFromBase64(WPXBinaryData &data, const unsigned char *base64String, size_t base64StringLength)
+-void libvisio::appendFromBase64(WPXBinaryData &data, const unsigned char *base64String, size_t base64StringLength)
++void libvisio::appendFromBase64(WPXBinaryData &data, const unsigned char *base64Data, size_t base64DataLength)
{
++ std::string base64String((const char*)base64Data, base64DataLength);
typedef boost::archive::iterators::transform_width<
-- boost::archive::iterators::binary_from_base64<
+ boost::archive::iterators::binary_from_base64<
- boost::archive::iterators::remove_whitespace< const char * > >, 8, 6 > base64_decoder;
-+ boost::archive::iterators::binary_from_base64< const char * >, 8, 6 > base64_decoder;
++ boost::archive::iterators::remove_whitespace< std::string::const_iterator > >, 8, 6 > base64_decoder;
std::vector<unsigned char> buffer;
- std::copy(base64_decoder(base64String), base64_decoder(base64String + base64StringLength), std::back_inserter(buffer));
+- std::copy(base64_decoder(base64String), base64_decoder(base64String + base64StringLength), std::back_inserter(buffer));
++ std::copy(base64_decoder(base64String.begin()), base64_decoder(base64String.end()), std::back_inserter(buffer));
+
+ if (!buffer.empty())
+ data.append(&buffer[0], buffer.size());
+--- a/src/lib/libvisio_utils.h
++++ b/src/lib/libvisio_utils.h
+@@ -98,7 +98,7 @@ uint64_t readU64(WPXInputStream *input);
+
+ double readDouble(WPXInputStream *input);
+
+-void appendFromBase64(WPXBinaryData &data, const unsigned char *base64String, size_t base64StringLength);
++void appendFromBase64(WPXBinaryData &data, const unsigned char *base64Data, size_t base64DataLength);
+
+ const ::WPXString getColourString(const Colour &c);
+