diff options
-rw-r--r-- | apt-pkg/deb/dpkgpm.cc | 5 | ||||
-rw-r--r-- | buildlib/config.h.in | 3 | ||||
-rw-r--r-- | configure.ac | 3 |
3 files changed, 11 insertions, 0 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 0f195b921..5c7710036 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1082,8 +1082,13 @@ void pkgDPkgPM::StartPtyMagic() _error->Errno("unlockpt", "Unlocking the slave of master fd %d failed!", d->master); else { +#ifdef HAVE_PTS_NAME_R + char slave_name[64]; // 64 is used by bionic + if (ptsname_r(d->master, slave_name, sizeof(slave_name)) != 0) +#else char const * const slave_name = ptsname(d->master); if (slave_name == NULL) +#endif _error->Errno("ptsname", "Getting name for slave of master fd %d failed!", d->master); else { diff --git a/buildlib/config.h.in b/buildlib/config.h.in index c6b1ee669..a887ebf88 100644 --- a/buildlib/config.h.in +++ b/buildlib/config.h.in @@ -34,6 +34,9 @@ #undef HAVE_SETRESUID #undef HAVE_SETRESGID +/* Check for ptsname_r() */ +#undef HAVE_PTSNAME_R + /* Define to the size of the filesize containing structures */ #undef _FILE_OFFSET_BITS diff --git a/configure.ac b/configure.ac index 5c880845c..8bf87754b 100644 --- a/configure.ac +++ b/configure.ac @@ -180,6 +180,9 @@ AC_SUBST(HAVE_GETRESGID) AC_SUBST(HAVE_SETRESUID) AC_SUBST(HAVE_SETRESGID) +AC_CHECK_FUNC(ptsname_r) +AC_SUBST(HAVE_PTSNAME_R) + dnl Check for doxygen AC_PATH_PROG(DOXYGEN, doxygen) |