blob: 8e9a80216d35174858dd94fc0b657d1fdde3a1f8 [file] [edit]
#include <assert.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
int main() {
// Opening either the target or source should work
assert(open("filename", O_RDONLY) >= 0);
assert(open("linkname", O_RDONLY) >= 0);
// But adding O_NOFOLLOW should cause the opening on the link to
// fail with ELOOP
assert(open("linkname", O_NOFOLLOW | O_RDONLY) < 0);
assert(errno == ELOOP);
assert(open("filename", O_NOFOLLOW | O_RDONLY) >= 0);
printf("success\n");
return 0;
}