wallet: distinguish between empty and absent attributes

This commit is contained in:
moneromooo-monero 2019-05-02 12:18:47 +00:00
parent 581994b61c
commit bc94ba4d14
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
4 changed files with 16 additions and 6 deletions

View file

@ -11365,12 +11365,13 @@ void wallet2::set_attribute(const std::string &key, const std::string &value)
m_attributes[key] = value;
}
std::string wallet2::get_attribute(const std::string &key) const
bool wallet2::get_attribute(const std::string &key, std::string &value) const
{
std::unordered_map<std::string, std::string>::const_iterator i = m_attributes.find(key);
if (i == m_attributes.end())
return std::string();
return i->second;
return false;
value = i->second;
return true;
}
void wallet2::set_description(const std::string &description)
@ -11380,7 +11381,10 @@ void wallet2::set_description(const std::string &description)
std::string wallet2::get_description() const
{
return get_attribute(ATTRIBUTE_DESCRIPTION);
std::string s;
if (get_attribute(ATTRIBUTE_DESCRIPTION, s))
return s;
return "";
}
const std::pair<std::map<std::string, std::string>, std::vector<std::string>>& wallet2::get_account_tags()