Delete dataset from persistent storage when clearing. (#1332)

This commit is contained in:
Jonathan Hui
2017-02-17 12:10:00 -08:00
committed by GitHub
parent fa04f1c4cb
commit 5ca4b9908a
+13 -2
View File
@@ -440,8 +440,19 @@ ThreadError Dataset::Restore(void)
ThreadError Dataset::Store(void)
{
return otPlatSettingsSet(mInstance, static_cast<uint16_t>(mType == Tlv::kActiveTimestamp ? kKeyActiveDataset :
kKeyPendingDataset), mTlvs, mLength);
uint16_t key = static_cast<uint16_t>((mType == Tlv::kActiveTimestamp) ? kKeyActiveDataset : kKeyPendingDataset);
ThreadError error;
if (mLength == 0)
{
error = otPlatSettingsDelete(mInstance, key, 0);
}
else
{
error = otPlatSettingsSet(mInstance, key, mTlvs, mLength);
}
return error;
}
ThreadError Dataset::Set(const Tlv &aTlv)