[osmium] 10/16: Refresh 04-big-endian.patch.
Bas Couwenberg
sebastic at xs4all.nl
Mon Jun 9 01:03:08 UTC 2014
This is an automated email from the git hooks/post-receive script.
sebastic-guest pushed a commit to branch master
in repository osmium.
commit 8f4545e3f7e4ae9d4d2eb9ce6c5994eed64260ce
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Mon Jun 9 02:02:44 2014 +0200
Refresh 04-big-endian.patch.
---
debian/patches/04-big-endian.patch | 64 ++++++++++++++++++--------------------
1 file changed, 30 insertions(+), 34 deletions(-)
diff --git a/debian/patches/04-big-endian.patch b/debian/patches/04-big-endian.patch
index 02b3ee6..0646a10 100644
--- a/debian/patches/04-big-endian.patch
+++ b/debian/patches/04-big-endian.patch
@@ -15,16 +15,12 @@ This patch detects endianess used and adds big-endian test values.
--- a/include/osmium/geometry.hpp
+++ b/include/osmium/geometry.hpp
-@@ -23,6 +23,7 @@ You should have received a copy of the L
+@@ -23,9 +23,18 @@ You should have received a copy of the L
*/
- #include <sstream>
+ #include <ostream>
+#include <endian.h>
- #ifdef OSMIUM_WITH_GEOS
- # include <geos/geom/GeometryFactory.h>
-@@ -40,6 +41,14 @@ You should have received a copy of the L
- #include <osmium/exceptions.hpp>
#include <osmium/osm/types.hpp>
+#if __BYTE_ORDER == __LITTLE_ENDIAN
@@ -38,7 +34,7 @@ This patch detects endianess used and adds big-endian test values.
namespace Osmium {
/**
-@@ -161,7 +173,11 @@ namespace Osmium {
+@@ -144,7 +153,11 @@ namespace Osmium {
* - (optionally) the SRID
*/
inline void write_binary_wkb_header(std::ostream& out, bool with_srid, uint32_t type) {
@@ -50,7 +46,7 @@ This patch detects endianess used and adds big-endian test values.
if (with_srid) {
write_binary<uint32_t>(out, type | wkbSRID);
write_binary<uint32_t>(out, srid);
-@@ -178,7 +194,11 @@ namespace Osmium {
+@@ -161,7 +174,11 @@ namespace Osmium {
* - (optionally) the SRID
*/
inline void write_hex_wkb_header(std::ostream& out, bool with_srid, uint32_t type) {
@@ -62,23 +58,9 @@ This patch detects endianess used and adds big-endian test values.
if (with_srid) {
write_hex<uint32_t>(out, type | wkbSRID);
write_hex<uint32_t>(out, srid);
---- a/test/testgroup_ogr/geometry/test_geometry.cpp
-+++ b/test/testgroup_ogr/geometry/test_geometry.cpp
-@@ -53,7 +53,11 @@ BOOST_AUTO_TEST_CASE(polygon_from_way) {
- OGRPolygon* ogrpolygon = polygon.create_ogr_geometry();
- std::string ogrwkb;
- ogrwkb.resize(ogrpolygon->WkbSize());
-+#ifdef BYTE_ORDER_LITTLE_ENDIAN
- ogrpolygon->exportToWkb(wkbNDR, (unsigned char*)ogrwkb.c_str());
-+#else
-+ ogrpolygon->exportToWkb(wkbXDR, (unsigned char*)ogrwkb.c_str());
-+#endif
- output_test_stream osmiumwkb;
- osmiumwkb << polygon.as_WKB();
- BOOST_CHECK_EQUAL(osmiumwkb.str().size(), ogrpolygon->WkbSize());
---- a/test/testgroup_plain/geometry/test_linestring_geometry.cpp
-+++ b/test/testgroup_plain/geometry/test_linestring_geometry.cpp
-@@ -47,19 +47,35 @@ BOOST_AUTO_TEST_CASE(output) {
+--- a/test/t/geometry/test_linestring_geometry.cpp
++++ b/test/t/geometry/test_linestring_geometry.cpp
+@@ -46,19 +46,35 @@ BOOST_AUTO_TEST_CASE(output) {
std::ostringstream out_wkb;
out_wkb << line2.as_WKB();
@@ -114,9 +96,9 @@ This patch detects endianess used and adds big-endian test values.
}
BOOST_AUTO_TEST_SUITE_END()
---- a/test/testgroup_plain/geometry/test_point_geometry.cpp
-+++ b/test/testgroup_plain/geometry/test_point_geometry.cpp
-@@ -36,19 +36,35 @@ BOOST_AUTO_TEST_CASE(output) {
+--- a/test/t/geometry/test_point_geometry.cpp
++++ b/test/t/geometry/test_point_geometry.cpp
+@@ -35,19 +35,35 @@ BOOST_AUTO_TEST_CASE(output) {
std::ostringstream out_wkb;
out_wkb << point1.as_WKB();
@@ -152,34 +134,34 @@ This patch detects endianess used and adds big-endian test values.
}
BOOST_AUTO_TEST_SUITE_END()
---- a/test/testgroup_plain/geometry/test_polygon_geometry.cpp
-+++ b/test/testgroup_plain/geometry/test_polygon_geometry.cpp
-@@ -51,19 +51,35 @@ BOOST_AUTO_TEST_CASE(output) {
+--- a/test/t/geometry/test_polygon_geometry.cpp
++++ b/test/t/geometry/test_polygon_geometry.cpp
+@@ -50,19 +50,35 @@ BOOST_AUTO_TEST_CASE(output) {
std::ostringstream out_wkb;
out_wkb << polygon.as_WKB();
+#ifdef BYTE_ORDER_LITTLE_ENDIAN
BOOST_CHECK_EQUAL(Osmium::Test::to_hex(out_wkb.str()), "01030000000100000004000000666666666666FE3F666666666666FE3F666666666666FE3F333333333333074033333333333307403333333333330740666666666666FE3F666666666666FE3F");
-
+#else
+ BOOST_CHECK_EQUAL(Osmium::Test::to_hex(out_wkb.str()), "000000000300000001000000043FFE6666666666663FFE6666666666663FFE6666666666664007333333333333400733333333333340073333333333333FFE6666666666663FFE666666666666");
+#endif
+
std::ostringstream out_ewkb;
out_ewkb << polygon.as_WKB(true);
+#ifdef BYTE_ORDER_LITTLE_ENDIAN
BOOST_CHECK_EQUAL(Osmium::Test::to_hex(out_ewkb.str()), "0103000020E61000000100000004000000666666666666FE3F666666666666FE3F666666666666FE3F333333333333074033333333333307403333333333330740666666666666FE3F666666666666FE3F");
-
+#else
+ BOOST_CHECK_EQUAL(Osmium::Test::to_hex(out_ewkb.str()), "0020000003000010E600000001000000043FFE6666666666663FFE6666666666663FFE6666666666664007333333333333400733333333333340073333333333333FFE6666666666663FFE666666666666");
+#endif
+
std::ostringstream out_hexwkb;
out_hexwkb << polygon.as_HexWKB();
+#ifdef BYTE_ORDER_LITTLE_ENDIAN
BOOST_CHECK_EQUAL(out_hexwkb.str(), "01030000000100000004000000666666666666FE3F666666666666FE3F666666666666FE3F333333333333074033333333333307403333333333330740666666666666FE3F666666666666FE3F");
-
+#else
+ BOOST_CHECK_EQUAL(out_hexwkb.str(), "000000000300000001000000043FFE6666666666663FFE6666666666663FFE6666666666664007333333333333400733333333333340073333333333333FFE6666666666663FFE666666666666");
+#endif
+
std::ostringstream out_hexewkb;
out_hexewkb << polygon.as_HexWKB(true);
+#ifdef BYTE_ORDER_LITTLE_ENDIAN
@@ -190,3 +172,17 @@ This patch detects endianess used and adds big-endian test values.
}
BOOST_AUTO_TEST_SUITE_END()
+--- a/test/t/geometry_ogr/test_geometry.cpp
++++ b/test/t/geometry_ogr/test_geometry.cpp
+@@ -53,7 +53,11 @@ BOOST_AUTO_TEST_CASE(polygon_from_way) {
+ OGRPolygon* ogrpolygon = Osmium::Geometry::create_ogr_geometry(polygon);
+ std::string ogrwkb;
+ ogrwkb.resize(ogrpolygon->WkbSize());
++#ifdef BYTE_ORDER_LITTLE_ENDIAN
+ ogrpolygon->exportToWkb(wkbNDR, (unsigned char*)ogrwkb.c_str());
++#else
++ ogrpolygon->exportToWkb(wkbXDR, (unsigned char*)ogrwkb.c_str());
++#endif
+ output_test_stream osmiumwkb;
+ osmiumwkb << polygon.as_WKB();
+ BOOST_CHECK_EQUAL(osmiumwkb.str().size(), ogrpolygon->WkbSize());
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/osmium.git
More information about the Pkg-grass-devel
mailing list