bdf: Fix some data types mismatching with their sources.
This commit is contained in:
parent
38e480b4c6
commit
660d651317
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
bdf: Fix some data types mismatching with their sources.
|
||||
|
||||
* src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type
|
||||
of `code' is matched with BDF_encoding_el->enc.
|
||||
(bdf_cmap_char_next): The type of `charcode' is
|
||||
matched with BDF_encoding_el->enc. When *acharcode
|
||||
is set by charcode, an overflow is checked and
|
||||
casted to unsigned 32-bit integer.
|
||||
|
||||
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
autofit: Improve Unicode range definitions.
|
||||
|
|
|
@ -101,7 +101,7 @@ THE SOFTWARE.
|
|||
|
||||
while ( min < max )
|
||||
{
|
||||
FT_UInt32 code;
|
||||
FT_ULong code;
|
||||
|
||||
|
||||
mid = ( min + max ) >> 1;
|
||||
|
@ -133,7 +133,7 @@ THE SOFTWARE.
|
|||
BDF_encoding_el* encodings = cmap->encodings;
|
||||
FT_ULong min, max, mid; /* num_encodings */
|
||||
FT_UShort result = 0; /* encodings->glyph */
|
||||
FT_UInt32 charcode = *acharcode + 1;
|
||||
FT_ULong charcode = *acharcode + 1;
|
||||
|
||||
|
||||
min = 0;
|
||||
|
@ -169,7 +169,14 @@ THE SOFTWARE.
|
|||
}
|
||||
|
||||
Exit:
|
||||
*acharcode = charcode;
|
||||
if ( charcode > 0xFFFFFFFFUL )
|
||||
{
|
||||
FT_TRACE1(( "bdf_cmap_char_next: charcode 0x%x > 32bit API" ));
|
||||
*acharcode = 0;
|
||||
/* XXX: result should be changed to indicate an overflow error */
|
||||
}
|
||||
else
|
||||
*acharcode = (FT_UInt32)charcode;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue