* src/sfnt/ttpost.c (load_format_20): Simplify comutations.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
diff --git a/src/sfnt/ttpost.c b/src/sfnt/ttpost.c
index 81992b3..4ab3536 100644
--- a/src/sfnt/ttpost.c
+++ b/src/sfnt/ttpost.c
@@ -164,7 +164,7 @@
FT_Error error;
FT_Int num_glyphs;
- FT_UShort num_names;
+ FT_UShort num_names = 0;
FT_UShort* glyph_indices = NULL;
FT_Byte** name_strings = NULL;
@@ -186,9 +186,10 @@
goto Exit;
}
- /* load the indices */
+ /* load the indices and note their maximum */
{
- FT_Int n;
+ FT_Int n;
+ FT_UShort idx;
if ( FT_QNEW_ARRAY( glyph_indices, num_glyphs ) ||
@@ -196,32 +197,18 @@
goto Fail;
for ( n = 0; n < num_glyphs; n++ )
- glyph_indices[n] = FT_GET_USHORT();
+ {
+ glyph_indices[n] = idx = FT_GET_USHORT();
+
+ if ( idx > num_names )
+ num_names = idx;
+ }
FT_FRAME_EXIT();
}
/* compute number of names stored in table */
- {
- FT_Int n;
-
-
- num_names = 0;
-
- for ( n = 0; n < num_glyphs; n++ )
- {
- FT_Int idx;
-
-
- idx = glyph_indices[n];
- if ( idx >= 258 )
- {
- idx -= 257;
- if ( idx > num_names )
- num_names = (FT_UShort)idx;
- }
- }
- }
+ num_names = num_names > 257 ? num_names - 257 : 0;
/* now load the name strings */
if ( num_names )