bdf: Fix some data types mismatching with their sources.

This commit is contained in:
suzuki toshiya 2009-08-01 00:30:15 +09:00
parent 763b39496e
commit 2bbcb7edd8
3 changed files with 42 additions and 21 deletions

View File

@ -1,3 +1,25 @@
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
bdf: Fix some data types mismatching with their sources.
* bdflib.c (_bdf_list_ensure): The type of `num_items'
is matched with _bdf_list_t.used. Also the types of
`oldsize', `newsize', `bigsize' are matched too.
(_bdf_readstream): `cursor' is used as an offset to
the pointer, it should be typed as FT_Offset. Also
the types of `bytes', `start', `end', `avail' are matched.
* bdfdrivr.c: The type of BDF_CMap->num_encodings is
matched with FT_CMap->clazz->size.
(bdf_cmap_char_index): The types of `min', `max', `mid'
are matched with BDF_CMap->num_encodings. The type of
`result' is matched with encoding->glyph.
(bdf_cmap_char_next): Ditto, the type of `code' is
matched with BDF_encoding_el.enc.
(bdf_interpret_style): The type of `lengths' is changed
to size_t, to take the value by ft_strlen(). Also the
types of `len', `nn', `mm' are matched.
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
sfnt: Count the size of the memory object by ptrdiff_t.

View File

@ -53,7 +53,7 @@ THE SOFTWARE.
typedef struct BDF_CMapRec_
{
FT_CMapRec cmap;
FT_UInt num_encodings;
FT_ULong num_encodings; /* ftobjs.h: FT_CMap->clazz->size */
BDF_encoding_el* encodings;
} BDF_CMapRec, *BDF_CMap;
@ -92,8 +92,8 @@ THE SOFTWARE.
{
BDF_CMap cmap = (BDF_CMap)bdfcmap;
BDF_encoding_el* encodings = cmap->encodings;
FT_UInt min, max, mid;
FT_UInt result = 0;
FT_ULong min, max, mid; /* num_encodings */
FT_UShort result = 0; /* encodings->glyph */
min = 0;
@ -131,9 +131,9 @@ THE SOFTWARE.
{
BDF_CMap cmap = (BDF_CMap)bdfcmap;
BDF_encoding_el* encodings = cmap->encodings;
FT_UInt min, max, mid;
FT_ULong min, max, mid; /* num_encodings */
FT_UShort result = 0; /* encodings->glyph */
FT_UInt32 charcode = *acharcode + 1;
FT_UInt result = 0;
min = 0;
@ -141,7 +141,7 @@ THE SOFTWARE.
while ( min < max )
{
FT_UInt32 code;
FT_ULong code; /* same as BDF_encoding_el.enc */
mid = ( min + max ) >> 1;
@ -196,9 +196,8 @@ THE SOFTWARE.
bdf_font_t* font = bdf->bdffont;
bdf_property_t* prop;
int nn, len;
char* strings[4] = { NULL, NULL, NULL, NULL };
int lengths[4];
char* strings[4] = { NULL, NULL, NULL, NULL };
size_t nn, len, lengths[4];
face->style_flags = 0;
@ -284,7 +283,7 @@ THE SOFTWARE.
/* add_style_name and setwidth_name */
if ( nn == 0 || nn == 3 )
{
int mm;
size_t mm;
for ( mm = 0; mm < len; mm++ )

View File

@ -415,18 +415,18 @@
static FT_Error
_bdf_list_ensure( _bdf_list_t* list,
int num_items )
_bdf_list_ensure( _bdf_list_t* list,
unsigned long num_items ) /* same as _bdf_list_t.used */
{
FT_Error error = BDF_Err_Ok;
if ( num_items > (int)list->size )
if ( num_items > list->size )
{
int oldsize = list->size;
int newsize = oldsize + ( oldsize >> 1 ) + 4;
int bigsize = FT_INT_MAX / sizeof ( char* );
FT_Memory memory = list->memory;
unsigned long oldsize = list->size; /* same as _bdf_list_t.size */
unsigned long newsize = oldsize + ( oldsize >> 1 ) + 4;
unsigned long bigsize = (unsigned long)( FT_INT_MAX / sizeof ( char* ) );
FT_Memory memory = list->memory;
if ( oldsize == bigsize )
@ -614,8 +614,8 @@
{
_bdf_line_func_t cb;
unsigned long lineno, buf_size;
int refill, bytes, hold, to_skip;
int start, end, cursor, avail;
int refill, hold, to_skip;
ptrdiff_t bytes, start, end, cursor, avail;
char* buf = 0;
FT_Memory memory = stream->memory;
FT_Error error = BDF_Err_Ok;
@ -648,8 +648,8 @@
{
if ( refill )
{
bytes = (int)FT_Stream_TryRead( stream, (FT_Byte*)buf + cursor,
(FT_ULong)(buf_size - cursor) );
bytes = (ptrdiff_t)FT_Stream_TryRead( stream, (FT_Byte*)buf + cursor,
(FT_ULong)(buf_size - cursor) );
avail = cursor + bytes;
cursor = 0;
refill = 0;