shithub: freetype+ttf2subf

Download patch

ref: 837285e40772aa10338bcb1fa5118ec93d575a8d
parent: abb33121ee8fc2f3fcc5182a7e9a5be97b2e4946
author: Werner Lemberg <[email protected]>
date: Mon Nov 9 04:20:08 EST 2015

[truetype] Remove integer to pointer conversion compiler warning.

Problem reported by Alexei.

* src/truetype/ttgload.c (load_truetype_glyph): Use a solution found
in the glib library to fix the issue.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2015-11-09  Werner Lemberg  <[email protected]>
+
+	[truetype] Remove integer to pointer conversion compiler warning.
+
+	Problem reported by Alexei.
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Use a solution found
+	in the glib library to fix the issue.
+
 2015-11-08  Behdad Esfahbod  <[email protected]>
 
 	[sfnt] Accept version 3 of `EBLC' and `CBLC' tables also.
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -1641,8 +1641,16 @@
       FT_ULong  ins_pos;  /* position of composite instructions, if any */
 
 
+      /*
+       * We store the glyph index directly in the `node->data' pointer,
+       * following the glib solution (cf. macro `GUINT_TO_POINTER') with a
+       * double cast to make this portable.  Note, however, that this needs
+       * pointers with a width of at least 32 bits.
+       */
+
       /* check whether we already have a composite glyph with this index */
-      if ( FT_List_Find( &loader->composites, (void*)glyph_index ) )
+      if ( FT_List_Find( &loader->composites,
+                         (void*)(unsigned long)glyph_index ) )
       {
         FT_TRACE1(( "TT_Load_Composite_Glyph:"
                     " infinite recursion detected\n" ));
@@ -1656,7 +1664,7 @@
 
         if ( FT_NEW( node ) )
           goto Exit;
-        node->data = (void*)glyph_index;
+        node->data = (void*)(unsigned long)glyph_index;
         FT_List_Add( &loader->composites, node );
       }