~ubuntu-branches/ubuntu/trusty/emscripten/trusty-proposed

« back to all changes in this revision

Viewing changes to system/lib/libcxx/support/win32/locale_win32.cpp

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2014-01-19 14:12:40 UTC
  • mfrom: (1.2.4)
  • Revision ID: package-import@ubuntu.com-20140119141240-jg1l42cc158j59tn
Tags: 1.9.0~20140119~7dc8c2f-1
* New snapshot release (Closes: #733714)
* Provide sources for javascript and flash. Done in orig-tar.sh
  Available in third_party/websockify/include/web-socket-js/src/
  (Closes: #735903)

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
//
9
9
//===----------------------------------------------------------------------===//
10
10
 
11
 
#include "support/win32/locale_win32.h"
 
11
#include <locale>
12
12
#include <cstdarg> // va_start, va_end
13
 
#include <cwchar>  // mbstate_t
14
13
 
15
14
// FIXME: base currently unused. Needs manual work to construct the new locale
16
15
locale_t newlocale( int mask, const char * locale, locale_t /*base*/ )
34
33
    __locale_raii __current( uselocale(loc), uselocale );
35
34
    return localeconv();
36
35
}
37
 
size_t mbrlen_l( const char *__restrict__ s, size_t n,
38
 
                 mbstate_t *__restrict__ ps, locale_t loc )
 
36
size_t mbrlen_l( const char *__restrict s, size_t n,
 
37
                 mbstate_t *__restrict ps, locale_t loc )
39
38
{
40
39
    __locale_raii __current( uselocale(loc), uselocale );
41
40
    return mbrlen( s, n, ps );
42
41
}
43
 
size_t mbsrtowcs_l( wchar_t *__restrict__ dst, const char **__restrict__ src,
44
 
                    size_t len, mbstate_t *__restrict__ ps, locale_t loc )
 
42
size_t mbsrtowcs_l( wchar_t *__restrict dst, const char **__restrict src,
 
43
                    size_t len, mbstate_t *__restrict ps, locale_t loc )
45
44
{
46
45
    __locale_raii __current( uselocale(loc), uselocale );
47
46
    return mbsrtowcs( dst, src, len, ps );
48
47
}
49
 
size_t wcrtomb_l( char *__restrict__ s, wchar_t wc, mbstate_t *__restrict__ ps,
 
48
size_t wcrtomb_l( char *__restrict s, wchar_t wc, mbstate_t *__restrict ps,
50
49
                  locale_t loc )
51
50
{
52
51
    __locale_raii __current( uselocale(loc), uselocale );
53
52
    return wcrtomb( s, wc, ps );
54
53
}
55
 
size_t mbrtowc_l( wchar_t *__restrict__ pwc, const char *__restrict__ s,
56
 
                  size_t n, mbstate_t *__restrict__ ps, locale_t loc )
 
54
size_t mbrtowc_l( wchar_t *__restrict pwc, const char *__restrict s,
 
55
                  size_t n, mbstate_t *__restrict ps, locale_t loc )
57
56
{
58
57
    __locale_raii __current( uselocale(loc), uselocale );
59
58
    return mbrtowc( pwc, s, n, ps );
60
59
}
61
 
size_t mbsnrtowcs_l( wchar_t *__restrict__ dst, const char **__restrict__ src,
62
 
                     size_t nms, size_t len, mbstate_t *__restrict__ ps, locale_t loc )
 
60
size_t mbsnrtowcs_l( wchar_t *__restrict dst, const char **__restrict src,
 
61
                     size_t nms, size_t len, mbstate_t *__restrict ps, locale_t loc )
63
62
{
64
63
    __locale_raii __current( uselocale(loc), uselocale );
65
64
    return mbsnrtowcs( dst, src, nms, len, ps );
66
65
}
67
 
size_t wcsnrtombs_l( char *__restrict__ dst, const wchar_t **__restrict__ src,
68
 
                     size_t nwc, size_t len, mbstate_t *__restrict__ ps, locale_t loc )
 
66
size_t wcsnrtombs_l( char *__restrict dst, const wchar_t **__restrict src,
 
67
                     size_t nwc, size_t len, mbstate_t *__restrict ps, locale_t loc )
69
68
{
70
69
    __locale_raii __current( uselocale(loc), uselocale );
71
70
    return wcsnrtombs( dst, src, nwc, len, ps );
81
80
    return wctob( c );
82
81
}
83
82
 
 
83
int snprintf_l(char *ret, size_t n, locale_t loc, const char *format, ...)
 
84
{
 
85
    __locale_raii __current( uselocale(loc), uselocale );
 
86
    va_list ap;
 
87
    va_start( ap, format );
 
88
    int result = vsnprintf( ret, n, format, ap );
 
89
    va_end(ap);
 
90
    return result;
 
91
}
 
92
 
84
93
int asprintf_l( char **ret, locale_t loc, const char *format, ... )
85
94
{
86
95
    va_list ap;