aboutsummaryrefslogtreecommitdiffstats
path: root/cad
diff options
context:
space:
mode:
Diffstat (limited to 'cad')
-rw-r--r--cad/magic/files/patch-misc::magsgtty.h13
-rw-r--r--cad/magic/files/patch-textio::textioInt.h13
-rw-r--r--cad/magic/files/patch-textio::txInput.c96
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;