Thanks for the response (and the code). My rationale for sprintf is that it could be used in lieu of specialized printf-esque functions. A perfect example is the lprintf function in the lcd driver header included with SourceBoost. If there were a generic sprintf function, all that would be needed to output nicely formatted strings on any interface (serial, LCD, LED matrix, or a laser beam on the moon's surface) would be a puts function, which would be much simpler to code. I realize that the PIC is, by nature, a device with limited resources, but if your particular application is consuming too many resources to use a sprintf function, you always have the option of coding it the hard way to save RAM.