|
|
1.1 root 1: /* Basic file operations (rename, unlink); once without sysroot. We
2: also test that the simulator has chdir:ed to PREFIX, when defined. */
3:
4: #include <stdio.h>
5: #include <stdlib.h>
6: #include <errno.h>
7: #include <sys/types.h>
8: #include <sys/stat.h>
9: #include <unistd.h>
10:
11: #ifndef PREFIX
12: #define PREFIX
13: #endif
14:
15: void err (const char *s)
16: {
17: perror (s);
18: abort ();
19: }
20:
21: int main (int argc, char *argv[])
22: {
23: FILE *f;
24: struct stat buf;
25:
26: unlink (PREFIX "testfoo2.tmp");
27:
28: f = fopen ("testfoo1.tmp", "w");
29: if (f == NULL)
30: err ("open");
31: fclose (f);
32:
33: if (rename (PREFIX "testfoo1.tmp", PREFIX "testfoo2.tmp") != 0)
34: err ("rename");
35:
36: if (stat (PREFIX "testfoo2.tmp", &buf) != 0
37: || !S_ISREG (buf.st_mode))
38: err ("stat 1");
39:
40: if (stat ("testfoo2.tmp", &buf) != 0
41: || !S_ISREG (buf.st_mode))
42: err ("stat 2");
43:
44: if (unlink (PREFIX "testfoo2.tmp") != 0)
45: err ("unlink");
46:
47: printf ("pass\n");
48: return 0;
49: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.