Index: src/sfnt/sfdriver.c |
diff --git a/src/sfnt/sfdriver.c b/src/sfnt/sfdriver.c |
index 247aa679983053dbf025476a9fbf891461090427..847d83d2e81ada13ff4737a3619115250eb6c709 100644 |
--- a/src/sfnt/sfdriver.c |
+++ b/src/sfnt/sfdriver.c |
@@ -422,8 +422,19 @@ |
sfnt_get_interface( FT_Module module, |
const char* module_interface ) |
{ |
- FT_UNUSED( module ); |
+ /* FT_SFNT_SERVICES_GET derefers `library' in PIC mode */ |
+#ifdef FT_CONFIG_OPTION_PIC |
+ FT_Library library; |
+ |
+ if ( !module ) |
+ return NULL; |
+ library = module->library; |
+ if ( !library ) |
+ return NULL; |
+#else |
+ FT_UNUSED( module ); |
+#endif |
return ft_service_list_lookup( FT_SFNT_SERVICES_GET, module_interface ); |
} |
@@ -556,14 +567,14 @@ |
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ |
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS |
-#define PUT_EMBEDDED_BITMAPS(a) a |
+#define PUT_EMBEDDED_BITMAPS(a) a |
#else |
-#define PUT_EMBEDDED_BITMAPS(a) 0 |
+#define PUT_EMBEDDED_BITMAPS(a) 0 |
#endif |
#ifdef TT_CONFIG_OPTION_POSTSCRIPT_NAMES |
-#define PUT_PS_NAMES(a) a |
+#define PUT_PS_NAMES(a) a |
#else |
-#define PUT_PS_NAMES(a) 0 |
+#define PUT_PS_NAMES(a) 0 |
#endif |
FT_DEFINE_SFNT_INTERFACE(sfnt_interface, |
@@ -637,9 +648,9 @@ |
FT_DEFINE_MODULE(sfnt_module_class, |
- |
+ |
0, /* not a font driver or renderer */ |
- sizeof( FT_ModuleRec ), |
+ sizeof ( FT_ModuleRec ), |
"sfnt", /* driver name */ |
0x10000L, /* driver version 1.0 */ |