summaryrefslogtreecommitdiff
path: root/upbc/message_layout.cc
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2019-03-06 12:17:34 -0800
committerGitHub <noreply@github.com>2019-03-06 12:17:34 -0800
commited9faae0993704b033c594b072d65e1bf19207fa (patch)
treedf2777687abddf1335427d06942ba3436edf8c0b /upbc/message_layout.cc
parent51f30e064b8e88af8e7d429c5a54c25f28c68b02 (diff)
parent71ec01e34b03557cfed9df5f417791a189e7fca6 (diff)
Merge pull request #141 from haberman/defcleanup
Major refactoring/cleanup of upb
Diffstat (limited to 'upbc/message_layout.cc')
-rw-r--r--upbc/message_layout.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/upbc/message_layout.cc b/upbc/message_layout.cc
index 5956424..f0a6872 100644
--- a/upbc/message_layout.cc
+++ b/upbc/message_layout.cc
@@ -130,7 +130,9 @@ void MessageLayout::PlaceNonOneofFields(
int hasbit_count = 0;
for (auto field : field_order) {
if (HasHasbit(field)) {
- hasbit_indexes_[field] = hasbit_count++;
+ // We don't use hasbit 0, so that 0 can indicate "no presence" in the
+ // table. This wastes one hasbit, but we don't worry about it for now.
+ hasbit_indexes_[field] = ++hasbit_count;
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback