#define STATIC
-/* PENDING */
-#define NULL 0
-
-STATIC void _printn(unsigned u, unsigned base, char issigned, void (*emitter)(char, void *), void *pData)
+static void _printn(unsigned u, unsigned base, char issigned, void (*emitter)(char, void *), void *pData)
{
const char *_hex = "0123456789ABCDEF";
if (issigned && ((int)u < 0)) {
_printn(u, 16, 0, emitter, pData);
break;
}
- case 's':
+ case 's':
{
char *s = va_arg(va, char *);
while (*s) {
/* PENDING: What to return? */
return 0;
}
+
+STATIC void _buf_emitter(char c, void *pData)
+{
+ *((*((char **)pData)))++ = c;
+}
+
+int sprintf(char *pInto, const char *format, ...)
+{
+ va_list va;
+ va_start(va, format);
+
+ _printf(format, _buf_emitter, &pInto, va);
+ *pInto++ = '\0';
+
+ /* PENDING: What to return? */
+ return 0;
+}