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);