void MMatchClanMap::AddObject(const MUID& uid, MMatchObject* pObj) { if (! IsEnabledObject(pObj)) return; int nCLID = pObj->GetCharInfo()->m_ClanInfo.m_nClanID; if (nCLID == 0) return; // 임시코드... AddObject()하는 어느곳에서 잘못된 값을 가져와서 서버 크래쉬 유발시키기 때문에 일단 여기서 막음 // 또한 AddObject()하는곳에서 log를 남겨 배포후 원인을 잡는 과정이 있을거임...20090224 by kammir if (nCLID <= -1) return; // nCLID는 정수형 if (nCLID >= 9000000) return; // 현재(20090224) 한국 최고 클랜ID가 "1399559"이다.(DB에서는 1씩증가시킴) // 클랜이 없으면 새로 생성 iterator itor = find(nCLID); if (itor == end()) { CreateClan(nCLID, pObj->GetCharInfo()->m_ClanInfo.m_szClanName); } itor = find(nCLID); if (itor != end()) { MMatchClan* pClan = (*itor).second; pClan->AddObject(uid, pObj); } }
void MMatchClanMap::AddObject(const MUID& uid, MMatchObject* pObj) { if (! IsEnabledObject(pObj)) return; int nCLID = pObj->GetCharInfo()->m_ClanInfo.m_nClanID; if (nCLID == 0) return; // 클랜이 없으면 새로 생성 iterator itor = find(nCLID); if (itor == end()) { CreateClan(nCLID, pObj->GetCharInfo()->m_ClanInfo.m_szClanName); } itor = find(nCLID); if (itor != end()) { MMatchClan* pClan = (*itor).second; pClan->AddObject(uid, pObj); } }