Environment independence

markwrichardson wrote on Monday, June 03, 2013:

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.

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.

rtel wrote on Monday, June 03, 2013:

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.