Loading...
--- Libc/Libc-1725.40.4/stdio/FreeBSD/vdprintf.c
+++ Libc/Libc-825.26/stdio/FreeBSD/vdprintf.c
@@ -38,8 +38,8 @@
#include "local.h"
-__private_extern__ int
-_vdprintf(printf_comp_t __restrict pc, printf_domain_t __restrict domain, int fd, locale_t __restrict loc, const char * __restrict fmt, va_list ap)
+int
+vdprintf_l(int fd, locale_t loc, const char * __restrict fmt, va_list ap)
{
FILE f;
unsigned char buf[BUFSIZ];
@@ -47,6 +47,8 @@
struct __sFILEX ext;
f._extra = &ext;
INITEXTRA(&f);
+
+ NORMALIZE_LOCALE(loc);
if (fd > SHRT_MAX) {
errno = EMFILE;
@@ -64,19 +66,13 @@
f._orientation = 0;
bzero(&f._mbstate, sizeof(f._mbstate));
- if ((ret = __v2printf(pc, domain, &f, loc, fmt, ap)) < 0)
+ if ((ret = __vfprintf(&f, loc, fmt, ap)) < 0)
return (ret);
return (__fflush(&f) ? EOF : ret);
}
int
-vdprintf_l(int fd, locale_t __restrict loc, const char * __restrict fmt, va_list ap)
-{
- return _vdprintf(XPRINTF_PLAIN, NULL, fd, loc, fmt, ap);
+vdprintf(int fd, const char * __restrict fmt, va_list ap) {
+ return vdprintf_l(fd, __current_locale(), fmt, ap);
}
-
-int
-vdprintf(int fd, const char * __restrict fmt, va_list ap) {
- return _vdprintf(XPRINTF_PLAIN, NULL, fd, __current_locale(), fmt, ap);
-}