summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2021-09-06 22:09:53 -0400
committerAlexei Podtelezhnikov <apodtele@gmail.com>2021-09-06 22:09:53 -0400
commit56b2a1f6a32c353f7af885f097d8717b359695bd (patch)
tree94d7cd11c550578a5f2c0b92e94223b8f2ac6450
parentaee1fd3bb8ad78e5aed4ce5e95a36757de888b68 (diff)
downloadfreetype2-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.
-rw-r--r--builds/windows/ftsystem.c19
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;