home *** CD-ROM | disk | FTP | other *** search
- /* vvprintf.c (emx+gcc) -- Copyright (c) 1987-1993 by Eberhard Mattes */
-
- #include <sys/emx.h>
- #include <stdio.h>
- #include <stdarg.h>
- #include <sys/video.h>
- #include "video2.h"
-
- static int _v_flush (FILE *stream, int c)
- {
- int n;
-
- n = stream->ptr - stream->buffer;
- if (n > 0)
- _v_puts_len (stream->buffer, n);
- stream->ptr = stream->buffer;
- *stream->ptr++ = (char)c;
- stream->wcount = stream->buf_size - 1;
- return (0);
- }
-
-
- int v_vprintf (const char *fmt, va_list arg_ptr)
- {
- FILE trick;
- int result;
- char buf[512];
-
- trick.buffer = buf;
- trick.ptr = buf;
- trick.rcount = 0;
- trick.wcount = sizeof (buf);
- trick.handle = -1;
- trick.flags = _IOOPEN|_IOSTRING|_IOBUFUSER|_IOWRT;
- trick.buf_size = sizeof (buf);
- trick.flush = _v_flush;
- result = _output (&trick, fmt, arg_ptr);
- _v_flush (&trick, 0);
- return (result);
- }
-