msvcp90: Added locale::id class implementation.
This commit is contained in:
parent
553a093fbf
commit
48ce9f9e28
|
@ -91,8 +91,10 @@ static const vtable_ptr MSVCP_locale_facet_vtable[];
|
||||||
DEFINE_THISCALL_WRAPPER(locale_id_ctor_id, 8)
|
DEFINE_THISCALL_WRAPPER(locale_id_ctor_id, 8)
|
||||||
locale_id* __thiscall locale_id_ctor_id(locale_id *this, MSVCP_size_t id)
|
locale_id* __thiscall locale_id_ctor_id(locale_id *this, MSVCP_size_t id)
|
||||||
{
|
{
|
||||||
FIXME("(%p %lu) stub\n", this, id);
|
TRACE("(%p %lu)\n", this, id);
|
||||||
return NULL;
|
|
||||||
|
this->id = id;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ??_Fid@locale@std@@QAEXXZ */
|
/* ??_Fid@locale@std@@QAEXXZ */
|
||||||
|
@ -100,8 +102,10 @@ locale_id* __thiscall locale_id_ctor_id(locale_id *this, MSVCP_size_t id)
|
||||||
DEFINE_THISCALL_WRAPPER(locale_id_ctor, 4)
|
DEFINE_THISCALL_WRAPPER(locale_id_ctor, 4)
|
||||||
locale_id* __thiscall locale_id_ctor(locale_id *this)
|
locale_id* __thiscall locale_id_ctor(locale_id *this)
|
||||||
{
|
{
|
||||||
FIXME("(%p) stub\n", this);
|
TRACE("(%p)\n", this);
|
||||||
return NULL;
|
|
||||||
|
this->id = 0;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ??Bid@locale@std@@QAEIXZ */
|
/* ??Bid@locale@std@@QAEIXZ */
|
||||||
|
@ -109,16 +113,25 @@ locale_id* __thiscall locale_id_ctor(locale_id *this)
|
||||||
DEFINE_THISCALL_WRAPPER(locale_id_operator_size_t, 4)
|
DEFINE_THISCALL_WRAPPER(locale_id_operator_size_t, 4)
|
||||||
MSVCP_size_t __thiscall locale_id_operator_size_t(locale_id *this)
|
MSVCP_size_t __thiscall locale_id_operator_size_t(locale_id *this)
|
||||||
{
|
{
|
||||||
FIXME("(%p) stub\n", this);
|
_Lockit lock;
|
||||||
return 0;
|
|
||||||
|
TRACE("(%p)\n", this);
|
||||||
|
|
||||||
|
if(!this->id) {
|
||||||
|
_Lockit_ctor_locktype(&lock, _LOCK_LOCALE);
|
||||||
|
this->id = ++locale_id__Id_cnt;
|
||||||
|
_Lockit_dtor(&lock);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ?_Id_cnt_func@id@locale@std@@CAAAHXZ */
|
/* ?_Id_cnt_func@id@locale@std@@CAAAHXZ */
|
||||||
/* ?_Id_cnt_func@id@locale@std@@CAAEAHXZ */
|
/* ?_Id_cnt_func@id@locale@std@@CAAEAHXZ */
|
||||||
int* __cdecl locale_id__Id_cnt_func(void)
|
int* __cdecl locale_id__Id_cnt_func(void)
|
||||||
{
|
{
|
||||||
FIXME("stub\n");
|
TRACE("\n");
|
||||||
return NULL;
|
return &locale_id__Id_cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ??_Ffacet@locale@std@@QAEXXZ */
|
/* ??_Ffacet@locale@std@@QAEXXZ */
|
||||||
|
|
|
@ -87,11 +87,6 @@ void CDECL mutex_mutex_dtor(mutex *m)
|
||||||
mutex_dtor(m);
|
mutex_dtor(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define _LOCK_LOCALE 0
|
|
||||||
#define _LOCK_MALLOC 1
|
|
||||||
#define _LOCK_STREAM 2
|
|
||||||
#define _LOCK_DEBUG 3
|
|
||||||
#define _MAX_LOCK 4
|
|
||||||
static CRITICAL_SECTION lockit_cs[_MAX_LOCK];
|
static CRITICAL_SECTION lockit_cs[_MAX_LOCK];
|
||||||
|
|
||||||
/* ?_Lockit_ctor@_Lockit@std@@SAXH@Z */
|
/* ?_Lockit_ctor@_Lockit@std@@SAXH@Z */
|
||||||
|
|
|
@ -200,8 +200,16 @@ typedef struct {
|
||||||
int locktype;
|
int locktype;
|
||||||
} _Lockit;
|
} _Lockit;
|
||||||
|
|
||||||
|
#define _LOCK_LOCALE 0
|
||||||
|
#define _LOCK_MALLOC 1
|
||||||
|
#define _LOCK_STREAM 2
|
||||||
|
#define _LOCK_DEBUG 3
|
||||||
|
#define _MAX_LOCK 4
|
||||||
|
|
||||||
void init_lockit(void);
|
void init_lockit(void);
|
||||||
void free_lockit(void);
|
void free_lockit(void);
|
||||||
|
_Lockit* __thiscall _Lockit_ctor_locktype(_Lockit*, int);
|
||||||
|
void __thiscall _Lockit_dtor(_Lockit*);
|
||||||
|
|
||||||
/* class mutex */
|
/* class mutex */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
Loading…
Reference in New Issue