msvcp90: Avoid a forward declaration
Andrew Talbot
andrew.talbot at talbotville.com
Wed Aug 31 16:04:17 CDT 2011
Changelog:
msvcp90: Avoid a forward declaration.
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index c838744..6ebfb51 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -84,7 +84,37 @@ int locale_id__Id_cnt = 0;
/* ?_Clocptr at _Locimp@locale at std@@0PEAV123 at EA */
locale__Locimp *locale__Locimp__Clocptr = NULL;
-static const vtable_ptr MSVCP_locale_facet_vtable[];
+/* ??1facet at locale@std@@UAE at XZ */
+/* ??1facet at locale@std@@UEAA at XZ */
+DEFINE_THISCALL_WRAPPER(locale_facet_dtor, 4)
+void __thiscall locale_facet_dtor(locale_facet *this)
+{
+ TRACE("(%p)\n", this);
+}
+
+DEFINE_THISCALL_WRAPPER(MSVCP_locale_facet_vector_dtor, 8)
+locale_facet* __thiscall MSVCP_locale_facet_vector_dtor(locale_facet *this, unsigned int flags)
+{
+ TRACE("(%p %x)\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_facet_dtor(this+i);
+ MSVCRT_operator_delete(ptr);
+ } else {
+ locale_facet_dtor(this);
+ if(flags & 1)
+ MSVCRT_operator_delete(this);
+ }
+
+ return this;
+}
+
+static const vtable_ptr MSVCP_locale_facet_vtable[] = {
+ (vtable_ptr)THISCALL_NAME(MSVCP_locale_facet_vector_dtor)
+};
/* ??0id at locale@std@@QAE at I@Z */
/* ??0id at locale@std@@QEAA at _K@Z */
@@ -156,34 +186,6 @@ locale_facet* __thiscall locale_facet_ctor_refs(locale_facet *this, MSVCP_size_t
return this;
}
-/* ??1facet at locale@std@@UAE at XZ */
-/* ??1facet at locale@std@@UEAA at XZ */
-DEFINE_THISCALL_WRAPPER(locale_facet_dtor, 4)
-void __thiscall locale_facet_dtor(locale_facet *this)
-{
- TRACE("(%p)\n", this);
-}
-
-DEFINE_THISCALL_WRAPPER(MSVCP_locale_facet_vector_dtor, 8)
-locale_facet* __thiscall MSVCP_locale_facet_vector_dtor(locale_facet *this, unsigned int flags)
-{
- TRACE("(%p %x)\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_facet_dtor(this+i);
- MSVCRT_operator_delete(ptr);
- } else {
- locale_facet_dtor(this);
- if(flags & 1)
- MSVCRT_operator_delete(this);
- }
-
- return this;
-}
-
/* ?_Incref at facet@locale at std@@QAEXXZ */
/* ?_Incref at facet@locale at std@@QEAAXXZ */
DEFINE_THISCALL_WRAPPER(locale_facet__Incref, 4)
@@ -226,10 +228,6 @@ MSVCP_size_t __cdecl locale_facet__Getcat(const locale_facet **facet, const loca
return -1;
}
-static const vtable_ptr MSVCP_locale_facet_vtable[] = {
- (vtable_ptr)THISCALL_NAME(MSVCP_locale_facet_vector_dtor)
-};
-
/* ??_F_Locimp at locale@std@@QAEXXZ */
/* ??_F_Locimp at locale@std@@QEAAXXZ */
DEFINE_THISCALL_WRAPPER(locale__Locimp_ctor, 4)
More information about the wine-patches
mailing list