From: dtrg Date: Fri, 24 Jun 2005 22:11:27 +0000 (+0000) Subject: Cleaned up the struct sgtty workaround and made it more generic. X-Git-Tag: release-5-6~5 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=f2046954e69d73dd2951cebed63b39f38f9ff999;p=ack.git Cleaned up the struct sgtty workaround and made it more generic. --- diff --git a/util/int/m_ioctl.c b/util/int/m_ioctl.c index 684260540..23fa9ddee 100644 --- a/util/int/m_ioctl.c +++ b/util/int/m_ioctl.c @@ -10,7 +10,9 @@ #include "mem.h" #include "warn.h" +#ifdef WANT_SGTTY #include +#endif #ifdef V7IOCTL /* define the proper V7 requests */ @@ -45,7 +47,9 @@ int do_ioctl(fd, req, addr) ptr addr; { register long e; +#ifdef WANT_SGTTY struct sgttyb sg_buf; +#endif #ifdef BSD_X /* from system.h */ #ifndef V7IOCTL @@ -66,6 +70,8 @@ int do_ioctl(fd, req, addr) #ifdef V7IOCTL switch (req) { /* translate the V7 requests */ /* and reject the non-V7 ones */ + +#ifdef WANT_SGTTY case V7IOGETP: req = TIOCGETP; break; @@ -81,6 +87,8 @@ int do_ioctl(fd, req, addr) case V7IOHPCL: req = TIOCHPCL; break; +#endif + #ifdef BSD_X /* from system.h */ case V7IOSETN: req = TIOCSETN; @@ -108,11 +116,7 @@ int do_ioctl(fd, req, addr) /****** Struct sgttyb ioctl's ********/ /*************************************/ -#if 0 - /* FIXME: I'm not entirely certain what these do; I think they have - * to do with serial port manipulation. If so, they need to be rewritten - * to use the Posix standards. ---dtrg */ - +#ifdef WANT_SGTTY case TIOCGETP: /* Get fd's current param's and store at dsp2 */ if ( (e = ioctl(fd, req, (char *) &sg_buf)) == -1 diff --git a/util/int/monstruct.c b/util/int/monstruct.c index 012a36471..71a99d9a3 100644 --- a/util/int/monstruct.c +++ b/util/int/monstruct.c @@ -16,7 +16,10 @@ #include #endif #include + +#ifdef WANT_SGTTY #include +#endif #ifdef BSD_X /* from system.h */ #include @@ -85,8 +88,9 @@ int tms2mem(addr, tmsb) return 1; } -#if 0 -/* FIXME: see the related fixme in m_ioctlc. ---dtrg */ +#ifdef WANT_SGTTY +/* FIXME: see the related fixme in sysidf.h. --- dtrg */ + int sgttyb2mem(addr, sgttybb) ptr addr; struct sgttyb *sgttybb; @@ -146,8 +150,9 @@ PRIVATE unsigned long mem_ldfld(addr, offset, length) return mem_ldu(addr + offset, length); } -#if 0 -/* FIXME: see the related fixme in m_ioctlc. ---dtrg */ +#ifdef WANT_SGTTY +/* FIXME: see the related fixme in sysidf.h. --- dtrg */ + int mem2sgtty(addr, sgttybb) ptr addr; struct sgttyb *sgttybb; diff --git a/util/int/sysidf.h b/util/int/sysidf.h index 4286c42a7..8297f12ac 100644 --- a/util/int/sysidf.h +++ b/util/int/sysidf.h @@ -19,3 +19,9 @@ #define SYS_V #endif /* SYS_5 */ +/* FIXME: A lot of modern systems, including Linux, don't have struct sgtty + * and associated ioctls. If you *do* have it, uncomment this. All this + * code should probably be rewritten one day to use termios instead, which + * seems to be the standard that won. --- dtrg */ + +//#define WANT_SGTTY