aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf/util/merge.cpp
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:17 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:17 +0300
commitd3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch)
treedd4bd3ca0f36b817e96812825ffaf10d645803f2 /library/cpp/protobuf/util/merge.cpp
parent72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff)
downloadydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/protobuf/util/merge.cpp')
-rw-r--r--library/cpp/protobuf/util/merge.cpp58
1 files changed, 29 insertions, 29 deletions
diff --git a/library/cpp/protobuf/util/merge.cpp b/library/cpp/protobuf/util/merge.cpp
index 258cbb737f..dc2b9cc806 100644
--- a/library/cpp/protobuf/util/merge.cpp
+++ b/library/cpp/protobuf/util/merge.cpp
@@ -6,41 +6,41 @@
#include <library/cpp/protobuf/util/proto/merge.pb.h>
namespace NProtoBuf {
- void RewriteMerge(const Message& src, Message& dst) {
- const Descriptor* d = src.GetDescriptor();
- Y_ASSERT(d == dst.GetDescriptor());
+ void RewriteMerge(const Message& src, Message& dst) {
+ const Descriptor* d = src.GetDescriptor();
+ Y_ASSERT(d == dst.GetDescriptor());
- for (int i = 0; i < d->field_count(); ++i) {
- if (TConstField(src, d->field(i)).Has())
- TMutableField(dst, d->field(i)).Clear();
- }
+ for (int i = 0; i < d->field_count(); ++i) {
+ if (TConstField(src, d->field(i)).Has())
+ TMutableField(dst, d->field(i)).Clear();
+ }
- dst.MergeFrom(src);
+ dst.MergeFrom(src);
}
- static void ClearNonMergeable(const Message& src, Message& dst) {
- const Descriptor* d = src.GetDescriptor();
- if (d->options().GetExtension(DontMerge)) {
- dst.Clear();
- return;
- }
-
- for (int i = 0; i < d->field_count(); ++i) {
- const FieldDescriptor* fd = d->field(i);
- TConstField srcField(src, fd);
- if (srcField.Has()) {
- TMutableField dstField(dst, fd);
- if (fd->options().GetExtension(DontMergeField))
- dstField.Clear();
- else if (!fd->is_repeated() && dstField.IsMessage() && dstField.Has())
- ClearNonMergeable(*srcField.Get<const Message*>(), *dstField.MutableMessage());
- }
- }
+ static void ClearNonMergeable(const Message& src, Message& dst) {
+ const Descriptor* d = src.GetDescriptor();
+ if (d->options().GetExtension(DontMerge)) {
+ dst.Clear();
+ return;
+ }
+
+ for (int i = 0; i < d->field_count(); ++i) {
+ const FieldDescriptor* fd = d->field(i);
+ TConstField srcField(src, fd);
+ if (srcField.Has()) {
+ TMutableField dstField(dst, fd);
+ if (fd->options().GetExtension(DontMergeField))
+ dstField.Clear();
+ else if (!fd->is_repeated() && dstField.IsMessage() && dstField.Has())
+ ClearNonMergeable(*srcField.Get<const Message*>(), *dstField.MutableMessage());
+ }
+ }
}
- void CustomMerge(const Message& src, Message& dst) {
- ClearNonMergeable(src, dst);
- dst.MergeFrom(src);
+ void CustomMerge(const Message& src, Message& dst) {
+ ClearNonMergeable(src, dst);
+ dst.MergeFrom(src);
}
}