Index: third_party/freetype/src/base/ftutil.c |
diff --git a/core/src/fxge/fx_freetype/fxft2.5.01/src/base/ftutil.c b/third_party/freetype/src/base/ftutil.c |
similarity index 72% |
rename from core/src/fxge/fx_freetype/fxft2.5.01/src/base/ftutil.c |
rename to third_party/freetype/src/base/ftutil.c |
index 4c0b916fe10a1e969986599ddfb2087859cafa01..56e2800eb6b51f1c855ccb08e12ccbbefd05e2cc 100644 |
--- a/core/src/fxge/fx_freetype/fxft2.5.01/src/base/ftutil.c |
+++ b/third_party/freetype/src/base/ftutil.c |
@@ -16,11 +16,11 @@ |
/***************************************************************************/ |
-#include "../../include/ft2build.h" |
-#include "../../include/freetype/internal/ftdebug.h" |
-#include "../../include/freetype/internal/ftmemory.h" |
-#include "../../include/freetype/internal/ftobjs.h" |
-#include "../../include/freetype/ftlist.h" |
+#include <ft2build.h> |
+#include FT_INTERNAL_DEBUG_H |
+#include FT_INTERNAL_MEMORY_H |
+#include FT_INTERNAL_OBJECTS_H |
+#include FT_LIST_H |
/*************************************************************************/ |
@@ -163,119 +163,7 @@ |
return block; |
} |
- #ifdef _XYQ_MEM_DEBUG /** XYQ 2006-10-12 */ |
- FT_BASE_DEF( FT_Pointer ) |
- ft_mem_allocdebug( FT_Memory memory, |
- FT_Long size, const char* file, int line, |
- FT_Error *p_error ) |
- { |
- FT_Error error; |
- FT_Pointer block = ft_mem_qallocdebug( memory, size, file, line, &error ); |
- |
- if ( !error && size > 0 ) |
- FT_MEM_ZERO( block, size ); |
- |
- *p_error = error; |
- return block; |
- } |
- |
- |
- FT_BASE_DEF( FT_Pointer ) |
- ft_mem_qallocdebug( FT_Memory memory, |
- FT_Long size, const char* file, int line, |
- FT_Error *p_error ) |
- { |
- FT_Error error = FT_Err_Ok; |
- FT_Pointer block = NULL; |
- |
- |
- if ( size > 0 ) |
- { |
- block = memory->allocdebug( memory, size, file, line ); |
- if ( block == NULL ) |
- error = FT_Err_Out_Of_Memory; |
- } |
- else if ( size < 0 ) |
- { |
- /* may help catch/prevent security issues */ |
- error = FT_Err_Invalid_Argument; |
- } |
- |
- *p_error = error; |
- return block; |
- } |
- |
- |
- FT_BASE_DEF( FT_Pointer ) |
- ft_mem_reallocdebug( FT_Memory memory, |
- FT_Long item_size, |
- FT_Long cur_count, |
- FT_Long new_count, |
- void* block, const char* file, int line, |
- FT_Error *p_error ) |
- { |
- FT_Error error = FT_Err_Ok; |
- |
- block = ft_mem_qreallocdebug( memory, item_size, |
- cur_count, new_count, block, file, line, &error ); |
- if ( !error && new_count > cur_count ) |
- FT_MEM_ZERO( (char*)block + cur_count * item_size, |
- ( new_count - cur_count ) * item_size ); |
- |
- *p_error = error; |
- return block; |
- } |
- |
- |
- FT_BASE_DEF( FT_Pointer ) |
- ft_mem_qreallocdebug( FT_Memory memory, |
- FT_Long item_size, |
- FT_Long cur_count, |
- FT_Long new_count, |
- void* block, const char* file, int line, |
- FT_Error *p_error ) |
- { |
- FT_Error error = FT_Err_Ok; |
- |
- if ( cur_count < 0 || new_count < 0 || item_size <= 0 ) |
- { |
- /* may help catch/prevent nasty security issues */ |
- error = FT_Err_Invalid_Argument; |
- } |
- else if ( new_count == 0 ) |
- { |
- ft_mem_free( memory, block ); |
- block = NULL; |
- } |
- else if ( new_count > FT_INT_MAX/item_size ) |
- { |
- error = FT_Err_Array_Too_Large; |
- } |
- else if ( cur_count == 0 ) |
- { |
- FT_ASSERT( block == NULL ); |
- |
- block = ft_mem_allocdebug( memory, new_count*item_size, file, line, &error ); |
- } |
- else |
- { |
- FT_Pointer block2; |
- FT_Long cur_size = cur_count*item_size; |
- FT_Long new_size = new_count*item_size; |
- |
- |
- block2 = memory->realloc( memory, cur_size, new_size, block ); |
- if ( block2 == NULL ) |
- error = FT_Err_Out_Of_Memory; |
- else |
- block = block2; |
- } |
- |
- *p_error = error; |
- return block; |
- } |
-#endif |
FT_BASE_DEF( void ) |
ft_mem_free( FT_Memory memory, |
const void *P ) |
@@ -357,6 +245,9 @@ |
FT_ListNode cur; |
+ if ( !list ) |
+ return NULL; |
+ |
cur = list->head; |
while ( cur ) |
{ |
@@ -366,7 +257,7 @@ |
cur = cur->next; |
} |
- return (FT_ListNode)0; |
+ return NULL; |
} |
@@ -376,8 +267,13 @@ |
FT_List_Add( FT_List list, |
FT_ListNode node ) |
{ |
- FT_ListNode before = list->tail; |
+ FT_ListNode before; |
+ |
+ |
+ if ( !list || !node ) |
+ return; |
+ before = list->tail; |
node->next = 0; |
node->prev = before; |
@@ -397,8 +293,13 @@ |
FT_List_Insert( FT_List list, |
FT_ListNode node ) |
{ |
- FT_ListNode after = list->head; |
+ FT_ListNode after; |
+ |
+ |
+ if ( !list || !node ) |
+ return; |
+ after = list->head; |
node->next = after; |
node->prev = 0; |
@@ -421,6 +322,9 @@ |
FT_ListNode before, after; |
+ if ( !list || !node ) |
+ return; |
+ |
before = node->prev; |
after = node->next; |
@@ -445,6 +349,9 @@ |
FT_ListNode before, after; |
+ if ( !list || !node ) |
+ return; |
+ |
before = node->prev; |
after = node->next; |
@@ -469,14 +376,19 @@ |
/* documentation is in ftlist.h */ |
FT_EXPORT_DEF( FT_Error ) |
- FT_List_Iterate( FT_List list, |
- FT_List_Iterator iterator, |
- void* user ) |
+ FT_List_Iterate( FT_List list, |
+ FT_List_Iterator iterator, |
+ void* user ) |
{ |
- FT_ListNode cur = list->head; |
+ FT_ListNode cur; |
FT_Error error = FT_Err_Ok; |
+ if ( !list || !iterator ) |
+ return FT_THROW( Invalid_Argument ); |
+ |
+ cur = list->head; |
+ |
while ( cur ) |
{ |
FT_ListNode next = cur->next; |
@@ -504,6 +416,9 @@ |
FT_ListNode cur; |
+ if ( !list || !memory ) |
+ return; |
+ |
cur = list->head; |
while ( cur ) |
{ |
@@ -523,26 +438,4 @@ |
} |
- FT_BASE_DEF( FT_UInt32 ) |
- ft_highpow2( FT_UInt32 value ) |
- { |
- FT_UInt32 value2; |
- |
- |
- /* |
- * We simply clear the lowest bit in each iteration. When |
- * we reach 0, we know that the previous value was our result. |
- */ |
- for ( ;; ) |
- { |
- value2 = value & (value - 1); /* clear lowest bit */ |
- if ( value2 == 0 ) |
- break; |
- |
- value = value2; |
- } |
- return value; |
- } |
- |
- |
/* END */ |