Something
public text v1 · immutablevoid printf(const char *format, ...)
{
char buf[20], **arg = (char **)&format;
int c;
arg++;
while((c = *format++)){
if(c != '%') putch(c);
else{
char *p;
c = *format++;
switch(c)
{
case 'd':
case 'u':
itoa (buf, 10, *((int *) arg++));
putsnocr(buf);
break;
case 'c':
p = arg++;
putsnocr(p);
break;
case 'x':
itoa (buf, 16, *((int *) arg++));
putsnocr(buf);
break;
case 's':
p = *arg++;
if(!p) p = "(null)";
putsnocr(p);
break;
default:
putch(*((int *) arg++));
break;
}
}
}
return;
}