diff --git a/archivers/grp.c b/archivers/grp.c index 6959735..e05d76b 100644 --- a/archivers/grp.c +++ b/archivers/grp.c @@ -76,6 +76,7 @@ static LinkedStringList *GRP_enumerateFiles(DirHandle *h, static int GRP_exists(DirHandle *h, const char *name); static int GRP_isDirectory(DirHandle *h, const char *name); static int GRP_isSymLink(DirHandle *h, const char *name); +static PHYSFS_sint64 GRP_getLastModTime(DirHandle *h, const char *name); static FileHandle *GRP_openRead(DirHandle *h, const char *name); static const FileFunctions __PHYSFS_FileFunctions_GRP = @@ -98,7 +99,7 @@ const DirFunctions __PHYSFS_DirFunctions_GRP = GRP_exists, /* exists() method */ GRP_isDirectory, /* isDirectory() method */ GRP_isSymLink, /* isSymLink() method */ - NULL, /* getLastModTime() method */ + GRP_getLastModTime, /* getLastModTime() method */ GRP_openRead, /* openRead() method */ NULL, /* openWrite() method */ NULL, /* openAppend() method */ @@ -404,6 +405,13 @@ static int GRP_isSymLink(DirHandle *h, const char *name) } /* GRP_isSymLink */ +static PHYSFS_sint64 GRP_getLastModTime(DirHandle *h, const char *name) +{ + /* Just return the time of the GRP itself in the physical filesystem. */ + return(__PHYSFS_platformGetLastModTime(((GRPinfo *) h->opaque)->filename)); +} /* GRP_getLastModTime */ + + static FileHandle *GRP_openRead(DirHandle *h, const char *name) { const char *filename = ((GRPinfo *) h->opaque)->filename;