GenObject* ObjList::remove(bool delobj) { GenObject *tmp = m_obj; if (m_next) { ObjList *n = m_next; m_next = n->next(); m_obj = n->get(); m_delete = n->m_delete; n->m_obj = 0; n->m_next = 0; n->destruct(); } else m_obj = 0; if (delobj && tmp) { XDebug(DebugInfo,"ObjList::remove() deleting %p",tmp); // Don't use TelEngine::destruct(): the compiler will call the non-template // function (which doesn't reset the pointer) tmp->destruct(); tmp = 0; } return tmp; }
NamedList& NamedList::copyParams(const NamedList& original, const String& list, char childSep) { XDebug(DebugInfo,"NamedList::copyParams(%p,\"%s\",'%.1s') [%p]", &original,list.c_str(),&childSep,this); ObjList* l = list.split(',',false); if (l) { copyParams(original,l,childSep); l->destruct(); } return *this; }
GenObject* ObjList::remove(bool delobj) { GenObject *tmp = m_obj; if (m_next) { ObjList *n = m_next; m_next = n->next(); m_obj = n->get(); m_delete = n->m_delete; n->m_obj = 0; n->m_next = 0; n->destruct(); } else m_obj = 0; if (delobj && tmp) { XDebug(DebugInfo,"ObjList::remove() deleting %p",tmp); TelEngine::destruct(tmp); } return tmp; }