From ea173c04933e43fc920f9d5515a59bbc006fb5ce Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sun, 11 Jan 2015 08:58:54 +0100 Subject: [PATCH] * src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify. Based on a patch from Behdad. --- ChangeLog | 6 +++++ src/truetype/ttinterp.c | 50 +++++++++++++---------------------------- 2 files changed, 22 insertions(+), 34 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8b3fe5fea..53946aa12 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-01-11 Werner Lemberg + + * src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify. + + Based on a patch from Behdad. + 2015-01-11 Werner Lemberg * src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call. diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c index b530ec8ea..f9290003b 100644 --- a/src/truetype/ttinterp.c +++ b/src/truetype/ttinterp.c @@ -3346,30 +3346,6 @@ } - /*************************************************************************/ - /* */ - /* JROT[]: Jump Relative On True */ - /* Opcode range: 0x78 */ - /* Stack: StkElt int32 --> */ - /* */ - static void - Ins_JROT( TT_ExecContext exc, - FT_Long* args ) - { - if ( args[1] != 0 ) - { - if ( args[0] == 0 && exc->args == 0 ) - exc->error = FT_THROW( Bad_Argument ); - exc->IP += args[0]; - if ( exc->IP < 0 || - ( exc->callTop > 0 && - exc->IP > exc->callStack[exc->callTop - 1].Def->end ) ) - exc->error = FT_THROW( Bad_Argument ); - exc->step_ins = FALSE; - } - } - - /*************************************************************************/ /* */ /* JMPR[]: JuMP Relative */ @@ -3391,6 +3367,21 @@ } + /*************************************************************************/ + /* */ + /* JROT[]: Jump Relative On True */ + /* Opcode range: 0x78 */ + /* Stack: StkElt int32 --> */ + /* */ + static void + Ins_JROT( TT_ExecContext exc, + FT_Long* args ) + { + if ( args[1] != 0 ) + Ins_JMPR( exc, args ); + } + + /*************************************************************************/ /* */ /* JROF[]: Jump Relative On False */ @@ -3402,16 +3393,7 @@ FT_Long* args ) { if ( args[1] == 0 ) - { - if ( args[0] == 0 && exc->args == 0 ) - exc->error = FT_THROW( Bad_Argument ); - exc->IP += args[0]; - if ( exc->IP < 0 || - ( exc->callTop > 0 && - exc->IP > exc->callStack[exc->callTop - 1].Def->end ) ) - exc->error = FT_THROW( Bad_Argument ); - exc->step_ins = FALSE; - } + Ins_JMPR( exc, args ); }