summaryrefslogtreecommitdiffstats
path: root/RISCOS/Python/getmtime_riscos.c
diff options
context:
space:
mode:
Diffstat (limited to 'RISCOS/Python/getmtime_riscos.c')
-rw-r--r--RISCOS/Python/getmtime_riscos.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/RISCOS/Python/getmtime_riscos.c b/RISCOS/Python/getmtime_riscos.c
new file mode 100644
index 0000000..cbd1669
--- /dev/null
+++ b/RISCOS/Python/getmtime_riscos.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+
+#define __swi
+#include "osfile.h"
+
+long PyOS_GetLastModificationTime(char *path, FILE *fp)
+{
+ int obj;
+ bits load, exec, ftype;
+
+ if (xosfile_read_stamped_no_path(path, &obj, &load, &exec, 0, 0, &ftype)) return -1;
+ if (obj != osfile_IS_FILE) return -1;
+ if (ftype == osfile_TYPE_UNTYPED) return -1;
+
+ load &= 0xFF;
+ load -= 51;
+ if (exec < 1855548004U) load--;
+ exec -= 1855548004U;
+ return exec/100+42949672*load+(95*load)/100;
+}