Moved PyMac_GetFullPath from macgetargv.c to macglue.c. It should
have been there in the first place.
diff --git a/Mac/Python/macgetargv.c b/Mac/Python/macgetargv.c
index bef197c..bc5bbd5 100644
--- a/Mac/Python/macgetargv.c
+++ b/Mac/Python/macgetargv.c
@@ -108,46 +108,6 @@
         return 0;
 }
 
-/* Given an FSSpec return a full, colon-separated pathname */
-
-OSErr
-PyMac_GetFullPath (FSSpec *fss, char *buf)
-{
-	short err;
-	FSSpec fss_parent, fss_current;
-	char tmpbuf[1024];
-	int plen;
-
-	fss_current = *fss;
-	plen = fss_current.name[0];
-	memcpy(buf, &fss_current.name[1], plen);
-	buf[plen] = 0;
-	/* Special case for disk names */
-	if ( fss_current.parID <= 1 ) {
-		buf[plen++] = ':';
-		buf[plen] = 0;
-		return 0;
-	}
-	while (fss_current.parID > 1) {
-    		/* Get parent folder name */
-                if (err = get_folder_parent(&fss_current, &fss_parent))
-             		return err;
-                fss_current = fss_parent;
-                /* Prepend path component just found to buf */
-    			plen = fss_current.name[0];
-    			if (strlen(buf) + plen + 1 > 1024) {
-    				/* Oops... Not enough space (shouldn't happen) */
-    				*buf = 0;
-    				return -1;
-    			}
-    			memcpy(tmpbuf, &fss_current.name[1], plen);
-    			tmpbuf[plen] = ':';
-    			strcpy(&tmpbuf[plen+1], buf);
-    			strcpy(buf, tmpbuf);
-        }
-        return 0;
-}
-
 /* Check that there aren't any args remaining in the event */
 
 static OSErr 
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index bf5e348..9df41fb 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -232,6 +232,66 @@
     }
 }
 
+/* Given an FSSpec, return the FSSpec of the parent folder */
+
+static OSErr
+get_folder_parent (FSSpec * fss, FSSpec * parent)
+{
+	CInfoPBRec rec;
+	short err;
+
+        * parent = * fss;
+        rec.hFileInfo.ioNamePtr = parent->name;
+        rec.hFileInfo.ioVRefNum = parent->vRefNum;
+        rec.hFileInfo.ioDirID = parent->parID;
+		rec.hFileInfo.ioFDirIndex = -1;
+        rec.hFileInfo.ioFVersNum = 0;
+        if (err = PBGetCatInfoSync (& rec))
+        	return err;
+        parent->parID = rec.dirInfo.ioDrParID;
+/*	parent->name[0] = 0; */
+        return 0;
+}
+
+/* Given an FSSpec return a full, colon-separated pathname */
+
+OSErr
+PyMac_GetFullPath (FSSpec *fss, char *buf)
+{
+	short err;
+	FSSpec fss_parent, fss_current;
+	char tmpbuf[1024];
+	int plen;
+
+	fss_current = *fss;
+	plen = fss_current.name[0];
+	memcpy(buf, &fss_current.name[1], plen);
+	buf[plen] = 0;
+	/* Special case for disk names */
+	if ( fss_current.parID <= 1 ) {
+		buf[plen++] = ':';
+		buf[plen] = 0;
+		return 0;
+	}
+	while (fss_current.parID > 1) {
+    		/* Get parent folder name */
+                if (err = get_folder_parent(&fss_current, &fss_parent))
+             		return err;
+                fss_current = fss_parent;
+                /* Prepend path component just found to buf */
+    			plen = fss_current.name[0];
+    			if (strlen(buf) + plen + 1 > 1024) {
+    				/* Oops... Not enough space (shouldn't happen) */
+    				*buf = 0;
+    				return -1;
+    			}
+    			memcpy(tmpbuf, &fss_current.name[1], plen);
+    			tmpbuf[plen] = ':';
+    			strcpy(&tmpbuf[plen+1], buf);
+    			strcpy(buf, tmpbuf);
+        }
+        return 0;
+}
 
 #ifdef USE_GUSI1
 /*