diff options
Diffstat (limited to 'newlib/libc/machine/powerpc/vfprintf.c')
-rw-r--r-- | newlib/libc/machine/powerpc/vfprintf.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/newlib/libc/machine/powerpc/vfprintf.c b/newlib/libc/machine/powerpc/vfprintf.c index 8aadb4b15..ff3a4f66b 100644 --- a/newlib/libc/machine/powerpc/vfprintf.c +++ b/newlib/libc/machine/powerpc/vfprintf.c @@ -155,6 +155,11 @@ static char *rcsid = "$Id$"; #endif #endif +#define _NO_LONGLONG +#if defined WANT_PRINTF_LONG_LONG && defined __GNUC__ +# undef _NO_LONGLONG +#endif + #include <_ansi.h> #include <limits.h> #include <stdio.h> @@ -181,15 +186,10 @@ static char *rcsid = "$Id$"; This could be changed in the future should the _ldtoa_r code be preferred over _dtoa_r. */ #define _NO_LONGDBL -#if defined _WANT_IO_LONG_DOUBLE && (LDBL_MANT_DIG > DBL_MANT_DIG) +#if defined WANT_IO_LONG_DBL && (LDBL_MANT_DIG > DBL_MANT_DIG) #undef _NO_LONGDBL #endif -#define _NO_LONGLONG -#if defined _WANT_IO_LONG_LONG && defined __GNUC__ -# undef _NO_LONGLONG -#endif - #ifdef __ALTIVEC__ typedef union { @@ -239,6 +239,7 @@ __sbprintf(fp, fmt, ap) unsigned char buf[BUFSIZ]; /* copy the important variables */ + fake._data = fp->_data; fake._flags = fp->_flags & ~__SNBF; fake._file = fp->_file; fake._cookie = fp->_cookie; @@ -321,8 +322,8 @@ _DEFUN (VFPRINTF, (fp, fmt0, ap), _CONST char *fmt0 _AND va_list ap) { - CHECK_INIT (_REENT); - return _VFPRINTF_R (_REENT, fp, fmt0, ap); + CHECK_INIT (fp); + return _VFPRINTF_R (fp->_data, fp, fmt0, ap); } int |