Index: src/sfnt/sfdriver.c
===================================================================
RCS file: /cvsroot/freetype/freetype2/src/sfnt/sfdriver.c,v
retrieving revision 1.74
diff -u -p -r1.74 sfdriver.c
--- src/sfnt/sfdriver.c	3 Mar 2005 17:09:07 -0000	1.74
+++ src/sfnt/sfdriver.c	25 May 2005 08:58:41 -0000
@@ -319,10 +319,24 @@
     FT_UNUSED( module );
 
     if ( ft_strcmp( module_interface, "get_sfnt" ) == 0 )
-      return (FT_Module_Interface)get_sfnt_table;
+    {
+      union {
+        FT_SFNT_TableGetFunc get_sfnt_table;
+	FT_Module_Interface iface;
+      } u;
+      u.get_sfnt_table = (FT_SFNT_TableGetFunc)get_sfnt_table;
+      return u.iface;
+    }
 
     if ( ft_strcmp( module_interface, "load_sfnt" ) == 0 )
-      return (FT_Module_Interface)tt_face_load_any;
+    {
+      union {
+        FT_SFNT_TableLoadFunc tt_face_load_any;
+	FT_Module_Interface iface;
+      } u;
+      u.tt_face_load_any = (FT_SFNT_TableLoadFunc)tt_face_load_any;
+      return u.iface;
+    }
 
     return ft_service_list_lookup( sfnt_services, module_interface );
   }

