[Protobuf] Use ByteSizeLong() instead of deprecated ByteSize() 84/237784/1 accepted/tizen/unified/20200707.140958 submit/tizen/20200703.080932
authorSangjung Woo <sangjung.woo@samsung.com>
Fri, 3 Jul 2020 10:11:35 +0000 (19:11 +0900)
committerSangjung Woo <sangjung.woo@samsung.com>
Fri, 3 Jul 2020 10:11:35 +0000 (19:11 +0900)
After bumping up to protobuffer v3.12.3, a below compile-time error
occurs.

* error: 'int google::protobuf::MessageLite::ByteSize() const' is
deprecated: Please use ByteSizeLong() instead [-Werror=deprecated-declarations]

In order to fix this bug, this patch uses the ByteSizeLong() instead of
deprecated ByteSize().

Change-Id: I8bd6c9eb951521af1ae08ff60c7bb81cf8f2c0cd
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
shared/protobuf_asio.cpp

index 9a4155af76757215a2febd0424d97b12c4fe6e6b..bacba2bdc9012982ecc95f6c1b6a4725491225a6 100644 (file)
@@ -33,7 +33,7 @@ void protobuf_sync_message_serialization::encodeMessage(const google::protobuf::
        google::protobuf::io::CopyingOutputStreamAdaptor os(this);
        google::protobuf::io::CodedOutputStream coded_os(&os);
 
-       coded_os.WriteLittleEndian32(message.ByteSize());
+       coded_os.WriteLittleEndian32(message.ByteSizeLong());
        if(!message.SerializeToCodedStream(&coded_os)) {
                throw std::invalid_argument("Message serialization error");
        }
@@ -77,7 +77,7 @@ void protobuf_sync_message_deserialization::decodeMessage(google::protobuf::Mess
 
 void protobuf_async_message_serialization::encodeMessage(const google::protobuf::MessageLite& message)
 {
-       int bufferSize = message.ByteSize();
+       int bufferSize = message.ByteSizeLong();
        fBuffer.resize(bufferSize + sizeof(uint32_t));
        google::protobuf::io::CodedOutputStream::WriteLittleEndian32ToArray(bufferSize,
                        reinterpret_cast<google::protobuf::uint8 *>(&fBuffer[0]));