Module: wine Branch: master Commit: 0fe041305ec8346eb02579cc67812e8b29aa0b2d URL: https://source.winehq.org/git/wine.git/?a=commit;h=0fe041305ec8346eb02579cc6...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Thu Mar 22 14:40:47 2018 +0430
usp10: Use usp10_array_reserve() in usp10_language_add_feature_list().
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Aric Stewart aric@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/usp10/opentype.c | 9 ++------- dlls/usp10/usp10_internal.h | 3 ++- 2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/dlls/usp10/opentype.c b/dlls/usp10/opentype.c index 8827265..b627aa2 100644 --- a/dlls/usp10/opentype.c +++ b/dlls/usp10/opentype.c @@ -2818,15 +2818,10 @@ static void usp10_language_add_feature_list(LoadedLanguage *language, char table
TRACE("table_type %#x, %u features.\n", table_type, count);
- if (!count) + if (!count || !usp10_array_reserve((void **)&language->features, &language->features_size, + language->feature_count + count, sizeof(*language->features))) return;
- if (!language->feature_count) - language->features = heap_alloc(count * sizeof(*language->features)); - else - language->features = HeapReAlloc(GetProcessHeap(), 0, language->features, - (language->feature_count + count) * sizeof(*language->features)); - for (i = 0; i < count; ++i) { const OT_FeatureRecord *record; diff --git a/dlls/usp10/usp10_internal.h b/dlls/usp10/usp10_internal.h index 99d7cd1..369a66d 100644 --- a/dlls/usp10/usp10_internal.h +++ b/dlls/usp10/usp10_internal.h @@ -163,8 +163,9 @@ typedef struct { OPENTYPE_TAG tag; const void *table[USP10_LANGUAGE_TABLE_COUNT]; BOOL features_initialized; - INT feature_count; LoadedFeature *features; + SIZE_T features_size; + SIZE_T feature_count; } LoadedLanguage;
enum usp10_script_table