]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
add xstat (extended stat, returns resource fork size and creator/type)
authorGuido van Rossum <guido@python.org>
Tue, 8 Aug 1995 14:10:22 +0000 (14:10 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 8 Aug 1995 14:10:22 +0000 (14:10 +0000)
Mac/Modules/macmodule.c

index 239e1a5aec5eb3dc9603f5c6d4a86e03d3ca4dfe..16ab2ffef366cce1de82b380e4dbb8f7a6811adc 100644 (file)
@@ -410,6 +410,37 @@ mac_stat(self, args)
                    (long)st.st_ctime);
 }
 
+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;
@@ -454,7 +485,6 @@ mac_write(self, args)
 }
 #endif /* !__MWERKS__ */
 
-#undef MALLOC_DEBUG
 #ifdef MALLOC_DEBUG
 static object *
 mac_mstats(self, args)
@@ -492,6 +522,7 @@ static struct methodlist mac_methods[] = {
        {"rename",      mac_rename},
        {"rmdir",       mac_rmdir},
        {"stat",        mac_stat},
+       {"xstat",       mac_xstat},
        {"sync",        mac_sync},
        {"unlink",      mac_unlink},
 #ifndef CW4