This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches. git-svn-id: svn://svn.cc65.org/cc65/trunk@3 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
45
libsrc/common/vsprintf.c
Normal file
45
libsrc/common/vsprintf.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* vsprintf.c
|
||||
*
|
||||
* Ullrich von Bassewitz, 11.08.1998
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include "_printf.h"
|
||||
|
||||
|
||||
|
||||
static void out (struct outdesc* d, char* buf, unsigned count)
|
||||
/* Routine used for writing */
|
||||
{
|
||||
/* String - be shure to check the size */
|
||||
while (count-- && d->ccount < d->uns) {
|
||||
((char*) d->ptr) [d->ccount] = *buf;
|
||||
++buf;
|
||||
++d->ccount;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
int vsprintf (char* buf, char* format, va_list ap)
|
||||
{
|
||||
struct outdesc d;
|
||||
|
||||
/* Setup descriptor */
|
||||
d.fout = out;
|
||||
d.ptr = buf;
|
||||
d.uns = 0x7FFF;
|
||||
|
||||
/* Do formatting and output */
|
||||
_printf (&d, format, ap);
|
||||
|
||||
/* Return bytes written */
|
||||
return d.ccount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user