From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5582 invoked from network); 3 Mar 2000 18:45:26 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 3 Mar 2000 18:45:26 -0000 Received: (qmail 24510 invoked by alias); 3 Mar 2000 18:45:21 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9988 Received: (qmail 24491 invoked from network); 3 Mar 2000 18:45:19 -0000 From: "Bart Schaefer" Message-Id: <1000303184515.ZM20937@candle.brasslantern.com> Date: Fri, 3 Mar 2000 18:45:15 +0000 X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.auc.dk Subject: (Fwd) RE: PATCH: 3.1.6-dev-19 + patches: zpty.c SINIX/autopush MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="PART-BOUNDARY=.11000303184515.ZM20937.brasslantern.com" -- --PART-BOUNDARY=.11000303184515.ZM20937.brasslantern.com Content-Type: text/plain; charset=us-ascii Andrej sent this to me, but I'm sure it should have gone to the list. This should be used INSTEAD OF my attempt to fix it, which lost some bits. --- Forwarded mail from "Andrej Borsenkow" From: "Andrej Borsenkow" To: "Bart Schaefer" Subject: RE: PATCH: 3.1.6-dev-19 + patches: zpty.c SINIX/autopush Date: Fri, 3 Mar 2000 21:06:06 +0300 > > Malformed patch again, Andrej. You need a better email client ... > It depends upon your definition of "better" :-) But I really want to repeat once more - once upon a time MIME was invented exactly to solve these problems ... and your mail bears a MIME-Version header as well :-> Here it is as attachment. cheers /andrej ---End of forwarded mail from "Andrej Borsenkow" -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com --PART-BOUNDARY=.11000303184515.ZM20937.brasslantern.com Content-Type: application/octet-stream ; name="zpty.diff" ; name=zpty.diff Content-Disposition: attachment ; filename="zpty.diff" X-Zm-Content-Name: zpty.diff X-Zm-Decoding-Hint: mimencode -q -u Content-Transfer-Encoding: quoted-printable --- Src/Modules/zpty.c.org Fri Mar 3 11:50:37 2000 +++ Src/Modules/zpty.c Fri Mar 3 18:33:24 2000 @@ -158,7 +158,7 @@ = #else /* ! __osf__ */ = -#if __SVR4 +#if defined(__SVR4) || defined(sinix) = #include = @@ -167,11 +167,12 @@ { int mfd, sfd; char *name; + int ret; = if ((mfd =3D open("/dev/ptmx", O_RDWR)) < 0) return 1; = - if (!(name =3D ptsname(mfd)) || grantpt(mfd) || unlockpt(mfd)) { + if (grantpt(mfd) || unlockpt(mfd) || !(name =3D ptsname(mfd))) { close(mfd); return 1; } @@ -179,20 +180,31 @@ close(mfd); return 1; } - if (ioctl(sfd, I_PUSH, "ptem") || - ioctl(sfd, I_PUSH, "ldterm") || - ioctl(sfd, I_PUSH, "ttcompat")) { - close(mfd); - close(sfd); - return 1; - } + if ((ret =3D ioctl(sfd, I_FIND, "ptem")) !=3D 1) + if (ret =3D=3D -1 || ioctl(sfd, I_PUSH, "ptem") =3D=3D -1) { + close(mfd); + close(sfd); + return 1; + } + if ((ret =3D ioctl(sfd, I_FIND, "ldterm")) !=3D 1) + if (ret =3D=3D -1 || ioctl(sfd, I_PUSH, "ldterm") =3D=3D -1) { + close(mfd); + close(sfd); + return 1; + } + if ((ret =3D ioctl(sfd, I_FIND, "ttcompat")) !=3D 1) + if (ret =3D=3D -1 || ioctl(sfd, I_PUSH, "ttcompat") =3D=3D -1) { + close(mfd); + close(sfd); + return 1; + } *master =3D mfd; *slave =3D sfd; = return 0; } = -#else /* ! __SVR4 */ +#else /* ! (defined(__SVR4) || defined(sinix)) */ = static int get_pty(int *master, int *slave) --PART-BOUNDARY=.11000303184515.ZM20937.brasslantern.com--