diff options
Diffstat (limited to 'Mac/Modules/macmodule.c')
-rw-r--r-- | Mac/Modules/macmodule.c | 33 |
1 files changed, 32 insertions, 1 deletions
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 @@ mac_stat(self, args) } 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 @@ 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 |