Patch #567296 by Pim Buurman, slightly modified by me so it can be disabled
at compile time: use PBGetCatInfoSync() to get FInfo data in stead of
GetFInfo. The latter doesn't work for folders. The former does, at
least on OSX, and insofar the info makes sense for a folder.
diff --git a/Mac/Modules/macfsmodule.c b/Mac/Modules/macfsmodule.c
index 488dd7e..f8c3428 100644
--- a/Mac/Modules/macfsmodule.c
+++ b/Mac/Modules/macfsmodule.c
@@ -39,6 +39,13 @@
 
 #include "getapplbycreator.h"
 
+/*
+** The next define uses PBGetCatInfoSync for GetFInfo, allowing you
+** to get FInfo for folders. This works on OSX, but it may result
+** in problems on OS9, hence the define (for the time being).
+*/
+#define USE_CATINFO_FOR_FINFO
+
 #ifndef TARGET_API_MAC_OSX
 #include "pythonresources.h"
 extern PyMac_PrefRecord PyMac_options;
@@ -592,18 +599,33 @@
 {
 	OSErr err;
 	mfsiobject *fip;
-	
-	
+	CInfoPBRec pb;
+	FSSpec*	fss = &self->fsspec;
+
 	if (!PyArg_ParseTuple(args, ""))
 		return NULL;
 	if ( (fip=newmfsiobject()) == NULL )
 		return NULL;
+#ifdef USE_CATINFO_FOR_FINFO
+	pb.dirInfo.ioNamePtr = fss->name;
+	pb.dirInfo.ioFDirIndex = 0;
+	pb.dirInfo.ioVRefNum = fss->vRefNum;
+	pb.dirInfo.ioDrDirID = fss->parID;
+	err = PBGetCatInfoSync(&pb);
+	if ( err ) {
+		PyErr_Mac(ErrorObject, err);
+		Py_DECREF(fip);
+		return NULL;
+	}
+	memcpy(&fip->finfo, &pb.hFileInfo.ioFlFndrInfo, sizeof(FileInfo));
+#else
 	err = FSpGetFInfo(&self->fsspec, &fip->finfo);
 	if ( err ) {
 		PyErr_Mac(ErrorObject, err);
 		Py_DECREF(fip);
 		return NULL;
 	}
+#endif
 	return (PyObject *)fip;
 }