dnl CF_FOPEN_BIN_R version: 1 updated: 2019/03/30 17:52:21
dnl --------------
dnl Check if fopen works when the "b" (binary) flag is added to the mode
dnl parameter.  POSIX ignores the "b", which c89 specified.  Some very old
dnl systems do not accept it.
AC_DEFUN([CF_FOPEN_BIN_R],[
AC_CACHE_CHECK(if fopen accepts explicit binary mode,cf_cv_fopen_bin_r,[
	AC_TRY_RUN([
#include <stdio.h>
int main(void) {
	FILE *fp = fopen("conftest.tmp", "wb");
	int rc = 0;
	if (fp != 0) {
		int p, q;
		for (p = 0; p < 256; ++p) {
			fputc(p, fp);
		}
		fclose(fp);
		fp = fopen("conftest.tmp", "rb");
		if (fp != 0) {
			for (p = 0; p < 256; ++p) {
				q = fgetc(fp);
				if (q != p) {
					rc = 1;
					break;
				}
			}
		} else {
			rc = 1;
		}
	} else {
		rc = 1;
	}
	${cf_cv_main_return:-return} (rc);
}
],
		[cf_cv_fopen_bin_r=yes],
		[cf_cv_fopen_bin_r=no],
		[cf_cv_fopen_bin_r=unknown])
])
test "x$cf_cv_fopen_bin_r" != xno && AC_DEFINE(USE_FOPEN_BIN_R)
])dnl
