Use payload_get_field() to look up payload fields
This commit is contained in:
@@ -56,6 +56,7 @@ METHOD(listener_t, message, bool,
|
|||||||
enumerator_t *msg, *types;
|
enumerator_t *msg, *types;
|
||||||
payload_t *payload;
|
payload_t *payload;
|
||||||
payload_type_t type;
|
payload_type_t type;
|
||||||
|
bool *critical;
|
||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
types = enumerator_create_token(this->payloads, " ", "");
|
types = enumerator_create_token(this->payloads, " ", "");
|
||||||
@@ -76,17 +77,10 @@ METHOD(listener_t, message, bool,
|
|||||||
{
|
{
|
||||||
if (type == payload->get_type(payload))
|
if (type == payload->get_type(payload))
|
||||||
{
|
{
|
||||||
encoding_rule_t *rules;
|
critical = payload_get_field(payload, FLAG, 0);
|
||||||
size_t count;
|
if (critical)
|
||||||
int i;
|
|
||||||
|
|
||||||
payload->get_encoding_rules(payload, &rules, &count);
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
{
|
{
|
||||||
if (rules[i].type == FLAG)
|
*critical = TRUE;
|
||||||
{
|
|
||||||
*(bool*)(((void*)payload) + rules[i].offset) = TRUE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user