[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: openpty module broken on Solaris
From: |
Paul Eggert |
Subject: |
Re: openpty module broken on Solaris |
Date: |
Fri, 08 Feb 2013 08:09:53 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 |
Thanks for the diagnosis. I should have proofread the Jan 31
openpty patch better. Reuben, if the openpty module is used,
application code should not inspect HAVE_OPENPTY to decide whether
to use openpty -- instead, the idea is that application code can
simply invoke openpty as if it were a GNU platform.
I pushed the following further patch to try to fix this.
---
ChangeLog | 10 ++++++++++
m4/pty.m4 | 18 ++++++++----------
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index aee3765..9f1b60f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2013-02-08 Paul Eggert <address@hidden>
+
+ openpty: fix bug where HAVE_OPENPTY is mistakenly 1
+ Problem reported by Mats Erik Andersson in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
+ * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
+ openpty function exists, not merely when we intend to replace it.
+ This corrects the 2013-01-31 patch, which mistakenly defined
+ HAVE_OPENPTY even on hosts that lacked it.
+
2013-02-07 Paul Eggert <address@hidden>
secure_getenv: fix include typo
diff --git a/m4/pty.m4 b/m4/pty.m4
index 12e681b..f889831 100644
--- a/m4/pty.m4
+++ b/m4/pty.m4
@@ -98,6 +98,8 @@ AC_DEFUN([gl_FUNC_OPENPTY],
#endif
]])
if test $ac_cv_have_decl_openpty = yes; then
+ AC_DEFINE([HAVE_OPENPTY], [1],
+ [Define to 1 if the system has the 'openpty' function.])
dnl The system has openpty.
dnl Prefer glibc's const-safe prototype, if available.
AC_CACHE_CHECK([for const-safe openpty signature],
@@ -122,18 +124,14 @@ AC_DEFUN([gl_FUNC_OPENPTY],
],
[gl_cv_func_openpty_const=yes], [gl_cv_func_openpty_const=no])
])
- fi
- if test $gl_cv_func_openpty_const = yes; then
- HAVE_OPENPTY=1
+ if test $gl_cv_func_openpty_const != yes; then
+ REPLACE_OPENPTY=1
+ fi
else
- dnl We need gnulib's openpty.
+ dnl The system does not have openpty.
+ HAVE_OPENPTY=0
dnl Prerequisites of lib/openpty.c in this case.
- AC_CHECK_FUNCS([_getpty posix_openpt], [HAVE_OPENPTY=1], [HAVE_OPENPTY=0])
- REPLACE_OPENPTY=$HAVE_OPENPTY
- fi
- if test $HAVE_OPENPTY = 1; then
- AC_DEFINE([HAVE_OPENPTY], [1],
- [Define to 1 if the system has the 'openpty' function.])
+ AC_CHECK_FUNCS([_getpty posix_openpt])
fi
])
--
1.7.11.7