main.c
605 Bytes
#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;
}