src/archiver_dir.c
changeset 1052 f87b0b7cca8e
parent 1016 957c97389257
child 1053 a277a93ac1aa
--- a/src/archiver_dir.c	Thu Feb 04 04:46:14 2010 -0500
+++ b/src/archiver_dir.c	Sun Feb 14 23:07:19 2010 -0500
@@ -169,6 +169,20 @@
 } /* DIR_getLastModTime */
 
 
+static int DIR_stat(dvoid *opaque, const char *name, PHYSFS_Stat *st)
+{
+    char *d = __PHYSFS_platformCvtToDependent((char *)opaque, name, NULL);
+    int retval = -1;
+
+    BAIL_IF_MACRO(d == NULL, NULL, -1);
+
+    retval = __PHYSFS_platformStat(d, st);
+
+    allocator.Free(d);
+    return(retval);
+} /* DIR_stat */
+
+
 static fvoid *doOpen(dvoid *opaque, const char *name,
                      void *(*openFunc)(const char *filename),
                      int *fileExists)
@@ -261,6 +275,7 @@
     DIR_openArchive,        /* openArchive() method    */
     DIR_enumerateFiles,     /* enumerateFiles() method */
     DIR_exists,             /* exists() method         */
+    DIR_stat,               /* stat() method           */
     DIR_isDirectory,        /* isDirectory() method    */
     DIR_isSymLink,          /* isSymLink() method      */
     DIR_getLastModTime,     /* getLastModTime() method */