summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsuzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>2009-08-01 00:37:56 +0900
committersuzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>2009-08-01 00:37:56 +0900
commit3bda1f9949d20cc46fc76e3876bcff545cc8d665 (patch)
treea189032af7b74c707f958cda3b56c0b0d2b4d162
parent8eb551f1b3feaad1b0e389caba118a87f8d00f8b (diff)
downloadfreetype2-3bda1f9949d20cc46fc76e3876bcff545cc8d665.tar.gz
pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
-rw-r--r--ChangeLog9
-rw-r--r--src/pcf/pcfread.c9
2 files changed, 15 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ccb5c0d..f83c73f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
+
+ * src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
+ as FT_ULong value from PCF file, but truncate it as
+ int to fit PCF_Face->nprops. The number of truncated
+ properties is shown in the trace message.
+
+2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
gxvalid: Extend a few local variables to reduce the casts.
* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
index cdef433..a60505b 100644
--- a/src/pcf/pcfread.c
+++ b/src/pcf/pcfread.c
@@ -399,7 +399,7 @@ THE SOFTWARE.
{
PCF_ParseProperty props = 0;
PCF_Property properties;
- FT_UInt nprops, i;
+ FT_ULong nprops, i;
FT_ULong format, size;
FT_Error error;
FT_Memory memory = FT_FACE(face)->memory;
@@ -433,7 +433,10 @@ THE SOFTWARE.
if ( error )
goto Bail;
- FT_TRACE4(( " nprop = %d\n", nprops ));
+ FT_TRACE4(( " nprop = %d (truncate %d props)\n",
+ (int)nprops, nprops - (int)nprops ));
+
+ nprops = nprops - (int)nprops;
/* rough estimate */
if ( nprops > size / PCF_PROPERTY_SIZE )
@@ -442,7 +445,7 @@ THE SOFTWARE.
goto Bail;
}
- face->nprops = nprops;
+ face->nprops = (int)nprops;
if ( FT_NEW_ARRAY( props, nprops ) )
goto Bail;