msvcp90: Added locale::_Locimp class stub.

This commit is contained in:
Piotr Caban 2011-06-22 14:03:24 +02:00 committed by Alexandre Julliard
parent 198162fbe5
commit ac978ea85e
2 changed files with 160 additions and 29 deletions

View file

@ -26,6 +26,8 @@
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(msvcp90);
typedef int category;
typedef struct _locale_id {
MSVCP_size_t id;
} locale_id;
@ -35,9 +37,22 @@ typedef struct _locale_facet {
MSVCP_size_t refs;
} locale_facet;
typedef struct _locale__Locimp {
locale_facet facet;
locale_facet **facetvec;
MSVCP_size_t facet_cnt;
category catmask;
MSVCP_bool transparent;
basic_string_char name;
} locale__Locimp;
/* ?_Id_cnt@id@locale@std@@0HA */
int locale_id__Id_cnt = 0;
/* ?_Clocptr@_Locimp@locale@std@@0PAV123@A */
/* ?_Clocptr@_Locimp@locale@std@@0PEAV123@EA */
locale__Locimp *locale__Locimp__Clocptr;
static const vtable_ptr MSVCP_locale_facet_vtable[];
/* ??0id@locale@std@@QAE@I@Z */
@ -150,3 +165,119 @@ MSVCP_size_t __cdecl locale_facet__Getcat(const locale_facet **facet, const /*lo
static const vtable_ptr MSVCP_locale_facet_vtable[] = {
(vtable_ptr)THISCALL_NAME(MSVCP_locale_facet_vector_dtor)
};
/* ??_F_Locimp@locale@std@@QAEXXZ */
/* ??_F_Locimp@locale@std@@QEAAXXZ */
DEFINE_THISCALL_WRAPPER(locale__Locimp_ctor, 4)
locale__Locimp* __thiscall locale__Locimp_ctor(locale__Locimp *this)
{
FIXME("(%p) stub\n", this);
return NULL;
}
/* ??0_Locimp@locale@std@@AAE@_N@Z */
/* ??0_Locimp@locale@std@@AEAA@_N@Z */
DEFINE_THISCALL_WRAPPER(locale__Locimp_ctor_transparent, 8)
locale__Locimp* __thiscall locale__Locimp_ctor_transparent(locale__Locimp *this, MSVCP_bool transparent)
{
FIXME("(%p %d) stub\n", this, transparent);
return NULL;
}
/* ??0_Locimp@locale@std@@AAE@ABV012@@Z */
/* ??0_Locimp@locale@std@@AEAA@AEBV012@@Z */
/* ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z */
/* ?_Locimp_ctor@_Locimp@locale@std@@CAXPEAV123@AEBV123@@Z */
DEFINE_THISCALL_WRAPPER(locale__Locimp_copy_ctor, 8)
locale__Locimp* __thiscall locale__Locimp_copy_ctor(locale__Locimp *this, const locale__Locimp *copy)
{
FIXME("(%p %p) stub\n", this, copy);
return NULL;
}
/* ??1_Locimp@locale@std@@MAE@XZ */
/* ??1_Locimp@locale@std@@MEAA@XZ */
/* ?_Locimp_dtor@_Locimp@locale@std@@CAXPAV123@@Z */
/* ?_Locimp_dtor@_Locimp@locale@std@@CAXPEAV123@@Z */
DEFINE_THISCALL_WRAPPER(locale__Locimp_dtor, 4)
void __thiscall locale__Locimp_dtor(locale__Locimp *this)
{
FIXME("(%p) stub\n", this);
}
DEFINE_THISCALL_WRAPPER(MSVCP_locale__Locimp_vector_dtor, 8)
locale__Locimp* __thiscall MSVCP_locale__Locimp_vector_dtor(locale__Locimp *this, unsigned int flags)
{
TRACE("(%p %x) stub\n", this, flags);
if(flags & 2) {
/* we have an array, with the number of elements stored before the first object */
int i, *ptr = (int *)this-1;
for(i=*ptr-1; i>=0; i--)
locale__Locimp_dtor(this+i);
MSVCRT_operator_delete(ptr);
} else {
locale__Locimp_dtor(this);
if(flags & 1)
MSVCRT_operator_delete(this);
}
return this;
}
/* ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z */
/* ?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z */
void __cdecl locale__Locimp__Locimp_Addfac(locale__Locimp *locimp, locale_facet *facet, MSVCP_size_t id)
{
FIXME("(%p %p %lu) stub\n", locimp, facet, id);
}
/* ?_Addfac@_Locimp@locale@std@@AAEXPAVfacet@23@I@Z */
/* ?_Addfac@_Locimp@locale@std@@AEAAXPEAVfacet@23@_K@Z */
DEFINE_THISCALL_WRAPPER(locale__Locimp__Addfac, 12)
void __thiscall locale__Locimp__Addfac(locale__Locimp *this, locale_facet *facet, MSVCP_size_t id)
{
FIXME("(%p %p %lu) stub\n", this, facet, id);
}
/* ?_Clocptr_func@_Locimp@locale@std@@CAAAPAV123@XZ */
/* ?_Clocptr_func@_Locimp@locale@std@@CAAEAPEAV123@XZ */
locale__Locimp** __cdecl locale__Locimp__Clocptr_func(void)
{
FIXME("stub\n");
return NULL;
}
/* ?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z */
/* ?_Makeloc@_Locimp@locale@std@@CAPEAV123@AEBV_Locinfo@3@HPEAV123@PEBV23@@Z */
locale__Locimp* __cdecl locale__Locimp__Makeloc(const /*_Locinfo*/void *locinfo, category cat, locale__Locimp *locimp, const /*locale*/void *loc)
{
FIXME("(%p %d %p %p) stub\n", locinfo, cat, locimp, loc);
return NULL;
}
/* ?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z */
/* ?_Makeushloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z */
void __cdecl locale__Locimp__Makeushloc(const /*_Locinfo*/void *locinfo, category cat, locale__Locimp *locimp, const /*locale*/void *loc)
{
FIXME("(%p %d %p %p) stub\n", locinfo, cat, locimp, loc);
}
/* ?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z */
/* ?_Makewloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z */
void __cdecl locale__Locimp__Makewloc(const /*_Locinfo*/void *locinfo, category cat, locale__Locimp *locimp, const /*locale*/void *loc)
{
FIXME("(%p %d %p %p) stub\n", locinfo, cat, locimp, loc);
}
/* ?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z */
/* ?_Makexloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z */
void __cdecl locale__Locimp__Makexloc(const /*_Locinfo*/void *locinfo, category cat, locale__Locimp *locimp, const /*locale*/void *loc)
{
FIXME("(%p %d %p %p) stub\n", locinfo, cat, locimp, loc);
}
/* ??_7_Locimp@locale@std@@6B@ */
const vtable_ptr MSVCP_locale__Locimp_vtable[] = {
(vtable_ptr)THISCALL_NAME(MSVCP_locale__Locimp_vector_dtor)
};

View file

@ -1068,10 +1068,10 @@
@ stub -arch=win64 ??0Init@ios_base@std@@QEAA@XZ
@ stub -arch=win32 ??0_Init_locks@std@@QAE@XZ
@ stub -arch=win64 ??0_Init_locks@std@@QEAA@XZ
@ stub -arch=win32 ??0_Locimp@locale@std@@AAE@ABV012@@Z
@ stub -arch=win64 ??0_Locimp@locale@std@@AEAA@AEBV012@@Z
@ stub -arch=win32 ??0_Locimp@locale@std@@AAE@_N@Z
@ stub -arch=win64 ??0_Locimp@locale@std@@AEAA@_N@Z
@ thiscall -arch=win32 ??0_Locimp@locale@std@@AAE@ABV012@@Z(ptr ptr) locale__Locimp_copy_ctor
@ cdecl -arch=win64 ??0_Locimp@locale@std@@AEAA@AEBV012@@Z(ptr ptr) locale__Locimp_copy_ctor
@ thiscall -arch=win32 ??0_Locimp@locale@std@@AAE@_N@Z(ptr long) locale__Locimp_ctor_transparent
@ cdecl -arch=win64 ??0_Locimp@locale@std@@AEAA@_N@Z(ptr long) locale__Locimp_ctor_transparent
@ stub -arch=win32 ??0_Locinfo@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
@ stub -arch=win64 ??0_Locinfo@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
@ stub -arch=win32 ??0_Locinfo@std@@QAE@HPBD@Z
@ -1312,8 +1312,8 @@
@ stub -arch=win64 ??1Init@ios_base@std@@QEAA@XZ
@ stub -arch=win32 ??1_Init_locks@std@@QAE@XZ
@ stub -arch=win64 ??1_Init_locks@std@@QEAA@XZ
@ stub -arch=win32 ??1_Locimp@locale@std@@MAE@XZ
@ stub -arch=win64 ??1_Locimp@locale@std@@MEAA@XZ
@ thiscall -arch=win32 ??1_Locimp@locale@std@@MAE@XZ(ptr) locale__Locimp_dtor
@ cdecl -arch=win64 ??1_Locimp@locale@std@@MEAA@XZ(ptr) locale__Locimp_dtor
@ stub -arch=win32 ??1_Locinfo@std@@QAE@XZ
@ stub -arch=win64 ??1_Locinfo@std@@QEAA@XZ
@ stub -arch=win32 ??1_Lockit@std@@QAE@XZ
@ -1857,7 +1857,7 @@
# extern ??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@
# extern ??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@
# extern ??_7?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@6B@
# extern ??_7_Locimp@locale@std@@6B@
@ extern ??_7_Locimp@locale@std@@6B@ MSVCP_locale__Locimp_vtable
# extern ??_7codecvt_base@std@@6B@
# extern ??_7ctype_base@std@@6B@
@ extern ??_7ios_base@std@@6B@ MSVCP_ios_base_vtable
@ -2075,8 +2075,8 @@
@ stub -arch=win64 ??_F?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
@ stub -arch=win32 ??_F?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAEXXZ
@ stub -arch=win64 ??_F?$time_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QEAAXXZ
@ stub -arch=win32 ??_F_Locimp@locale@std@@QAEXXZ
@ stub -arch=win64 ??_F_Locimp@locale@std@@QEAAXXZ
@ thiscall -arch=win32 ??_F_Locimp@locale@std@@QAEXXZ(ptr) locale__Locimp_ctor
@ cdecl -arch=win64 ??_F_Locimp@locale@std@@QEAAXXZ(ptr) locale__Locimp_ctor
@ stub -arch=win32 ??_F_Locinfo@std@@QAEXXZ
@ stub -arch=win64 ??_F_Locinfo@std@@QEAAXXZ
@ stub -arch=win32 ??_F_Timevec@std@@QAEXXZ
@ -2099,8 +2099,8 @@
@ stub -arch=win64 ??_Ftime_base@std@@QEAAXXZ
@ stub -arch=win32 ?_Addcats@_Locinfo@std@@QAEAAV12@HPBD@Z
@ stub -arch=win64 ?_Addcats@_Locinfo@std@@QEAAAEAV12@HPEBD@Z
@ stub -arch=win32 ?_Addfac@_Locimp@locale@std@@AAEXPAVfacet@23@I@Z
@ stub -arch=win64 ?_Addfac@_Locimp@locale@std@@AEAAXPEAVfacet@23@_K@Z
@ thiscall -arch=win32 ?_Addfac@_Locimp@locale@std@@AAEXPAVfacet@23@I@Z(ptr ptr long) locale__Locimp__Addfac
@ cdecl -arch=win64 ?_Addfac@_Locimp@locale@std@@AEAAXPEAVfacet@23@_K@Z(ptr ptr long) locale__Locimp__Addfac
@ stub -arch=win32 ?_Addfac@locale@std@@QAEAAV12@PAVfacet@12@II@Z
@ stub -arch=win64 ?_Addfac@locale@std@@QEAAAEAV12@PEAVfacet@12@_K1@Z
@ cdecl -arch=win32 ?_Addstd@ios_base@std@@SAXPAV12@@Z(ptr) ios_base_Addstd
@ -2125,10 +2125,10 @@
# extern -arch=win64 ?_Cl@?5???$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z@4MB
# extern -arch=win32 ?_Cl@?5???$log@N@std@@YA?AV?$complex@N@1@ABV21@@Z@4NB
# extern -arch=win64 ?_Cl@?5???$log@N@std@@YA?AV?$complex@N@1@AEBV21@@Z@4NB
# extern -arch=win32 ?_Clocptr@_Locimp@locale@std@@0PAV123@A
# extern -arch=win64 ?_Clocptr@_Locimp@locale@std@@0PEAV123@EA
@ stub -arch=win32 ?_Clocptr_func@_Locimp@locale@std@@CAAAPAV123@XZ
@ stub -arch=win64 ?_Clocptr_func@_Locimp@locale@std@@CAAEAPEAV123@XZ
@ extern -arch=win32 ?_Clocptr@_Locimp@locale@std@@0PAV123@A locale__Locimp__Clocptr
@ extern -arch=win64 ?_Clocptr@_Locimp@locale@std@@0PEAV123@EA locale__Locimp__Clocptr
@ cdecl -arch=win32 ?_Clocptr_func@_Locimp@locale@std@@CAAAPAV123@XZ(long) locale__Locimp__Clocptr_func
@ cdecl -arch=win64 ?_Clocptr_func@_Locimp@locale@std@@CAAEAPEAV123@XZ(long) locale__Locimp__Clocptr_func
@ stub -arch=win32 ?_Clog_func@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@XZ
@ stub -arch=win64 ?_Clog_func@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@XZ
@ stub -arch=win64 ?_Cm@?5???$log@M@std@@YA?AV?$complex@M@1@AEBV21@@Z@4MB
@ -2575,12 +2575,12 @@
@ stub ?_Isnan@?$_Ctraits@M@std@@SA_NM@Z
@ stub ?_Isnan@?$_Ctraits@N@std@@SA_NN@Z
@ stub ?_Isnan@?$_Ctraits@O@std@@SA_NO@Z
@ stub -arch=win32 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z
@ stub -arch=win64 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z
@ stub -arch=win32 ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z
@ stub -arch=win64 ?_Locimp_ctor@_Locimp@locale@std@@CAXPEAV123@AEBV123@@Z
@ stub -arch=win32 ?_Locimp_dtor@_Locimp@locale@std@@CAXPAV123@@Z
@ stub -arch=win64 ?_Locimp_dtor@_Locimp@locale@std@@CAXPEAV123@@Z
@ cdecl -arch=win32 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
@ cdecl -arch=win64 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
@ cdecl -arch=win32 ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z(ptr ptr) locale__Locimp_copy_ctor
@ cdecl -arch=win64 ?_Locimp_ctor@_Locimp@locale@std@@CAXPEAV123@AEBV123@@Z(ptr ptr) locale__Locimp_copy_ctor
@ cdecl -arch=win32 ?_Locimp_dtor@_Locimp@locale@std@@CAXPAV123@@Z(ptr) locale__Locimp_dtor
@ cdecl -arch=win64 ?_Locimp_dtor@_Locimp@locale@std@@CAXPEAV123@@Z(ptr) locale__Locimp_dtor
@ stub -arch=win32 ?_Locinfo_Addcats@_Locinfo@std@@SAAAV12@PAV12@HPBD@Z
@ stub -arch=win64 ?_Locinfo_Addcats@_Locinfo@std@@SAAEAV12@PEAV12@HPEBD@Z
@ stub -arch=win32 ?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z
@ -2615,14 +2615,14 @@
@ stub -arch=win64 ?_MP_Mul@tr1@std@@YAXQEA_K_K1@Z
@ stub -arch=win32 ?_MP_Rem@tr1@std@@YAXQA_K_K@Z
@ stub -arch=win64 ?_MP_Rem@tr1@std@@YAXQEA_K_K@Z
@ stub -arch=win32 ?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z
@ stub -arch=win64 ?_Makeloc@_Locimp@locale@std@@CAPEAV123@AEBV_Locinfo@3@HPEAV123@PEBV23@@Z
@ stub -arch=win32 ?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z
@ stub -arch=win64 ?_Makeushloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z
@ stub -arch=win32 ?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z
@ stub -arch=win64 ?_Makewloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z
@ stub -arch=win32 ?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z
@ stub -arch=win64 ?_Makexloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z
@ cdecl -arch=win32 ?_Makeloc@_Locimp@locale@std@@CAPAV123@ABV_Locinfo@3@HPAV123@PBV23@@Z(ptr long ptr ptr) locale__Locimp__Makeloc
@ cdecl -arch=win64 ?_Makeloc@_Locimp@locale@std@@CAPEAV123@AEBV_Locinfo@3@HPEAV123@PEBV23@@Z(ptr long ptr ptr) locale__Locimp__Makeloc
@ cdecl -arch=win32 ?_Makeushloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z(ptr long ptr ptr) locale__Locimp__Makeushloc
@ cdecl -arch=win64 ?_Makeushloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z(ptr long ptr ptr) locale__Locimp__Makeushloc
@ cdecl -arch=win32 ?_Makewloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z(ptr long ptr ptr) locale__Locimp__Makewloc
@ cdecl -arch=win64 ?_Makewloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z(ptr long ptr ptr) locale__Locimp__Makewloc
@ cdecl -arch=win32 ?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z(ptr long ptr ptr) locale__Locimp__Makexloc
@ cdecl -arch=win64 ?_Makexloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z(ptr long ptr ptr) locale__Locimp__Makexloc
@ stub -arch=win32 ?_Makpat@?$_Mpunct@D@std@@AAEXAAUpattern@money_base@2@III@Z
@ stub -arch=win64 ?_Makpat@?$_Mpunct@D@std@@AEAAXAEAUpattern@money_base@2@III@Z
@ stub -arch=win32 ?_Makpat@?$_Mpunct@G@std@@AAEXAAUpattern@money_base@2@III@Z