- return 1;
- if (ttyname_r (fd, buf, sizeof (buf)) != 0)
- return 1;
- return 0;
-}], [gl_cv_func_ttyname_r_works=yes], [:], [:])
+ result |= 16;
+ else if (ttyname_r (fd, buf, sizeof (buf)) != 0)
+ result |= 17;
+ else if (ttyname_r (fd, buf, 1) == 0)
+ result |= 18;
+ return result;
+}]])],
+ [gl_cv_func_ttyname_r_works=yes],
+ [case $? in
+ 17 | 18) gl_cv_func_ttyname_r_works=no ;;
+ esac],
+ [:])