summaryrefslogtreecommitdiffstats
path: root/RISCOS/Python/getmtime_riscos.c
blob: 9153638ffe95031dd3e74b0484f7a44ce46f1c4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>

#define __swi
#include "oslib/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;
}