msvcp90: Added locale_ctor_locale_locale implementation.
This commit is contained in:
parent
225cab9842
commit
e9b51093de
|
@ -8104,8 +8104,23 @@ locale__Locimp* __cdecl locale__Init(void)
|
||||||
DEFINE_THISCALL_WRAPPER(locale_ctor_locale_locale, 16)
|
DEFINE_THISCALL_WRAPPER(locale_ctor_locale_locale, 16)
|
||||||
locale* __thiscall locale_ctor_locale_locale(locale *this, const locale *loc, const locale *other, category cat)
|
locale* __thiscall locale_ctor_locale_locale(locale *this, const locale *loc, const locale *other, category cat)
|
||||||
{
|
{
|
||||||
FIXME("(%p %p %p %d) stub\n", this, loc, other, cat);
|
_Locinfo locinfo;
|
||||||
return NULL;
|
|
||||||
|
TRACE("(%p %p %p %d)\n", this, loc, other, cat);
|
||||||
|
|
||||||
|
this->ptr = MSVCRT_operator_new(sizeof(locale__Locimp));
|
||||||
|
if(!this->ptr) {
|
||||||
|
ERR("Out of memory\n");
|
||||||
|
throw_exception(EXCEPTION_BAD_ALLOC, NULL);
|
||||||
|
}
|
||||||
|
locale__Locimp_copy_ctor(this->ptr, loc->ptr);
|
||||||
|
|
||||||
|
_Locinfo_ctor_cat_cstr(&locinfo, loc->ptr->catmask, MSVCP_basic_string_char_c_str(&loc->ptr->name));
|
||||||
|
_Locinfo__Addcats(&locinfo, cat & other->ptr->catmask, MSVCP_basic_string_char_c_str(&other->ptr->name));
|
||||||
|
locale__Locimp__Makeloc(&locinfo, cat, this->ptr, other);
|
||||||
|
_Locinfo_dtor(&locinfo);
|
||||||
|
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ??0locale@std@@QAE@ABV01@@Z */
|
/* ??0locale@std@@QAE@ABV01@@Z */
|
||||||
|
|
|
@ -8255,8 +8255,23 @@ locale__Locimp* __cdecl locale__Init(void)
|
||||||
DEFINE_THISCALL_WRAPPER(locale_ctor_locale_locale, 16)
|
DEFINE_THISCALL_WRAPPER(locale_ctor_locale_locale, 16)
|
||||||
locale* __thiscall locale_ctor_locale_locale(locale *this, const locale *loc, const locale *other, category cat)
|
locale* __thiscall locale_ctor_locale_locale(locale *this, const locale *loc, const locale *other, category cat)
|
||||||
{
|
{
|
||||||
FIXME("(%p %p %p %d) stub\n", this, loc, other, cat);
|
_Locinfo locinfo;
|
||||||
return NULL;
|
|
||||||
|
TRACE("(%p %p %p %d)\n", this, loc, other, cat);
|
||||||
|
|
||||||
|
this->ptr = MSVCRT_operator_new(sizeof(locale__Locimp));
|
||||||
|
if(!this->ptr) {
|
||||||
|
ERR("Out of memory\n");
|
||||||
|
throw_exception(EXCEPTION_BAD_ALLOC, NULL);
|
||||||
|
}
|
||||||
|
locale__Locimp_copy_ctor(this->ptr, loc->ptr);
|
||||||
|
|
||||||
|
_Locinfo_ctor_cat_cstr(&locinfo, loc->ptr->catmask, MSVCP_basic_string_char_c_str(&loc->ptr->name));
|
||||||
|
_Locinfo__Addcats(&locinfo, cat & other->ptr->catmask, MSVCP_basic_string_char_c_str(&other->ptr->name));
|
||||||
|
locale__Locimp__Makeloc(&locinfo, cat, this->ptr, other);
|
||||||
|
_Locinfo_dtor(&locinfo);
|
||||||
|
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ??0locale@std@@QAE@ABV01@@Z */
|
/* ??0locale@std@@QAE@ABV01@@Z */
|
||||||
|
|
Loading…
Reference in New Issue