From bfc2bf8178097425cba2cdf2afe2c7a835c46057 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Sat, 14 Jan 2006 20:25:51 +0000 Subject: r12938: Fix for #3408 (change password fails) from William Jojo . Jeremy. (This used to be commit 5fc0ef80876a666c285585f8b55e1909e8f2e0bf) --- source3/smbd/chgpasswd.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'source3/smbd/chgpasswd.c') diff --git a/source3/smbd/chgpasswd.c b/source3/smbd/chgpasswd.c index fed73db043..5a179dbf47 100644 --- a/source3/smbd/chgpasswd.c +++ b/source3/smbd/chgpasswd.c @@ -153,9 +153,13 @@ static int dochild(int master, const char *slavedev, const struct passwd *pass, DEBUG(3, ("More weirdness, could not open %s\n", slavedev)); return (False); } -#ifdef I_PUSH - ioctl(slave, I_PUSH, "ptem"); - ioctl(slave, I_PUSH, "ldterm"); +#if defined(I_PUSH) && defined(I_FIND) + if (ioctl(slave, I_FIND, "ptem") == 0) { + ioctl(slave, I_PUSH, "ptem"); + } + if (ioctl(slave, I_FIND, "ldterm") == 0) { + ioctl(slave, I_PUSH, "ldterm"); + } #elif defined(TIOCSCTTY) if (ioctl(slave, TIOCSCTTY, 0) < 0) { -- cgit