11
char nonexistent_name[] = "noexist-##";
13
void create_file(const char *path, const char *buffer, int mode) {
14
int fd = open(path, O_WRONLY | O_CREAT | O_EXCL, mode);
17
int err = write(fd, buffer, sizeof(char) * strlen(buffer));
18
assert(err == (sizeof(char) * strlen(buffer)));
24
create_file("test-file", "abcdef", 0777);
25
mkdir("test-folder", 0777);
31
for (int i = 0; i < 3; i++) {
32
for (int j = 0; j < 16; j++) {
33
nonexistent_name[8] = 'a' + i;
34
nonexistent_name[9] = 'a' + j;
35
unlink(nonexistent_name);
9
43
int modes[] = {O_RDONLY, O_WRONLY, O_RDWR};
10
char nonexistent_name[] = "/noexist-##";
12
45
for (int i = 0; i < 3; i++) {
13
46
for (int j = 0; j < 16; j++) {
18
51
if (j & 0x8) flags |= O_APPEND;
20
53
printf("EXISTING FILE %d,%d\n", i, j);
21
printf("success: %d\n", open("/test-file", flags, 0777) != -1);
54
printf("success: %d\n", open("test-file", flags, 0777) != -1);
22
55
printf("errno: %d\n", errno);
23
stat("/test-file", &s);
56
stat("test-file", &s);
24
57
printf("st_mode: 0%o\n", s.st_mode & 037777777000);
25
58
memset(&s, 0, sizeof s);
29
62
printf("EXISTING FOLDER %d,%d\n", i, j);
30
printf("success: %d\n", open("/test-folder", flags, 0777) != -1);
63
printf("success: %d\n", open("test-folder", flags, 0777) != -1);
31
64
printf("errno: %d\n", errno);
32
stat("/test-folder", &s);
65
stat("test-folder", &s);
33
66
printf("st_mode: 0%o\n", s.st_mode & 037777777000);
34
67
memset(&s, 0, sizeof s);
38
nonexistent_name[9] = 'a' + i;
39
nonexistent_name[10] = 'a' + j;
71
nonexistent_name[8] = 'a' + i;
72
nonexistent_name[9] = 'a' + j;
40
73
printf("NON-EXISTING %d,%d\n", i, j);
41
74
printf("success: %d\n", open(nonexistent_name, flags, 0777) != -1);
42
75
printf("errno: %d\n", errno);
52
printf("success: %d\n", creat("/creat-me", 0777) != -1);
85
printf("success: %d\n", creat("creat-me", 0777) != -1);
53
86
printf("errno: %d\n", errno);
91
signal(SIGABRT, cleanup);