summarylogtreecommitdiffstats
path: root/protobuf-ifdefs.patch
blob: dbabcb1f0f4b12f5140cbd947a1eca1bd19442a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
diff --git a/src/mjolnir/valhalla_query_transit.cc b/src/mjolnir/valhalla_query_transit.cc
index 3c6d4f80d..27207d439 100644
--- a/src/mjolnir/valhalla_query_transit.cc
+++ b/src/mjolnir/valhalla_query_transit.cc
@@ -39,7 +39,11 @@ Transit read_pbf(const std::string& file_name) {
   google::protobuf::io::CodedInputStream cs(
       static_cast<google::protobuf::io::ZeroCopyInputStream*>(&as));
   auto limit = std::max(static_cast<size_t>(1), buffer.size() * 2);
+#if GOOGLE_PROTOBUF_VERSION >= 3006000
+  cs.SetTotalBytesLimit(limit);
+#else
   cs.SetTotalBytesLimit(limit, limit);
+#endif
   Transit transit;
   if (!transit.ParseFromCodedStream(&cs)) {
     throw std::runtime_error("Couldn't load " + file_name);
diff --git a/valhalla/mjolnir/transitpbf.h b/valhalla/mjolnir/transitpbf.h
index 604fca71a..a2c8d535e 100644
--- a/valhalla/mjolnir/transitpbf.h
+++ b/valhalla/mjolnir/transitpbf.h
@@ -80,7 +80,11 @@ Transit read_pbf(const std::string& file_name, std::mutex& lock) {
   google::protobuf::io::CodedInputStream cs(
       static_cast<google::protobuf::io::ZeroCopyInputStream*>(&as));
   auto limit = std::max(static_cast<size_t>(1), buffer.size() * 2);
+#if GOOGLE_PROTOBUF_VERSION >= 3006000
+  cs.SetTotalBytesLimit(limit);
+#else
   cs.SetTotalBytesLimit(limit, limit);
+#endif
   Transit transit;
   if (!transit.ParseFromCodedStream(&cs)) {
     throw std::runtime_error("Couldn't load " + file_name);
@@ -98,7 +102,11 @@ Transit read_pbf(const std::string& file_name) {
   google::protobuf::io::CodedInputStream cs(
       static_cast<google::protobuf::io::ZeroCopyInputStream*>(&as));
   auto limit = std::max(static_cast<size_t>(1), buffer.size() * 2);
+#if GOOGLE_PROTOBUF_VERSION >= 3006000
+  cs.SetTotalBytesLimit(limit);
+#else
   cs.SetTotalBytesLimit(limit, limit);
+#endif
   Transit transit;
   if (!transit.ParseFromCodedStream(&cs)) {
     throw std::runtime_error("Couldn't load " + file_name);
@@ -127,7 +135,11 @@ void write_pbf(const Transit& tile, const filesystem::path& transit_tile) {
   if (!filesystem::exists(transit_tile.parent_path())) {
     filesystem::create_directories(transit_tile.parent_path());
   }
+#if GOOGLE_PROTOBUF_VERSION >= 3001000
+  auto size = tile.ByteSizeLong();
+#else
   auto size = tile.ByteSize();
+#endif
   valhalla::midgard::mem_map<char> buffer;
   buffer.create(transit_tile.string(), size);
   if (!tile.SerializeToArray(buffer.get(), size)) {