summaryrefslogtreecommitdiff
path: root/file_io/os2/filestat.c
diff options
context:
space:
mode:
Diffstat (limited to 'file_io/os2/filestat.c')
-rw-r--r--file_io/os2/filestat.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/file_io/os2/filestat.c b/file_io/os2/filestat.c
index 0414c7150..e6410e254 100644
--- a/file_io/os2/filestat.c
+++ b/file_io/os2/filestat.c
@@ -225,5 +225,16 @@ APR_DECLARE(apr_status_t) apr_file_mtime_set(const char *fname,
apr_time_t mtime,
apr_pool_t *pool)
{
- return APR_ENOTIMPL;
+ FILESTATUS3 fs3;
+ ULONG rc;
+ rc = DosQueryPathInfo(fname, FIL_STANDARD, &fs3, sizeof(fs3));
+
+ if (rc) {
+ return APR_FROM_OS_ERROR(rc);
+ }
+
+ apr_apr_time_to_os2_time(&fs3.fdateLastWrite, &fs3.ftimeLastWrite, mtime);
+
+ rc = DosSetPathInfo(fname, FIL_STANDARD, &fs3, sizeof(fs3), 0);
+ return APR_FROM_OS_ERROR(rc);
}