-]], [int fd = open ("conftest.h", O_RDONLY);
- if (fd < 0) return 2;
- return !!fdopendir (fd);])],
- [gl_cv_func_fdopendir_works=yes],
- [gl_cv_func_fdopendir_works=no],
- [gl_cv_func_fdopendir_works="guessing no"])])
+#include <unistd.h>
+#if !HAVE_DECL_FDOPENDIR
+extern DIR *fdopendir (int);
+#endif
+]], [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;])],
+ [gl_cv_func_fdopendir_works=yes],
+ [gl_cv_func_fdopendir_works=no],
+ [gl_cv_func_fdopendir_works="guessing no"])])