diff options
Diffstat (limited to 'korean/han/files/patch-aa')
| -rw-r--r-- | korean/han/files/patch-aa | 109 |
1 files changed, 45 insertions, 64 deletions
diff --git a/korean/han/files/patch-aa b/korean/han/files/patch-aa index e559212d276e..cf6a0733cf40 100644 --- a/korean/han/files/patch-aa +++ b/korean/han/files/patch-aa @@ -1,71 +1,52 @@ ---- src/vc.c.orig Sat Mar 29 04:35:50 1997 -+++ src/vc.c Sun Jul 16 12:44:05 2000 -@@ -310,12 +310,23 @@ - { - struct vt_mode vtm; - -+#if defined(__FreeBSD__) -+ signal(SIGUSR1, SIG_IGN); -+ signal(SIGUSR2, SIG_IGN); -+#else /* linux */ - signal(SIGUSR1, SIG_DFL); - signal(SIGUSR2, SIG_DFL); -+#endif - vtm.mode = VT_AUTO; - vtm.waitv = 0; -+#if defined(__FreeBSD__) -+ vtm.relsig = SIGUSR1; -+ vtm.acqsig = SIGUSR2; -+ vtm.frsig = SIGUSR1; -+#else /* linux */ - vtm.relsig = 0; - vtm.acqsig = 0; -+#endif - ioctl(0, VT_SETMODE, &vtm); - #if defined(__FreeBSD__) - ioctl(0, VT_RELDISP, 1); -@@ -341,6 +352,9 @@ - vtm.waitv = 0; - vtm.relsig = SIGUSR1; - vtm.acqsig = SIGUSR2; -+#if defined(__FreeBSD__) -+ vtm.frsig = SIGUSR1; -+#endif - ioctl(0, VT_SETMODE, &vtm); - vInfo.graph_mode(); - if (useHardScroll) -@@ -859,20 +873,31 @@ - - static int ConfigBeep(const char *confstr) - { -- beepCount = atoi(confstr) * 10000; - #if defined(linux) -- ioperm(COUNTER_ADDR, 1, TRUE); -+ beepCount = atoi(confstr) * 10000; -+ if (beepCount > 0) -+ ioperm(COUNTER_ADDR, 1, TRUE); +--- src/vc.c.orig Tue Feb 20 23:38:10 2001 ++++ src/vc.c Tue Feb 20 23:41:25 2001 +@@ -37,7 +37,13 @@ + #include <termio.h> + #elif defined(__FreeBSD__) + #include <termios.h> +-#include <machine/console.h> ++#include <osreldate.h> ++#if __FreeBSD_version >= 410000 ++# include <sys/consio.h> ++# include <sys/kbio.h> ++#else ++# include <machine/console.h> +#endif -+#if defined(__FreeBSD__) -+ beepCount = atoi(confstr) * 10; #endif - return SUCCESS; + #include <sys/ioctl.h> + #if defined(linux) +@@ -94,28 +100,26 @@ + inline void blatch(void *head, int n) + { + +- __asm__("\t clc\n" ++ __asm__ volatile("\t clc\n" + "1:\n" + "\t andb %%bl, (%%eax)\n" + "\t incl %%eax\n" + "\t loop 1b\n" +- : +- : "eax" ((long)head), "bl" (0x7F), "c" (n) +- : "bl", "cx" ); ++ : "=bl" (head), "=c" (n) ++ : "eax" ((long)head), "0" (0x7F), "1" (n)); } -+#define BELL_PITCH 800 -+ - void Beep(void) + static + inline void llatch(void *head, int n) { -- if (!con.active) return; - #ifdef linux -+ if (!con.active) return; - PortOutb(PortInb(COUNTER_ADDR)|3, COUNTER_ADDR); - usleep(beepCount); - PortOutb(PortInb(COUNTER_ADDR)&0xFC, COUNTER_ADDR); -+#endif -+#if defined(__FreeBSD__) -+ if(beepCount <= 0) return; -+ ioctl(fileno(stdout), KDMKTONE, (BELL_PITCH & 0xffff) | -+ ((beepCount & 0xffff) << 16)); - #endif + +- __asm__("\t clc\n" ++ __asm__ volatile("\t clc\n" + "1:\n" + "\t andl %%ebx, (%%eax)\n" + "\t addl $4, %%eax\n" + "\t loop 1b\n" +- : +- : "eax" ((long)head), "ebx" (0x7F7F7F7F), "c" (n>>2) +- : "ebx", "cx" ); ++ : "=ebx" (head), "=c" (n) ++ : "eax" ((long)head), "0" (0x7F7F7F7F), "1" (n>>2)); } + static inline u_int TextAddress(u_int x, u_int y) |
