small optimization in the CMAP 4 validator

This commit is contained in:
David Turner 2007-01-05 13:15:29 +00:00
parent 5dbdb6c3c4
commit a3a3c5d711
2 changed files with 11 additions and 8 deletions

View File

@ -1,5 +1,7 @@
2007-01-04 David Turner <david@freetype.org>
* src/sfnt/ttcmap.c: slight optimization in the CMAP 4 validator
* src/cff/cffload.c, src/cff/cffload.h, src/cff/cffgload.c,
src/cff/cfftypes.h: formatting + do not load the CFF index
offsets into memory, since this wastes a *lot* of heap memory

View File

@ -862,18 +862,19 @@
FT_UInt start, end, offset, n;
FT_UInt last_start = 0, last_end = 0;
FT_Int delta;
FT_Byte* p_start = starts;
FT_Byte* p_end = ends;
FT_Byte* p_delta = deltas;
FT_Byte* p_offset = offsets;
for ( n = 0; n < num_segs; n++ )
{
p = starts + n * 2;
start = TT_PEEK_USHORT( p );
p = ends + n * 2;
end = TT_PEEK_USHORT( p );
p = deltas + n * 2;
delta = TT_PEEK_SHORT( p );
p = offsets + n * 2;
offset = TT_PEEK_USHORT( p );
p = p_offset;
start = TT_NEXT_USHORT( p_start );
end = TT_NEXT_USHORT( p_end );
delta = TT_NEXT_SHORT( p_delta );
offset = TT_NEXT_USHORT( p_offset );
if ( start > end )
FT_INVALID_DATA;