]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
Use payload_get_field() to look up payload fields
authorMartin Willi <martin@revosec.ch>
Wed, 24 Nov 2010 16:07:45 +0000 (17:07 +0100)
committerMartin Willi <martin@revosec.ch>
Wed, 5 Jan 2011 15:45:51 +0000 (16:45 +0100)
src/conftest/hooks/set_critical.c

index b1b39c5c3d788248c3e99d2203346de111061358..caf2215c3d1846f1779d4f05999ba211633606e1 100644 (file)
@@ -56,6 +56,7 @@ METHOD(listener_t, message, bool,
                enumerator_t *msg, *types;
                payload_t *payload;
                payload_type_t type;
+               bool *critical;
                char *name;
 
                types = enumerator_create_token(this->payloads, " ", "");
@@ -76,17 +77,10 @@ METHOD(listener_t, message, bool,
                        {
                                if (type == payload->get_type(payload))
                                {
-                                       encoding_rule_t *rules;
-                                       size_t count;
-                                       int i;
-
-                                       payload->get_encoding_rules(payload, &rules, &count);
-                                       for (i = 0; i < count; i++)
+                                       critical = payload_get_field(payload, FLAG, 0);
+                                       if (critical)
                                        {
-                                               if (rules[i].type == FLAG)
-                                               {
-                                                       *(bool*)(((void*)payload) + rules[i].offset) = TRUE;
-                                               }
+                                               *critical = TRUE;
                                        }
                                }
                        }