bool accept(const char* field, const char* val) { m_m.clear(); int len = strcpy_k(m_line, sizeof(m_line), val+1); m_line[len-1] = '\0'; m_m.parseLine(m_line); const char* playerName = field; const char* viplevel = m_m.get("viplevel"); int level = toGameLevel(m_m.get("level")); int lastActive = (int)str2i64(m_m.get("lastActive")); if(lastActive < m_startTime) return true; KPlayer* player = m_pServer->newPlayer(); player->m_acctName = m_acctName; player->m_serverName = m_pServer->name(); player->m_playerName = g_stringPool.get(playerName); player->m_level = level; player->m_viplevel = viplevel ? str2int(viplevel) : 0; player->m_lastActive = lastActive; return true; }
bool KActiveServerSet::accept(const char* field, const char* val) { int pattern_len = strlen("lastActive.server."); time_t t = (time_t)str2i64(val); if(t >= m_start) { const char* server = g_stringPool.get(field + pattern_len); if(m_array.insert_unique(server) >= 0) Log(LOG_DEBUG, "debug: add active server '%s'", server); } return true; }
bool XMLDocument::GetInteger(const TiXmlElement& parent, const string& szName, _INT64& nValue) const { const TiXmlElement* item = parent.FirstChildElement(szName.c_str()); if(item) { string s; GetElementText(*item, s); nValue = str2i64(s); return true; } return false; }
INT64 StringValue::Int64() const { if(!isnumber3(m_val.c_str())) return 0; return str2i64(m_val.c_str()); }