diff options
author | Alexei Podtelezhnikov <apodtele@gmail.com> | 2023-04-02 22:00:59 -0400 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2023-04-02 22:00:59 -0400 |
commit | 340767bf85b054595c42dd1c089318cb19d45899 (patch) | |
tree | 8b449c34fde48c0cfa9f878dd13d3dc5422c3ae4 /src/sfnt/ttpost.c | |
parent | 311b78fa1240863fc206c2162cba54597a93f598 (diff) | |
download | freetype2-340767bf85b054595c42dd1c089318cb19d45899.tar.gz |
* src/sfnt/ttpost.c (load_format_*): Streamline frame reading.
Diffstat (limited to 'src/sfnt/ttpost.c')
-rw-r--r-- | src/sfnt/ttpost.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/sfnt/ttpost.c b/src/sfnt/ttpost.c index f4e8fe508..ac9de6e24 100644 --- a/src/sfnt/ttpost.c +++ b/src/sfnt/ttpost.c @@ -169,6 +169,7 @@ FT_UShort* glyph_indices = NULL; FT_Byte** name_strings = NULL; + FT_Byte* q; if ( (FT_ULong)num_glyphs * 2 > post_len ) @@ -182,9 +183,11 @@ FT_FRAME_ENTER( num_glyphs * 2 ) ) goto Fail; + q = (FT_Byte*)stream->cursor; + for ( n = 0; n < num_glyphs; n++ ) { - FT_UShort idx = FT_GET_USHORT(); + FT_UShort idx = FT_NEXT_USHORT( q ); if ( idx > num_names ) @@ -272,6 +275,7 @@ FT_UShort n; FT_UShort* glyph_indices = NULL; + FT_Byte* q; /* check the number of glyphs, including the theoretical limit */ @@ -287,9 +291,11 @@ FT_FRAME_ENTER( num_glyphs ) ) goto Fail; + q = (FT_Byte*)stream->cursor; + for ( n = 0; n < num_glyphs; n++ ) { - FT_Int idx = n + FT_GET_CHAR(); + FT_Int idx = n + FT_NEXT_CHAR( q ); if ( idx < 0 || idx > 257 ) |