In #208 I added pragmas to suppress deprecation warnings related to sprintf that were added in newer versions of GCC and CLang, and which caused compilation failure. These suppressions should be removed.
One usage is in the test suite's implemention of itoa that is needed to run String tests. I have a quick fix for that relying on snprintf but I also thought of just using a more basic implementation of itoa such as the one from K&R or even just copying the implementation from the SAMD core.
Thinking a bit deeper though, the only use in API code is in String and it looks to be unnecessarily double buffering during those conversions. I think there's an opportunity to remove String's dependency on itoa and make it more efficient, which would also eliminate the need for an implementation of itoa in the test suite. I plan to look in to that approach.
A similar use is in the test suite's implementation of dtostrf which delegates the deprecated avr impl. For that, I think String can be improved to avoid the double buffering although it would still delegate to the core for the conversion, assuming the core may have implementation-specific FP support.
The final use was in IPAddress and that looks like it can simply be changed to used snprintf
In #208 I added pragmas to suppress deprecation warnings related to sprintf that were added in newer versions of GCC and CLang, and which caused compilation failure. These suppressions should be removed.
One usage is in the test suite's implemention of
itoathat is needed to run String tests. I have a quick fix for that relying onsnprintfbut I also thought of just using a more basic implementation ofitoasuch as the one from K&R or even just copying the implementation from the SAMD core.Thinking a bit deeper though, the only use in API code is in
Stringand it looks to be unnecessarily double buffering during those conversions. I think there's an opportunity to remove String's dependency onitoaand make it more efficient, which would also eliminate the need for an implementation ofitoain the test suite. I plan to look in to that approach.A similar use is in the test suite's implementation of
dtostrfwhich delegates the deprecated avr impl. For that, I thinkStringcan be improved to avoid the double buffering although it would still delegate to the core for the conversion, assuming the core may have implementation-specific FP support.The final use was in
IPAddressand that looks like it can simply be changed to usedsnprintf