diff --git a/libraries/Preferences/src/Preferences.cpp b/libraries/Preferences/src/Preferences.cpp index 3c1928b8..81397c80 100644 --- a/libraries/Preferences/src/Preferences.cpp +++ b/libraries/Preferences/src/Preferences.cpp @@ -1,8 +1,9 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// Copyright 2015-2021 Espressif Systems (Shanghai) PTE LTD // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at + // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software @@ -43,7 +44,7 @@ bool Preferences::begin(const char * name, bool readOnly, const char* partition_ } err = nvs_open_from_partition(partition_label, name, readOnly ? NVS_READONLY : NVS_READWRITE, &_handle); } else { - err = nvs_open(name, readOnly?NVS_READONLY:NVS_READWRITE, &_handle); + err = nvs_open(name, readOnly ? NVS_READONLY : NVS_READWRITE, &_handle); } if(err){ log_e("nvs_open failed: %s", nvs_error(err)); @@ -74,6 +75,11 @@ bool Preferences::clear(){ log_e("nvs_erase_all fail: %s", nvs_error(err)); return false; } + err = nvs_commit(_handle); + if(err){ + log_e("nvs_commit fail: %s", nvs_error(err)); + return false; + } return true; } @@ -90,6 +96,11 @@ bool Preferences::remove(const char * key){ log_e("nvs_erase_key fail: %s %s", key, nvs_error(err)); return false; } + err = nvs_commit(_handle); + if(err){ + log_e("nvs_commit fail: %s %s", key, nvs_error(err)); + return false; + } return true; }