void XlateTableWriteBase::WriteXlate(XlateTable *xt){ unsigned i; for (i = 0; i < 10; i++)md[i] = xt->CopyMode('0'+i); lvl = 1; XlateTableRec *tb = md[0]; int ch; for (ch = 1; ch <256; ch++){ if (tb->dat[ch] != 0) { if (65535u != (i = ustridx(LowerCharList, ch))){ if (!EqXE(tb->dat[ch], tb->dat[UpperCharList[i]])) { DoItem(tb->dat[ch], lvl); if (tb->dat[ch]->n != 0) DoNext(tb->dat[ch]->n); } } else { DoItem(tb->dat[ch],lvl); if (65535u != (i = ustridx(UpperCharList, ch))){ if (EqXE(tb->dat[ch], tb->dat[LowerCharList[i]])) DoItem(tb->dat[LowerCharList[i]], 255); } if (tb->dat[ch]->n != 0) DoNext(tb->dat[ch]->n); }; // if (0 == (cpt ... else ... }; // if (tb-<dat[ch] != 0 ... }; // for (ch = 1 ... // WriteData(&c254, 1); UNCH tmp[2]; tmp[0] = 254; tmp[1] = 0; WriteData(tmp,2); };
void XlateTableWriteBase::DoNext( XlateEntryData *p ){ lvl++; while (p != 0){ DoItem(p, lvl); if ((p->f != 0) && (EqXE(p, p->f))){DoItem(p, 256); p= p->f;} if (p->n != 0) DoNext(p->n); p = p->f; } lvl--; } ;
void CMGetNewContent::DoItemList(TiXmlElement* pItemList) { if(!pItemList) return; if(!m_lstItem) m_lstItem = new CMList<TNewContentItem*>; m_lstItem->clear(); if(!m_lstCourseItem) m_lstCourseItem = new CMList<TNewContentItem*>; m_lstCourseItem->clear(); if(!m_lstNewsItem) m_lstNewsItem = new CMList<TNewContentItem*>; m_lstNewsItem->clear(); TiXmlElement* pItem = pItemList->FirstChildElement("item"); while(pItem) { TNewContentItem* newContentItem = new TNewContentItem; memset(newContentItem, 0, sizeof(TNewContentItem)); DoItem(pItem, newContentItem); m_lstItem->push_back(newContentItem); if (strcmp(newContentItem->sType, "course") == 0) { m_lstCourseItem->push_back(newContentItem); } else if (strcmp(newContentItem->sType, "news") == 0) { m_lstNewsItem->push_back(newContentItem); } pItem = pItem->NextSiblingElement("item"); } }
void CMGetNewContent::DoHeadItemList(TiXmlElement* pHeadItemList) { if(!m_lstHeadItem) m_lstHeadItem = new CMList<TNewContentItem*>; if(!pHeadItemList) return; m_lstHeadItem->clear(); TiXmlElement* pHeadItem = pHeadItemList->FirstChildElement("item"); while(pHeadItem) { TNewContentItem* newContentItem = new TNewContentItem; memset(newContentItem, 0, sizeof(TNewContentItem)); DoItem(pHeadItem, newContentItem); m_lstHeadItem->push_back(newContentItem); pHeadItem = pHeadItem->NextSiblingElement("item"); } }