X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=m4%2Fdup.m4;fp=m4%2Fdup.m4;h=e30348c8cd42c2f670bd3b3c0ff2793b90e93fd0;hb=20fcfc81ece044b8b0a6768ec6cf47be4e22a2e6;hp=5105b6e431a9060983bf92ee6dd446cf5fa6913c;hpb=d57728a6ca2413a7c564d8b7bb13d9e5a5a180f3;p=debian%2Fgzip diff --git a/m4/dup.m4 b/m4/dup.m4 index 5105b6e..e30348c 100644 --- a/m4/dup.m4 +++ b/m4/dup.m4 @@ -1,5 +1,5 @@ -# dup.m4 serial 3 -dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +# dup.m4 serial 4 +dnl Copyright (C) 2011-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -19,6 +19,26 @@ AC_DEFUN([gl_FUNC_DUP], REPLACE_DUP=1 fi ]) + AC_CACHE_CHECK([whether dup works], [gl_cv_func_dup_works], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[#include + #include + #include ]], + [[/* On OS/2 kLIBC, dup does not work on a directory fd. */ + int fd = open (".", O_RDONLY); + return fd < 0 ? 1 : dup (fd) < 0 ? 2 : 0; + ]]) + ], + [gl_cv_func_dup_works=yes], + [gl_cv_func_dup_works=no], + [gl_cv_func_dup_works='guessing yes']) + ]) + case "$gl_cv_func_dup_works" in + *yes) ;; + *) + REPLACE_DUP=1 + ;; + esac ]) # Prerequisites of lib/dup.c.