Fix compiler warnings.

* include/freetype/internal/ftmemory.h: Decorate memory allocation
macros with `FT_Long' where appropriate.
Remove duplicate of FT_MEM_QRENEW_ARRAY definition.

* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
cast.

* src/base/ftobjs.c: Add warning disabling pragma for MSVC while
including `md5.c'.

* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add
cast.

* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts.
(tt_sbit_decoder_load_bitmap): Beautification.

* src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize
variables (earlier).

* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler.

* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants
where appropriate.

* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
This commit is contained in:
Werner Lemberg 2013-06-05 13:43:20 +02:00
parent d963498faf
commit 45392b77a8
10 changed files with 144 additions and 70 deletions

View File

@ -1,3 +1,33 @@
2013-06-05 Werner Lemberg <wl@gnu.org>
Fix compiler warnings.
* include/freetype/internal/ftmemory.h: Decorate memory allocation
macros with `FT_Long' where appropriate.
Remove duplicate of FT_MEM_QRENEW_ARRAY definition.
* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
cast.
* src/base/ftobjs.c: Add warning disabling pragma for MSVC while
including `md5.c'.
* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add
cast.
* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts.
(tt_sbit_decoder_load_bitmap): Beautification.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize
variables (earlier).
* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler.
* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants
where appropriate.
* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
2013-06-04 Werner Lemberg <wl@gnu.org> 2013-06-04 Werner Lemberg <wl@gnu.org>
* src/cff/cf2font.c (cf2_getGlyphWidth): Initialize `advWidth'. * src/cff/cf2font.c (cf2_getGlyphWidth): Initialize `advWidth'.

View File

@ -141,8 +141,10 @@ FT_BEGIN_HEADER
const void* P ); const void* P );
#define FT_MEM_ALLOC( ptr, size ) \ #define FT_MEM_ALLOC( ptr, size ) \
FT_ASSIGNP_INNER( ptr, ft_mem_alloc( memory, (size), &error ) ) FT_ASSIGNP_INNER( ptr, ft_mem_alloc( memory, \
(FT_Long)(size), \
&error ) )
#define FT_MEM_FREE( ptr ) \ #define FT_MEM_FREE( ptr ) \
FT_BEGIN_STMNT \ FT_BEGIN_STMNT \
@ -154,45 +156,60 @@ FT_BEGIN_HEADER
FT_MEM_ALLOC( ptr, sizeof ( *(ptr) ) ) FT_MEM_ALLOC( ptr, sizeof ( *(ptr) ) )
#define FT_MEM_REALLOC( ptr, cursz, newsz ) \ #define FT_MEM_REALLOC( ptr, cursz, newsz ) \
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, 1, \ FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \
(cursz), (newsz), \ 1, \
(ptr), &error ) ) (FT_Long)(cursz), \
(FT_Long)(newsz), \
(ptr), \
&error ) )
#define FT_MEM_QALLOC( ptr, size ) \ #define FT_MEM_QALLOC( ptr, size ) \
FT_ASSIGNP_INNER( ptr, ft_mem_qalloc( memory, (size), &error ) ) FT_ASSIGNP_INNER( ptr, ft_mem_qalloc( memory, \
(FT_Long)(size), \
&error ) )
#define FT_MEM_QNEW( ptr ) \ #define FT_MEM_QNEW( ptr ) \
FT_MEM_QALLOC( ptr, sizeof ( *(ptr) ) ) FT_MEM_QALLOC( ptr, sizeof ( *(ptr) ) )
#define FT_MEM_QREALLOC( ptr, cursz, newsz ) \ #define FT_MEM_QREALLOC( ptr, cursz, newsz ) \
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, 1, \ FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \
(cursz), (newsz), \ 1, \
(ptr), &error ) ) (FT_Long)(cursz), \
(FT_Long)(newsz), \
(ptr), \
&error ) )
#define FT_MEM_QRENEW_ARRAY( ptr, cursz, newsz ) \ #define FT_MEM_ALLOC_MULT( ptr, count, item_size ) \
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, sizeof ( *(ptr) ), \ FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \
(cursz), (newsz), \ (FT_Long)(item_size), \
(ptr), &error ) ) 0, \
(FT_Long)(count), \
NULL, \
&error ) )
#define FT_MEM_ALLOC_MULT( ptr, count, item_size ) \ #define FT_MEM_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, (item_size), \ FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \
0, (count), \ (FT_Long)(itmsz), \
NULL, &error ) ) (FT_Long)(oldcnt), \
(FT_Long)(newcnt), \
(ptr), \
&error ) )
#define FT_MEM_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \ #define FT_MEM_QALLOC_MULT( ptr, count, item_size ) \
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, (itmsz), \ FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \
(oldcnt), (newcnt), \ (FT_Long)(item_size), \
(ptr), &error ) ) 0, \
(FT_Long)(count), \
NULL, \
&error ) )
#define FT_MEM_QALLOC_MULT( ptr, count, item_size ) \ #define FT_MEM_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz) \
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, (item_size), \ FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \
0, (count), \ (FT_Long)(itmsz), \
NULL, &error ) ) (FT_Long)(oldcnt), \
(FT_Long)(newcnt), \
#define FT_MEM_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz) \ (ptr), \
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, (itmsz), \ &error ) )
(oldcnt), (newcnt), \
(ptr), &error ) )
#define FT_MEM_SET_ERROR( cond ) ( (cond), error != 0 ) #define FT_MEM_SET_ERROR( cond ) ( (cond), error != 0 )
@ -236,26 +253,37 @@ FT_BEGIN_HEADER
/* _typed_ in order to automatically compute array element sizes. */ /* _typed_ in order to automatically compute array element sizes. */
/* */ /* */
#define FT_MEM_NEW_ARRAY( ptr, count ) \ #define FT_MEM_NEW_ARRAY( ptr, count ) \
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, sizeof ( *(ptr) ), \ FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \
0, (count), \ sizeof ( *(ptr) ), \
NULL, &error ) ) 0, \
(FT_Long)(count), \
NULL, \
&error ) )
#define FT_MEM_RENEW_ARRAY( ptr, cursz, newsz ) \ #define FT_MEM_RENEW_ARRAY( ptr, cursz, newsz ) \
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, sizeof ( *(ptr) ), \ FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \
(cursz), (newsz), \ sizeof ( *(ptr) ), \
(ptr), &error ) ) (FT_Long)(cursz), \
(FT_Long)(newsz), \
(ptr), \
&error ) )
#define FT_MEM_QNEW_ARRAY( ptr, count ) \ #define FT_MEM_QNEW_ARRAY( ptr, count ) \
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, sizeof ( *(ptr) ), \ FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \
0, (count), \ sizeof ( *(ptr) ), \
NULL, &error ) ) 0, \
(FT_Long)(count), \
#define FT_MEM_QRENEW_ARRAY( ptr, cursz, newsz ) \ NULL, \
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, sizeof ( *(ptr) ), \ &error ) )
(cursz), (newsz), \
(ptr), &error ) )
#define FT_MEM_QRENEW_ARRAY( ptr, cursz, newsz ) \
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \
sizeof ( *(ptr) ), \
(FT_Long)(cursz), \
(FT_Long)(newsz), \
(ptr), \
&error ) )
#define FT_ALLOC( ptr, size ) \ #define FT_ALLOC( ptr, size ) \
FT_MEM_SET_ERROR( FT_MEM_ALLOC( ptr, size ) ) FT_MEM_SET_ERROR( FT_MEM_ALLOC( ptr, size ) )

