diff options
| author | suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> | 2009-08-01 00:37:56 +0900 |
|---|---|---|
| committer | suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> | 2009-08-01 00:37:56 +0900 |
| commit | 3bda1f9949d20cc46fc76e3876bcff545cc8d665 (patch) | |
| tree | a189032af7b74c707f958cda3b56c0b0d2b4d162 | |
| parent | 8eb551f1b3feaad1b0e389caba118a87f8d00f8b (diff) | |
| download | freetype2-3bda1f9949d20cc46fc76e3876bcff545cc8d665.tar.gz | |
pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
| -rw-r--r-- | ChangeLog | 9 | ||||
| -rw-r--r-- | src/pcf/pcfread.c | 9 |
2 files changed, 15 insertions, 3 deletions
@@ -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; |
