[cache] Allow value 0 for face ID.

We never dereference `face_id', and some implementations might use a
running number instead of a pointer.  Additionally, disallowing
value zero was undocumented.

* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
`face_id'.
This commit is contained in:
Werner Lemberg 2016-05-07 16:24:03 +02:00
parent 6e88087d69
commit 7ae9b9996b
3 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,15 @@
2016-05-07 Werner Lemberg <wl@gnu.org>
[cache] Allow value 0 for face ID.
We never dereference `face_id', and some implementations might use a
running number instead of a pointer. Additionally, disallowing
value zero was undocumented.
* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
`face_id'.
2016-05-05 Alexei Podtelezhnikov <apodtele@gmail.com>
[smooth] More efficient accounting of conic splits and draws.

3
src/cache/ftccmap.c vendored
View File

@ -259,9 +259,6 @@
return 0;
}
if ( !face_id )
return 0;
query.face_id = face_id;
query.cmap_index = (FT_UInt)cmap_index;
query.char_code = char_code;

View File

@ -314,7 +314,7 @@
FTC_MruNode mrunode;
if ( !aface || !face_id )
if ( !aface )
return FT_THROW( Invalid_Argument );
*aface = NULL;
@ -672,7 +672,7 @@
FT_UInt nn;
if ( !manager || !face_id )
if ( !manager )
return;
/* this will remove all FTC_SizeNode that correspond to