Piotr Caban : msvcrt: Move _initterm_e implementation (from msvcr90).

Alexandre Julliard julliard at winehq.org
Thu Nov 18 11:09:28 CST 2010


Module: wine
Branch: master
Commit: 2770155532ec79f1e05d9abf7d4cd6b2c5e3092e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2770155532ec79f1e05d9abf7d4cd6b2c5e3092e

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Nov 17 23:42:29 2010 +0100

msvcrt: Move _initterm_e implementation (from msvcr90).

---

 dlls/msvcr90/msvcr90.c    |   26 --------------------------
 dlls/msvcr90/msvcr90.spec |    2 +-
 dlls/msvcrt/data.c        |   25 +++++++++++++++++++++++++
 dlls/msvcrt/msvcrt.spec   |    2 +-
 4 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/dlls/msvcr90/msvcr90.c b/dlls/msvcr90/msvcr90.c
index 2fff15a..dbe528f 100644
--- a/dlls/msvcr90/msvcr90.c
+++ b/dlls/msvcr90/msvcr90.c
@@ -30,8 +30,6 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(msvcr90);
 
-typedef int (CDECL *_INITTERM_E_FN)(void);
-
 /*********************************************************************
  *  DllMain (MSVCR90.@)
  */
@@ -81,30 +79,6 @@ void * CDECL _encoded_null(void)
 }
 
 /*********************************************************************
- *  _initterm_e (MSVCR90.@)
- *
- * call an array of application initialization functions and report the return value
- */
-int CDECL _initterm_e(_INITTERM_E_FN *table, _INITTERM_E_FN *end)
-{
-    int res = 0;
-
-    TRACE("(%p, %p)\n", table, end);
-
-    while (!res && table < end) {
-        if (*table) {
-            TRACE("calling %p\n", **table);
-            res = (**table)();
-            if (res)
-                TRACE("function %p failed: 0x%x\n", *table, res);
-
-        }
-        table++;
-    }
-    return res;
-}
-
-/*********************************************************************
  * _invalid_parameter_noinfo (MSVCR90.@)
  */
 void CDECL _invalid_parameter_noinfo(void)
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index c58637d..ea00630 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -571,7 +571,7 @@
 @ cdecl _i64tow_s(int64 ptr long long) msvcrt._i64tow_s
 @ stub _initptd
 @ cdecl _initterm(ptr ptr) msvcrt._initterm
-@ cdecl _initterm_e(ptr ptr)
+@ cdecl _initterm_e(ptr ptr) msvcrt._initterm_e
 @ stub _inp
 @ stub _inpd
 @ stub _inpw
diff --git a/dlls/msvcrt/data.c b/dlls/msvcrt/data.c
index 53dd114..1ea5b1b 100644
--- a/dlls/msvcrt/data.c
+++ b/dlls/msvcrt/data.c
@@ -132,6 +132,7 @@ MSVCRT_wchar_t ** msvcrt_SnapshotOfEnvironmentW(MSVCRT_wchar_t **wblk)
 }
 
 typedef void (CDECL *_INITTERMFUN)(void);
+typedef int (CDECL *_INITTERM_E_FN)(void);
 
 /***********************************************************************
  *		__p___argc (MSVCRT.@)
@@ -396,6 +397,30 @@ void CDECL _initterm(_INITTERMFUN *start,_INITTERMFUN *end)
 }
 
 /*********************************************************************
+ *  _initterm_e (MSVCRT.@)
+ *
+ * call an array of application initialization functions and report the return value
+ */
+int CDECL _initterm_e(_INITTERM_E_FN *table, _INITTERM_E_FN *end)
+{
+    int res = 0;
+
+    TRACE("(%p, %p)\n", table, end);
+
+    while (!res && table < end) {
+        if (*table) {
+            TRACE("calling %p\n", **table);
+            res = (**table)();
+            if (res)
+                TRACE("function %p failed: 0x%x\n", *table, res);
+
+        }
+        table++;
+    }
+    return res;
+}
+
+/*********************************************************************
  *		__set_app_type (MSVCRT.@)
  */
 void CDECL MSVCRT___set_app_type(int app_type)
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index c10f7de..63e3b71 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -518,7 +518,7 @@
 @ cdecl _i64tow(int64 ptr long) ntdll._i64tow
 @ cdecl _i64tow_s(int64 ptr long long) _i64tow_s
 @ cdecl _initterm(ptr ptr)
-# stub _initterm_e
+@ cdecl _initterm_e(ptr ptr)
 @ stub _inp #(long) -i386
 @ stub _inpd #(long) -i386
 @ stub _inpw #(long) -i386




More information about the wine-cvs mailing list