void dumpExt(User* user, std::string checkstr, Extensible* ext)
{
std::stringstream dumpkeys;
- for(ExtensibleStore::const_iterator i = ext->GetExtList().begin(); i != ext->GetExtList().end(); i++)
+ for(Extensible::ExtensibleStore::const_iterator i = ext->GetExtList().begin(); i != ext->GetExtList().end(); i++)
{
- ExtensionItem* item = Extensible::GetItem(i->first);
- std::string value;
- if (item)
- value = item->serialize(FORMAT_USER, ext, i->second);
- if (value.empty())
- dumpkeys << " " << i->first;
- else
- ServerInstance->DumpText(user, checkstr + " meta:" + i->first + " " + value);
+ ExtensionItem* item = i->first;
+ std::string value = item->serialize(FORMAT_USER, ext, i->second);
+ if (!value.empty())
+ ServerInstance->DumpText(user, checkstr + " meta:" + item->key + " " + value);
+ else if (!item->key.empty())
+ dumpkeys << " " << item->key;
}
if (!dumpkeys.str().empty())
ServerInstance->DumpText(user,checkstr + " metadata", dumpkeys);
CmdResult Handle (const std::vector<std::string> ¶meters, User *user)
{
- if (parameters.size() > 1 && parameters[1] != ServerInstance->Config->ServerName)
+ if (parameters.size() > 1 && parameters[1] != ServerInstance->Config->ServerName.c_str())
return CMD_SUCCESS;
User *targuser;