Upload tizen 2.0 beta source
[framework/graphics/freetype.git] / src / psnames / psmodule.c
index 7528696..3619174 100644 (file)
 
 
 #ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
-  FT_DEFINE_SERVICE_PSCMAPSREC(pscmaps_interface, 
+  FT_DEFINE_SERVICE_PSCMAPSREC(pscmaps_interface,
     (PS_Unicode_ValueFunc)     ps_unicode_value,
     (PS_Unicodes_InitFunc)     ps_unicodes_init,
     (PS_Unicodes_CharIndexFunc)ps_unicodes_char_index,
 
 #else
 
-  FT_DEFINE_SERVICE_PSCMAPSREC(pscmaps_interface, 
+  FT_DEFINE_SERVICE_PSCMAPSREC(pscmaps_interface,
     0,
     0,
     0,
 #endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
 
 
-  FT_DEFINE_SERVICEDESCREC1(pscmaps_services, 
+  FT_DEFINE_SERVICEDESCREC1(pscmaps_services,
     FT_SERVICE_ID_POSTSCRIPT_CMAPS, &FT_PSCMAPS_INTERFACE_GET
   )
 
   psnames_get_service( FT_Module    module,
                        const char*  service_id )
   {
+    /* FT_PSCMAPS_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_PSCMAPS_SERVICES_GET, service_id );
   }
 #endif
 
   FT_DEFINE_MODULE(psnames_module_class,
-  
+
     0,  /* this is not a font driver, nor a renderer */
     sizeof ( FT_ModuleRec ),