Bug499183 - FreeBSD: differences in avx-vmovq output
[valgrind.git] / memcheck / tests / freebsd / chflags.c
blobb32a44b4f4a043f0fb18d647e4f436c106067ad7
1 #include <sys/stat.h>
2 #include <unistd.h>
3 #include <fcntl.h>
4 #include <string.h>
5 #include <stdlib.h>
6 #include "../../memcheck.h"
9 int main()
11 const char* filename = strdup("chflags.tst");
12 int fd = open(filename, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
14 fchflags(fd, UF_APPEND);
16 // a couple of errors while the file is open
17 int badfd = fd;
18 unsigned long badflags = UF_NODUMP;
19 VALGRIND_MAKE_MEM_UNDEFINED(&badfd, sizeof(int));
20 VALGRIND_MAKE_MEM_UNDEFINED(&badflags, sizeof(unsigned long));
22 fchflags(badfd, UF_REPARSE);
23 fchflags(fd, badflags);
24 close(fd);
26 chflags(filename, UF_SYSTEM);
27 lchflags(filename, UF_SYSTEM);
28 chflagsat(AT_FDCWD, filename, UF_SYSTEM, 0);
30 chflags(filename, badflags);
31 lchflags(filename, badflags);
32 chflagsat(AT_FDCWD, filename, badflags, 0);
34 int badatflag;
35 chflagsat(AT_FDCWD, filename, UF_SYSTEM, badatflag);
37 free((void*)filename);
39 chflags(filename, UF_SYSTEM);
40 lchflags(filename, UF_SYSTEM);
41 chflagsat(AT_FDCWD, filename, UF_SYSTEM, 0);