X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fptsname.m4;h=97e1707e84de3a1a9b84fc57b7a942b24a3a83f2;hb=cd56634a4a8179fd5a4419fbb3e27211b042ab1c;hp=4dba5f375ab411d1a7851c04f59499dea93ec626;hpb=c6d98d8cd52c163c2dba42a41da25356c4dad9f0;p=gnulib.git diff --git a/m4/ptsname.m4 b/m4/ptsname.m4 index 4dba5f375..97e1707e8 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-2014 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 ])