1
0
mirror of https://salsa.debian.org/games-team/bsdgames synced 2024-12-04 14:46:22 -05:00
bsdgames/debian/patches/Unsorted-Debian-patches.patch
2012-02-25 18:04:35 +01:00

604 lines
18 KiB
Diff

From: Tobias Quathamer <toddy@debian.org>
Date: Thu, 16 Feb 2012 11:26:54 +0100
Subject: Unsorted Debian patches
---
adventure/crc.c | 4 ++-
arithmetic/arithmetic.6 | 2 +-
backgammon/backgammon/move.c | 3 ++
backgammon/common_source/allow.c | 4 ++-
backgammon/teachgammon/ttext1.c | 2 +-
backgammon/teachgammon/ttext2.c | 2 +-
config.params | 42 +++++++++++++++++++++++++++++++++
dab/gamescreen.h | 6 ++--
dm/dm.c | 6 ++--
fish/Makefrag | 8 ++++--
fish/fish.6 | 4 +-
gomoku/gomoku.6 | 2 +-
hack/Makefrag | 3 +-
hack/config.h | 15 ++++++++----
hunt/hunt/hunt.6.in | 2 +-
hunt/hunt/hunt.c | 6 +++-
hunt/hunt/playit.c | 4 +-
number/number.c | 47 +++++++++++++++++++++++++-------------
sail/pl_main.c | 2 +-
tests/number.-0.1 | 2 +-
tetris/scores.c | 17 ++++++++-----
trek/setup.c | 5 +++-
22 files changed, 134 insertions(+), 54 deletions(-)
create mode 100644 config.params
diff --git a/adventure/crc.c b/adventure/crc.c
index 66504f1..c6ee5f1 100644
--- a/adventure/crc.c
+++ b/adventure/crc.c
@@ -42,6 +42,8 @@ __RCSID("$NetBSD: crc.c,v 1.8 2003/08/07 09:36:50 agc Exp $");
#endif
#endif /* not lint */
+#include <limits.h>
+
#include "extern.h"
const unsigned long crctab[] = {
@@ -125,7 +127,7 @@ crc(ptr, nr) /* Process nr bytes at a time; ptr points to them */
while (nr > 0)
for (p = ptr; nr--; ++p) {
- if (!(i = crcval >> 24 ^ *p)) {
+ if (!(i = crcval >> (sizeof(crcval) * CHAR_BIT - 8) ^ *p)) {
i = step++;
if (step >= sizeof(crctab) / sizeof(crctab[0]))
step = 0;
diff --git a/arithmetic/arithmetic.6 b/arithmetic/arithmetic.6
index b8d4d8f..bc41bca 100644
--- a/arithmetic/arithmetic.6
+++ b/arithmetic/arithmetic.6
@@ -79,7 +79,7 @@ divide by or subtract will be between 0 and
.Nm
will not ask you to divide by 0.)
The default
-.I range
+.It range
is 10.
.El
.Pp
diff --git a/backgammon/backgammon/move.c b/backgammon/backgammon/move.c
index 9fd81f1..027cab5 100644
--- a/backgammon/backgammon/move.c
+++ b/backgammon/backgammon/move.c
@@ -152,6 +152,9 @@ move(okay)
trymove(0, 0);
pickmove();
+ if (d0)
+ swap;
+
/* print move */
writel(" and moves ");
for (i = 0; i < mvlim; i++) {
diff --git a/backgammon/common_source/allow.c b/backgammon/common_source/allow.c
index f6bae78..8189f07 100644
--- a/backgammon/common_source/allow.c
+++ b/backgammon/common_source/allow.c
@@ -83,8 +83,10 @@ movallow()
p[i--] = bar;
if (p[i] != bar)
continue;
- else
+ else if (d0)
break;
+ swap;
+ continue;
}
if (d0 || m == 4)
break;
diff --git a/backgammon/teachgammon/ttext1.c b/backgammon/teachgammon/ttext1.c
index 82db223..73ea6ee 100644
--- a/backgammon/teachgammon/ttext1.c
+++ b/backgammon/teachgammon/ttext1.c
@@ -94,7 +94,7 @@ const char *const intro2[] = {
"\n Although not indicated on the board, the players' homes are",
"located just to the right of the board. A player's men are placed",
"there when they are removed from the board. The board you just",
- "saw was in it's initial position. All games start with the board",
+ "saw was in its initial position. All games start with the board",
"looking like this. Notice that red's pieces are represented by the",
"letter 'r' and white's pieces are represented by the letter 'w'.",
"Also, a position may have zero or more pieces on it, e.g. posi-",
diff --git a/backgammon/teachgammon/ttext2.c b/backgammon/teachgammon/ttext2.c
index 5e827d7..eb9a083 100644
--- a/backgammon/teachgammon/ttext2.c
+++ b/backgammon/teachgammon/ttext2.c
@@ -65,7 +65,7 @@ const char *const stragy[] = {
"points in a row) are difficult to form, many points nestled close-",
"ly together produce a formidable barrier. Also, while it is good",
"to move back men forward, doing so lessens the opportunity for you",
- "to hit men. Finally, remember that once the two player's have",
+ "to hit men. Finally, remember that once the two players have",
"passed each other on the board, there is no chance of either team",
"being hit, so the game reduces to a race off the board. Addi-",
"tional hints on strategy are presented in the practice game.",
diff --git a/config.params b/config.params
new file mode 100644
index 0000000..aaea598
--- /dev/null
+++ b/config.params
@@ -0,0 +1,42 @@
+# This file is read by configure and is used during the build of the
+# Debian package.
+
+# Don't run configure interactively.
+bsd_games_cfg_non_interactive=y
+
+# Install into here for building the package.
+bsd_games_cfg_install_prefix=`pwd`/debian/bsdgames
+
+# Do not build or install these games:
+bsd_games_cfg_no_build_dirs="dm banner fortune factor"
+
+# Keep huntd in /usr/sbin as it was in the past. I may
+# change this later.
+bsd_games_cfg_sbindir=/usr/sbin
+
+# Debian doesn't like cluttering up the /usr/*/games/ dirs too much,
+# use a subdir. /var too.
+bsd_games_cfg_usrlibdir=/usr/lib/games/bsdgames
+bsd_games_cfg_sharedir=/usr/share/games/bsdgames
+bsd_games_cfg_varlibdir=/var/games/bsdgames
+
+# Do not do chown now, we arn't running as root.
+bsd_games_cfg_do_chown=n
+
+# Debian perfers symlinks for manpages.
+bsd_games_cfg_use_dot_so=symlinks
+
+# I'll handle manpage compressing.
+bsd_games_cfg_gzip_manpages=n
+
+# Policy says to use /usr/bin/pager by default.
+bsd_games_cfg_pager=/usr/bin/pager
+
+# Always use the same wordlist for boggle, and don't use web2, it's too
+# big. Instead, use the union of the wenglish and wbritish wordlists.
+bsd_games_cfg_dictionary_src=`pwd`/temp-dictionary
+
+# Put it in /usr/share/games with the rest of the games data.
+bsd_games_cfg_wtf_acronymfile=/usr/share/games/bsdgames/acronyms
+
+bsd_games_cfg_docdir=/usr/share/doc/bsdgames
diff --git a/dab/gamescreen.h b/dab/gamescreen.h
index ca90cb3..b3db2ea 100644
--- a/dab/gamescreen.h
+++ b/dab/gamescreen.h
@@ -70,9 +70,9 @@ class GAMESCREEN {
virtual void redraw(void) = 0; // Refresh
virtual int getinput(void) = 0; // Get user input
virtual void bell(void) = 0; // Beep
- virtual void score(size_t p, const PLAYER& p) = 0; // Post current score
- virtual void games(size_t p, const PLAYER& p) = 0; // Post games won
- virtual void total(size_t p, const PLAYER& p) = 0; // Post total score
+ virtual void score(size_t s, const PLAYER& p) = 0; // Post current score
+ virtual void games(size_t s, const PLAYER& p) = 0; // Post games won
+ virtual void total(size_t s, const PLAYER& p) = 0; // Post total score
virtual void ties(const PLAYER& p) = 0; // Post tie games
};
diff --git a/dm/dm.c b/dm/dm.c
index c131904..16129d8 100644
--- a/dm/dm.c
+++ b/dm/dm.c
@@ -134,19 +134,19 @@ read_config()
while (fgets(lbuf, sizeof(lbuf), cfp))
switch (*lbuf) {
case 'b': /* badtty */
- if (sscanf(lbuf, "%s%s", f1, f2) != 2 ||
+ if (sscanf(lbuf, "%39s%39s", f1, f2) != 2 ||
strcasecmp(f1, "badtty"))
break;
c_tty(f2);
break;
case 'g': /* game */
- if (sscanf(lbuf, "%s%s%s%s%s",
+ if (sscanf(lbuf, "%39s%39s%39s%39s%39s",
f1, f2, f3, f4, f5) != 5 || strcasecmp(f1, "game"))
break;
c_game(f2, f3, f4, f5);
break;
case 't': /* time */
- if (sscanf(lbuf, "%s%s%s%s", f1, f2, f3, f4) != 4 ||
+ if (sscanf(lbuf, "%39s%39s%39s%39s", f1, f2, f3, f4) != 4 ||
strcasecmp(f1, "time"))
break;
c_day(f2, f3, f4);
diff --git a/fish/Makefrag b/fish/Makefrag
index 1039af5..1fec493 100644
--- a/fish/Makefrag
+++ b/fish/Makefrag
@@ -31,7 +31,9 @@ fish_DIRS := $(GAMESDIR) $(MAN6DIR) $(shell dirname $(FISH_INSTRFILE))
fish_all: fish/fish fish/fish.instr fish/fish.6
fish_install: fish_all
- $(INSTALL_BINARY) fish/fish $(INSTALL_PREFIX)$(GAMESDIR)/fish
- $(HIDE_GAME) fish
+ $(INSTALL_BINARY) fish/fish $(INSTALL_PREFIX)$(GAMESDIR)/go-fish
+ $(HIDE_GAME) go-fish
$(INSTALL_DATA) fish/fish.instr $(INSTALL_PREFIX)$(FISH_INSTRFILE)
- $(INSTALL_MANUAL) fish/fish.6
+ ln -sf fish.6 fish/go-fish.6 # hack for rename
+ $(INSTALL_MANUAL) fish/go-fish.6
+ rm -f fish/go-fish.6
diff --git a/fish/fish.6 b/fish/fish.6
index 398c55f..46eef2b 100644
--- a/fish/fish.6
+++ b/fish/fish.6
@@ -30,10 +30,10 @@
.\" @(#)fish.6 8.1 (Berkeley) 5/31/93
.\"
.Dd May 31, 1993
-.Dt FISH 6
+.Dt GO-FISH 6
.Os
.Sh NAME
-.Nm fish
+.Nm go-fish
.Nd play
.Dq Go Fish
.Sh SYNOPSIS
diff --git a/gomoku/gomoku.6 b/gomoku/gomoku.6
index f78eb0e..024da85 100644
--- a/gomoku/gomoku.6
+++ b/gomoku/gomoku.6
@@ -45,7 +45,7 @@
.Op Ar inputfile
.Sh DESCRIPTION
.Nm
-is a two player game were the object is to get 5 in a row horizontally,
+is a two player game where the object is to get 5 in a row horizontally,
vertically or diagonally on a 19 by 19 grid.
By convention, black always moves first.
With no arguments,
diff --git a/hack/Makefrag b/hack/Makefrag
index eabbd2a..5807ef0 100644
--- a/hack/Makefrag
+++ b/hack/Makefrag
@@ -56,7 +56,8 @@ hack_install: hack_all
$(INSTALL_SCORE_GAME) hack/hack $(INSTALL_PREFIX)$(GAMESDIR)/hack
$(HIDE_GAME) hack
$(INSTALL_HACK_DIR) $(INSTALL_PREFIX)$(HACK_DIR)
- set -e; for f in data help hh rumors; do $(INSTALL_DATA) hack/$$f $(INSTALL_PREFIX)$(HACK_DIR)/$$f; done
+ install -d $(INSTALL_PREFIX)/usr/share/games/bsdgames/hack
+ set -e; for f in data help hh rumors; do $(INSTALL_DATA) hack/$$f $(INSTALL_PREFIX)/usr/share/games/bsdgames/hack/$$f; done
$(INSTALL_SCORE_FILE) $(HACK_DIR)/perm
$(INSTALL_SCORE_FILE) $(HACK_DIR)/record
$(INSTALL_MANUAL) hack/hack.6
diff --git a/hack/config.h b/hack/config.h
index ad3bbcf..03a8b02 100644
--- a/hack/config.h
+++ b/hack/config.h
@@ -88,13 +88,18 @@
/* #define PYRAMID_BUG */ /* avoid a bug on the Pyramid */
/* #define NOWAITINCLUDE */ /* neither <wait.h> nor <sys/wait.h> exists */
-#define WIZARD "bruno" /* the person allowed to use the -D option */
+/*
+ * Debian mods: use root for WIZARD, and move files that are static to
+ * /usr/share/ -- JEH
+ */
+#define WIZARD "root" /* the person allowed to use the -D option */
+#define SHAREDIR "/usr/share/games/bsdgames/hack/"
#define RECORD "record"/* the file containing the list of topscorers */
#define NEWS "news" /* the file containing the latest hack news */
-#define HELP "help" /* the file containing a description of the commands */
-#define SHELP "hh" /* abbreviated form of the same */
-#define RUMORFILE "rumors" /* a file with fortune cookies */
-#define DATAFILE "data" /* a file giving the meaning of symbols used */
+#define HELP SHAREDIR "help" /* the file containing a description of the commands */
+#define SHELP SHAREDIR "hh" /* abbreviated form of the same */
+#define RUMORFILE SHAREDIR "rumors" /* a file with fortune cookies */
+#define DATAFILE SHAREDIR "data" /* a file giving the meaning of symbols used */
#define FMASK 0660 /* file creation mask */
#define HLOCK "perm" /* an empty file used for locking purposes */
#define LLOCK "safelock" /* link to previous */
diff --git a/hunt/hunt/hunt.6.in b/hunt/hunt/hunt.6.in
index 406296e..22e45ec 100644
--- a/hunt/hunt/hunt.6.in
+++ b/hunt/hunt/hunt.6.in
@@ -387,7 +387,7 @@ how many of player's shots were ducked
how many slime kills player had
.It enemy
how many enemies were killed
-.tI friend
+.It friend
how many friends were killed (self and same team)
.It deaths
how many times player died
diff --git a/hunt/hunt/hunt.c b/hunt/hunt/hunt.c
index 11f4c44..28321bc 100644
--- a/hunt/hunt/hunt.c
+++ b/hunt/hunt/hunt.c
@@ -394,7 +394,8 @@ broadcast_vec(s, vector)
vec_cnt = 0;
for (ip = ifp; ip; ip = ip->ifa_next)
- if ((ip->ifa_addr->sa_family == AF_INET) &&
+ if (ip->ifa_addr &&
+ (ip->ifa_addr->sa_family == AF_INET) &&
(ip->ifa_flags & IFF_BROADCAST))
vec_cnt++;
@@ -405,7 +406,8 @@ broadcast_vec(s, vector)
vec_cnt = 0;
for (ip = ifp; ip; ip = ip->ifa_next)
- if ((ip->ifa_addr->sa_family == AF_INET) &&
+ if (ip->ifa_addr &&
+ (ip->ifa_addr->sa_family == AF_INET) &&
(ip->ifa_flags & IFF_BROADCAST))
memcpy(&(*vector)[vec_cnt++], ip->ifa_broadaddr,
sizeof(struct sockaddr_in));
diff --git a/hunt/hunt/playit.c b/hunt/hunt/playit.c
index 9acf86e..881a4e7 100644
--- a/hunt/hunt/playit.c
+++ b/hunt/hunt/playit.c
@@ -114,7 +114,7 @@ playit()
bad_con();
/* NOTREACHED */
}
- if (ntohl(version) != (unsigned long)HUNT_VERSION) {
+ if (ntohl(version) != (uint32_t)HUNT_VERSION) {
bad_ver();
/* NOTREACHED */
}
@@ -649,7 +649,7 @@ do_message()
bad_con();
/* NOTREACHED */
}
- if (ntohl(version) != (unsigned long)HUNT_VERSION) {
+ if (ntohl(version) != (uint32_t)HUNT_VERSION) {
bad_ver();
/* NOTREACHED */
}
diff --git a/number/number.c b/number/number.c
index c7559e1..3086a86 100644
--- a/number/number.c
+++ b/number/number.c
@@ -78,9 +78,9 @@ static const char *const name1[] = {
void convert(char *);
int main(int, char *[]);
-int number(const char *, int);
-void pfract(int);
-int unit(int, const char *);
+int number(const char *, int, int *);
+void pfract(int, int);
+int unit(int, const char *, int *);
void usage(void) __attribute__((__noreturn__));
int lflag;
@@ -131,7 +131,7 @@ void
convert(line)
char *line;
{
- int flen, len, rval;
+ int flen, len, rval, singular;
char *p, *fraction;
flen = 0;
@@ -174,7 +174,7 @@ badnum: errx(1, "illegal number: %s", line);
--len;
}
- rval = len > 0 ? unit(len, line) : 0;
+ rval = len > 0 ? unit(len, line, &singular) : 0;
if (fraction != NULL && flen != 0)
for (p = fraction; *p != '\0'; ++p)
if (*p != '0') {
@@ -182,10 +182,10 @@ badnum: errx(1, "illegal number: %s", line);
(void)printf("%sand%s",
lflag ? " " : "",
lflag ? " " : "\n");
- if (unit(flen, fraction)) {
+ if (unit(flen, fraction, &singular)) {
if (lflag)
(void)printf(" ");
- pfract(flen);
+ pfract(flen, singular);
rval = 1;
}
break;
@@ -197,9 +197,10 @@ badnum: errx(1, "illegal number: %s", line);
}
int
-unit(len, p)
+unit(len, p, singular)
int len;
const char *p;
+ int *singular;
{
int off, rval;
@@ -208,7 +209,7 @@ unit(len, p)
if (len % 3) {
off = len % 3;
len -= off;
- if (number(p, off)) {
+ if (number(p, off, singular)) {
rval = 1;
(void)printf(" %s%s",
name3[len / 3], lflag ? " " : ".\n");
@@ -217,14 +218,16 @@ unit(len, p)
}
for (; len > 3; p += 3) {
len -= 3;
- if (number(p, 3)) {
+ if (number(p, 3, singular)) {
rval = 1;
(void)printf(" %s%s",
name3[len / 3], lflag ? " " : ".\n");
}
}
}
- if (number(p, len)) {
+ if (number(p, len, singular)) {
+ if (rval)
+ *singular = 0;
if (!lflag)
(void)printf(".\n");
rval = 1;
@@ -233,17 +236,20 @@ unit(len, p)
}
int
-number(p, len)
+number(p, len, singular)
const char *p;
int len;
+ int *singular;
{
int val, rval;
rval = 0;
+ *singular = 1;
switch (len) {
case 3:
if (*p != '0') {
rval = 1;
+ *singular = 0;
(void)printf("%s hundred", name1[*p - '0']);
}
++p;
@@ -262,33 +268,42 @@ number(p, len)
}
rval = 1;
}
+ if (val != 1)
+ *singular = 0;
break;
case 1:
if (*p != '0') {
rval = 1;
(void)printf("%s", name1[*p - '0']);
}
+ if (*p != '1')
+ *singular = 0;
}
return (rval);
}
void
-pfract(len)
+pfract(len, singular)
int len;
+ int singular;
{
static const char *const pref[] = { "", "ten-", "hundred-" };
switch(len) {
case 1:
- (void)printf("tenths.\n");
+ (void)printf("tenth");
break;
case 2:
- (void)printf("hundredths.\n");
+ (void)printf("hundredth");
break;
default:
- (void)printf("%s%sths.\n", pref[len % 3], name3[len / 3]);
+ (void)printf("%s%sth", pref[len % 3], name3[len / 3]);
break;
}
+ if (!singular) {
+ printf("s");
+ }
+ printf(".\n");
}
void
diff --git a/sail/pl_main.c b/sail/pl_main.c
index 6183420..b8b26b1 100644
--- a/sail/pl_main.c
+++ b/sail/pl_main.c
@@ -219,7 +219,7 @@ reprint:
printf("\nInitial broadside %s (grape, chain, round, double): ",
n ? "right" : "left");
fflush(stdout);
- scanf("%s", buf);
+ scanf("%9s", buf);
switch (*buf) {
case 'g':
load = L_GRAPE;
diff --git a/tests/number.-0.1 b/tests/number.-0.1
index fea1e89..69c365b 100644
--- a/tests/number.-0.1
+++ b/tests/number.-0.1
@@ -1,3 +1,3 @@
minus
one.
-tenths.
+tenth.
diff --git a/tetris/scores.c b/tetris/scores.c
index d731e25..c2d36c9 100644
--- a/tetris/scores.c
+++ b/tetris/scores.c
@@ -335,7 +335,8 @@ checkscores(hs, num)
continue;
}
}
- levelfound[sp->hs_level] = 1;
+ if (sp->hs_level < NLEVELS && sp->hs_level >= 0)
+ levelfound[sp->hs_level] = 1;
i++, sp++;
}
return (num > MAXHISCORES ? MAXHISCORES : num);
@@ -374,11 +375,13 @@ showscores(level)
for (i = MINLEVEL; i < NLEVELS; i++)
levelfound[i] = 0;
for (i = 0, sp = scores; i < nscores; i++, sp++) {
- if (levelfound[sp->hs_level])
- sp->hs_time = 0;
- else {
- sp->hs_time = 1;
- levelfound[sp->hs_level] = 1;
+ if (sp->hs_level < NLEVELS && sp->hs_level >= 0) {
+ if (levelfound[sp->hs_level])
+ sp->hs_time = 0;
+ else {
+ sp->hs_time = 1;
+ levelfound[sp->hs_level] = 1;
+ }
}
}
@@ -433,7 +436,7 @@ printem(level, offset, hs, n, me)
continue;
}
sp = &hs[item];
- (void)sprintf(buf,
+ (void)snprintf(buf, sizeof(buf),
"%3d%c %6d %-11s (%6d on %d)",
item + offset, sp->hs_time ? '*' : ' ',
sp->hs_score * sp->hs_level,
diff --git a/trek/setup.c b/trek/setup.c
index 1f14f27..fab5136 100644
--- a/trek/setup.c
+++ b/trek/setup.c
@@ -234,11 +234,14 @@ setup()
for (i = 0; i < NQUADS; i++)
for (j = 0; j < NQUADS; j++)
{
+ signed char tmp;
q = &Quad[i][j];
q->klings = q->bases = 0;
q->scanned = -1;
q->stars = ranf(9) + 1;
- q->holes = ranf(3) - q->stars / 5;
+ tmp = ranf(3) - q->stars / 5;
+ tmp = tmp < 0 ? 0 : tmp;
+ q->holes = tmp;
q->qsystemname = 0;
}
--