Use payload_get_field() to look up payload fields

This commit is contained in:
Martin Willi
2011-01-05 16:45:51 +01:00
parent e662d62a76
commit 15a612efb2
+4 -10
View File
@@ -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;
}
} }
} }
} }