Piotr Caban : msvcrt: Use heap structures and definitions from public header.

Alexandre Julliard julliard at winehq.org
Wed Dec 2 15:21:05 CST 2020


Module: wine
Branch: master
Commit: 6d799bfa06a818b068bec6ce540477f89d4f63e1
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=6d799bfa06a818b068bec6ce540477f89d4f63e1

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Dec  2 00:53:24 2020 +0100

msvcrt: Use heap structures and definitions from public header.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/heap.c   | 29 +++++++++++++++--------------
 dlls/msvcrt/msvcrt.h | 18 ------------------
 2 files changed, 15 insertions(+), 32 deletions(-)

diff --git a/dlls/msvcrt/heap.c b/dlls/msvcrt/heap.c
index c541d8aa6fa..94b1f6a6b87 100644
--- a/dlls/msvcrt/heap.c
+++ b/dlls/msvcrt/heap.c
@@ -21,6 +21,7 @@
  *       handler and non atomic heap operations
  */
 
+#include <malloc.h>
 #include "msvcrt.h"
 #include "mtdll.h"
 #include "wine/debug.h"
@@ -246,9 +247,9 @@ int CDECL _heapchk(void)
           (sb_heap && !HeapValidate(sb_heap, 0, NULL)))
   {
     msvcrt_set_errno(GetLastError());
-    return MSVCRT__HEAPBADNODE;
+    return _HEAPBADNODE;
   }
-  return MSVCRT__HEAPOK;
+  return _HEAPOK;
 }
 
 /*********************************************************************
@@ -269,7 +270,7 @@ int CDECL _heapmin(void)
 /*********************************************************************
  *		_heapwalk (MSVCRT.@)
  */
-int CDECL _heapwalk(struct MSVCRT__heapinfo* next)
+int CDECL _heapwalk(_HEAPINFO *next)
 {
   PROCESS_HEAP_ENTRY phe;
 
@@ -279,14 +280,14 @@ int CDECL _heapwalk(struct MSVCRT__heapinfo* next)
   LOCK_HEAP;
   phe.lpData = next->_pentry;
   phe.cbData = next->_size;
-  phe.wFlags = next->_useflag == MSVCRT__USEDENTRY ? PROCESS_HEAP_ENTRY_BUSY : 0;
+  phe.wFlags = next->_useflag == _USEDENTRY ? PROCESS_HEAP_ENTRY_BUSY : 0;
 
   if (phe.lpData && phe.wFlags & PROCESS_HEAP_ENTRY_BUSY &&
       !HeapValidate( heap, 0, phe.lpData ))
   {
     UNLOCK_HEAP;
     msvcrt_set_errno(GetLastError());
-    return MSVCRT__HEAPBADNODE;
+    return _HEAPBADNODE;
   }
 
   do
@@ -295,19 +296,19 @@ int CDECL _heapwalk(struct MSVCRT__heapinfo* next)
     {
       UNLOCK_HEAP;
       if (GetLastError() == ERROR_NO_MORE_ITEMS)
-         return MSVCRT__HEAPEND;
+         return _HEAPEND;
       msvcrt_set_errno(GetLastError());
       if (!phe.lpData)
-        return MSVCRT__HEAPBADBEGIN;
-      return MSVCRT__HEAPBADNODE;
+        return _HEAPBADBEGIN;
+      return _HEAPBADNODE;
     }
   } while (phe.wFlags & (PROCESS_HEAP_REGION|PROCESS_HEAP_UNCOMMITTED_RANGE));
 
   UNLOCK_HEAP;
   next->_pentry = phe.lpData;
   next->_size = phe.cbData;
-  next->_useflag = phe.wFlags & PROCESS_HEAP_ENTRY_BUSY ? MSVCRT__USEDENTRY : MSVCRT__FREEENTRY;
-  return MSVCRT__HEAPOK;
+  next->_useflag = phe.wFlags & PROCESS_HEAP_ENTRY_BUSY ? _USEDENTRY : _FREEENTRY;
+  return _HEAPOK;
 }
 
 /*********************************************************************
@@ -316,17 +317,17 @@ int CDECL _heapwalk(struct MSVCRT__heapinfo* next)
 int CDECL _heapset(unsigned int value)
 {
   int retval;
-  struct MSVCRT__heapinfo heap;
+  _HEAPINFO heap;
 
   memset( &heap, 0, sizeof(heap) );
   LOCK_HEAP;
-  while ((retval = _heapwalk(&heap)) == MSVCRT__HEAPOK)
+  while ((retval = _heapwalk(&heap)) == _HEAPOK)
   {
-    if (heap._useflag == MSVCRT__FREEENTRY)
+    if (heap._useflag == _FREEENTRY)
       memset(heap._pentry, value, heap._size);
   }
   UNLOCK_HEAP;
-  return retval == MSVCRT__HEAPEND? MSVCRT__HEAPOK : retval;
+  return retval == _HEAPEND ? _HEAPOK : retval;
 }
 
 /*********************************************************************
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h
index 91d5b879a6f..8b20acbfd7e 100644
--- a/dlls/msvcrt/msvcrt.h
+++ b/dlls/msvcrt/msvcrt.h
@@ -247,8 +247,6 @@ extern void msvcrt_free_scheduler_thread(void) DECLSPEC_HIDDEN;
 
 extern unsigned msvcrt_create_io_inherit_block(WORD*, BYTE**) DECLSPEC_HIDDEN;
 
-extern unsigned int __cdecl _control87(unsigned int, unsigned int);
-
 /* run-time error codes */
 #define _RT_STACK       0
 #define _RT_NULLPTR     1
@@ -287,12 +285,6 @@ extern FILE MSVCRT__iob[];
 
 typedef struct _complex _Dcomplex;
 
-struct MSVCRT__heapinfo {
-  int*           _pentry;
-  size_t         _size;
-  int            _useflag;
-};
-
 #ifdef __i386__
 struct MSVCRT___JUMP_BUFFER {
     unsigned long Ebp;
@@ -560,16 +552,6 @@ struct MSVCRT__stat64 {
 #define MSVCRT__P_NOWAITO 3
 #define MSVCRT__P_DETACH  4
 
-#define MSVCRT__HEAPEMPTY      -1
-#define MSVCRT__HEAPOK         -2
-#define MSVCRT__HEAPBADBEGIN   -3
-#define MSVCRT__HEAPBADNODE    -4
-#define MSVCRT__HEAPEND        -5
-#define MSVCRT__HEAPBADPTR     -6
-
-#define MSVCRT__FREEENTRY      0
-#define MSVCRT__USEDENTRY      1
-
 #define MSVCRT__OUT_TO_DEFAULT 0
 #define MSVCRT__OUT_TO_STDERR  1
 #define MSVCRT__OUT_TO_MSGBOX  2




More information about the wine-cvs mailing list