@@ -131,6 +131,7 @@ static void loadVectItem(const std::string keyValGrpLabel) {
131131static void saveConfigVect () {
132132 File file = STORAGE.open (CONFIG_FILE_PATH, FILE_WRITE);
133133 char configLine[FILE_NAME_LEN + 101 ];
134+ int cfgCnt = 0 ;
134135 if (!file) LOG_WRN (" Failed to save to configs file" );
135136 else {
136137 sort (configs.begin (), configs.end ());
@@ -142,8 +143,9 @@ static void saveConfigVect() {
142143 snprintf (configLine, FILE_NAME_LEN + 100 , " %s%c%.*s%c%s%c%s%c%s\n " , row[0 ].c_str (), DELIM, strlen (row[1 ].c_str ()), FILLSTAR, DELIM, row[2 ].c_str (), DELIM, row[3 ].c_str (), DELIM, row[4 ].c_str ());
143144 else snprintf (configLine, FILE_NAME_LEN + 100 , " %s%c%s%c%s%c%s%c%s\n " , row[0 ].c_str (), DELIM, row[1 ].c_str (), DELIM, row[2 ].c_str (), DELIM, row[3 ].c_str (), DELIM, row[4 ].c_str ());
144145 file.write ((uint8_t *)configLine, strlen (configLine));
146+ cfgCnt++;
145147 }
146- LOG_ALT (" Config file saved" );
148+ LOG_ALT (" Config file saved %d entries " , cfgCnt );
147149 }
148150 file.close ();
149151}
@@ -485,7 +487,14 @@ static bool checkConfigFile() {
485487 file = STORAGE.open (CONFIG_FILE_PATH, FILE_WRITE);
486488 if (file) {
487489 // apply initial defaults
488- file.write ((uint8_t *)appConfig, strlen (appConfig));
490+ uint8_t * p = (uint8_t *)appConfig;
491+ int cfgLen = strlen (appConfig);
492+ while (cfgLen > 0 ) {
493+ int toWrite = min (512 , cfgLen);
494+ file.write (p, toWrite);
495+ p += toWrite;
496+ cfgLen -= toWrite;
497+ }
489498 sprintf (hostName, " %s_%012llX" , APP_NAME, ESP.getEfuseMac ());
490499 char cfg[100 ];
491500 sprintf (cfg, " appId~%s~99~~na\n " , APP_NAME);
0 commit comments