aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/compiler/cpp/cpp_map_field.cc
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2017-06-22 15:39:19 -0700
committerBo Yang <teboring@google.com>2017-06-23 11:58:05 -0700
commit9c0b35cf620c4904a18e25733f50c9c0474fefa6 (patch)
treed0010edbebaf6af9c4b6d1b0c5a8daa7b5102c03 /src/google/protobuf/compiler/cpp/cpp_map_field.cc
parentf752d816b780fff2a6af80f330a808874e63621f (diff)
downloadprotobuf-9c0b35cf620c4904a18e25733f50c9c0474fefa6.tar.gz
protobuf-9c0b35cf620c4904a18e25733f50c9c0474fefa6.tar.bz2
protobuf-9c0b35cf620c4904a18e25733f50c9c0474fefa6.zip
Enusre public header and generated code have no implicit converion.
Diffstat (limited to 'src/google/protobuf/compiler/cpp/cpp_map_field.cc')
-rw-r--r--src/google/protobuf/compiler/cpp/cpp_map_field.cc27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/google/protobuf/compiler/cpp/cpp_map_field.cc b/src/google/protobuf/compiler/cpp/cpp_map_field.cc
index 52a3b8b0..ee0ed164 100644
--- a/src/google/protobuf/compiler/cpp/cpp_map_field.cc
+++ b/src/google/protobuf/compiler/cpp/cpp_map_field.cc
@@ -256,7 +256,8 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
} else {
printer->Print(variables_,
" unknown_fields_stream.WriteVarint32($tag$u);\n"
- " unknown_fields_stream.WriteVarint32(data.size());\n"
+ " unknown_fields_stream.WriteVarint32(\n"
+ " static_cast<google::protobuf::uint32>(data.size()));\n"
" unknown_fields_stream.WriteString(data);\n");
}
@@ -267,12 +268,16 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
if (key_field->type() == FieldDescriptor::TYPE_STRING) {
GenerateUtf8CheckCodeForString(
- key_field, options_, true, variables_,
- StrCat(key, ".data(), ", key, ".length(),\n").data(), printer);
+ key_field, options_, true, variables_,
+ StrCat(key, ".data(), static_cast<int>(", key, ".length()),\n").data(),
+ printer);
}
if (value_field->type() == FieldDescriptor::TYPE_STRING) {
- GenerateUtf8CheckCodeForString(value_field, options_, true, variables_,
- StrCat(value, ".data(), ", value, ".length(),\n").data(), printer);
+ GenerateUtf8CheckCodeForString(
+ value_field, options_, true, variables_,
+ StrCat(value, ".data(), static_cast<int>(", value, ".length()),\n")
+ .data(),
+ printer);
}
// If entry is allocated by arena, its desctructor should be avoided.
@@ -376,14 +381,14 @@ void MapFieldGenerator::GenerateSerializeWithCachedSizes(
printer->Indent();
printer->Indent();
if (string_key) {
- GenerateUtf8CheckCodeForString(key_field, options_, false, variables,
- "p->first.data(), p->first.length(),\n",
- printer);
+ GenerateUtf8CheckCodeForString(
+ key_field, options_, false, variables,
+ "p->first.data(), static_cast<int>(p->first.length()),\n", printer);
}
if (string_value) {
- GenerateUtf8CheckCodeForString(value_field, options_, false, variables,
- "p->second.data(), p->second.length(),\n",
- printer);
+ GenerateUtf8CheckCodeForString(
+ value_field, options_, false, variables,
+ "p->second.data(), static_cast<int>(p->second.length()),\n", printer);
}
printer->Outdent();
printer->Outdent();