From 9447064a2763d02a5060ceb32301b91950fa303c Mon Sep 17 00:00:00 2001 From: Brian Demsky Date: Thu, 22 Jun 2017 15:00:17 -0700 Subject: [PATCH] Fix memory bug --- src/AST/order.c | 8 ++------ src/AST/order.h | 2 +- src/C.cfg | 2 +- src/Test/buildconstraints.c | 3 +++ 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/AST/order.c b/src/AST/order.c index c05a4a1..d2dc842 100644 --- a/src/AST/order.c +++ b/src/AST/order.c @@ -7,16 +7,12 @@ Order* allocOrder(OrderType type, Set * set){ Order* order = (Order*)ourmalloc(sizeof(Order)); order->set=set; - order->constraints = allocDefVectorBoolean(); + allocInlineDefVectorBoolean(& order->constraints); order->type=type; return order; } void deleteOrder(Order* order){ - uint size = getSizeVectorBoolean( order->constraints ); - for(uint i=0; iconstraints, i) ); - } - deleteSet( order->set); + deleteVectorArrayBoolean(& order->constraints); ourfree(order); } diff --git a/src/AST/order.h b/src/AST/order.h index 7d2bc3c..93b2413 100644 --- a/src/AST/order.h +++ b/src/AST/order.h @@ -7,7 +7,7 @@ struct Order { OrderType type; Set * set; - VectorBoolean* constraints; + VectorBoolean constraints; }; Order* allocOrder(OrderType type, Set * set); diff --git a/src/C.cfg b/src/C.cfg index 9831cf2..9a4c97a 100644 --- a/src/C.cfg +++ b/src/C.cfg @@ -12,4 +12,4 @@ sp_special_semi = ignore sp_before_semi = ignore sp_before_semi_for_empty = ignore sp_after_semi_for_empty = ignore -sp_before_nl_cont = ignore \ No newline at end of file +sp_before_nl_cont = ignore \ No newline at end of file diff --git a/src/Test/buildconstraints.c b/src/Test/buildconstraints.c index ef6ea46..caa8a92 100644 --- a/src/Test/buildconstraints.c +++ b/src/Test/buildconstraints.c @@ -11,5 +11,8 @@ int main(int numargs, char ** argv) { Element * inputs[]={e1, e2}; Boolean * b=applyPredicate(solver, equals, inputs, 2); addBoolean(solver, b); + Order * o=createOrder(solver, TOTAL, s); + Boolean * oc=orderConstraint(solver, o, 1, 2); + addBoolean(solver, oc); deleteSolver(solver); } -- 2.34.1