static int agrega (ChainingHashMap *counters, ChainingHashMap *childs, char *name, int level, int fd, LinkedList *added) { Counter *counter; Childs *childInfo; char buffer[1000]; char *childName; LinkedList *directChilds; if (level == 0 ) { counter = (Counter *) getChaining(counters, name); if (counter != NULL) { if (!existsElem(added, name, compareKeys)) { added = insertElemHead(added, name); sprintf(buffer, "%s:%d", name, counter->counter); writeLine(fd, buffer); } } } else { Childs *childsInfo = (Childs *)getChaining(childs, name); if (childsInfo) { directChilds = childsInfo->childs; while (directChilds) { agrega(counters, childs, getData(directChilds), level - 1, fd, added); directChilds = nextElem(directChilds); } } } return 0; }
String Apollo::ValueList::toString() { String sResult; for (ValueElem* e = 0; (e = nextElem(e)) != 0; ) { if (!sResult.empty()) { sResult += " "; } sResult += e->getString(); } return sResult; }
Apollo::ValueElem* Apollo::ValueList::elemAtIndex(int nIndex) { int nCnt = 0; for (Apollo::ValueElem* e = 0; (e = nextElem(e)) != 0; ) { if (nCnt == nIndex) { return e; } nCnt++; } return 0; }
long walkChain(DList *dl) { DList *l = dl; long len=0, blen=0; while ( (l = nextElem(l)) ) len++; l = dl; while ( (l = prevElem(l)) ) blen++; assert(blen == len); return len; }
String Apollo::KeyValueList::toString() { String sResult; for (Apollo::KeyValueElem* e = 0; (e = nextElem(e)) != 0; ) { String sValue = e->getString(); sValue.escape(String::EscapeCRLF); sResult.appendf("%s=%s\n", _sz(e->getName()), _sz(sValue)); } return sResult; }
void Apollo::KeyValueList::toList(List& l) { for (Apollo::KeyValueElem* e = 0; (e = nextElem(e)) != 0; ) { Elem* f = new Elem(e->getKey()); if (f != 0) { if (0) { } else if (e->getType() == Apollo::KeyValueElem::TypeInt) { *f = e->getInt(); } else if (e->getType() == Apollo::KeyValueElem::TypeString) { *f = e->getString(); } l.AddLast(f); } } }