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