Lines Matching refs:expr
117 cur_a = a->expr;
118 cur_b = b->expr;
153 new_node->expr = cond_copy_expr(node->expr);
154 if (!new_node->expr) {
158 new_node->cur_state = cond_evaluate_expr(p, new_node->expr);
205 * cond_evaluate_expr evaluates a conditional expr
210 int cond_evaluate_expr(policydb_t * p, cond_expr_t * expr)
219 for (cur = expr; cur != NULL; cur = cur->next) {
269 cond_expr_t *cond_copy_expr(cond_expr_t * expr)
273 cur = expr;
313 new_state = cond_evaluate_expr(p, node->expr);
358 /* take care of !expr case */
360 e = cn->expr;
372 ("Found expr with no bools and only a ! - this should never happen.\n");
388 for (e = cn->expr; e != NULL; e = e->next) {
423 k = cond_evaluate_expr(p, cn->expr);
476 void cond_expr_destroy(cond_expr_t * expr)
480 if (!expr)
483 for (cur_expr = expr; cur_expr != NULL; cur_expr = next_expr) {
494 cond_expr_destroy(node->expr);
747 static int expr_isvalid(policydb_t * p, cond_expr_t * expr)
749 if (expr->expr_type <= 0 || expr->expr_type > COND_LAST) {
755 if (expr->bool > p->p_bools.nprim) {
767 cond_expr_t *expr = NULL, *last = NULL;
780 /* expr */
788 expr = malloc(sizeof(cond_expr_t));
789 if (!expr) {
792 memset(expr, 0, sizeof(cond_expr_t));
794 expr->expr_type = le32_to_cpu(buf[0]);
795 expr->bool = le32_to_cpu(buf[1]);
797 if (!expr_isvalid(p, expr)) {
798 free(expr);
803 node->expr = expr;
805 last->next = expr;
807 last = expr;