pcf: Fix some data types mismatching with their sources.
This commit is contained in:
parent
be41d3e718
commit
eae89a7f07
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
||||||
|
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||||
|
|
||||||
|
pcf: Fix some data types mismatching with their sources.
|
||||||
|
|
||||||
|
* src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of
|
||||||
|
`code' is matched to PCF_Encoding->enc.
|
||||||
|
(pcf_cmap_char_next): The type of `charcode' is matched
|
||||||
|
to PCF_Encoding->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>
|
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||||
|
|
||||||
bdf: Improve bdf_property_t.value names for LP64 platforms.
|
bdf: Improve bdf_property_t.value names for LP64 platforms.
|
||||||
|
|
|
@ -111,7 +111,7 @@ THE SOFTWARE.
|
||||||
|
|
||||||
while ( min < max )
|
while ( min < max )
|
||||||
{
|
{
|
||||||
FT_UInt32 code;
|
FT_ULong code;
|
||||||
|
|
||||||
|
|
||||||
mid = ( min + max ) >> 1;
|
mid = ( min + max ) >> 1;
|
||||||
|
@ -140,7 +140,7 @@ THE SOFTWARE.
|
||||||
PCF_CMap cmap = (PCF_CMap)pcfcmap;
|
PCF_CMap cmap = (PCF_CMap)pcfcmap;
|
||||||
PCF_Encoding encodings = cmap->encodings;
|
PCF_Encoding encodings = cmap->encodings;
|
||||||
FT_UInt min, max, mid;
|
FT_UInt min, max, mid;
|
||||||
FT_UInt32 charcode = *acharcode + 1;
|
FT_ULong charcode = *acharcode + 1;
|
||||||
FT_UInt result = 0;
|
FT_UInt result = 0;
|
||||||
|
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ THE SOFTWARE.
|
||||||
|
|
||||||
while ( min < max )
|
while ( min < max )
|
||||||
{
|
{
|
||||||
FT_UInt32 code;
|
FT_ULong code;
|
||||||
|
|
||||||
|
|
||||||
mid = ( min + max ) >> 1;
|
mid = ( min + max ) >> 1;
|
||||||
|
@ -175,7 +175,14 @@ THE SOFTWARE.
|
||||||
}
|
}
|
||||||
|
|
||||||
Exit:
|
Exit:
|
||||||
*acharcode = charcode;
|
if ( charcode > 0xFFFFFFFFUL )
|
||||||
|
{
|
||||||
|
FT_TRACE1(( "pcf_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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue