static ret_t _free (void *p) { ret_t ret; cherokee_rule_and_t *rule = RULE_AND(p); if (rule->left) { ret = cherokee_rule_free (rule->left); if (ret != ret_ok) return ret; } if (rule->right) { ret = cherokee_rule_free (rule->right); if (ret != ret_ok) return ret; } return ret_ok; }
static ret_t _free (void *p) { ret_t ret; cherokee_boolean_t error = false; cherokee_rule_not_t *rule = RULE_NOT(p); if (rule->right) { ret = cherokee_rule_free (rule->right); if (ret != ret_ok) error = true; } return (error)? ret_error : ret_ok; }