[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 4904d1eb1: * src/sfnt/ttpost.c (load_format_20): Micr
From: |
Werner Lemberg |
Subject: |
[freetype2] master 4904d1eb1: * src/sfnt/ttpost.c (load_format_20): Micro-optimize. |
Date: |
Wed, 6 Sep 2023 23:01:35 -0400 (EDT) |
branch: master
commit 4904d1eb1bbc4cb173fe382a679f2778a39703e4
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
* src/sfnt/ttpost.c (load_format_20): Micro-optimize.
---
src/sfnt/ttpost.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/src/sfnt/ttpost.c b/src/sfnt/ttpost.c
index bd0e24370..f2aeae233 100644
--- a/src/sfnt/ttpost.c
+++ b/src/sfnt/ttpost.c
@@ -204,8 +204,8 @@
/* now load the name strings */
if ( num_names )
{
- FT_ULong p;
- FT_Byte* strings;
+ FT_Byte* p;
+ FT_Byte* p_end;
post_len -= (FT_ULong)num_glyphs * 2;
@@ -214,25 +214,27 @@
post_len + 1 ) )
goto Fail;
- strings = (FT_Byte*)( name_strings + num_names );
- if ( FT_STREAM_READ( strings, post_len ) )
+ p = (FT_Byte*)( name_strings + num_names );
+ if ( FT_STREAM_READ( p, post_len ) )
goto Fail;
+ p_end = p + post_len;
+
/* convert from Pascal- to C-strings and set pointers */
- for ( p = 0, n = 0; p < post_len && n < num_names; n++ )
+ for ( n = 0; p < p_end && n < num_names; n++ )
{
- FT_UInt len = strings[p];
+ FT_UInt len = *p;
/* all names in Adobe Glyph List are shorter than 40 characters */
if ( len >= 40U )
FT_TRACE4(( "load_format_20: unusual %u-char name found\n", len ));
- strings[p] = 0;
- name_strings[n] = strings + p + 1;
- p += len + 1;
+ *p++ = 0;
+ name_strings[n] = p;
+ p += len;
}
- strings[post_len] = 0;
+ *p_end = 0;
/* deal with missing or insufficient string data */
if ( n < num_names )
@@ -241,7 +243,7 @@
num_names - n ));
for ( ; n < num_names; n++ )
- name_strings[n] = strings + post_len;
+ name_strings[n] = p_end;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 4904d1eb1: * src/sfnt/ttpost.c (load_format_20): Micro-optimize.,
Werner Lemberg <=