Fix missing 'else' when handling sfMessageKey:

When clearing out a message key the transactor would incorrectly
create an empty `sfMessageKey` field instead of simply deleting
the field.

Clarify logic by reordering checks.
This commit is contained in:
Nik Bougalis
2014-11-02 00:07:33 -07:00
parent 3ccbd7c9b2
commit 93b7599b1c

View File

@@ -265,18 +265,19 @@ public:
if (mTxn.isFieldPresent (sfMessageKey))
{
Blob messageKey = mTxn.getFieldVL (sfMessageKey);
Blob const messageKey = mTxn.getFieldVL (sfMessageKey);
if (messageKey.size () > PUBLIC_BYTES_MAX)
{
m_journal.trace << "message key too long";
return telBAD_PUBLIC_KEY;
}
if (messageKey.empty ())
{
m_journal.debug << "set message key";
mTxnAccount->makeFieldAbsent (sfMessageKey);
}
if (messageKey.size () > PUBLIC_BYTES_MAX)
{
m_journal.trace << "message key too long";
return telBAD_PUBLIC_KEY;
}
else
{
m_journal.debug << "set message key";