mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-27 20:56:35 +00:00
Fix JSON Settings save
This commit is contained in:
parent
3429ebd359
commit
8231a0429c
@ -594,6 +594,9 @@ bool _UfsJsonSettingsUpdate(const char* data) {
|
|||||||
if (buf[0] == '}') {
|
if (buf[0] == '}') {
|
||||||
bracket_count--;
|
bracket_count--;
|
||||||
}
|
}
|
||||||
|
else if (buf[0] == '{') { // Next bracket
|
||||||
|
bracket_count++;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (buf[0] == '}') { // Last bracket
|
if (buf[0] == '}') { // Last bracket
|
||||||
break; // End of file
|
break; // End of file
|
||||||
@ -678,19 +681,14 @@ bool UfsJsonSettingsWrite(const char* data) {
|
|||||||
char filename[14];
|
char filename[14];
|
||||||
snprintf_P(filename, sizeof(filename), PSTR(TASM_FILE_DRIVER), 0); // /.drvset000
|
snprintf_P(filename, sizeof(filename), PSTR(TASM_FILE_DRIVER), 0); // /.drvset000
|
||||||
if (!TfsFileExists(filename)) {
|
if (!TfsFileExists(filename)) {
|
||||||
File ofile = ffsp->open(filename, "w");
|
return TfsSaveFile(filename, (uint8_t*)data, strlen(data));
|
||||||
if (!ofile) { return false; } // Error - unable to open settings file
|
|
||||||
ofile.write((uint8_t*)data, strlen(data));
|
|
||||||
ofile.close();
|
|
||||||
return true; // State - Append success
|
|
||||||
}
|
}
|
||||||
return _UfsJsonSettingsUpdate(data); // State - 0 = Error, 1 = Append success
|
return _UfsJsonSettingsUpdate(data); // State - 0 = Error, 1 = Append success
|
||||||
}
|
}
|
||||||
|
|
||||||
String UfsJsonSettingsRead(const char* key) {
|
String UfsJsonSettingsRead(const char* key) {
|
||||||
// Read: Input UserSet2
|
// Read: Input UserSet2
|
||||||
// Output "" = Error, {"Param1":123,"Param2":"Text2"} = Data
|
// Output "" = Error, {"Param1":123,"Param2":"Text2","Param3":[{"Param3a":1},{"Param3b":1}]} = Data
|
||||||
|
|
||||||
String data = "";
|
String data = "";
|
||||||
char filename[14];
|
char filename[14];
|
||||||
snprintf_P(filename, sizeof(filename), PSTR(TASM_FILE_DRIVER), 0); // /.drvset000
|
snprintf_P(filename, sizeof(filename), PSTR(TASM_FILE_DRIVER), 0); // /.drvset000
|
||||||
@ -726,6 +724,9 @@ String UfsJsonSettingsRead(const char* key) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (buf[0] == '{') { // Next bracket
|
||||||
|
bracket_count++;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (buf[0] == '}') { // Last bracket
|
if (buf[0] == '}') { // Last bracket
|
||||||
index = 0;
|
index = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user