From 2e814fc045cd1b3d3a367b95fb49a1547da59ed3 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Mon, 16 Feb 2015 20:05:08 +0100 Subject: [PATCH] More minor signedness warning fixes. * src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c, src/base/ftutil.c: Apply. --- ChangeLog | 7 +++++++ src/base/ftbbox.c | 7 +++++-- src/base/ftbitmap.c | 51 ++++++++++++++++++++++++--------------------- src/base/fttrigon.c | 10 ++++----- src/base/ftutil.c | 2 +- 5 files changed, 45 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7c6a52c61..3a5529f5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2015-02-16 Werner Lemberg + + More minor signedness warning fixes. + + * src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c, + src/base/ftutil.c: Apply. + 2015-02-16 Werner Lemberg Next round of minor compiler warning fixes. diff --git a/src/base/ftbbox.c b/src/base/ftbbox.c index ee1763bf0..10df98de6 100644 --- a/src/base/ftbbox.c +++ b/src/base/ftbbox.c @@ -255,6 +255,7 @@ FT_Pos peak = 0; FT_Int shift; + /* This function finds a peak of a cubic segment if it is above 0 */ /* using iterative bisection of the segment, or returns 0. */ /* The fixed-point arithmetic of bisection is inherently stable */ @@ -264,8 +265,10 @@ /* It is called with either q2 or q3 positive, which is necessary */ /* for the peak to exist and avoids undefined FT_MSB. */ - shift = 27 - - FT_MSB( FT_ABS( q1 ) | FT_ABS( q2 ) | FT_ABS( q3 ) | FT_ABS( q4 ) ); + shift = 27 - FT_MSB( (FT_UInt32)( FT_ABS( q1 ) | + FT_ABS( q2 ) | + FT_ABS( q3 ) | + FT_ABS( q4 ) ) ); if ( shift > 0 ) { diff --git a/src/base/ftbitmap.c b/src/base/ftbitmap.c index 98d49a388..094a7a1f8 100644 --- a/src/base/ftbitmap.c +++ b/src/base/ftbitmap.c @@ -117,7 +117,7 @@ FT_Byte* t = target->buffer; - t += pitch * ( target->rows - 1 ); + t += (FT_ULong)pitch * ( target->rows - 1 ); for ( i = target->rows; i > 0; i-- ) { @@ -160,21 +160,21 @@ { case FT_PIXEL_MODE_MONO: bpp = 1; - new_pitch = ( width + xpixels + 7 ) >> 3; + new_pitch = (int)( ( width + xpixels + 7 ) >> 3 ); break; case FT_PIXEL_MODE_GRAY2: bpp = 2; - new_pitch = ( width + xpixels + 3 ) >> 2; + new_pitch = (int)( ( width + xpixels + 3 ) >> 2 ); break; case FT_PIXEL_MODE_GRAY4: bpp = 4; - new_pitch = ( width + xpixels + 1 ) >> 1; + new_pitch = (int)( ( width + xpixels + 1 ) >> 1 ); break; case FT_PIXEL_MODE_GRAY: case FT_PIXEL_MODE_LCD: case FT_PIXEL_MODE_LCD_V: bpp = 8; - new_pitch = ( width + xpixels ); + new_pitch = (int)( width + xpixels ); break; default: return FT_THROW( Invalid_Glyph_Format ); @@ -184,7 +184,7 @@ if ( ypixels == 0 && new_pitch <= pitch ) { /* zero the padding */ - FT_UInt bit_width = pitch * 8; + FT_UInt bit_width = (FT_UInt)pitch * 8; FT_UInt bit_last = ( width + xpixels ) * bpp; @@ -227,8 +227,9 @@ for ( i = 0; i < bitmap->rows; i++ ) - FT_MEM_COPY( buffer + new_pitch * ( ypixels + i ), - bitmap->buffer + pitch * i, len ); + FT_MEM_COPY( buffer + (FT_UInt)new_pitch * ( ypixels + i ), + bitmap->buffer + (FT_UInt)pitch * i, + len ); } else { @@ -236,8 +237,9 @@ for ( i = 0; i < bitmap->rows; i++ ) - FT_MEM_COPY( buffer + new_pitch * i, - bitmap->buffer + pitch * i, len ); + FT_MEM_COPY( buffer + (FT_UInt)new_pitch * i, + bitmap->buffer + (FT_UInt)pitch * i, + len ); } FT_FREE( bitmap->buffer ); @@ -323,7 +325,8 @@ return FT_Err_Ok; } - error = ft_bitmap_assure_buffer( library->memory, bitmap, xstr, ystr ); + error = ft_bitmap_assure_buffer( library->memory, bitmap, + (FT_UInt)xstr, (FT_UInt)ystr ); if ( error ) return error; @@ -334,7 +337,7 @@ else { pitch = -pitch; - p = bitmap->buffer + pitch * ( bitmap->rows - 1 ); + p = bitmap->buffer + (FT_UInt)pitch * ( bitmap->rows - 1 ); } /* for each row */ @@ -407,8 +410,8 @@ p += bitmap->pitch; } - bitmap->width += xstr; - bitmap->rows += ystr; + bitmap->width += (FT_UInt)xstr; + bitmap->rows += (FT_UInt)ystr; return FT_Err_Ok; } @@ -501,7 +504,7 @@ if ( old_target_pitch < 0 ) old_target_pitch = -old_target_pitch; - old_size = target->rows * old_target_pitch; + old_size = target->rows * (FT_UInt)old_target_pitch; target->pixel_mode = FT_PIXEL_MODE_GRAY; target->rows = source->rows; @@ -510,20 +513,20 @@ pad = 0; if ( alignment > 0 ) { - pad = source->width % alignment; + pad = (FT_Int)source->width % alignment; if ( pad != 0 ) pad = alignment - pad; } - target_pitch = source->width + pad; + target_pitch = (FT_Int)source->width + pad; - if ( target_pitch > 0 && - (FT_ULong)target->rows > FT_ULONG_MAX / target_pitch ) + if ( target_pitch > 0 && + (FT_ULong)target->rows > FT_ULONG_MAX / (FT_ULong)target_pitch ) return FT_THROW( Invalid_Argument ); - if ( target->rows * target_pitch > old_size && + if ( target->rows * (FT_ULong)target_pitch > old_size && FT_QREALLOC( target->buffer, - old_size, target->rows * target_pitch ) ) + old_size, target->rows * (FT_UInt)target_pitch ) ) return error; target->pitch = target->pitch < 0 ? -target_pitch : target_pitch; @@ -539,9 +542,9 @@ /* take care of bitmap flow */ if ( source->pitch < 0 ) - s -= source->pitch * ( source->rows - 1 ); + s -= source->pitch * (FT_Int)( source->rows - 1 ); if ( target->pitch < 0 ) - t -= target->pitch * ( target->rows - 1 ); + t -= target->pitch * (FT_Int)( target->rows - 1 ); switch ( source->pixel_mode ) { @@ -604,7 +607,7 @@ case FT_PIXEL_MODE_LCD: case FT_PIXEL_MODE_LCD_V: { - FT_Int width = source->width; + FT_UInt width = source->width; FT_UInt i; diff --git a/src/base/fttrigon.c b/src/base/fttrigon.c index bdbc77b56..a55920efc 100644 --- a/src/base/fttrigon.c +++ b/src/base/fttrigon.c @@ -92,8 +92,8 @@ s = -1; } - lo1 = val & 0x0000FFFFU; - hi1 = val >> 16; + lo1 = (FT_UInt32)val & 0x0000FFFFU; + hi1 = (FT_UInt32)val >> 16; lo2 = FT_TRIG_SCALE & 0x0000FFFFU; hi2 = FT_TRIG_SCALE >> 16; @@ -120,7 +120,7 @@ lo += 0x40000000UL; hi += ( lo < 0x40000000UL ); - val = (FT_Fixed)hi; + val = (FT_Fixed)hi; return s < 0 ? -val : val; } @@ -139,7 +139,7 @@ x = vec->x; y = vec->y; - shift = FT_MSB( FT_ABS( x ) | FT_ABS( y ) ); + shift = FT_MSB( (FT_UInt32)( FT_ABS( x ) | FT_ABS( y ) ) ); if ( shift <= FT_TRIG_SAFE_MSB ) { @@ -450,7 +450,7 @@ v.x = ft_trig_downscale( v.x ); if ( shift > 0 ) - return ( v.x + ( 1 << ( shift - 1 ) ) ) >> shift; + return ( v.x + ( 1L << ( shift - 1 ) ) ) >> shift; return (FT_Fixed)( (FT_UInt32)v.x << -shift ); } diff --git a/src/base/ftutil.c b/src/base/ftutil.c index 221ce276d..8c15afc66 100644 --- a/src/base/ftutil.c +++ b/src/base/ftutil.c @@ -180,7 +180,7 @@ FT_Error *p_error ) { FT_Error error; - FT_Pointer p = ft_mem_qalloc( memory, size, &error ); + FT_Pointer p = ft_mem_qalloc( memory, (FT_Long)size, &error ); if ( !error && address )