Piotr Caban : msvcp90: Added numpunct<char> class implementation.
Module: wine Branch: master Commit: 330b042f5cba3e1e2c224f2756e45a11c2ffd120 URL: http://source.winehq.org/git/wine.git/?a=commit;h=330b042f5cba3e1e2c224f2756... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Thu Dec 29 12:45:30 2011 +0100 msvcp90: Added numpunct<char> class implementation. --- dlls/msvcp90/locale.c | 59 +++++++++++++++++++++++++++++------------------- 1 files changed, 36 insertions(+), 23 deletions(-) diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c index 21faf77..aef22f0 100644 --- a/dlls/msvcp90/locale.c +++ b/dlls/msvcp90/locale.c @@ -2592,10 +2592,12 @@ MSVCP_size_t __cdecl numpunct_char__Getcat(const locale_facet **facet, const loc /* ?do_decimal_point@?$numpunct(a)D@std@@MBEDXZ */ /* ?do_decimal_point@?$numpunct(a)D@std@@MEBADXZ */ DEFINE_THISCALL_WRAPPER(numpunct_char_do_decimal_point, 4) +#define call_numpunct_char_do_decimal_point(this) CALL_VTBL_FUNC(this, 4, \ + char, (const numpunct_char *this), (this)) char __thiscall numpunct_char_do_decimal_point(const numpunct_char *this) { - FIXME("(%p) stub\n", this); - return 0; + TRACE("(%p)\n", this); + return this->dp; } /* ?decimal_point@?$numpunct(a)D@std@@QBEDXZ */ @@ -2603,17 +2605,19 @@ char __thiscall numpunct_char_do_decimal_point(const numpunct_char *this) DEFINE_THISCALL_WRAPPER(numpunct_char_decimal_point, 4) char __thiscall numpunct_char_decimal_point(const numpunct_char *this) { - FIXME("(%p) stub\n", this); - return 0; + TRACE("(%p)\n", this); + return call_numpunct_char_do_decimal_point(this); } /* ?do_thousands_sep@?$numpunct(a)D@std@@MBEDXZ */ /* ?do_thousands_sep@?$numpunct(a)D@std@@MEBADXZ */ DEFINE_THISCALL_WRAPPER(numpunct_char_do_thousands_sep, 4) +#define call_numpunct_char_do_thousands_sep(this) CALL_VTBL_FUNC(this, 8, \ + char, (const numpunct_char*), (this)) char __thiscall numpunct_char_do_thousands_sep(const numpunct_char *this) { - FIXME("(%p) stub\n", this); - return 0; + TRACE("(%p)\n", this); + return this->sep; } /* ?thousands_sep@?$numpunct(a)D@std@@QBEDXZ */ @@ -2621,17 +2625,20 @@ char __thiscall numpunct_char_do_thousands_sep(const numpunct_char *this) DEFINE_THISCALL_WRAPPER(numpunct_char_thousands_sep, 4) char __thiscall numpunct_char_thousands_sep(const numpunct_char *this) { - FIXME("(%p) stub\n", this); - return 0; + TRACE("(%p)\n", this); + return call_numpunct_char_do_thousands_sep(this); } /* ?do_grouping@?$numpunct(a)D@std@@MBE?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ /* ?do_grouping@?$numpunct(a)D@std@@MEBA?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ DEFINE_THISCALL_WRAPPER(numpunct_char_do_grouping, 8) -basic_string_char* __thiscall numpunct_char_do_grouping(const numpunct_char *this, basic_string_char *ret) +#define call_numpunct_char_do_grouping(this, ret) CALL_VTBL_FUNC(this, 12, \ + basic_string_char*, (const numpunct_char*, basic_string_char*), (this, ret)) +basic_string_char* __thiscall numpunct_char_do_grouping( + const numpunct_char *this, basic_string_char *ret) { - FIXME("(%p) stub\n", this); - return ret; + TRACE("(%p)\n", this); + return MSVCP_basic_string_char_ctor_cstr(ret, this->grouping); } /* ?grouping@?$numpunct(a)D@std@@QBE?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ @@ -2639,17 +2646,20 @@ basic_string_char* __thiscall numpunct_char_do_grouping(const numpunct_char *thi DEFINE_THISCALL_WRAPPER(numpunct_char_grouping, 8) basic_string_char* __thiscall numpunct_char_grouping(const numpunct_char *this, basic_string_char *ret) { - FIXME("(%p) stub\n", this); - return ret; + TRACE("(%p)\n", this); + return call_numpunct_char_do_grouping(this, ret); } /* ?do_falsename@?$numpunct(a)D@std@@MBE?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ /* ?do_falsename@?$numpunct(a)D@std@@MEBA?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ DEFINE_THISCALL_WRAPPER(numpunct_char_do_falsename, 8) -basic_string_char* __thiscall numpunct_char_do_falsename(const numpunct_char *this, basic_string_char *ret) +#define call_numpunct_char_do_falsename(this, ret) CALL_VTBL_FUNC(this, 16, \ + basic_string_char*, (const numpunct_char*, basic_string_char*), (this, ret)) +basic_string_char* __thiscall numpunct_char_do_falsename( + const numpunct_char *this, basic_string_char *ret) { - FIXME("(%p) stub\n", this); - return ret; + TRACE("(%p)\n", this); + return MSVCP_basic_string_char_ctor_cstr(ret, this->false_name); } /* ?falsename@?$numpunct(a)D@std@@QBE?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ @@ -2657,17 +2667,20 @@ basic_string_char* __thiscall numpunct_char_do_falsename(const numpunct_char *th DEFINE_THISCALL_WRAPPER(numpunct_char_falsename, 8) basic_string_char* __thiscall numpunct_char_falsename(const numpunct_char *this, basic_string_char *ret) { - FIXME("(%p) stub\n", this); - return ret; + TRACE("(%p)\n", this); + return call_numpunct_char_do_falsename(this, ret); } /* ?do_truename@?$numpunct(a)D@std@@MBE?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ /* ?do_truename@?$numpunct(a)D@std@@MEBA?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ DEFINE_THISCALL_WRAPPER(numpunct_char_do_truename, 8) -basic_string_char* __thiscall numpunct_char_do_truename(const numpunct_char *this, basic_string_char *ret) +#define call_numpunct_char_do_truename(this, ret) CALL_VTBL_FUNC(this, 20, \ + basic_string_char*, (const numpunct_char*, basic_string_char*), (this, ret)) +basic_string_char* __thiscall numpunct_char_do_truename( + const numpunct_char *this, basic_string_char *ret) { - FIXME("(%p) stub\n", this); - return ret; + TRACE("(%p)\n", this); + return MSVCP_basic_string_char_ctor_cstr(ret, this->true_name); } /* ?truename@?$numpunct(a)D@std@@QBE?AV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@2(a)XZ */ @@ -2675,8 +2688,8 @@ basic_string_char* __thiscall numpunct_char_do_truename(const numpunct_char *thi DEFINE_THISCALL_WRAPPER(numpunct_char_truename, 8) basic_string_char* __thiscall numpunct_char_truename(const numpunct_char *this, basic_string_char *ret) { - FIXME("(%p) stub\n", this); - return ret; + TRACE("(%p)\n", this); + return call_numpunct_char_do_truename(this, ret); } /* ?id@?$numpunct(a)_W@std@@2V0locale(a)2@A */
participants (1)
-
Alexandre Julliard