/* mtio.c I/O library for Minithreads programs. */ #include #include #include "mtio.h" #include "mt_os.h" /* Can only printf 1024 characters at a time */ #define MAXLINE 1024 extern int mt_printf(char *fmt, ...) { int result; va_list args; char buf[MAXLINE]; va_start(args, fmt); result = vsprintf(buf, fmt, args); va_end(args); result = write (1, buf, strlen(buf)); } extern int mt_fprintf(FILE *f, char *fmt, ...) { int result; va_list args; char buf[MAXLINE]; va_start(args, fmt); result = vsprintf(buf, fmt, args); va_end(args); /* all fprintfs go to stdout */ result = write (1, buf, strlen(buf)); } extern int mt_fflush(FILE *f) { /* do nothing, since we do no buffering */ }