diff options
author | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-09-06 22:09:53 -0400 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-09-06 22:09:53 -0400 |
commit | 56b2a1f6a32c353f7af885f097d8717b359695bd (patch) | |
tree | 94d7cd11c550578a5f2c0b92e94223b8f2ac6450 /builds/windows/ftsystem.c | |
parent | aee1fd3bb8ad78e5aed4ce5e95a36757de888b68 (diff) | |
download | freetype2-win-heap.tar.gz |
[builds/windows] Use native memory allocation API.win-heap
* builds/windows/ftsystem.c (ft_alloc, ft_realloc, ft_free):
Wrap HeapAlloc, HeapReAlloc, and HeapFree.
(FT_New_Memory): Set the heap handle.
Diffstat (limited to 'builds/windows/ftsystem.c')
-rw-r--r-- | builds/windows/ftsystem.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c index 32c8edc06..319888432 100644 --- a/builds/windows/ftsystem.c +++ b/builds/windows/ftsystem.c @@ -28,8 +28,6 @@ /* memory-mapping includes and definitions */ #include <windows.h> -#include <stdlib.h> - /************************************************************************** * @@ -69,9 +67,7 @@ ft_alloc( FT_Memory memory, long size ) { - FT_UNUSED( memory ); - - return malloc( size ); + return HeapAlloc( memory->user, 0, size ); } @@ -105,10 +101,9 @@ long new_size, void* block ) { - FT_UNUSED( memory ); FT_UNUSED( cur_size ); - return realloc( block, new_size ); + return HeapReAlloc( memory->user, 0, block, new_size ); } @@ -131,9 +126,7 @@ ft_free( FT_Memory memory, void* block ) { - FT_UNUSED( memory ); - - free( block ); + HeapFree( memory->user, 0, block ); } @@ -358,12 +351,14 @@ FT_New_Memory( void ) { FT_Memory memory; + HANDLE heap; - memory = (FT_Memory)malloc( sizeof ( *memory ) ); + heap = GetProcessHeap(); + memory = (FT_Memory)HeapAlloc( heap, 0, sizeof ( *memory ) ); if ( memory ) { - memory->user = NULL; + memory->user = heap; memory->alloc = ft_alloc; memory->realloc = ft_realloc; memory->free = ft_free; |