Update of /cvsroot/pure-data/externals/grill/pool/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32142/source
Modified Files:
main.cpp pool.cpp
Log Message:
fixed double-free on clearing values and dirs
reintroduced missing help message
fixed clearing values and dirs, e.g. with messages clrall and clrrec
more symbol escaping
rename help file
Index: main.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/pool/source/main.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** main.cpp 22 Oct 2005 18:56:30 -0000 1.13
--- main.cpp 14 Dec 2005 01:53:01 -0000 1.14
***************
*** 39,42 ****
--- 39,45 ----
V mg_pool(AtomList &l);
+ // print some help message
+ static V m_help() { post("pool " POOL_VERSION " - hierarchical storage object, (C)2002-2005 Thomas Grill"); }
+
// clear all data in pool
V m_reset();
***************
*** 165,168 ****
--- 168,173 ----
FLEXT_ATTRVAR_I(dcnt)
+ FLEXT_CALLBACK(m_help)
+
FLEXT_CALLBACK(m_reset)
***************
*** 235,239 ****
{
post("");
! post("pool %s - hierarchical storage object, (C)2002-2005 Thomas Grill",POOL_VERSION);
post("");
--- 240,244 ----
{
post("");
! pool::m_help();
post("");
***************
*** 248,251 ****
--- 253,257 ----
FLEXT_CADDATTR_VAR1(c,"dircnt",dcnt);
+ FLEXT_CADDMETHOD_(c,0,"help",m_help);
FLEXT_CADDMETHOD_(c,0,"reset",m_reset);
FLEXT_CADDMETHOD_(c,0,"getdir",m_getdir);
Index: pool.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/pool/source/pool.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** pool.cpp 22 Oct 2005 18:56:30 -0000 1.20
--- pool.cpp 14 Dec 2005 01:53:02 -0000 1.21
***************
*** 65,69 ****
{
if(data) delete data;
! if(nxt) delete nxt;
}
--- 65,71 ----
{
if(data) delete data;
!
! // if(nxt) delete nxt;
! FLEXT_ASSERT(nxt == NULL);
}
***************
*** 94,98 ****
Reset(false);
! if(nxt) delete nxt;
}
--- 96,101 ----
Reset(false);
! // if(nxt) delete nxt;
! FLEXT_ASSERT(nxt == NULL);
}
***************
*** 105,108 ****
--- 108,112 ----
do {
d1 = d->nxt;
+ d->nxt = NULL;
delete d;
} while((d = d1) != NULL);
***************
*** 118,121 ****
--- 122,126 ----
do {
v1 = v->nxt;
+ v->nxt = NULL;
delete v;
} while((v = v1) != NULL);