I was surprised to see sprintf() in the core code and it got me wondering . .
For purity sake why wouldn’t all of the library functions be brought out into a port-specific file so they can be identified and assigned an implementation. I know memcpy, memset and sprintf are all common implementations, but they ‘may’ not be thread-safe in a particular library.
@Richard
Incidently, I’m working on the eZ80 (Zilog) port found in the in the community section. I fixed one problem with it and it seems stable so far. After I add some device drivers I’ll contact you about sharing it.
Environment independence
Environment independence
sprintf() is not used by the kernel – but does exist in some utility functions that provide debugging information in a nicely formatted way (?). There is also a tiny sprintf() implementation provided in an external file.
That said, I agree it is not nice, and there is already a change request to add functions that allow the same debugging information to be output in binary (rather than ASCII) form for external formatting.
Regards.