add xstat (extended stat, returns resource fork size and creator/type)
diff --git a/Mac/Modules/macmodule.c b/Mac/Modules/macmodule.c
index 239e1a5..16ab2ff 100644
--- a/Mac/Modules/macmodule.c
+++ b/Mac/Modules/macmodule.c
@@ -411,6 +411,37 @@
 }
 
 static object *
+mac_xstat(self, args)
+	object *self;
+	object *args;
+{
+	struct macstat st;
+	char *path;
+	int res;
+	if (!getargs(args, "s", &path))
+		return NULL;
+	BGN_SAVE
+	res = macstat(path, &st);
+	END_SAVE
+	if (res != 0)
+		return mac_error();
+	return mkvalue("(llllllllllls#s#)",
+		    (long)st.st_mode,
+		    (long)st.st_ino,
+		    (long)st.st_dev,
+		    (long)st.st_nlink,
+		    (long)st.st_uid,
+		    (long)st.st_gid,
+		    (long)st.st_size,
+		    (long)st.st_atime,
+		    (long)st.st_mtime,
+		    (long)st.st_ctime,
+		    (long)st.st_rsize,
+		    st.st_creator, 4,
+		    st.st_type, 4);
+}
+
+static object *
 mac_sync(self, args)
 	object *self;
 	object *args;
@@ -454,7 +485,6 @@
 }
 #endif /* !__MWERKS__ */
 
-#undef MALLOC_DEBUG
 #ifdef MALLOC_DEBUG
 static object *
 mac_mstats(self, args)
@@ -492,6 +522,7 @@
 	{"rename",	mac_rename},
 	{"rmdir",	mac_rmdir},
 	{"stat",	mac_stat},
+	{"xstat",	mac_xstat},
 	{"sync",	mac_sync},
 	{"unlink",	mac_unlink},
 #ifndef CW4