Commit 00915574c39537b922b120bf6324754eb69e1b10

Werner Lemberg 2003-12-10T22:10:16

* src/base/ftobjs.c (load_mac_face): Recent versions of Linux support Mac's HFS+ file system, thus enable code to read /rsrc on non-Macintosh platforms also.

diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 8d1c5fa..70453c6 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -1520,13 +1520,7 @@
     if ( FT_ERROR_BASE( error ) == FT_Err_Unknown_File_Format )
       error = IsMacResource( library, stream, 0, face_index, aface );
 
-#ifdef FT_MACINTOSH
-    /*
-       I know this section is within code which is normally turned off
-       for the Mac.  It provides an alternative approach to reading the
-       mac resource forks on OS/X in the event that a user does not wish
-       to compile ftmac.c.
-     */
+    /* Only meaningful on sytems with hfs+ drivers (or Macs) */
 
     if ( ( FT_ERROR_BASE( error ) == FT_Err_Unknown_File_Format      ||
            FT_ERROR_BASE( error ) == FT_Err_Invalid_Stream_Operation )  &&
@@ -1540,8 +1534,10 @@
 
       memory = library->memory;
 
-      FT_ALLOC( newpath,
-                ft_strlen( args->pathname ) + ft_strlen( "/rsrc" ) + 1 );
+      if ( FT_ALLOC( newpath,
+                     ft_strlen( args->pathname ) + ft_strlen( "/rsrc" ) + 1 ) )
+        goto Fail;
+
       ft_strcpy( newpath, args->pathname );
       ft_strcat( newpath, "/rsrc" );
 
@@ -1556,8 +1552,7 @@
       FT_FREE( newpath );
     }
 
-#endif  /* FT_MACINTOSH */
-
+  Fail:
     return error;
   }