X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fptsname.m4;h=dd6f81dd14baade05be5fe0d4fb837ab39cc7da5;hb=72c63c089365640c7f1acd97fb72ee26932ac2b3;hp=4dba5f375ab411d1a7851c04f59499dea93ec626;hpb=30b81aa8c1b1d1beaa2057cfe9a6d589ccf334ad;p=gnulib.git diff --git a/m4/ptsname.m4 b/m4/ptsname.m4 index 4dba5f375..dd6f81dd1 100644 --- a/m4/ptsname.m4 +++ b/m4/ptsname.m4 @@ -1,5 +1,5 @@ -# ptsname.m4 serial 2 -dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. +# ptsname.m4 serial 3 +dnl Copyright (C) 2010-2013 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. @@ -14,6 +14,26 @@ AC_DEFUN([gl_FUNC_PTSNAME], AC_CHECK_FUNCS([ptsname]) if test $ac_cv_func_ptsname = no; then HAVE_PTSNAME=0 + else + AC_CACHE_CHECK([whether ptsname sets errno on failure], + [gl_cv_func_ptsname_sets_errno], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[#include + ]], [[ + return ptsname (-1) || !errno; + ]])], + [gl_cv_func_ptsname_sets_errno=yes], + [gl_cv_func_ptsname_sets_errno=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_ptsname_sets_errno="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_ptsname_sets_errno="guessing no" ;; + esac + ])]) + case $gl_cv_func_ptsname_sets_errno in + *no) REPLACE_PTSNAME=1 ;; + esac fi ])