-]], [int fd = open ("conftest.c", O_RDONLY);
- if (fd < 0) return 2;
- return !!fdopendir (fd);])],
+]], [int result = 0;
+ int fd = open ("conftest.c", O_RDONLY);
+ if (fd < 0) result |= 1;
+ if (fdopendir (fd)) result |= 2;
+ if (close (fd)) result |= 4;
+ return result;])],