Lines Matching defs:expr
118 cur_a = a->expr;
119 cur_b = b->expr;
154 new_node->expr = cond_copy_expr(node->expr);
155 if (!new_node->expr) {
159 new_node->cur_state = cond_evaluate_expr(p, new_node->expr);
206 * cond_evaluate_expr evaluates a conditional expr
211 int cond_evaluate_expr(policydb_t * p, cond_expr_t * expr)
220 for (cur = expr; cur != NULL; cur = cur->next) {
270 cond_expr_t *cond_copy_expr(cond_expr_t * expr)
274 cur = expr;
314 new_state = cond_evaluate_expr(p, node->expr);
358 /* take care of !expr case */
360 e = cn->expr;
371 ERR(NULL, "Found expr with no bools and only a ! - this should never happen.");
387 for (e = cn->expr; e != NULL; e = e->next) {
421 k = cond_evaluate_expr(p, cn->expr);
473 void cond_expr_destroy(cond_expr_t * expr)
477 if (!expr)
480 for (cur_expr = expr; cur_expr != NULL; cur_expr = next_expr) {
491 cond_expr_destroy(node->expr);
733 static int expr_isvalid(policydb_t * p, cond_expr_t * expr)
735 if (expr->expr_type <= 0 || expr->expr_type > COND_LAST) {
740 if (expr->bool > p->p_bools.nprim) {
751 cond_expr_t *expr = NULL, *last = NULL;
763 /* expr */
771 expr = malloc(sizeof(cond_expr_t));
772 if (!expr) {
775 memset(expr, 0, sizeof(cond_expr_t));
777 expr->expr_type = le32_to_cpu(buf[0]);
778 expr->bool = le32_to_cpu(buf[1]);
780 if (!expr_isvalid(p, expr)) {
781 free(expr);
786 node->expr = expr;
788 last->next = expr;
790 last = expr;