File libArcus-protobuf-30.patch of Package libArcus

Index: libArcus-4.13/python/PythonMessage.cpp
===================================================================
--- libArcus-4.13.orig/python/PythonMessage.cpp
+++ libArcus-4.13/python/PythonMessage.cpp
@@ -47,7 +47,7 @@ PythonMessage::~PythonMessage()
 
 std::string Arcus::PythonMessage::getTypeName() const
 {
-    return  _message->GetTypeName();
+    return std::string(_message->GetTypeName());
 }
 
 MessagePtr Arcus::PythonMessage::getSharedMessage() const
Index: libArcus-4.13/src/MessageTypeStore.cpp
===================================================================
--- libArcus-4.13.orig/src/MessageTypeStore.cpp
+++ libArcus-4.13/src/MessageTypeStore.cpp
@@ -21,6 +21,8 @@
 #include <unordered_map>
 #include <sstream>
 #include <iostream>
+#include <string_view>
+#include <cstdint>
 
 #include <google/protobuf/dynamic_message.h>
 #include <google/protobuf/compiler/importer.h>
@@ -34,16 +36,18 @@ using namespace Arcus;
  * of std::hash differs between compilers, we need to make sure we use the same
  * implementation everywhere.
  */
-uint32_t hash(const std::string& input)
+uint32_t hash(std::string_view input)
 {
-    const char* data = input.c_str();
-    uint32_t length = input.size();
-    uint32_t result = static_cast<uint32_t>(2166136261UL);
-    for(; length; --length)
+    const char* data = input.data();
+    uint32_t length = static_cast<uint32_t>(input.size());
+    uint32_t result = 2166136261u;
+
+    for (; length; --length)
     {
         result ^= static_cast<uint32_t>(*data++);
-        result *= static_cast<uint32_t>(16777619UL);
+        result *= 16777619u;
     }
+
     return result;
 }
 
Index: libArcus-4.13/src/MessageTypeStore.h
===================================================================
--- libArcus-4.13.orig/src/MessageTypeStore.h
+++ libArcus-4.13/src/MessageTypeStore.h
@@ -20,6 +20,7 @@
 #define ARCUS_MESSAGE_TYPE_STORE_H
 
 #include <memory>
+#include <cstdint>
 
 #include "ArcusExport.h"
 #include "Types.h"
Index: libArcus-4.13/src/Types.h
===================================================================
--- libArcus-4.13.orig/src/Types.h
+++ libArcus-4.13/src/Types.h
@@ -20,6 +20,7 @@
 #define ARCUS_TYPES_H
 
 #include <string>
+#include <cstdint>
 #include <memory>
 
 namespace google
Index: libArcus-4.13/src/PlatformSocket_p.h
===================================================================
--- libArcus-4.13.orig/src/PlatformSocket_p.h
+++ libArcus-4.13/src/PlatformSocket_p.h
@@ -21,6 +21,7 @@
 
 #include <memory>
 #include <string>
+#include <cstdint>
 
 namespace Arcus
 {
openSUSE Build Service is sponsored by