diff options
author | Werner Lemberg <wl@gnu.org> | 2023-05-06 18:57:42 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2023-05-07 14:59:21 +0200 |
commit | c041411917261ba05213c97469f0b530475ae08e (patch) | |
tree | 302f44597efd0eafb8d0f8e4d794883a1f5f59e3 /src/cff/cffload.c | |
parent | 8fe50c2adca74a4eca1501c831251283b4cc6d9b (diff) | |
download | freetype2-c041411917261ba05213c97469f0b530475ae08e.tar.gz |
* src/cff/*: Clean up interface.
Ensure that all driver functions use the signature of the service or driver.
This avoids pointer mismatches, which are technically undefined behaviour.
Recent compilers are more picky in catching them as part of Control Flow
Integrity tests.
Diffstat (limited to 'src/cff/cffload.c')
-rw-r--r-- | src/cff/cffload.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/cff/cffload.c b/src/cff/cffload.c index a090111e3..f96002ec0 100644 --- a/src/cff/cffload.c +++ b/src/cff/cffload.c @@ -1589,16 +1589,17 @@ #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT FT_LOCAL_DEF( FT_Error ) - cff_get_var_blend( CFF_Face face, + cff_get_var_blend( FT_Face face, /* CFF_Face */ FT_UInt *num_coords, FT_Fixed* *coords, FT_Fixed* *normalizedcoords, FT_MM_Var* *mm_var ) { - FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm; + CFF_Face cffface = (CFF_Face)face; + FT_Service_MultiMasters mm = (FT_Service_MultiMasters)cffface->mm; - return mm->get_var_blend( FT_FACE( face ), + return mm->get_var_blend( face, num_coords, coords, normalizedcoords, @@ -1607,13 +1608,14 @@ FT_LOCAL_DEF( void ) - cff_done_blend( CFF_Face face ) + cff_done_blend( FT_Face face ) /* CFF_Face */ { - FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm; + CFF_Face cffface = (CFF_Face)face; + FT_Service_MultiMasters mm = (FT_Service_MultiMasters)cffface->mm; if ( mm ) - mm->done_blend( FT_FACE( face ) ); + mm->done_blend( face ); } #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */ |