1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| #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;
}
|