diff --git a/lib/PriceService/include/PriceService.h b/lib/PriceService/include/PriceService.h index 6dff3646..043a6e3c 100644 --- a/lib/PriceService/include/PriceService.h +++ b/lib/PriceService/include/PriceService.h @@ -78,6 +78,7 @@ public: std::vector& getPriceConfig(); void setPriceConfig(uint8_t index, PriceConfig &priceConfig); + void cropPriceConfig(uint8_t size); PricePart getPricePart(uint8_t index); diff --git a/lib/PriceService/src/PriceService.cpp b/lib/PriceService/src/PriceService.cpp index 007e25df..2fc6e32d 100644 --- a/lib/PriceService/src/PriceService.cpp +++ b/lib/PriceService/src/PriceService.cpp @@ -533,6 +533,12 @@ void PriceService::setPriceConfig(uint8_t index, PriceConfig &priceConfig) { this->priceConfig.push_back(priceConfig); } +void PriceService::cropPriceConfig(uint8_t size) { + this->priceConfig.resize(size); + this->priceConfig.shrink_to_fit(); + +} + bool PriceService::save() { if(!LittleFS.begin()) { if(debugger->isActive(RemoteDebug::ERROR)) debugger->printf_P(PSTR("(PriceService) Unable to load LittleFS\n")); diff --git a/lib/SvelteUi/src/AmsWebServer.cpp b/lib/SvelteUi/src/AmsWebServer.cpp index 7898e462..5fbbef44 100644 --- a/lib/SvelteUi/src/AmsWebServer.cpp +++ b/lib/SvelteUi/src/AmsWebServer.cpp @@ -1521,6 +1521,7 @@ void AmsWebServer::handleSave() { ps->setPriceConfig(i, pc); } + ps->cropPriceConfig(count); ps->save(); } else { if(debugger->isActive(RemoteDebug::WARNING)) debugger->printf_P(PSTR("Price service missing...\n"));