From e728a5bc3db296b4b67c2d3e5b56558c42c566a8 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Mon, 21 Jun 2004 14:08:57 +0000 Subject: "" svn path=/trunk/; revision=1826 --- externals/grill/flext/source/flitem.cpp | 62 ++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) (limited to 'externals/grill/flext/source/flitem.cpp') diff --git a/externals/grill/flext/source/flitem.cpp b/externals/grill/flext/source/flitem.cpp index c8697279..8970e1c3 100755 --- a/externals/grill/flext/source/flitem.cpp +++ b/externals/grill/flext/source/flitem.cpp @@ -18,57 +18,57 @@ WARRANTIES, see the file, "license.txt," in this distribution. flext_base::Item::~Item() { - if(nxt) delete nxt; + if(nxt) delete nxt; } flext_base::ItemSet::ItemSet() {} flext_base::ItemSet::~ItemSet() { - for(iterator it = begin(); it != end(); ++it) - if(it.data()) delete it.data(); + for(iterator it = begin(); it != end(); ++it) + if(it.data()) delete it.data(); } flext_base::ItemCont::ItemCont(): - memsize(0),size(0),members(0),cont(NULL) + memsize(0),size(0),members(0),cont(NULL) {} flext_base::ItemCont::~ItemCont() { - if(cont) { - for(int i = 0; i < size; ++i) delete cont[i]; - delete[] cont; - } + if(cont) { + for(int i = 0; i < size; ++i) delete cont[i]; + delete[] cont; + } } void flext_base::ItemCont::Resize(int nsz) { - if(nsz > memsize) { - int nmemsz = nsz+10; // increment maximum allocation size - ItemSet **ncont = new ItemSet *[nmemsz]; // make new array - if(cont) { - memcpy(ncont,cont,size*sizeof(*cont)); // copy existing entries - delete[] cont; - } - cont = ncont; // set current array - memsize = nmemsz; // set new allocation size - } - - // make new items - while(size < nsz) cont[size++] = new ItemSet; + if(nsz > memsize) { + int nmemsz = nsz+10; // increment maximum allocation size + ItemSet **ncont = new ItemSet *[nmemsz]; // make new array + if(cont) { + memcpy(ncont,cont,size*sizeof(*cont)); // copy existing entries + delete[] cont; + } + cont = ncont; // set current array + memsize = nmemsz; // set new allocation size + } + + // make new items + while(size < nsz) cont[size++] = new ItemSet; } void flext_base::ItemCont::Add(Item *item,const t_symbol *tag,int inlet) { if(!Contained(inlet)) Resize(inlet+2); ItemSet &set = GetInlet(inlet); - Item *&lst = set[tag]; - if(!lst) - lst = item; - else - for(;;) - if(!lst->nxt) { lst->nxt = item; break; } - else lst = lst->nxt; + Item *&lst = set[tag]; + if(!lst) + lst = item; + else + for(;;) + if(!lst->nxt) { lst->nxt = item; break; } + else lst = lst->nxt; members++; } @@ -80,9 +80,9 @@ bool flext_base::ItemCont::Remove(Item *item,const t_symbol *tag,int inlet) if(it != set.end()) { for(Item *lit = it.data(),*prv = NULL; lit; prv = lit,lit = lit->nxt) { if(lit == item) { - if(prv) prv->nxt = lit->nxt; - else it.data() = lit->nxt; - + if(prv) prv->nxt = lit->nxt; + else it.data() = lit->nxt; + lit->nxt = NULL; delete lit; return true; } -- cgit v1.2.1