View File

@ -424,7 +424,7 @@
* So the formula is a * (1 - l). * So the formula is a * (1 - l).
*/ */
return FT_MulFix( 65535 - l, a ) >> 8; return (FT_Byte)( FT_MulFix( 65535 - l, a ) >> 8 );
} }

View File

@ -43,13 +43,28 @@
#ifdef FT_DEBUG_LEVEL_TRACE #ifdef FT_DEBUG_LEVEL_TRACE
#include FT_BITMAP_H #include FT_BITMAP_H
#define free md5_free /* suppress a shadow warning */
#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
/* We disable the warning `conversion from XXX to YYY, */
/* possible loss of data' in order to compile cleanly with */
/* the maximum level of warnings: `md5.c' is non-FreeType */
/* code, and it gets used during development builds only. */
#pragma warning( disable : 4244 )
#endif /* _MSC_VER */
/* it's easiest to include `md5.c' directly */ /* it's easiest to include `md5.c' directly */
#define free md5_free /* suppress a shadow warning */
#include "md5.c" #include "md5.c"
#undef free #undef free
#if defined( _MSC_VER )
#pragma warning( enable : 4244 )
#endif #endif
#endif /* FT_DEBUG_LEVEL_TRACE */
#define GRID_FIT_METRICS #define GRID_FIT_METRICS

View File

