|
From: <ma...@us...> - 2011-08-01 11:16:08
|
Revision: 1168
http://scstudio.svn.sourceforge.net/scstudio/?rev=1168&view=rev
Author: madzin
Date: 2011-08-01 11:16:01 +0000 (Mon, 01 Aug 2011)
Log Message:
-----------
Remove some memory leaks in parser (absolute time)
Modified Paths:
--------------
trunk/src/data/Z120/Context.cpp
trunk/src/data/msc.h
trunk/tests/membership/complete_absolute_pat2.mpr
trunk/tests/membership/membership_test.cpp
Modified: trunk/src/data/Z120/Context.cpp
===================================================================
--- trunk/src/data/Z120/Context.cpp 2011-07-31 23:55:32 UTC (rev 1167)
+++ trunk/src/data/Z120/Context.cpp 2011-08-01 11:16:01 UTC (rev 1168)
@@ -1042,8 +1042,11 @@
context->z->print_report(RS_ERROR, stringize() << L"Warning: wrong definition of absolut time");
}
- context->current_event->add_absolut_time(*(new MscTimeIntervalSet<double>(context->time)));
+ MscTimeIntervalSetD* abs_time = new MscTimeIntervalSet<double>(context->time);
+ context->current_event->add_absolut_time(*abs_time);
+ delete abs_time;
+
context->absolut_first_border = false;
context->absolut_second_border = false;
context->absolut_first_set = false;
Modified: trunk/src/data/msc.h
===================================================================
--- trunk/src/data/msc.h 2011-07-31 23:55:32 UTC (rev 1167)
+++ trunk/src/data/msc.h 2011-08-01 11:16:01 UTC (rev 1168)
@@ -1746,7 +1746,7 @@
// }
- void add_absolut_time(const MscTimeIntervalSetD& absolut_time)
+ void add_absolut_time(MscTimeIntervalSetD absolut_time)
{
m_absolut_time.push_back(absolut_time);
}
Modified: trunk/tests/membership/complete_absolute_pat2.mpr
===================================================================
--- trunk/tests/membership/complete_absolute_pat2.mpr 2011-07-31 23:55:32 UTC (rev 1167)
+++ trunk/tests/membership/complete_absolute_pat2.mpr 2011-08-01 11:16:01 UTC (rev 1168)
@@ -3,7 +3,7 @@
inst PC;
inst Router;
inst Server;
-text 'Specification: complete_absolute.vsd The flows absolute time constraint is not full covered (C ref. node). The flow does not meet time constraints of specification Output: message + intervals';
+text 'Specification: complete_absolute.vsd The flow absolute time constraint is not full covered (C ref. node). The flow does not meet time constraints of specification Output: message + intervals';
PC: instance;
out c,0 to Router;
time [@0];
Modified: trunk/tests/membership/membership_test.cpp
===================================================================
--- trunk/tests/membership/membership_test.cpp 2011-07-31 23:55:32 UTC (rev 1167)
+++ trunk/tests/membership/membership_test.cpp 2011-08-01 11:16:01 UTC (rev 1168)
@@ -100,8 +100,14 @@
MembershipAlg mem;
mem.set_printer(&printer);
+ if(msc_b.size() != 1 || msc_b[0] == NULL)
+ throw std::runtime_error("Error: Unexpected behaviour");
+
BMscPtr bmsc = boost::dynamic_pointer_cast<BMsc>(msc_b[0]);
+ if(bmsc == NULL)
+ throw std::runtime_error("Error: Flow typecasting failed");
+
std::vector<std::pair<std::wstring, std::vector<MscPtr> > > result;
std::vector<MscPtr> bmscs;
bmscs.push_back(bmsc);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|