ยปCore Development>Code coverage>RISCOS/unixstuff.c

Python code coverage for RISCOS/unixstuff.c

#countcontent
1n/a/* Fudge unix isatty and fileno for RISCOS */
2n/a
3n/a#include "unixstuff.h"
4n/a#include <math.h>
5n/a#include <time.h>
6n/a#include "oslib/osfile.h"
7n/a
8n/aint fileno(FILE *f)
9n/a{ return (int)f;
10n/a}
11n/a
12n/aint isatty(int fn)
13n/a{ return (fn==fileno(stdin));
14n/a}
15n/a
16n/abits unixtime(bits ld,bits ex)
17n/a{ ld&=0xFF;
18n/a ld-=51;
19n/a if(ex<1855547904U) ld--;
20n/a ex-=1855548004U;
21n/a return ex/100+42949673U*ld-ld/25;
22n/a}
23n/a
24n/a
25n/a/* from RISC OS infozip, preserves filetype in ld */
26n/aint acorntime(bits *ex, bits *ld, time_t utime)
27n/a{
28n/a unsigned timlo; /* 3 lower bytes of acorn file-time plus carry byte */
29n/a unsigned timhi; /* 2 high bytes of acorn file-time */
30n/a
31n/a timlo = ((unsigned)utime & 0x00ffffffU) * 100 + 0x00996a00U;
32n/a timhi = ((unsigned)utime >> 24);
33n/a timhi = timhi * 100 + 0x0000336eU + (timlo >> 24);
34n/a if (timhi & 0xffff0000U)
35n/a return 1; /* calculation overflow, do not change time */
36n/a
37n/a /* insert the five time bytes into loadaddr and execaddr variables */
38n/a *ex = (timlo & 0x00ffffffU) | ((timhi & 0x000000ffU) << 24);
39n/a *ld = (*ld & 0xffffff00U) | ((timhi >> 8) & 0x000000ffU);
40n/a
41n/a return 0; /* subject to future extension to signal overflow */
42n/a}
43n/a
44n/a
45n/aint isdir(char *fn)
46n/a{ int ob;
47n/a if(xosfile_read_stamped_no_path(fn,&ob,0,0,0,0,0)) return 0;
48n/a switch (ob)
49n/a { case osfile_IS_DIR:return 1;
50n/a case osfile_IS_IMAGE:return 1;
51n/a }
52n/a return 0;
53n/a}
54n/a
55n/aint isfile(char *fn)
56n/a{ int ob;
57n/a if(xosfile_read_stamped_no_path(fn,&ob,0,0,0,0,0)) return 0;
58n/a switch (ob)
59n/a { case osfile_IS_FILE:return 1;
60n/a case osfile_IS_IMAGE:return 1;
61n/a }
62n/a return 0;
63n/a}
64n/a
65n/aint object_exists(char *fn)
66n/a{ int ob;
67n/a if(xosfile_read_stamped_no_path(fn,&ob,0,0,0,0,0)) return 0;
68n/a switch (ob)
69n/a { case osfile_IS_FILE:return 1;
70n/a case osfile_IS_DIR:return 1;
71n/a case osfile_IS_IMAGE:return 1;
72n/a }
73n/a return 0;
74n/a}