--- dprintf.c.orig 2009-12-15 17:43:05.000000000 -0800 +++ dprintf.c 2009-12-15 17:45:32.000000000 -0800 @@ -27,7 +27,8 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD: src/lib/libc/stdio/dprintf.c,v 1.1 2009/03/04 03:38:51 das Exp $"); -#define _WITH_DPRINTF +#include "xlocale_private.h" + #include "namespace.h" #include <stdarg.h> #include <stdio.h> @@ -40,7 +41,19 @@ dprintf(int fd, const char * __restrict int ret; va_start(ap, fmt); - ret = vdprintf(fd, fmt, ap); + ret = vdprintf_l(fd, __current_locale(), fmt, ap); + va_end(ap); + return (ret); +} + +int +dprintf_l(int fd, locale_t loc, const char * __restrict fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vdprintf_l(fd, loc, fmt, ap); va_end(ap); return (ret); }