threads / patch / 12634

v7autoconf: Test FREAD_READS_DIRECTORIES

Subject: [PATCH v7] autoconf: Test FREAD_READS_DIRECTORIES

## tl;dr

2 messages between Mar 11, 2008 and Mar 11, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Michal Rokos· Mar 11, 2008, 08:48 UTC · lore

Add test for FREAD_READS_DIRECTORIES to detect when fread() reads fopen'ed directory.

Tested on: AIX 5.3 - FREAD_READS_DIRECTORIES=UnfortunatelyYes HP-UX B.11.11 - FREAD_READS_DIRECTORIES=UnfortunatelyYes HP-UX B.11.23 - FREAD_READS_DIRECTORIES=UnfortunatelyYes Linux 2.6.25-rc4 - FREAD_READS_DIRECTORIES= Tru64 V5.1 - FREAD_READS_DIRECTORIES=UnfortunatelyYes Windows - FREAD_READS_DIRECTORIES=

Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
Tested-by: Mike Ralphson <mike@abacus.co.uk>
Tested-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Show changes to 2 files +21 −0

config.mak.in, configure.ac

diff --git a/config.mak.in b/config.mak.in
index 8e1cd5f..7868dfd 100644
--- a/config.mak.in
+++ b/config.mak.in
@@ -46,4 +46,5 @@ NO_MKDTEMP=@NO_MKDTEMP@
 NO_ICONV=@NO_ICONV@
 OLD_ICONV=@OLD_ICONV@
 NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@
+FREAD_READS_DIRECTORIES=@FREAD_READS_DIRECTORIES@
 SNPRINTF_RETURNS_BOGUS=@SNPRINTF_RETURNS_BOGUS@
diff --git a/configure.ac b/configure.ac
index 287149d..82584e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -327,6 +327,26 @@ else
 fi
 AC_SUBST(NO_C99_FORMAT)
 #
+# Define FREAD_READS_DIRECTORIES if your are on a system which succeeds
+# when attempting to read from an fopen'ed directory.
+AC_CACHE_CHECK([whether system succeeds to read fopen'ed directory],
+ [ac_cv_fread_reads_directories],
+[
+AC_RUN_IFELSE(
+	[AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
+		[[char c;
+		FILE *f = fopen(".", "r");
+		return f && fread(&c, 1, 1, f)]])],
+	[ac_cv_fread_reads_directories=no],
+	[ac_cv_fread_reads_directories=yes])
+])
+if test $ac_cv_fread_reads_directories = yes; then
+	FREAD_READS_DIRECTORIES=UnfortunatelyYes
+else
+	FREAD_READS_DIRECTORIES=
+fi
+AC_SUBST(FREAD_READS_DIRECTORIES)
+#
 # Define SNPRINTF_RETURNS_BOGUS if your are on a system which snprintf()
 # or vsnprintf() return -1 instead of number of characters which would
 # have been written to the final string if enough space had been available.
Mitch Tishmack· Mar 11, 2008, 20:46 UTC · re: Michal Rokos · lore

Re: [PATCH v7] autoconf: Test FREAD_READS_DIRECTORIES

Can add these systems.
OS X 10.5 x86 - FREAD_READS_DIRECTORIES=UnfortunatelyYes
Tested-by: Mitch Tishmack <mitch.tishmack@gmail.com>
Solaris 10 Update 4 (08/07) x86 - FREAD_READS_DIRECTORIES=
Tested-by: Mitch Tishmack <mitch.tishmack@gmail.com>
mitch
On Mar 11, 2008, at 03:48 AM, Michal Rokos wrote:
Show 64 quoted lines
> Add test for FREAD_READS_DIRECTORIES to detect when fread() reads  
> fopen'ed
> directory.
>
> Tested on:
> AIX 5.3 - FREAD_READS_DIRECTORIES=UnfortunatelyYes
> HP-UX B.11.11 - FREAD_READS_DIRECTORIES=UnfortunatelyYes
> HP-UX B.11.23 - FREAD_READS_DIRECTORIES=UnfortunatelyYes
> Linux 2.6.25-rc4 - FREAD_READS_DIRECTORIES=
> Tru64 V5.1 - FREAD_READS_DIRECTORIES=UnfortunatelyYes
> Windows - FREAD_READS_DIRECTORIES=
>
> Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
> Tested-by: Mike Ralphson <mike@abacus.co.uk>
> Tested-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
>
> diff --git a/config.mak.in b/config.mak.in
> index 8e1cd5f..7868dfd 100644
> --- a/config.mak.in
> +++ b/config.mak.in
> @@ -46,4 +46,5 @@ NO_MKDTEMP=@NO_MKDTEMP@
> NO_ICONV=@NO_ICONV@
> OLD_ICONV=@OLD_ICONV@
> NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@
> +FREAD_READS_DIRECTORIES=@FREAD_READS_DIRECTORIES@
> SNPRINTF_RETURNS_BOGUS=@SNPRINTF_RETURNS_BOGUS@
> diff --git a/configure.ac b/configure.ac
> index 287149d..82584e9 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -327,6 +327,26 @@ else
> fi
> AC_SUBST(NO_C99_FORMAT)
> #
> +# Define FREAD_READS_DIRECTORIES if your are on a system which  
> succeeds
> +# when attempting to read from an fopen'ed directory.
> +AC_CACHE_CHECK([whether system succeeds to read fopen'ed directory],
> + [ac_cv_fread_reads_directories],
> +[
> +AC_RUN_IFELSE(
> +	[AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
> +		[[char c;
> +		FILE *f = fopen(".", "r");
> +		return f && fread(&c, 1, 1, f)]])],
> +	[ac_cv_fread_reads_directories=no],
> +	[ac_cv_fread_reads_directories=yes])
> +])
> +if test $ac_cv_fread_reads_directories = yes; then
> +	FREAD_READS_DIRECTORIES=UnfortunatelyYes
> +else
> +	FREAD_READS_DIRECTORIES=
> +fi
> +AC_SUBST(FREAD_READS_DIRECTORIES)
> +#
> # Define SNPRINTF_RETURNS_BOGUS if your are on a system which  
> snprintf()
> # or vsnprintf() return -1 instead of number of characters which would
> # have been written to the final string if enough space had been  
> available.
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

← back to recent threads