tzapu / WiFiManager

ESP8266 WiFi Connection manager with web captive portal
http://tzapu.com/esp8266-wifi-connection-manager-library-arduino-ide/
MIT License
6.45k stars 1.94k forks source link

Avoid compiler warning. Wrong specifier used for printf statement. #1717

Open HenkHoldijk opened 3 months ago

HenkHoldijk commented 3 months ago

Compiling for the ESP32-C3 using the Arduino IDE 1.8.19 results in a compiler warning for WiFiManager.cpp on line 3368.

Original line : "_debugPort.printf("[MEM] free: %5d | max: %5d | frag: %3d%% \n", free, max, frag);"

The %5d does not match the uint32_t free type.

Replace with : "_debugPort.printf("[MEM] free: %5ld | max: %5d | frag: %3d%% \n", free, max, frag);"

tablatronix commented 3 months ago

Hmm I would think free and max should be the same type also

tablatronix commented 3 months ago

https://github.com/espressif/arduino-esp32/blob/aed7b4fa598765db61678d3253401b8cd64a8ec8/cores/esp32/chip-debug-report.cpp#L25

HenkHoldijk commented 3 months ago

Agree regarding the max. The frag is OK.

Currently they are declared as: uint32_t free = info.total_free_bytes; uint16_t max = info.largest_free_block; uint8_t frag = 100 - (max * 100) / free;

Should be: uint32_t free = info.total_free_bytes; uint32_t max = info.largest_free_block; uint8_t frag = 100 - (max * 100) / free;

The printf then becomes : _debugPort.printf("[MEM] free: %5ld | max: %5ld | frag: %3d%% \n", free, max, frag);