]>
Commit | Line | Data |
---|---|---|
3d9156a7 A |
1 | --- swscanf.c.orig 2003-05-20 15:22:44.000000000 -0700 |
2 | +++ swscanf.c 2005-02-23 16:46:10.000000000 -0800 | |
3 | @@ -27,6 +27,8 @@ | |
4 | #include <sys/cdefs.h> | |
5 | __FBSDID("$FreeBSD: src/lib/libc/stdio/swscanf.c,v 1.1 2002/09/23 12:40:06 tjr Exp $"); | |
6 | ||
7 | +#include "xlocale_private.h" | |
8 | + | |
9 | #include <stdarg.h> | |
10 | #include <stdio.h> | |
11 | #include <wchar.h> | |
12 | @@ -38,7 +40,22 @@ | |
13 | int r; | |
14 | ||
15 | va_start(ap, fmt); | |
16 | - r = vswscanf(str, fmt, ap); | |
17 | + r = vswscanf_l(str, __current_locale(), fmt, ap); | |
18 | + va_end(ap); | |
19 | + | |
20 | + return (r); | |
21 | +} | |
22 | + | |
23 | +int | |
24 | +swscanf_l(const wchar_t * __restrict str, locale_t loc, | |
25 | + const wchar_t * __restrict fmt, ...) | |
26 | +{ | |
27 | + va_list ap; | |
28 | + int r; | |
29 | + | |
30 | + /* no need to call NORMALIZE_LOCALE(loc) because vswscanf_l will */ | |
31 | + va_start(ap, fmt); | |
32 | + r = vswscanf_l(str, loc, fmt, ap); | |
33 | va_end(ap); | |
34 | ||
35 | return (r); |