* src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify.

Based on a patch from Behdad.
This commit is contained in:
Werner Lemberg 2015-01-11 08:58:54 +01:00
parent 628578c655
commit ea173c0493
2 changed files with 22 additions and 34 deletions

View File

@ -1,3 +1,9 @@
2015-01-11 Werner Lemberg <wl@gnu.org>
* src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify.
Based on a patch from Behdad.
2015-01-11 Werner Lemberg <wl@gnu.org>
* src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call.

View File

@ -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 );
}