Environment independence

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

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.