diff options
Diffstat (limited to 'cad')
-rw-r--r-- | cad/magic/files/patch-misc::magsgtty.h | 13 | ||||
-rw-r--r-- | cad/magic/files/patch-textio::textioInt.h | 13 | ||||
-rw-r--r-- | cad/magic/files/patch-textio::txInput.c | 96 |
3 files changed, 118 insertions, 4 deletions
diff --git a/cad/magic/files/patch-misc::magsgtty.h b/cad/magic/files/patch-misc::magsgtty.h new file mode 100644 index 000000000000..aea392548047 --- /dev/null +++ b/cad/magic/files/patch-misc::magsgtty.h @@ -0,0 +1,13 @@ +--- misc/magsgtty.h 2001-09-21 17:15:45.000000000 +0200 ++++ misc/magsgtty.h 2008-02-04 19:28:46.000000000 +0100 +@@ -20,7 +20,9 @@ + + #ifndef _MAGSGTTY + +-#if !defined(SYSV) && !defined(CYGWIN) ++#ifdef __FreeBSD__ ++#include <termios.h> ++#elif !defined(SYSV) && !defined(CYGWIN) + # ifdef ALPHA + # undef MAX + # undef MIN diff --git a/cad/magic/files/patch-textio::textioInt.h b/cad/magic/files/patch-textio::textioInt.h index f459d515cd6c..8fca49f3396f 100644 --- a/cad/magic/files/patch-textio::textioInt.h +++ b/cad/magic/files/patch-textio::textioInt.h @@ -1,11 +1,16 @@ --- textio/textioInt.h.orig Tue Dec 9 16:41:17 2003 +++ textio/textioInt.h Tue Dec 9 16:41:29 2003 -@@ -53,7 +53,7 @@ +@@ -48,7 +48,7 @@ + #define TX_LONG_CMD2 ';' /* Alternate way of invoking a long command. */ + + /* all of the state associated with a tty terminal */ +-#if !defined(SYSV) && !defined(CYGWIN) ++#if !defined(__FreeBSD__) && !defined(SYSV) && !defined(CYGWIN) + typedef struct { struct sgttyb tx_i_sgtty; struct tchars tx_i_tchars; - } txTermState; --#endif SYSV -+#endif +@@ -56,4 +56,4 @@ + #endif SYSV extern int TxGetInputEvent(); -extern void txFprintfBasic(); diff --git a/cad/magic/files/patch-textio::txInput.c b/cad/magic/files/patch-textio::txInput.c new file mode 100644 index 000000000000..c0c8d2c0e9f8 --- /dev/null +++ b/cad/magic/files/patch-textio::txInput.c @@ -0,0 +1,96 @@ +--- textio/txInput.c 2001-09-21 17:15:56.000000000 +0200 ++++ textio/txInput.c 2008-02-04 19:26:44.000000000 +0100 +@@ -1027,7 +1027,16 @@ + * ---------------------------------------------------------------------------- + */ + +-#if defined(SYSV) || defined(CYGWIN) ++#ifdef __FreeBSD__ ++void ++txGetTermState(buf) ++ struct termios *buf; ++ ++{ ++ tcgetattr( fileno( stdin ), buf); ++} ++ ++#elif defined(SYSV) || defined(CYGWIN) + void + txGetTermState(buf) + struct termio *buf; +@@ -1066,13 +1075,17 @@ + + void + txSetTermState(buf) +-#if defined(SYSV) || defined(CYGWIN) ++#ifdef __FreeBSD__ ++ struct termios *buf; ++#elif defined(SYSV) || defined(CYGWIN) + struct termio *buf; + #else + txTermState *buf; + #endif SYSV + { +-#if defined(SYSV) || defined(CYGWIN) ++#ifdef __FreeBSD__ ++ tcsetattr( fileno(stdin), TCSAFLUSH, buf ); ++#elif defined(SYSV) || defined(CYGWIN) + ioctl( fileno(stdin), TCSETAF, buf ); + #else + /* set the current terminal characteristics */ +@@ -1100,13 +1113,15 @@ + + void + txInitTermRec(buf) +-#if defined(SYSV) || defined(CYGWIN) ++#ifdef __FreeBSD__ ++ struct termios *buf; ++#elif defined(SYSV) || defined(CYGWIN) + struct termio *buf; + #else + txTermState *buf; + #endif SYSV + { +-#if defined(SYSV) || defined(CYGWIN) ++#if defined(__FreeBSD__) || defined(SYSV) || defined(CYGWIN) + buf->c_lflag = ISIG; /* raw: no echo and no processing, allow signals */ + buf->c_cc[ VMIN ] = 1; + buf->c_cc[ VTIME ] = 0; +@@ -1124,7 +1139,9 @@ + + + +-#if defined(SYSV) || defined(CYGWIN) ++#ifdef __FreeBSD__ ++struct termios closeTermState; ++#elif defined(SYSV) || defined(CYGWIN) + struct termio closeTermState; + #else + static txTermState closeTermState; +@@ -1151,7 +1168,14 @@ + void + txSaveTerm() + { +-#if defined(SYSV) || defined(CYGWIN) ++#ifdef __FreeBSD__ ++ tcgetattr( fileno( stdin ), &closeTermState); ++ txEraseChar = closeTermState.c_cc[VERASE]; ++ txKillChar = closeTermState.c_cc[VKILL]; ++ TxEOFChar = closeTermState.c_cc[VEOF]; ++ TxInterruptChar = closeTermState.c_cc[VINTR]; ++ haveCloseState = TRUE; ++#elif defined(SYSV) || defined(CYGWIN) + ioctl( fileno( stdin ), TCGETA, &closeTermState); + txEraseChar = closeTermState.c_cc[VERASE]; + txKillChar = closeTermState.c_cc[VKILL]; +@@ -1192,7 +1216,9 @@ + void + TxSetTerminal() + { +-#if defined(SYSV) || defined(CYGWIN) ++#ifdef __FreeBSD__ ++ struct termios buf; ++#elif defined(SYSV) || defined(CYGWIN) + struct termio buf; + #else + txTermState buf; |