@ -789,7 +789,7 @@
case cf2_cmdESC: case cf2_cmdESC:
{ {
FT_Byte op2 = cf2_buf_readByte( charstring ); FT_Byte op2 = (FT_Byte)cf2_buf_readByte( charstring );
switch ( op2 ) switch ( op2 )

View File

@ -697,8 +697,8 @@
decoder->metrics->vertBearingX = vertBearingX; decoder->metrics->vertBearingX = vertBearingX;
decoder->metrics->vertBearingY = vertBearingY; decoder->metrics->vertBearingY = vertBearingY;
decoder->metrics->vertAdvance = vertAdvance; decoder->metrics->vertAdvance = vertAdvance;
decoder->metrics->width = (FT_UInt)decoder->bitmap->width; decoder->metrics->width = (FT_Byte)decoder->bitmap->width;
decoder->metrics->height = (FT_UInt)decoder->bitmap->rows; decoder->metrics->height = (FT_Byte)decoder->bitmap->rows;
Exit: Exit:
return error; return error;
@ -892,11 +892,13 @@
decoder->bitmap = orig; decoder->bitmap = orig;
if ( error || /* explicitly test against FT_Err_Ok to avoid compiler warnings */
/* (we do an assignment within a conditional) */
if ( error ||
( error = FT_Bitmap_Convert( library, ( error = FT_Bitmap_Convert( library,
&color, &color,
decoder->bitmap, decoder->bitmap,
1 ) ) ) 1 ) ) != FT_Err_Ok )
{ {
FT_Bitmap_Done( library, &color ); FT_Bitmap_Done( library, &color );
goto Fail; goto Fail;

View File

@ -109,11 +109,13 @@
#ifndef FT_CONFIG_OPTION_SUBPIXEL_RENDERING #ifndef FT_CONFIG_OPTION_SUBPIXEL_RENDERING
FT_Pos height_org, width_org; FT_Pos height_org, width_org;
#endif #endif
FT_Bitmap* bitmap; FT_Bitmap* bitmap = &slot->bitmap;
FT_Memory memory; FT_Memory memory = render->root.memory;
FT_Int hmul = mode == FT_RENDER_MODE_LCD; FT_Int hmul = mode == FT_RENDER_MODE_LCD;
FT_Int vmul = mode == FT_RENDER_MODE_LCD_V; FT_Int vmul = mode == FT_RENDER_MODE_LCD_V;
FT_Pos x_shift, y_shift, x_left, y_top; FT_Pos x_shift = 0;
FT_Pos y_shift = 0;
FT_Pos x_left, y_top;
FT_Raster_Params params; FT_Raster_Params params;
@ -175,9 +177,6 @@
else else
height = ( cbox.yMax - cbox.yMin ) >> 6; height = ( cbox.yMax - cbox.yMin ) >> 6;
bitmap = &slot->bitmap;
memory = render->root.memory;
#ifndef FT_CONFIG_OPTION_SUBPIXEL_RENDERING #ifndef FT_CONFIG_OPTION_SUBPIXEL_RENDERING
width_org = width; width_org = width;
height_org = height; height_org = height;

View File

@ -932,8 +932,8 @@
FT_Vector* vec = outline->points; FT_Vector* vec = outline->points;
FT_Vector* limit = outline->points + n_points; FT_Vector* limit = outline->points + n_points;
FT_Fixed x_scale; FT_Fixed x_scale = 0; /* pacify compiler */
FT_Fixed y_scale; FT_Fixed y_scale = 0;
FT_Bool do_scale = FALSE; FT_Bool do_scale = FALSE;

View File

@ -703,7 +703,7 @@
mmvar->num_axis = mmvar->num_axis =
fvar_head.axisCount; fvar_head.axisCount;
mmvar->num_designs = mmvar->num_designs =
~0; /* meaningless in this context; each glyph */ ~0U; /* meaningless in this context; each glyph */
/* may have a different number of designs */ /* may have a different number of designs */
/* (or tuples, as called by Apple) */ /* (or tuples, as called by Apple) */
mmvar->num_namedstyles = mmvar->num_namedstyles =

View File

@ -320,7 +320,7 @@
mmvar->num_axis = mmaster.num_axis; mmvar->num_axis = mmaster.num_axis;
mmvar->num_designs = mmaster.num_designs; mmvar->num_designs = mmaster.num_designs;
mmvar->num_namedstyles = ~0; /* Does not apply */ mmvar->num_namedstyles = ~0U; /* Does not apply */
mmvar->axis = (FT_Var_Axis*)&mmvar[1]; mmvar->axis = (FT_Var_Axis*)&mmvar[1];
/* Point to axes after MM_Var struct */ /* Point to axes after MM_Var struct */
mmvar->namedstyle = NULL; mmvar->namedstyle = NULL;
@ -333,8 +333,8 @@
mmvar->axis[i].def = ( mmvar->axis[i].minimum + mmvar->axis[i].def = ( mmvar->axis[i].minimum +
mmvar->axis[i].maximum ) / 2; mmvar->axis[i].maximum ) / 2;
/* Does not apply. But this value is in range */ /* Does not apply. But this value is in range */
mmvar->axis[i].strid = ~0; /* Does not apply */ mmvar->axis[i].strid = ~0U; /* Does not apply */
mmvar->axis[i].tag = ~0; /* Does not apply */ mmvar->axis[i].tag = ~0U; /* Does not apply */
if ( ft_strcmp( mmvar->axis[i].name, "Weight" ) == 0 ) if ( ft_strcmp( mmvar->axis[i].name, "Weight" ) == 0 )
mmvar->axis[i].tag = FT_MAKE_TAG( 'w', 'g', 'h', 't' ); mmvar->axis[i].tag = FT_MAKE_TAG( 'w', 'g', 'h', 't' );