aboutsummaryrefslogtreecommitdiff
path: root/src/protozero/filtering/filter_bytecode_parser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/protozero/filtering/filter_bytecode_parser.cc')
-rw-r--r--src/protozero/filtering/filter_bytecode_parser.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/protozero/filtering/filter_bytecode_parser.cc b/src/protozero/filtering/filter_bytecode_parser.cc
index e8712c771..6c22722fd 100644
--- a/src/protozero/filtering/filter_bytecode_parser.cc
+++ b/src/protozero/filtering/filter_bytecode_parser.cc
@@ -105,15 +105,19 @@ bool FilterBytecodeParser::LoadInternal(const uint8_t* bytecode_data,
}
if (opcode == kFilterOpcode_SimpleField ||
- opcode == kFilterOpcode_NestedField) {
+ opcode == kFilterOpcode_NestedField ||
+ opcode == kFilterOpcode_FilterString) {
// Field words are organized as follow:
// MSB: 1 if allowed, 0 if not allowed.
// Remaining bits:
// Message index in the case of nested (non-simple) messages.
- // 0x7f..f in the case of simple messages.
+ // 0x7f..e in the case of string fields which need filtering.
+ // 0x7f..f in the case of simple fields.
uint32_t msg_id;
if (opcode == kFilterOpcode_SimpleField) {
msg_id = kSimpleField;
+ } else if (opcode == kFilterOpcode_FilterString) {
+ msg_id = kFilterStringField;
} else { // FILTER_OPCODE_NESTED_FIELD
// The next word in the bytecode contains the message index.
if (!has_next_word) {