[Pkg-octave-commit] [SCM] octave-symbolic branch, master, updated. a718b53403d9f164f8c2a3df521385a01d28a11b
goffioul
goffioul at 416fae20-06d0-4450-9b69-c6c34d4b5f03
Mon Jan 3 03:40:50 UTC 2011
The following commit has been merged in the master branch:
commit 883b4817b53cb77a67fecb307bf6eb377b85a572
Author: goffioul <goffioul at 416fae20-06d0-4450-9b69-c6c34d4b5f03>
Date: Tue Feb 6 07:02:26 2007 +0000
Fix problem with STL iterator going past the end of a container
git-svn-id: https://octave.svn.sourceforge.net/svnroot/octave/trunk/octave-forge/main/symbolic@3232 416fae20-06d0-4450-9b69-c6c34d4b5f03
diff --git a/src/ov-ex.cc b/src/ov-ex.cc
index b4a4d07..39a7668 100644
--- a/src/ov-ex.cc
+++ b/src/ov-ex.cc
@@ -114,12 +114,15 @@ octave_ex::~octave_ex()
if((GiNaC::is_a<GiNaC::symbol>(x)) && (!symbol_list.empty())) {
GiNaC::symbol sym = GiNaC::ex_to<GiNaC::symbol>(x);
std::vector<symbol_list_item>::iterator iter_symlist;
- for(iter_symlist=symbol_list.begin();iter_symlist<symbol_list.end();iter_symlist++) {
+ for(iter_symlist=symbol_list.begin();iter_symlist<symbol_list.end();) {
if(GiNaC::operator == (sym, iter_symlist->sym)) {
iter_symlist->refcount --;
- if(iter_symlist->refcount==0)
- symbol_list.erase(iter_symlist);
+ if(iter_symlist->refcount==0) {
+ iter_symlist = symbol_list.erase(iter_symlist);
+ continue;
+ }
}
+ iter_symlist++;
}
}
}
--
octave-symbolic
More information about the Pkg-octave-commit
mailing list