Ignore:
Timestamp:
Dec 30, 2009, 5:26:39 PM (12 years ago)
Author:
rbri
Message:

PDF plugin: freetype library updated to version 2.3.11

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/poppler/freetype2/src/truetype/ttinterp.c

    r269 r275  
    792792      /* allocate object */
    793793      if ( FT_NEW( exec ) )
    794         goto Exit;
    795 
    796       /* initialize it */
     794        goto Fail;
     795
     796      /* initialize it; in case of error this deallocates `exec' too */
    797797      error = Init_Context( exec, memory );
    798798      if ( error )
     
    803803    }
    804804
    805   Exit:
    806805    return driver->context;
    807806
    808807  Fail:
    809     FT_FREE( exec );
    810 
    811     return 0;
     808    return NULL;
    812809  }
    813810
     
    21982195#endif
    21992196
    2200     return TT_DotFix14( dx, dy,
     2197    return TT_DotFix14( (FT_UInt32)dx, (FT_UInt32)dy,
    22012198                        CUR.GS.projVector.x,
    22022199                        CUR.GS.projVector.y );
     
    22242221                         FT_Pos  dy )
    22252222  {
    2226     return TT_DotFix14( dx, dy,
     2223    return TT_DotFix14( (FT_UInt32)dx, (FT_UInt32)dy,
    22272224                        CUR.GS.dualVector.x,
    22282225                        CUR.GS.dualVector.y );
     
    42944291    }
    42954292
     4293    /* Although FDEF takes unsigned 32-bit integer,  */
     4294    /* func # must be within unsigned 16-bit integer */
     4295    if ( n > 0xFFFFU )
     4296    {
     4297      CUR.error = TT_Err_Too_Many_Function_Defs;
     4298      return;
     4299    }
     4300
    42964301    rec->range  = CUR.curRange;
    4297     rec->opc    = n;
     4302    rec->opc    = (FT_UInt16)n;
    42984303    rec->start  = CUR.IP + 1;
    42994304    rec->active = TRUE;
    43004305
    43014306    if ( n > CUR.maxFunc )
    4302       CUR.maxFunc = n;
     4307      CUR.maxFunc = (FT_UInt16)n;
    43034308
    43044309    /* Now skip the whole function definition. */
     
    45574562    }
    45584563
    4559     def->opc    = args[0];
     4564    /* opcode must be unsigned 8-bit integer */
     4565    if ( 0 > args[0] || args[0] > 0x00FF )
     4566    {
     4567      CUR.error = TT_Err_Too_Many_Instruction_Defs;
     4568      return;
     4569    }
     4570
     4571    def->opc    = (FT_Byte)args[0];
    45604572    def->start  = CUR.IP+1;
    45614573    def->range  = CUR.curRange;
     
    45634575
    45644576    if ( (FT_ULong)args[0] > CUR.maxIns )
    4565       CUR.maxIns = args[0];
     4577      CUR.maxIns = (FT_Byte)args[0];
    45664578
    45674579    /* Now skip the whole function definition. */
     
    55315543      if ( CUR.GS.both_x_axis )
    55325544      {
    5533         dx = TT_MulFix14( args[0], 0x4000 );
     5545        dx = TT_MulFix14( (FT_UInt32)args[0], 0x4000 );
    55345546        dy = 0;
    55355547      }
     
    55375549      {
    55385550        dx = 0;
    5539         dy = TT_MulFix14( args[0], 0x4000 );
     5551        dy = TT_MulFix14( (FT_UInt32)args[0], 0x4000 );
    55405552      }
    55415553    }
     
    55435555#endif
    55445556    {
    5545       dx = TT_MulFix14( args[0], CUR.GS.freeVector.x );
    5546       dy = TT_MulFix14( args[0], CUR.GS.freeVector.y );
     5557      dx = TT_MulFix14( (FT_UInt32)args[0], CUR.GS.freeVector.x );
     5558      dy = TT_MulFix14( (FT_UInt32)args[0], CUR.GS.freeVector.y );
    55475559    }
    55485560
     
    57105722    if ( CUR.GS.gep0 == 0 )   /* If in twilight zone */
    57115723    {
    5712       CUR.zp0.org[point].x = TT_MulFix14( distance, CUR.GS.freeVector.x );
    5713       CUR.zp0.org[point].y = TT_MulFix14( distance, CUR.GS.freeVector.y ),
     5724      CUR.zp0.org[point].x = TT_MulFix14( (FT_UInt32)distance, CUR.GS.freeVector.x );
     5725      CUR.zp0.org[point].y = TT_MulFix14( (FT_UInt32)distance, CUR.GS.freeVector.y ),
    57145726      CUR.zp0.cur[point]   = CUR.zp0.org[point];
    57155727    }
     
    58985910    {
    58995911      CUR.zp1.org[point].x = CUR.zp0.org[CUR.GS.rp0].x +
    5900                              TT_MulFix14( cvt_dist, CUR.GS.freeVector.x );
     5912                             TT_MulFix14( (FT_UInt32)cvt_dist,
     5913                                          CUR.GS.freeVector.x );
    59015914
    59025915      CUR.zp1.org[point].y = CUR.zp0.org[CUR.GS.rp0].y +
    5903                              TT_MulFix14( cvt_dist, CUR.GS.freeVector.y );
     5916                             TT_MulFix14( (FT_UInt32)cvt_dist,
     5917                                          CUR.GS.freeVector.y );
    59045918
    59055919      CUR.zp1.cur[point] = CUR.zp0.cur[point];
Note: See TracChangeset for help on using the changeset viewer.