summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2023-04-02 22:00:59 -0400
committerAlexei Podtelezhnikov <apodtele@gmail.com>2023-04-02 22:00:59 -0400
commit340767bf85b054595c42dd1c089318cb19d45899 (patch)
tree8b449c34fde48c0cfa9f878dd13d3dc5422c3ae4
parent311b78fa1240863fc206c2162cba54597a93f598 (diff)
downloadfreetype2-340767bf85b054595c42dd1c089318cb19d45899.tar.gz
* src/sfnt/ttpost.c (load_format_*): Streamline frame reading.
-rw-r--r--src/sfnt/ttpost.c10
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 )