| diff -Naur common-orig/Makefile umoria/unix/Makefile |
| --- common-orig/Makefile 2003-12-09 10:06:19.000000000 -0500 |
| +++ umoria/unix/Makefile 2003-12-09 10:07:12.000000000 -0500 |
| @@ -14,9 +14,9 @@ |
| CFLAGS = -O |
| |
| # For BSD Systems |
| -CURSES = -lcurses -ltermcap |
| +# CURSES = -lcurses -ltermcap |
| # For SYS V Systems |
| -# CURSES = -lcurses |
| +CURSES = `pkg-config ncurses --libs` |
| # For XENIX, some XENIX systems may need -ltinfo |
| # CURSES = -ltcap -ltermcap -lx |
| |
| diff -Naur common-orig/death.c umoria/source/death.c |
| --- common-orig/death.c 2003-12-09 10:06:19.000000000 -0500 |
| +++ umoria/source/death.c 2003-12-09 10:06:56.000000000 -0500 |
| @@ -175,10 +175,12 @@ |
| /* The following code is provided especially for systems which -CJS- |
| have no flock system call. It has never been tested. */ |
| |
| +#ifndef LOCK_EX |
| #define LOCK_EX 1 |
| #define LOCK_SH 2 |
| #define LOCK_NB 4 |
| #define LOCK_UN 8 |
| +#endif |
| |
| /* An flock HACK. LOCK_SH and LOCK_EX are not distinguished. DO NOT release |
| a lock which you failed to set! ALWAYS release a lock you set! */ |
| diff -Naur common-orig/io.c umoria/source/io.c |
| --- common-orig/io.c 2003-12-09 10:06:19.000000000 -0500 |
| +++ umoria/source/io.c 2003-12-09 10:06:56.000000000 -0500 |
| @@ -62,6 +62,7 @@ |
| |
| |
| #include <ctype.h> |
| +#include <termios.h> |
| |
| #if defined(SYS_V) && defined(lint) |
| /* for AIX, prevent hundreds of unnecessary lint errors, must define before |
| @@ -334,7 +335,9 @@ |
| #ifdef __386BSD__ |
| (void) signal (SIGTSTP, (sig_t)suspend); |
| #else |
| - (void) signal (SIGTSTP, suspend); |
| + /* (void) signal (SIGTSTP, suspend); */ |
| + /* libc6 defaults to BSD, this expects SYSV */ |
| + (void) sysv_signal (SIGTSTP, suspend); |
| #endif |
| #endif |
| #endif |
| diff -Naur common-orig/misc3.c umoria/source/misc3.c |
| --- common-orig/misc3.c 2003-12-09 10:06:19.000000000 -0500 |
| +++ umoria/source/misc3.c 2003-12-09 10:06:56.000000000 -0500 |
| @@ -1249,8 +1249,7 @@ |
| { |
| int i; |
| register inven_type *i_ptr; |
| - vtype prt2; |
| - bigvtype prt1; |
| + bigvtype prt1, prt2; |
| #ifdef ATARIST_MWC |
| int32u holder; |
| #endif |
| diff -Naur common-orig/misc4.c umoria/source/misc4.c |
| --- common-orig/misc4.c 2003-12-09 10:06:19.000000000 -0500 |
| +++ umoria/source/misc4.c 2003-12-09 10:06:56.000000000 -0500 |
| @@ -33,7 +33,7 @@ |
| void scribe_object() |
| { |
| int item_val, j; |
| - vtype out_val, tmp_str; |
| + bigvtype out_val, tmp_str; |
| |
| if (inven_ctr > 0 || equip_ctr > 0) |
| { |
| diff -Naur common-orig/moria1.c umoria/source/moria1.c |
| --- common-orig/moria1.c 2003-12-09 10:06:19.000000000 -0500 |
| +++ umoria/source/moria1.c 2003-12-09 10:06:56.000000000 -0500 |
| @@ -332,8 +332,8 @@ |
| { |
| objdes(tmp_val, &inventory[i], TRUE); |
| tmp_val[lim] = 0; /* Truncate if too long. */ |
| - (void) sprintf(out_val[i], " %c) %s", 'a'+i, tmp_val); |
| - l = strlen(out_val[i]); |
| + (void) sprintf(out_val[i], "%c) %s", 'a'+i, tmp_val); |
| + l = strlen(out_val[i]) + 2; |
| if (weight) |
| l += 9; |
| if (l > len) |
| @@ -352,9 +352,12 @@ |
| { |
| /* don't need first two spaces if in first column */ |
| if (col == 0) |
| - prt(&out_val[i][2], current_line, col); |
| - else |
| prt(out_val[i], current_line, col); |
| + else |
| + { |
| + put_buffer(" ", current_line, col); |
| + prt(out_val[i], current_line, col+2); |
| + } |
| if (weight) |
| { |
| total_weight = inventory[i].weight*inventory[i].number; |
| @@ -466,9 +469,9 @@ |
| } |
| objdes(prt2, &inventory[i], TRUE); |
| prt2[lim] = 0; /* Truncate if necessary */ |
| - (void) sprintf(out_val[line], " %c) %-14s: %s", line+'a', |
| - prt1, prt2); |
| - l = strlen(out_val[line]); |
| + (void) sprintf(out_val[line], "%c) %-14s: %s", line+'a', |
| + prt1, prt2); |
| + l = strlen(out_val[line]) + 2; |
| if (weight) |
| l += 9; |
| if (l > len) |
| @@ -488,9 +491,12 @@ |
| { |
| /* don't need first two spaces when using whole screen */ |
| if (col == 0) |
| - prt(&out_val[line][2], line+1, col); |
| - else |
| prt(out_val[line], line+1, col); |
| + else |
| + { |
| + put_buffer(" ", line+1, col); |
| + prt(out_val[line], line+1, col+2); |
| + } |
| if (weight) |
| { |
| total_weight = i_ptr->weight*i_ptr->number; |
| diff -Naur common-orig/signals.c umoria/source/signals.c |
| --- common-orig/signals.c 2003-12-09 10:06:19.000000000 -0500 |
| +++ umoria/source/signals.c 2003-12-09 10:06:56.000000000 -0500 |
| @@ -113,7 +113,11 @@ |
| if(error_sig >= 0) /* Ignore all second signals. */ |
| { |
| if(++signal_count > 10) /* Be safe. We will die if persistent enough. */ |
| +#ifdef __FreeBSD__ |
| (void) signal(sig, SIG_DFL); |
| +#else |
| + (void) sysv_signal(sig, SIG_DFL); |
| +#endif |
| return; |
| } |
| error_sig = sig; |
| @@ -126,7 +126,11 @@ |
| ) |
| { |
| if (death) |
| +#ifdef __FreeBSD__ |
| (void) signal(sig, SIG_IGN); /* Can't quit after death. */ |
| +#else |
| + (void) sysv_signal(sig, SIG_IGN); /* Can't quit after death. */ |
| +#endif |
| else if (!character_saved && character_generated) |
| { |
| if (!get_check("Really commit *Suicide*?")) |
| @@ -137,7 +137,11 @@ |
| put_qio(); |
| error_sig = -1; |
| #ifdef USG |
| +#ifdef __FreeBSD__ |
| (void) signal(sig, signal_handler);/* Have to restore handler. */ |
| +#else |
| + (void) sysv_signal(sig, signal_handler);/* Have to restore handler. */ |
| +#endif |
| #else |
| (void) sigsetmask(smask); |
| #endif |
| @@ -179,7 +179,11 @@ |
| restore_term(); |
| #if !defined(MSDOS) && !defined(AMIGA) && !defined(ATARIST_TC) |
| /* always generate a core dump */ |
| +#ifdef __FreeBSD__ |
| (void) signal(sig, SIG_DFL); |
| +#else |
| + (void) sysv_signal(sig, SIG_DFL); |
| +#endif |
| (void) kill(getpid(), sig); |
| (void) sleep(5); |
| #endif |
| @@ -199,7 +199,11 @@ |
| #if defined(atarist) && defined(__GNUC__) |
| (void) signal(SIGTSTP, (__Sigfunc)SIG_IGN); |
| #else |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGTSTP, SIG_IGN); |
| +#else |
| + (void) sysv_signal(SIGTSTP, SIG_IGN); |
| +#endif |
| #endif |
| #ifndef USG |
| mask = sigsetmask(0); |
| @@ -220,7 +220,11 @@ |
| #ifdef __386BSD__ |
| (void) signal(SIGTSTP, (sig_t)suspend); |
| #else |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGTSTP, suspend); |
| +#else |
| + (void) sysv_signal(SIGTSTP, suspend); |
| +#endif |
| #endif |
| #endif |
| #ifndef USG |
| @@ -237,7 +237,11 @@ |
| { |
| #if !defined(ATARIST_MWC) && !defined(ATARIST_TC) |
| /* No signals for Atari ST compiled with MWC or TC. */ |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGINT, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGINT, signal_handler); |
| +#endif |
| |
| #if defined(atarist) && defined(__GNUC__) |
| /* Atari ST compiled with GNUC has most signals, but we need a cast |
| @@ -259,8 +259,13 @@ |
| |
| #else |
| /* Everybody except the atari st. */ |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGINT, signal_handler); |
| (void) signal(SIGFPE, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGINT, signal_handler); |
| + (void) sysv_signal(SIGFPE, signal_handler); |
| +#endif |
| |
| #if defined(MSDOS) |
| /* many fewer signals under MSDOS */ |
| @@ -278,30 +278,61 @@ |
| |
| /* Everybody except Atari, MSDOS, and Amiga. */ |
| /* Ignore HANGUP, and let the EOF code take care of this case. */ |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGHUP, SIG_IGN); |
| (void) signal(SIGQUIT, signal_handler); |
| (void) signal(SIGILL, signal_handler); |
| (void) signal(SIGTRAP, signal_handler); |
| (void) signal(SIGIOT, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGHUP, SIG_IGN); |
| + (void) sysv_signal(SIGQUIT, signal_handler); |
| + (void) sysv_signal(SIGILL, signal_handler); |
| + (void) sysv_signal(SIGTRAP, signal_handler); |
| + (void) sysv_signal(SIGIOT, signal_handler); |
| +#endif |
| #ifdef SIGEMT /* in BSD systems */ |
| (void) signal(SIGEMT, signal_handler); |
| #endif |
| #ifdef SIGDANGER /* in SYSV systems */ |
| (void) signal(SIGDANGER, signal_handler); |
| #endif |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGKILL, signal_handler); |
| (void) signal(SIGBUS, signal_handler); |
| (void) signal(SIGSEGV, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGKILL, signal_handler); |
| + (void) sysv_signal(SIGBUS, signal_handler); |
| + (void) sysv_signal(SIGSEGV, signal_handler); |
| +#endif |
| #ifdef SIGSYS |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGSYS, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGSYS, signal_handler); |
| +#endif |
| #endif |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGTERM, signal_handler); |
| (void) signal(SIGPIPE, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGTERM, signal_handler); |
| + (void) sysv_signal(SIGPIPE, signal_handler); |
| +#endif |
| #ifdef SIGXCPU /* BSD */ |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGXCPU, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGXCPU, signal_handler); |
| +#endif |
| #endif |
| #ifdef SIGPWR /* SYSV */ |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGPWR, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGPWR, signal_handler); |
| +#endif |
| #endif |
| #endif |
| #endif |
| @@ -314,7 +314,11 @@ |
| #if !defined(ATARIST_MWC) |
| (void) signal(SIGINT, SIG_IGN); |
| #ifdef SIGQUIT |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGQUIT, SIG_IGN); |
| +#else |
| + (void) sysv_signal(SIGQUIT, SIG_IGN); |
| +#endif |
| #endif |
| #endif |
| } |
| @@ -324,7 +324,11 @@ |
| #if !defined(ATARIST_MWC) |
| (void) signal(SIGINT, SIG_DFL); |
| #ifdef SIGQUIT |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGQUIT, SIG_DFL); |
| +#else |
| + (void) sysv_signal(SIGQUIT, SIG_DFL); |
| +#endif |
| #endif |
| #endif |
| } |
| @@ -335,13 +335,21 @@ |
| #if defined(atarist) && defined(__GNUC__) |
| (void) signal(SIGINT, (__Sigfunc)signal_handler); |
| #else |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGINT, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGINT, signal_handler); |
| +#endif |
| #endif |
| #ifdef SIGQUIT |
| #if defined(atarist) && defined(__GNUC__) |
| (void) signal(SIGQUIT, (__Sigfunc)signal_handler); |
| #else |
| +#ifdef __FreeBSD__ |
| (void) signal(SIGQUIT, signal_handler); |
| +#else |
| + (void) sysv_signal(SIGQUIT, signal_handler); |
| +#endif |
| #endif |
| #endif |
| #endif |
| diff -Naur common-orig/unix.c umoria/unix/unix.c |
| --- common-orig/unix.c 2003-12-09 10:06:19.000000000 -0500 |
| +++ umoria/unix/unix.c 2003-12-09 10:06:56.000000000 -0500 |
| @@ -261,7 +261,7 @@ |
| #endif |
| |
| #ifdef USG |
| -unsigned short getuid(); |
| +/* unsigned short getuid(); */ |
| #else |
| #ifndef SECURE |
| #ifdef BSD4_3 |