| #include <sys/types.h> | |
| #include <sys/stat.h> | |
| #include <unistd.h> | |
| #include <errno.h> | |
| #include <stdio.h> | |
| int | |
| main (int argc, char const **argv) | |
| { | |
| struct stat buf; | |
| int i, rv = 0; // Set breakpoint here. | |
| // Make sure stdin/stdout/stderr exist. | |
| for (i = 0; i <= 2; ++i) { | |
| if (fstat(i, &buf) != 0) | |
| return 1; | |
| } | |
| // Make sure no other file descriptors are open. | |
| for (i = 3; i <= 256; ++i) { | |
| if (fstat(i, &buf) == 0 || errno != EBADF) { | |
| fprintf(stderr, "File descriptor %d is open.\n", i); | |
| rv = 2; | |
| } | |
| } | |
| return rv; | |
| } |