Wallet2: Don't throw when subaddress label doesn't exist

This commit is contained in:
Jaquee 2017-10-22 16:21:44 +02:00
parent 086b7db2c7
commit a46c1eed8c
2 changed files with 11 additions and 11 deletions

View File

@ -692,20 +692,20 @@ void wallet2::expand_subaddresses(const cryptonote::subaddress_index& index)
//----------------------------------------------------------------------------------------------------
std::string wallet2::get_subaddress_label(const cryptonote::subaddress_index& index) const
{
if (index.major >= m_subaddress_labels.size())
throw std::runtime_error("index.major is out of bound");
if (index.minor >= m_subaddress_labels[index.major].size())
throw std::runtime_error("index.minor is out of bound");
if (index.major >= m_subaddress_labels.size() || index.minor >= m_subaddress_labels[index.major].size())
{
MERROR("Subaddress label doesn't exist");
return "";
}
return m_subaddress_labels[index.major][index.minor];
}
//----------------------------------------------------------------------------------------------------
void wallet2::set_subaddress_label(const cryptonote::subaddress_index& index, const std::string &label)
{
if (index.major >= m_subaddress_labels.size())
throw std::runtime_error("index.major is out of bound");
if (index.minor >= m_subaddress_labels[index.major].size())
throw std::runtime_error("index.minor is out of bound");
m_subaddress_labels[index.major][index.minor] = label;
if (index.major >= m_subaddress_labels.size() || index.minor >= m_subaddress_labels[index.major].size())
MERROR("Subaddress index is out of bounds. Failed to set subaddress label.");
else
m_subaddress_labels[index.major][index.minor] = label;
}
//----------------------------------------------------------------------------------------------------
/*!

View File

@ -467,8 +467,8 @@ namespace tools
size_t get_num_subaddresses(uint32_t index_major) const { return index_major < m_subaddress_labels.size() ? m_subaddress_labels[index_major].size() : 0; }
void add_subaddress(uint32_t index_major, const std::string& label); // throws when index is out of bound
void expand_subaddresses(const cryptonote::subaddress_index& index);
std::string get_subaddress_label(const cryptonote::subaddress_index& index) const; // throws when index is out of bound
void set_subaddress_label(const cryptonote::subaddress_index &index, const std::string &label); // throws when index is out of bound
std::string get_subaddress_label(const cryptonote::subaddress_index& index) const;
void set_subaddress_label(const cryptonote::subaddress_index &index, const std::string &label);
/*!
* \brief Tells if the wallet file is deprecated.
*/