Lines Matching defs:expr
3480 static constraint_expr_t *constraint_expr_clone(const constraint_expr_t * expr)
3484 for (e = expr; e; e = e->next) {
3520 int define_constraint(constraint_expr_t * expr)
3542 for (e = expr; e; e = e->next) {
3610 node->expr = expr;
3613 node->expr = constraint_expr_clone(expr);
3615 if (!node->expr) {
3643 constraint_expr_destroy(node->expr);
3684 int define_validatetrans(constraint_expr_t * expr)
3701 for (e = expr; e; e = e->next) {
3765 node->expr = expr;
3768 node->expr = constraint_expr_clone(expr);
3785 struct constraint_expr *expr, *e1 = NULL, *e2;
3801 if ((expr = malloc(sizeof(*expr))) == NULL ||
3802 constraint_expr_init(expr) == -1) {
3804 free(expr);
3807 expr->expr_type = expr_type;
3819 constraint_expr_destroy(expr);
3822 e1->next = expr;
3834 constraint_expr_destroy(expr);
3847 constraint_expr_destroy(expr);
3850 e1->next = expr;
3853 expr->attr = arg1;
3854 expr->op = arg2;
3855 return (uintptr_t) expr;
3858 expr->attr = arg1;
3859 expr->op = arg2;
3862 if (expr->attr & CEXPR_USER) {
3866 constraint_expr_destroy(expr);
3877 constraint_expr_destroy(expr);
3881 } else if (expr->attr & CEXPR_ROLE) {
3885 constraint_expr_destroy(expr);
3896 constraint_expr_destroy(expr);
3900 } else if (expr->attr & CEXPR_TYPE) {
3901 if (set_types(expr->type_names, id, &add, 0)) {
3902 constraint_expr_destroy(expr);
3908 constraint_expr_destroy(expr);
3911 if (ebitmap_set_bit(&expr->names, val - 1, TRUE)) {
3913 ebitmap_destroy(&expr->names);
3914 constraint_expr_destroy(expr);
3920 return (uintptr_t) expr;
3926 constraint_expr_destroy(expr);
3930 int define_conditional(cond_expr_t * expr, avrule_t * t, avrule_t * f)
3937 if (!expr) {
3944 cond_expr_destroy(expr);
3950 expr = define_cond_expr(COND_NOT, expr, 0);
3951 if (!expr) {
3959 for (e = expr; e; e = e->next) {
4000 cn.expr = expr;
4031 struct cond_expr *expr, *e1 = NULL, *e2;
4046 expr = malloc(sizeof(struct cond_expr));
4047 if (!expr) {
4051 memset(expr, 0, sizeof(cond_expr_t));
4052 expr->expr_type = expr_type;
4065 free(expr);
4068 e1->next = expr;
4084 free(expr);
4098 free(expr);
4101 e1->next = expr;
4108 free(expr);
4114 free(expr);
4124 free(expr);
4128 expr->bool = bool_var->s.value;
4130 return expr;
4133 free(expr);