stdio: split vsprintf and vsnprintf

- workaround for linking problems
This commit is contained in:
Ben Gras 2010-11-02 22:05:40 +00:00
parent 51d9144e9f
commit efcfaf4b96
3 changed files with 29 additions and 21 deletions

View file

@ -53,5 +53,6 @@ SRCS+= \
vfprintf.c \
vprintf.c \
vscanf.c \
vsnprintf.c \
vsprintf.c \
vsscanf.c

View file

@ -0,0 +1,28 @@
/* $Header$ */
#include <stdio.h>
#include <stdarg.h>
#include <limits.h>
#include "loc_incl.h"
int
vsnprintf(char *s, size_t n, const char *format, va_list arg)
{
int retval;
FILE tmp_stream;
tmp_stream._fd = -1;
tmp_stream._flags = _IOWRITE + _IONBF + _IOWRITING;
tmp_stream._buf = (unsigned char *) s;
tmp_stream._ptr = (unsigned char *) s;
tmp_stream._count = n-1;
retval = _doprnt(format, arg, &tmp_stream);
if(n > 0) {
tmp_stream._count = 1;
(void) putc('\0',&tmp_stream);
}
return retval;
}

View file

@ -8,27 +8,6 @@
#include <limits.h>
#include "loc_incl.h"
int
vsnprintf(char *s, size_t n, const char *format, va_list arg)
{
int retval;
FILE tmp_stream;
tmp_stream._fd = -1;
tmp_stream._flags = _IOWRITE + _IONBF + _IOWRITING;
tmp_stream._buf = (unsigned char *) s;
tmp_stream._ptr = (unsigned char *) s;
tmp_stream._count = n-1;
retval = _doprnt(format, arg, &tmp_stream);
if(n > 0) {
tmp_stream._count = 1;
(void) putc('\0',&tmp_stream);
}
return retval;
}
int
vsprintf(char *s, const char *format, va_list arg)
{