Alexandre Julliard : kernel32: Store global arena base as a pointer.

Alexandre Julliard julliard at wine.codeweavers.com
Wed May 30 08:56:55 CDT 2007


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed May 30 13:23:30 2007 +0200

kernel32: Store global arena base as a pointer.

---

 dlls/kernel32/global16.c |   16 ++++++++--------
 dlls/kernel32/toolhelp.h |    4 ++--
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/dlls/kernel32/global16.c b/dlls/kernel32/global16.c
index 2031525..b17c610 100644
--- a/dlls/kernel32/global16.c
+++ b/dlls/kernel32/global16.c
@@ -49,7 +49,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(global);
   /* Global arena block */
 typedef struct
 {
-    DWORD_PTR base;          /* Base address (0 if discarded) */
+    void     *base;          /* Base address (0 if discarded) */
     DWORD     size;          /* Size in bytes (0 indicates a free block) */
     HGLOBAL16 handle;        /* Handle for this block */
     HGLOBAL16 hOwner;        /* Owner of this block */
@@ -134,7 +134,7 @@ void debug_handles(void)
  *
  * Create a global heap block for a fixed range of linear memory.
  */
-HGLOBAL16 GLOBAL_CreateBlock( WORD flags, const void *ptr, DWORD size,
+HGLOBAL16 GLOBAL_CreateBlock( WORD flags, void *ptr, DWORD size,
                               HGLOBAL16 hOwner, unsigned char selflags )
 {
     WORD sel, selcount;
@@ -154,7 +154,7 @@ HGLOBAL16 GLOBAL_CreateBlock( WORD flags, const void *ptr, DWORD size,
 
       /* Fill the arena block */
 
-    pArena->base = (DWORD_PTR)ptr;
+    pArena->base = ptr;
     pArena->size = GetSelectorLimit16(sel) + 1;
     pArena->handle = (flags & GMEM_MOVEABLE) ? sel - 1 : sel;
     pArena->hOwner = hOwner;
@@ -195,7 +195,7 @@ BOOL16 GLOBAL_FreeBlock( HGLOBAL16 handle )
 /***********************************************************************
  *           GLOBAL_MoveBlock
  */
-BOOL16 GLOBAL_MoveBlock( HGLOBAL16 handle, const void *ptr, DWORD size )
+BOOL16 GLOBAL_MoveBlock( HGLOBAL16 handle, void *ptr, DWORD size )
 {
     WORD sel;
     GLOBALARENA *pArena;
@@ -207,7 +207,7 @@ BOOL16 GLOBAL_MoveBlock( HGLOBAL16 handle, const void *ptr, DWORD size )
     if (pArena->selCount != 1)
         return FALSE;
 
-    pArena->base = (DWORD)ptr;
+    pArena->base = ptr;
     pArena->size = size;
     SELECTOR_ReallocBlock( sel, ptr, size );
     return TRUE;
@@ -428,7 +428,7 @@ HGLOBAL16 WINAPI GlobalReAlloc16(
          As we may have used HEAP_REALLOC_IN_PLACE_ONLY, areas may overlap*/
 
     if (pNewArena != pArena) memmove( pNewArena, pArena, sizeof(GLOBALARENA) );
-    pNewArena->base = (DWORD)ptr;
+    pNewArena->base = ptr;
     pNewArena->size = GetSelectorLimit16(sel) + 1;
     pNewArena->selCount = selcount;
     pNewArena->handle = (pNewArena->flags & GA_MOVEABLE) ? sel - 1 : sel;
@@ -983,7 +983,7 @@ BOOL16 WINAPI GlobalNext16( GLOBALENTRY *pGlobal, WORD wFlags)
         pGlobal->dwNext = i;
     }
 
-    pGlobal->dwAddress    = pArena->base;
+    pGlobal->dwAddress    = (DWORD_PTR)pArena->base;
     pGlobal->dwBlockSize  = pArena->size;
     pGlobal->hBlock       = pArena->handle;
     pGlobal->wcLock       = pArena->lockCount;
@@ -1022,7 +1022,7 @@ BOOL16 WINAPI GlobalEntryHandle16( GLOBALENTRY *pGlobal, HGLOBAL16 hItem )
 {
     GLOBALARENA *pArena = GET_ARENA_PTR(hItem);
 
-    pGlobal->dwAddress    = pArena->base;
+    pGlobal->dwAddress    = (DWORD_PTR)pArena->base;
     pGlobal->dwBlockSize  = pArena->size;
     pGlobal->hBlock       = pArena->handle;
     pGlobal->wcLock       = pArena->lockCount;
diff --git a/dlls/kernel32/toolhelp.h b/dlls/kernel32/toolhelp.h
index 56814ec..6506aae 100644
--- a/dlls/kernel32/toolhelp.h
+++ b/dlls/kernel32/toolhelp.h
@@ -103,10 +103,10 @@ BOOL16 WINAPI GlobalEntryModule16( GLOBALENTRY *pGlobal, HMODULE16 hModule,
                                  WORD wSeg );
 
 /* FIXME: Wine internal functions */
-extern HGLOBAL16 GLOBAL_CreateBlock( UINT16 flags, const void *ptr, DWORD size,
+extern HGLOBAL16 GLOBAL_CreateBlock( UINT16 flags, void *ptr, DWORD size,
                                      HGLOBAL16 hOwner, unsigned char selflags );
 extern BOOL16 GLOBAL_FreeBlock( HGLOBAL16 handle );
-extern BOOL16 GLOBAL_MoveBlock( HGLOBAL16 handle, const void *ptr, DWORD size );
+extern BOOL16 GLOBAL_MoveBlock( HGLOBAL16 handle, void *ptr, DWORD size );
 extern HGLOBAL16 GLOBAL_Alloc( WORD flags, DWORD size, HGLOBAL16 hOwner, unsigned char selflags );
 
 /* Local heap */




More information about the wine-cvs mailing list