Sun Feb 17 23:44:53 UTC 2019

ap/cups-filters-1.22.1-x86_64-1.txz:  Upgraded.
y/bsd-games-2.17-x86_64-1.txz:  Upgraded.
This commit is contained in:
Patrick J Volkerding 2019-02-17 23:44:53 +00:00 committed by Eric Hameleers
parent a576ec7a0e
commit 66b0761fe7
35 changed files with 4979 additions and 495 deletions

View file

@ -11,9 +11,21 @@
<description>Tracking Slackware development in git.</description> <description>Tracking Slackware development in git.</description>
<language>en-us</language> <language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id> <id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id>
<pubDate>Sun, 17 Feb 2019 01:45:20 GMT</pubDate> <pubDate>Sun, 17 Feb 2019 23:44:53 GMT</pubDate>
<lastBuildDate>Sun, 17 Feb 2019 11:28:21 GMT</lastBuildDate> <lastBuildDate>Mon, 18 Feb 2019 07:59:44 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.10</generator> <generator>maintain_current_git.sh v 1.10</generator>
<item>
<title>Sun, 17 Feb 2019 23:44:53 GMT</title>
<pubDate>Sun, 17 Feb 2019 23:44:53 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20190217234453</link>
<guid isPermaLink="false">20190217234453</guid>
<description>
<![CDATA[<pre>
ap/cups-filters-1.22.1-x86_64-1.txz: Upgraded.
y/bsd-games-2.17-x86_64-1.txz: Upgraded.
</pre>]]>
</description>
</item>
<item> <item>
<title>Sun, 17 Feb 2019 01:45:20 GMT</title> <title>Sun, 17 Feb 2019 01:45:20 GMT</title>
<pubDate>Sun, 17 Feb 2019 01:45:20 GMT</pubDate> <pubDate>Sun, 17 Feb 2019 01:45:20 GMT</pubDate>

View file

@ -1,3 +1,7 @@
Sun Feb 17 23:44:53 UTC 2019
ap/cups-filters-1.22.1-x86_64-1.txz: Upgraded.
y/bsd-games-2.17-x86_64-1.txz: Upgraded.
+--------------------------+
Sun Feb 17 01:45:20 UTC 2019 Sun Feb 17 01:45:20 UTC 2019
a/glibc-solibs-2.29-x86_64-3.txz: Rebuilt. a/glibc-solibs-2.29-x86_64-3.txz: Rebuilt.
ap/texinfo-6.6-x86_64-1.txz: Upgraded. ap/texinfo-6.6-x86_64-1.txz: Upgraded.

View file

@ -1,20 +1,20 @@
Sun Feb 17 01:57:09 UTC 2019 Sun Feb 17 23:56:00 UTC 2019
Here is the file list for this directory. If you are using a Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh subdirectories, please have the archive administrator refresh
the mirror. the mirror.
drwxr-xr-x 12 root root 4096 2019-02-17 01:45 . drwxr-xr-x 12 root root 4096 2019-02-17 23:44 .
-rw-r--r-- 1 root root 10064 2016-06-30 18:39 ./ANNOUNCE.14_2 -rw-r--r-- 1 root root 10064 2016-06-30 18:39 ./ANNOUNCE.14_2
-rw-r--r-- 1 root root 14341 2018-11-29 05:40 ./CHANGES_AND_HINTS.TXT -rw-r--r-- 1 root root 14341 2018-11-29 05:40 ./CHANGES_AND_HINTS.TXT
-rw-r--r-- 1 root root 906992 2019-02-15 21:16 ./CHECKSUMS.md5 -rw-r--r-- 1 root root 906980 2019-02-17 01:58 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2019-02-15 21:16 ./CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2019-02-17 01:58 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING -rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3 -rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
-rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT -rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT
-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT -rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
-rw-r--r-- 1 root root 568180 2019-02-17 01:45 ./ChangeLog.txt -rw-r--r-- 1 root root 568328 2019-02-17 23:44 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
drwxr-xr-x 2 root root 4096 2019-02-15 21:02 ./EFI/BOOT drwxr-xr-x 2 root root 4096 2019-02-15 21:02 ./EFI/BOOT
-rw-r--r-- 1 root root 1253376 2018-02-24 20:49 ./EFI/BOOT/bootx64.efi -rw-r--r-- 1 root root 1253376 2018-02-24 20:49 ./EFI/BOOT/bootx64.efi
@ -25,9 +25,9 @@ drwxr-xr-x 2 root root 4096 2019-02-15 21:02 ./EFI/BOOT
-rwxr-xr-x 1 root root 2494 2018-02-24 20:49 ./EFI/BOOT/make-grub.sh -rwxr-xr-x 1 root root 2494 2018-02-24 20:49 ./EFI/BOOT/make-grub.sh
-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg -rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg
-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg -rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
-rw-r--r-- 1 root root 1192993 2019-02-15 21:15 ./FILELIST.TXT -rw-r--r-- 1 root root 1192981 2019-02-17 01:57 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY -rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
-rw-r--r-- 1 root root 731695 2019-02-17 01:55 ./PACKAGES.TXT -rw-r--r-- 1 root root 731711 2019-02-17 23:54 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8564 2016-06-28 21:33 ./README.TXT -rw-r--r-- 1 root root 8564 2016-06-28 21:33 ./README.TXT
-rw-r--r-- 1 root root 3635 2019-02-15 20:29 ./README.initrd -rw-r--r-- 1 root root 3635 2019-02-15 20:29 ./README.initrd
-rw-r--r-- 1 root root 34412 2017-12-01 17:44 ./README_CRYPT.TXT -rw-r--r-- 1 root root 34412 2017-12-01 17:44 ./README_CRYPT.TXT
@ -787,11 +787,11 @@ drwxr-xr-x 2 root root 4096 2012-09-20 18:06 ./patches
-rw-r--r-- 1 root root 575 2012-09-20 18:06 ./patches/FILE_LIST -rw-r--r-- 1 root root 575 2012-09-20 18:06 ./patches/FILE_LIST
-rw-r--r-- 1 root root 14 2012-09-20 18:06 ./patches/MANIFEST.bz2 -rw-r--r-- 1 root root 14 2012-09-20 18:06 ./patches/MANIFEST.bz2
-rw-r--r-- 1 root root 224 2012-09-20 18:06 ./patches/PACKAGES.TXT -rw-r--r-- 1 root root 224 2012-09-20 18:06 ./patches/PACKAGES.TXT
drwxr-xr-x 18 root root 4096 2019-02-17 01:55 ./slackware64 drwxr-xr-x 18 root root 4096 2019-02-17 23:54 ./slackware64
-rw-r--r-- 1 root root 290180 2019-02-17 01:55 ./slackware64/CHECKSUMS.md5 -rw-r--r-- 1 root root 290177 2019-02-17 23:54 ./slackware64/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2019-02-17 01:55 ./slackware64/CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2019-02-17 23:54 ./slackware64/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 361463 2019-02-17 01:52 ./slackware64/FILE_LIST -rw-r--r-- 1 root root 361460 2019-02-17 23:51 ./slackware64/FILE_LIST
-rw-r--r-- 1 root root 3639172 2019-02-17 01:53 ./slackware64/MANIFEST.bz2 -rw-r--r-- 1 root root 3657072 2019-02-17 23:52 ./slackware64/MANIFEST.bz2
lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
drwxr-xr-x 2 root root 28672 2019-02-17 01:52 ./slackware64/a drwxr-xr-x 2 root root 28672 2019-02-17 01:52 ./slackware64/a
-rw-r--r-- 1 root root 327 2018-06-24 18:44 ./slackware64/a/aaa_base-14.2-x86_64-5.txt -rw-r--r-- 1 root root 327 2018-06-24 18:44 ./slackware64/a/aaa_base-14.2-x86_64-5.txt
@ -1144,7 +1144,7 @@ drwxr-xr-x 2 root root 28672 2019-02-17 01:52 ./slackware64/a
-rw-r--r-- 1 root root 540 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txt -rw-r--r-- 1 root root 540 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txt
-rw-r--r-- 1 root root 56156 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txz -rw-r--r-- 1 root root 56156 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txz.asc -rw-r--r-- 1 root root 163 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txz.asc
drwxr-xr-x 2 root root 20480 2019-02-17 01:52 ./slackware64/ap drwxr-xr-x 2 root root 20480 2019-02-17 23:51 ./slackware64/ap
-rw-r--r-- 1 root root 291 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txt -rw-r--r-- 1 root root 291 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txt
-rw-r--r-- 1 root root 694880 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txz -rw-r--r-- 1 root root 694880 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txz.asc -rw-r--r-- 1 root root 163 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txz.asc
@ -1181,9 +1181,9 @@ drwxr-xr-x 2 root root 20480 2019-02-17 01:52 ./slackware64/ap
-rw-r--r-- 1 root root 642 2018-12-08 00:58 ./slackware64/ap/cups-2.2.10-x86_64-1.txt -rw-r--r-- 1 root root 642 2018-12-08 00:58 ./slackware64/ap/cups-2.2.10-x86_64-1.txt
-rw-r--r-- 1 root root 1468384 2018-12-08 00:58 ./slackware64/ap/cups-2.2.10-x86_64-1.txz -rw-r--r-- 1 root root 1468384 2018-12-08 00:58 ./slackware64/ap/cups-2.2.10-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-12-08 00:58 ./slackware64/ap/cups-2.2.10-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2018-12-08 00:58 ./slackware64/ap/cups-2.2.10-x86_64-1.txz.asc
-rw-r--r-- 1 root root 416 2019-01-19 18:31 ./slackware64/ap/cups-filters-1.22.0-x86_64-1.txt -rw-r--r-- 1 root root 416 2019-02-17 21:02 ./slackware64/ap/cups-filters-1.22.1-x86_64-1.txt
-rw-r--r-- 1 root root 753132 2019-01-19 18:31 ./slackware64/ap/cups-filters-1.22.0-x86_64-1.txz -rw-r--r-- 1 root root 753620 2019-02-17 21:02 ./slackware64/ap/cups-filters-1.22.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-01-19 18:31 ./slackware64/ap/cups-filters-1.22.0-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2019-02-17 21:02 ./slackware64/ap/cups-filters-1.22.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 576 2018-11-07 23:24 ./slackware64/ap/dash-0.5.10.2-x86_64-1.txt -rw-r--r-- 1 root root 576 2018-11-07 23:24 ./slackware64/ap/dash-0.5.10.2-x86_64-1.txt
-rw-r--r-- 1 root root 85340 2018-11-07 23:24 ./slackware64/ap/dash-0.5.10.2-x86_64-1.txz -rw-r--r-- 1 root root 85340 2018-11-07 23:24 ./slackware64/ap/dash-0.5.10.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-11-07 23:24 ./slackware64/ap/dash-0.5.10.2-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2018-11-07 23:24 ./slackware64/ap/dash-0.5.10.2-x86_64-1.txz.asc
@ -4987,20 +4987,20 @@ drwxr-xr-x 2 root root 4096 2019-02-08 22:11 ./slackware64/xfce
-rw-r--r-- 1 root root 285 2019-02-08 19:41 ./slackware64/xfce/xfwm4-4.12.5-x86_64-1.txt -rw-r--r-- 1 root root 285 2019-02-08 19:41 ./slackware64/xfce/xfwm4-4.12.5-x86_64-1.txt
-rw-r--r-- 1 root root 489316 2019-02-08 19:41 ./slackware64/xfce/xfwm4-4.12.5-x86_64-1.txz -rw-r--r-- 1 root root 489316 2019-02-08 19:41 ./slackware64/xfce/xfwm4-4.12.5-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-02-08 19:41 ./slackware64/xfce/xfwm4-4.12.5-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2019-02-08 19:41 ./slackware64/xfce/xfwm4-4.12.5-x86_64-1.txz.asc
drwxr-xr-x 2 root root 4096 2018-04-18 08:35 ./slackware64/y drwxr-xr-x 2 root root 4096 2019-02-17 23:51 ./slackware64/y
-rw-r--r-- 1 root root 591 2018-04-13 18:08 ./slackware64/y/bsd-games-2.13-x86_64-13.txt -rw-r--r-- 1 root root 608 2019-02-17 23:06 ./slackware64/y/bsd-games-2.17-x86_64-1.txt
-rw-r--r-- 1 root root 1763160 2018-04-13 18:08 ./slackware64/y/bsd-games-2.13-x86_64-13.txz -rw-r--r-- 1 root root 1943924 2019-02-17 23:06 ./slackware64/y/bsd-games-2.17-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-04-13 18:08 ./slackware64/y/bsd-games-2.13-x86_64-13.txz.asc -rw-r--r-- 1 root root 163 2019-02-17 23:06 ./slackware64/y/bsd-games-2.17-x86_64-1.txz.asc
-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/y/install-packages -rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/y/install-packages
-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/y/install.end -rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/y/install.end
-rw-r--r-- 1 root root 1147 2018-03-01 07:55 ./slackware64/y/maketag -rw-r--r-- 1 root root 1147 2018-03-01 07:55 ./slackware64/y/maketag
-rw-r--r-- 1 root root 1147 2018-03-01 07:55 ./slackware64/y/maketag.ez -rw-r--r-- 1 root root 1147 2018-03-01 07:55 ./slackware64/y/maketag.ez
-rw-r--r-- 1 root root 14 2018-03-01 07:55 ./slackware64/y/tagfile -rw-r--r-- 1 root root 14 2018-03-01 07:55 ./slackware64/y/tagfile
drwxr-xr-x 19 root root 4096 2019-02-17 01:57 ./source drwxr-xr-x 19 root root 4096 2019-02-17 23:55 ./source
-rw-r--r-- 1 root root 457114 2019-02-17 01:57 ./source/CHECKSUMS.md5 -rw-r--r-- 1 root root 458044 2019-02-17 23:55 ./source/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2019-02-17 01:57 ./source/CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2019-02-17 23:55 ./source/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 646633 2019-02-17 01:56 ./source/FILE_LIST -rw-r--r-- 1 root root 647632 2019-02-17 23:55 ./source/FILE_LIST
-rw-r--r-- 1 root root 16710156 2019-02-17 01:56 ./source/MANIFEST.bz2 -rw-r--r-- 1 root root 16705013 2019-02-17 23:55 ./source/MANIFEST.bz2
-rw-r--r-- 1 root root 1314 2006-10-02 04:40 ./source/README.TXT -rw-r--r-- 1 root root 1314 2006-10-02 04:40 ./source/README.TXT
drwxr-xr-x 111 root root 4096 2019-01-23 20:57 ./source/a drwxr-xr-x 111 root root 4096 2019-01-23 20:57 ./source/a
-rw-r--r-- 1 root root 877 2018-11-21 18:49 ./source/a/FTBFSlog -rw-r--r-- 1 root root 877 2018-11-21 18:49 ./source/a/FTBFSlog
@ -5947,8 +5947,8 @@ drwxr-xr-x 2 root root 4096 2015-11-21 23:21 ./source/ap/cgmanager/config
-rw-r--r-- 1 root root 334 2015-11-20 01:59 ./source/ap/cgmanager/doinst.sh.gz -rw-r--r-- 1 root root 334 2015-11-20 01:59 ./source/ap/cgmanager/doinst.sh.gz
-rw-r--r-- 1 root root 988 2018-02-27 06:13 ./source/ap/cgmanager/slack-desc -rw-r--r-- 1 root root 988 2018-02-27 06:13 ./source/ap/cgmanager/slack-desc
drwxr-xr-x 2 root root 4096 2018-12-08 00:51 ./source/ap/cups drwxr-xr-x 2 root root 4096 2018-12-08 00:51 ./source/ap/cups
drwxr-xr-x 2 root root 4096 2019-01-19 18:30 ./source/ap/cups-filters drwxr-xr-x 2 root root 4096 2019-02-17 21:01 ./source/ap/cups-filters
-rw-r--r-- 1 root root 1474616 2019-01-18 11:26 ./source/ap/cups-filters/cups-filters-1.22.0.tar.xz -rw-r--r-- 1 root root 1475456 2019-02-15 18:50 ./source/ap/cups-filters/cups-filters-1.22.1.tar.xz
-rwxr-xr-x 1 root root 4441 2018-09-18 22:04 ./source/ap/cups-filters/cups-filters.SlackBuild -rwxr-xr-x 1 root root 4441 2018-09-18 22:04 ./source/ap/cups-filters/cups-filters.SlackBuild
-rw-r--r-- 1 root root 51 2014-07-21 02:53 ./source/ap/cups-filters/cups-filters.url -rw-r--r-- 1 root root 51 2014-07-21 02:53 ./source/ap/cups-filters/cups-filters.url
-rw-r--r-- 1 root root 339 2018-01-08 22:54 ./source/ap/cups-filters/doinst.sh.gz -rw-r--r-- 1 root root 339 2018-01-08 22:54 ./source/ap/cups-filters/doinst.sh.gz
@ -12713,30 +12713,36 @@ drwxr-xr-x 2 root root 4096 2019-02-08 19:40 ./source/xfce/xfwm4
-rwxr-xr-x 1 root root 4726 2019-02-08 19:40 ./source/xfce/xfwm4/xfwm4.SlackBuild -rwxr-xr-x 1 root root 4726 2019-02-08 19:40 ./source/xfce/xfwm4/xfwm4.SlackBuild
-rw-r--r-- 1 root root 65 2019-02-08 19:39 ./source/xfce/xfwm4/xfwm4.url -rw-r--r-- 1 root root 65 2019-02-08 19:39 ./source/xfce/xfwm4/xfwm4.url
-rw-r--r-- 1 root root 1198 2012-07-24 22:11 ./source/xfce/xfwm4/xinitrc.xfce -rw-r--r-- 1 root root 1198 2012-07-24 22:11 ./source/xfce/xfwm4/xinitrc.xfce
drwxr-xr-x 3 root root 4096 2018-02-04 19:07 ./source/y drwxr-xr-x 3 root root 4096 2019-02-17 22:31 ./source/y
-rw-r--r-- 1 root root 232 2018-04-08 17:57 ./source/y/FTBFSlog -rw-r--r-- 1 root root 232 2018-04-08 17:57 ./source/y/FTBFSlog
drwxr-xr-x 3 root root 4096 2018-09-18 22:04 ./source/y/bsd-games drwxr-xr-x 3 root root 4096 2019-02-17 22:45 ./source/y/bsd-games
-rw-r--r-- 1 root root 825 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.lsm -rw-r--r-- 1 root root 1794497 2005-02-18 19:17 ./source/y/bsd-games/bsd-games-2.17.tar.lz
-rw-r--r-- 1 root root 1861269 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.tar.bz2
-rw-r--r-- 1 root root 164 1999-09-27 21:18 ./source/y/bsd-games/bsd-games-login-fortune.csh -rw-r--r-- 1 root root 164 1999-09-27 21:18 ./source/y/bsd-games/bsd-games-login-fortune.csh
-rw-r--r-- 1 root root 164 2010-05-11 19:26 ./source/y/bsd-games/bsd-games-login-fortune.sh -rw-r--r-- 1 root root 164 2010-05-11 19:26 ./source/y/bsd-games/bsd-games-login-fortune.sh
-rwxr-xr-x 1 root root 7421 2018-09-18 22:04 ./source/y/bsd-games/bsd-games.SlackBuild -rwxr-xr-x 1 root root 8135 2019-02-17 22:44 ./source/y/bsd-games/bsd-games.SlackBuild
-rw-r--r-- 1 root root 563 2003-02-03 21:48 ./source/y/bsd-games/bsd-games.config.params.diff.gz
-rw-r--r-- 1 root root 283 2003-02-03 22:28 ./source/y/bsd-games/bsd-games.fortlen.diff.gz
-rw-r--r-- 1 root root 181 2002-03-10 05:27 ./source/y/bsd-games/bsd-games.fortunepath.diff.gz
-rw-r--r-- 1 root root 2333 2010-05-11 21:10 ./source/y/bsd-games/bsd-games.getline.diff.gz
-rw-r--r-- 1 root root 265 2006-09-07 02:18 ./source/y/bsd-games/bsd-games.ospeed.diff.gz
-rw-r--r-- 1 root root 386 2007-08-27 17:51 ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff.gz
-rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/bsd-games.pom.diff.gz
-rw-r--r-- 1 root root 217 2018-04-08 17:56 ./source/y/bsd-games/bsd-games.sail.no.union_wait.diff.gz
-rw-r--r-- 1 root root 353 2003-02-03 22:51 ./source/y/bsd-games/bsd-games.strfile.8.diff.gz
-rw-r--r-- 1 root root 405 2007-08-27 17:57 ./source/y/bsd-games/bsd-games.trek-gcc4.diff.gz
drwxr-xr-x 2 root root 4096 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here
-rw-r--r-- 1 root root 294 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff.gz
-rw-r--r-- 1 root root 15107 2002-03-10 05:09 ./source/y/bsd-games/fortunes-linuxcookie.tar.gz -rw-r--r-- 1 root root 15107 2002-03-10 05:09 ./source/y/bsd-games/fortunes-linuxcookie.tar.gz
-rw-r--r-- 1 root root 364407 2002-03-10 05:09 ./source/y/bsd-games/fortunes-o.tar.gz
-rw-r--r-- 1 root root 104848 1993-10-25 00:02 ./source/y/bsd-games/hangman-words.gz -rw-r--r-- 1 root root 104848 1993-10-25 00:02 ./source/y/bsd-games/hangman-words.gz
-rw-r--r-- 1 root root 1048 2018-02-27 06:13 ./source/y/bsd-games/slack-desc drwxr-xr-x 2 root root 4096 2019-02-17 22:03 ./source/y/bsd-games/patches
-rw-r--r-- 1 root root 2159 2019-02-17 21:20 ./source/y/bsd-games/patches/0001-Replace-getline-with-get_line.patch.gz
-rw-r--r-- 1 root root 336 2019-02-17 21:20 ./source/y/bsd-games/patches/0002-robots-Refresh-screen.patch.gz
-rw-r--r-- 1 root root 4582 2019-02-17 21:20 ./source/y/bsd-games/patches/0003-quiz-Update-presidents-capitals-fix-typos-in-murders.patch.gz
-rw-r--r-- 1 root root 386 2019-02-17 21:20 ./source/y/bsd-games/patches/0004-Define-__dead-for-GNU-GCC.patch.gz
-rw-r--r-- 1 root root 544 2019-02-17 21:20 ./source/y/bsd-games/patches/0005-rain-Update-default-delay.-Closes-579062.patch.gz
-rw-r--r-- 1 root root 5817 2019-02-17 21:20 ./source/y/bsd-games/patches/0007-Unsorted-Debian-patches.patch.gz
-rw-r--r-- 1 root root 431 2019-02-17 21:20 ./source/y/bsd-games/patches/0008-quiz-Add-answers-to-adults-babies.-Closes-659528.patch.gz
-rw-r--r-- 1 root root 679 2019-02-17 21:20 ./source/y/bsd-games/patches/0009-hangman-Error-out-on-1000-unsuitable-words.-Closes-6.patch.gz
-rw-r--r-- 1 root root 577 2019-02-17 21:20 ./source/y/bsd-games/patches/0010-Fix-typos-spotted-by-Lintian.patch.gz
-rw-r--r-- 1 root root 3152 2019-02-17 21:20 ./source/y/bsd-games/patches/0011-Fix-format-security-compiling-errors.patch.gz
-rw-r--r-- 1 root root 745 2019-02-17 21:20 ./source/y/bsd-games/patches/0012-Fix-include-stdio.h-C-incompatibility.patch.gz
-rw-r--r-- 1 root root 25237 2019-02-17 21:20 ./source/y/bsd-games/patches/0013-Update-acronyms.patch.gz
-rw-r--r-- 1 root root 7476 2019-02-17 21:20 ./source/y/bsd-games/patches/0015-primes-Update-to-NetBSD-CVS-2018-02-03.patch.gz
-rw-r--r-- 1 root root 791 2019-02-17 21:20 ./source/y/bsd-games/patches/0016-Better-explanation-how-to-read-the-documentation.patch.gz
-rw-r--r-- 1 root root 801 2019-02-17 21:20 ./source/y/bsd-games/patches/0017-hack-Fix-segv-when-i-inventory-done-after-load-from-.patch.gz
-rw-r--r-- 1 root root 563 2003-02-03 21:48 ./source/y/bsd-games/patches/bsd-games.config.params.diff.gz
-rw-r--r-- 1 root root 422 2019-02-17 21:39 ./source/y/bsd-games/patches/bsd-games.factor.no.ubig.diff.gz
-rw-r--r-- 1 root root 313 2019-02-17 22:07 ./source/y/bsd-games/patches/bsd-games.fortunepath.diff.gz
-rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/patches/bsd-games.pom.diff.gz
-rw-r--r-- 1 root root 1065 2019-02-17 22:28 ./source/y/bsd-games/slack-desc
drwxr-xr-x 4 root root 4096 2019-01-08 21:28 ./testing drwxr-xr-x 4 root root 4096 2019-01-08 21:28 ./testing
-rw-r--r-- 1 root root 552 2019-01-08 21:28 ./testing/CHECKSUMS.md5 -rw-r--r-- 1 root root 552 2019-01-08 21:28 ./testing/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2019-01-08 21:28 ./testing/CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2019-01-08 21:28 ./testing/CHECKSUMS.md5.asc

View file

@ -316,17 +316,25 @@ gzip ./source/kde/patch/konsole/konsole.scrollup.diff
gzip ./source/kde/patch/konsole/konsole.term.is.konsole.diff gzip ./source/kde/patch/konsole/konsole.term.is.konsole.diff
gzip ./source/kde/patch/kuser/kuser.cmake.include.checkincludefiles.diff gzip ./source/kde/patch/kuser/kuser.cmake.include.checkincludefiles.diff
gzip ./source/y/bsd-games/hangman-words gzip ./source/y/bsd-games/hangman-words
gzip ./source/y/bsd-games/bsd-games.sail.no.union_wait.diff gzip ./source/y/bsd-games/patches/0008-quiz-Add-answers-to-adults-babies.-Closes-659528.patch
gzip ./source/y/bsd-games/bsd-games.getline.diff gzip ./source/y/bsd-games/patches/0007-Unsorted-Debian-patches.patch
gzip ./source/y/bsd-games/bsd-games.fortunepath.diff gzip ./source/y/bsd-games/patches/0013-Update-acronyms.patch
gzip ./source/y/bsd-games/bsd-games.trek-gcc4.diff gzip ./source/y/bsd-games/patches/bsd-games.fortunepath.diff
gzip ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff gzip ./source/y/bsd-games/patches/0004-Define-__dead-for-GNU-GCC.patch
gzip ./source/y/bsd-games/bsd-games.config.params.diff gzip ./source/y/bsd-games/patches/0010-Fix-typos-spotted-by-Lintian.patch
gzip ./source/y/bsd-games/bsd-games.ospeed.diff gzip ./source/y/bsd-games/patches/0002-robots-Refresh-screen.patch
gzip ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff gzip ./source/y/bsd-games/patches/0009-hangman-Error-out-on-1000-unsuitable-words.-Closes-6.patch
gzip ./source/y/bsd-games/bsd-games.strfile.8.diff gzip ./source/y/bsd-games/patches/0001-Replace-getline-with-get_line.patch
gzip ./source/y/bsd-games/bsd-games.fortlen.diff gzip ./source/y/bsd-games/patches/0005-rain-Update-default-delay.-Closes-579062.patch
gzip ./source/y/bsd-games/bsd-games.pom.diff gzip ./source/y/bsd-games/patches/0017-hack-Fix-segv-when-i-inventory-done-after-load-from-.patch
gzip ./source/y/bsd-games/patches/bsd-games.factor.no.ubig.diff
gzip ./source/y/bsd-games/patches/bsd-games.config.params.diff
gzip ./source/y/bsd-games/patches/0003-quiz-Update-presidents-capitals-fix-typos-in-murders.patch
gzip ./source/y/bsd-games/patches/0016-Better-explanation-how-to-read-the-documentation.patch
gzip ./source/y/bsd-games/patches/0015-primes-Update-to-NetBSD-CVS-2018-02-03.patch
gzip ./source/y/bsd-games/patches/0011-Fix-format-security-compiling-errors.patch
gzip ./source/y/bsd-games/patches/0012-Fix-include-stdio.h-C-incompatibility.patch
gzip ./source/y/bsd-games/patches/bsd-games.pom.diff
gzip ./source/n/rdist/rdist-6.1.5-14.fix-msgsndnotify-loop.diff gzip ./source/n/rdist/rdist-6.1.5-14.fix-msgsndnotify-loop.diff
gzip ./source/n/rdist/rdist-6.1.5-11.mkstemp.diff gzip ./source/n/rdist/rdist-6.1.5-11.mkstemp.diff
gzip ./source/n/rdist/rdist-6.1.5-01.links.diff gzip ./source/n/rdist/rdist-6.1.5-01.links.diff

View file

@ -1,21 +0,0 @@
Begin4
Title: bsd-games
Version: 2.13
Entered-date: 2001-08-30
Description: Port of most of the games from NetBSD-current. Games
included: adventure arithmetic atc backgammon banner battlestar
bcd boggle caesar canfield countmail cribbage dm factor fish fortune
gomoku hangman hunt mille monop morse number phantasia pig pom ppt
primes quiz rain random robots sail snake tetris trek wargames worm
worms wtf wump.
Keywords: games, NetBSD
Maintained-by: jsm28@cam.ac.uk (Joseph S. Myers)
Primary-site: ibiblio.org /pub/Linux/games
bsd-games-2.13.tar.gz
Alternate-site: tsx-11.mit.edu /pub/linux/sources/usr.games
Original-site: ftp.netbsd.org /pub/NetBSD/NetBSD-current/tar_files/src
games.tar.gz
Platforms: Requires ncurses (curses/termcap may also work but are no
longer tested/supported)
Copying-policy: BSD
End

View file

@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd) cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=bsd-games PKGNAM=bsd-games
VERSION=${VERSION:-2.13} VERSION=${VERSION:-2.17}
BUILD=${BUILD:-13} BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on: # Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then if [ -z "$ARCH" ]; then
@ -53,37 +53,49 @@ mkdir -p $TMP $PKG
cd $TMP cd $TMP
rm -rf bsd-games-$VERSION rm -rf bsd-games-$VERSION
tar xvf $CWD/bsd-games-$VERSION.tar.bz2 || exit 1 tar xvf $CWD/bsd-games-$VERSION.tar.?z || exit 1
cd bsd-games-$VERSION || exit 1 cd bsd-games-$VERSION || exit 1
zcat $CWD/bsd-games.config.params.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
./configure
zcat $CWD/bsd-games.ospeed.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
zcat $CWD/bsd-games.fortunepath.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
zcat $CWD/bsd-games.fortlen.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
zcat $CWD/bsd-games.strfile.8.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
zcat $CWD/bsd-games.trek-gcc4.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
zcat $CWD/bsd-games.phantasia_install_fix.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
zcat $CWD/bsd-games.getline.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
zcat $CWD/bsd-games.sail.no.union_wait.diff.gz | patch -p1 --backup --suffix=.orig || exit 1
# Fix typos in the quote database: zcat $CWD/patches/bsd-games.config.params.diff.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
for typofix in $CWD/fortune-fixes-sorry-no-additions-accepted-here/* ; do zcat $CWD/patches/0001-Replace-getline-with-get_line.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $typofix | patch -p1 --verbose || exit 1 zcat $CWD/patches/0002-robots-Refresh-screen.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
done zcat $CWD/patches/0003-quiz-Update-presidents-capitals-fix-typos-in-murders.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0004-Define-__dead-for-GNU-GCC.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0005-rain-Update-default-delay.-Closes-579062.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0007-Unsorted-Debian-patches.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0008-quiz-Add-answers-to-adults-babies.-Closes-659528.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0009-hangman-Error-out-on-1000-unsuitable-words.-Closes-6.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0010-Fix-typos-spotted-by-Lintian.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0011-Fix-format-security-compiling-errors.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0012-Fix-include-stdio.h-C-incompatibility.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0013-Update-acronyms.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0015-primes-Update-to-NetBSD-CVS-2018-02-03.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0016-Better-explanation-how-to-read-the-documentation.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/0017-hack-Fix-segv-when-i-inventory-done-after-load-from-.patch.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/bsd-games.factor.no.ubig.diff.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
zcat $CWD/patches/bsd-games.fortunepath.diff.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
./configure || exit 1
## Without the old default (with, of course, a command line switch), and an updated ## Without the old default (with, of course, a command line switch), and an updated
## man page, even though PJV wrote this, it just doesn't make the cut. I hope it's ## man page, even though PJV wrote this, it just doesn't make the cut. I hope it's
## still of use to somebody though. It increases the accuracy of pom by two orders ## still of use to somebody though. It increases the accuracy of pom by two orders
## of magnitude. Enjoy! ## of magnitude. Enjoy!
##zcat $CWD/bsd-games.pom.diff.gz | patch -p1 --verbose || exit 1 ##zcat $CWD/patches/bsd-games.pom.diff.gz | patch -p1 --verbose || exit 1
# Now that Eric took my joke seriously... heh. It's a wonder any Work gets done here. # Now that Eric took my joke seriously... heh. It's a wonder any Work gets done here.
zcat $CWD/bsd-games.pom.diff.gz | patch -p1 --verbose || exit 1 zcat $CWD/patches/bsd-games.pom.diff.gz | patch -p1 --verbose || exit 1
# I'm not in favor of censorship of any kind. If you are, you'll
# have to be the one to delete these:
for bad in fortunes-o fortunes2-o limerick-o unamerican-o ; do
cp fortune/datfiles/${bad}.real fortune/datfiles/${bad}.fake
cp fortune/datfiles/${bad}.real ${bad}
( cd fortune/datfiles ; strfile ${bad} ${bad}.dat )
done
cp fortune/datfiles/unamerican-o.real fortune/datfiles/unamerican-o.fake
cp fortune/datfiles/unamerican-o.real unamerican-o
( cd fortune/datfiles ; strfile unamerican-o unamerican-o.dat )
make || exit 1 make || exit 1
# Does this go to $PKG? I am perplexed. # Does this go to $PKG? I am perplexed.
make install || exit 1 make install || exit 1
@ -93,10 +105,10 @@ cp -a \
TODO YEAR2000 $PKG/usr/doc/bsd-games-$VERSION TODO YEAR2000 $PKG/usr/doc/bsd-games-$VERSION
cp -a fortune/README $PKG/usr/doc/bsd-games-$VERSION/README.fortune cp -a fortune/README $PKG/usr/doc/bsd-games-$VERSION/README.fortune
cp -a hunt/README $PKG/usr/doc/bsd-games-$VERSION/README.hunt cp -a hunt/README $PKG/usr/doc/bsd-games-$VERSION/README.hunt
cp -a hunt/README.linux $PKG/usr/doc/bsd-games-$VERSION/README.linux.hunt
cp -a phantasia/README $PKG/usr/doc/bsd-games-$VERSION/README.phantasia cp -a phantasia/README $PKG/usr/doc/bsd-games-$VERSION/README.phantasia
cp -a trek/README.linux $PKG/usr/doc/bsd-games-$VERSION/README.linux.trek
chown root.root $PKG/usr/doc/bsd-games-$VERSION/* chown root.root $PKG/usr/doc/bsd-games-$VERSION/*
mv $PKG/usr/share/doc/bsd-games/* $PKG/usr/doc/bsd-games-$VERSION
rm -rf $PKG/usr/share/doc
chmod 644 $PKG/usr/doc/bsd-games-$VERSION/* chmod 644 $PKG/usr/doc/bsd-games-$VERSION/*
cd $PKG cd $PKG
@ -108,11 +120,7 @@ chmod 755 etc/profile.d/bsd-games-login-fortune.*
# Add some cool Linux related quotes: # Add some cool Linux related quotes:
tar xvf $CWD/fortunes-linuxcookie.tar.gz || exit 1 tar xvf $CWD/fortunes-linuxcookie.tar.gz || exit 1
# I'm not in favor of censorship of any kind. If you are, you'll
# have to be the one to delete these:
rm -f $PKG/usr/share/games/fortunes/limerick
rm -f $PKG/usr/share/games/fortunes/limerick.dat
tar xvf $CWD/fortunes-o.tar.gz || exit 1
# Run strfile on all fortune files: # Run strfile on all fortune files:
( cd $PKG/usr/share/games/fortunes ( cd $PKG/usr/share/games/fortunes
for file in *.dat ; do for file in *.dat ; do
@ -123,8 +131,10 @@ tar xvf $CWD/fortunes-o.tar.gz || exit 1
$PKG/usr/bin/strfile -r -x $(basename $file .dat) $PKG/usr/bin/strfile -r -x $(basename $file .dat)
done done
) )
# Strip binaries: # Strip binaries:
strip $PKG/usr/games/* $PKG/usr/bin/* $PKG/usr/sbin/* strip $PKG/usr/games/* $PKG/usr/bin/* $PKG/usr/sbin/*
# Fix perms: # Fix perms:
mkdir -p $PKG/usr/share/dict mkdir -p $PKG/usr/share/dict
zcat $CWD/hangman-words.gz > $PKG/usr/share/dict/words zcat $CWD/hangman-words.gz > $PKG/usr/share/dict/words
@ -150,23 +160,25 @@ config() {
fi fi
# Otherwise, we leave the .new copy for the admin to consider... # Otherwise, we leave the .new copy for the admin to consider...
} }
config var/lib/bsdgames/criblog.new
config var/lib/bsdgames/saillog.new
config var/lib/bsdgames/cfscores.new
config var/lib/bsdgames/atc_score.new config var/lib/bsdgames/atc_score.new
config var/lib/bsdgames/phantasia/gold.new
config var/lib/bsdgames/phantasia/mess.new
config var/lib/bsdgames/phantasia/motd.new
config var/lib/bsdgames/phantasia/void.new
config var/lib/bsdgames/phantasia/monsters.new
config var/lib/bsdgames/phantasia/lastdead.new
config var/lib/bsdgames/phantasia/characs.new
config var/lib/bsdgames/phantasia/scoreboard.new
config var/lib/bsdgames/battlestar.log.new
config var/lib/bsdgames/robots_roll.new config var/lib/bsdgames/robots_roll.new
config var/lib/bsdgames/hack/perm.new
config var/lib/bsdgames/hack/record.new
config var/lib/bsdgames/phantasia/lastdead.new
config var/lib/bsdgames/phantasia/scoreboard.new
config var/lib/bsdgames/phantasia/monsters.new
config var/lib/bsdgames/phantasia/mess.new
config var/lib/bsdgames/phantasia/characs.new
config var/lib/bsdgames/phantasia/motd.new
config var/lib/bsdgames/phantasia/gold.new
config var/lib/bsdgames/phantasia/void.new
config var/lib/bsdgames/snakerawscores.new config var/lib/bsdgames/snakerawscores.new
config var/lib/bsdgames/saillog.new
config var/lib/bsdgames/battlestar.log.new
config var/lib/bsdgames/snake.log.new config var/lib/bsdgames/snake.log.new
rm -f var/lib/bsdgames/criblog.new var/lib/bsdgames/saillog.new var/lib/bsdgames/cfscores.new var/lib/bsdgames/atc_score.new var/lib/bsdgames/phantasia/gold.new var/lib/bsdgames/phantasia/mess.new var/lib/bsdgames/phantasia/motd.new var/lib/bsdgames/phantasia/void.new var/lib/bsdgames/phantasia/monsters.new var/lib/bsdgames/phantasia/lastdead.new var/lib/bsdgames/phantasia/characs.new var/lib/bsdgames/phantasia/scoreboard.new var/lib/bsdgames/battlestar.log.new var/lib/bsdgames/robots_roll.new var/lib/bsdgames/snakerawscores.new var/lib/bsdgames/snake.log.new config var/lib/bsdgames/criblog.new
config var/lib/bsdgames/cfscores.new
( cd var/lib/bsdgames ; find . -name "*.new" -exec rm -f "{}" \; )
EOF EOF
cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/install/slack-desc

View file

@ -1,11 +0,0 @@
--- ./fortune/fortune/fortune.c.orig 2001-08-29 08:11:31.000000000 -0700
+++ ./fortune/fortune/fortune.c 2003-02-03 14:27:45.000000000 -0800
@@ -318,7 +318,7 @@
char line[BUFSIZ];
if (!(Fortfile->tbl.str_flags & (STR_RANDOM | STR_ORDERED)))
- nchar = (Seekpts[1] - Seekpts[0] <= SLEN);
+ nchar = Seekpts[1] - Seekpts[0];
else {
open_fp(Fortfile);
(void) fseek(Fortfile->inf, (long)Seekpts[0], SEEK_SET);

View file

@ -1,8 +0,0 @@
--- ./fortune/fortune/pathnames.h.in.orig Sat Mar 9 21:26:23 2002
+++ ./fortune/fortune/pathnames.h.in Sat Mar 9 21:26:34 2002
@@ -35,4 +35,4 @@
* @(#)pathnames.h 8.1 (Berkeley) 5/31/93
*/
-#define FORTDIR "@sharedir@"
+#define FORTDIR "@sharedir@/fortunes"

View file

@ -1,251 +0,0 @@
--- ./gomoku/main.c.orig 2000-05-28 09:51:46.000000000 -0500
+++ ./gomoku/main.c 2010-05-11 16:10:10.000000000 -0500
@@ -159,7 +159,7 @@
if (inputfp == NULL && test == 0) {
for (;;) {
ask("black or white? ");
- getline(buf, sizeof(buf));
+ g_getline(buf, sizeof(buf));
if (buf[0] == 'b' || buf[0] == 'B') {
color = BLACK;
break;
@@ -176,7 +176,7 @@
}
} else {
setbuf(stdout, 0);
- getline(buf, sizeof(buf));
+ g_getline(buf, sizeof(buf));
if (strcmp(buf, "black") == 0)
color = BLACK;
else if (strcmp(buf, "white") == 0)
@@ -248,7 +248,7 @@
getinput:
if (interactive)
ask("move? ");
- if (!getline(buf, sizeof(buf))) {
+ if (!g_getline(buf, sizeof(buf))) {
curmove = RESIGN;
break;
}
@@ -260,7 +260,7 @@
FILE *fp;
ask("save file name? ");
- (void)getline(buf, sizeof(buf));
+ (void)g_getline(buf, sizeof(buf));
if ((fp = fopen(buf, "w")) == NULL) {
glog("cannot create save file");
goto getinput;
@@ -313,14 +313,14 @@
if (i != RESIGN) {
replay:
ask("replay? ");
- if (getline(buf, sizeof(buf)) &&
+ if (g_getline(buf, sizeof(buf)) &&
(buf[0] == 'y' || buf[0] == 'Y'))
goto again;
if (strcmp(buf, "save") == 0) {
FILE *fp;
ask("save file name? ");
- (void)getline(buf, sizeof(buf));
+ (void)g_getline(buf, sizeof(buf));
if ((fp = fopen(buf, "w")) == NULL) {
glog("cannot create save file");
goto replay;
@@ -371,7 +371,7 @@
quit();
top:
ask("cmd? ");
- if (!getline(fmtbuf, sizeof(fmtbuf)))
+ if (!g_getline(fmtbuf, sizeof(fmtbuf)))
quit();
switch (*fmtbuf) {
case '\0':
--- ./gomoku/gomoku.h.orig 1999-09-15 05:34:31.000000000 -0500
+++ ./gomoku/gomoku.h 2010-05-11 16:10:10.000000000 -0500
@@ -269,7 +269,7 @@
void bdinit __P((struct spotstr *));
void init_overlap __P((void));
-int getline __P((char *, int));
+int g_getline __P((char *, int));
void ask __P((const char *));
void dislog __P((const char *));
void bdump __P((FILE *));
--- ./gomoku/bdisp.c.orig 2001-02-07 18:18:22.000000000 -0600
+++ ./gomoku/bdisp.c 2010-05-11 16:10:10.000000000 -0500
@@ -245,7 +245,7 @@
}
int
-getline(buf, size)
+g_getline(buf, size)
char *buf;
int size;
{
--- ./cribbage/score.c.orig 1999-09-15 05:34:31.000000000 -0500
+++ ./cribbage/score.c 2010-05-11 16:10:10.000000000 -0500
@@ -122,7 +122,7 @@
CARD h[(CINHAND + 1)];
char buf[32];
- expl[0] = '\0'; /* initialize explanation */
+ cr_expl[0] = '\0'; /* initialize explanation */
score = 0;
flag = TRUE;
k = hand[0].suit;
@@ -132,29 +132,29 @@
if (hand[i].suit == starter.suit) {
score++;
if (do_explain)
- strcat(expl, "His Nobs");
+ strcat(cr_expl, "His Nobs");
}
h[i] = hand[i];
}
if (flag && n >= CINHAND) {
- if (do_explain && expl[0] != '\0')
- strcat(expl, ", ");
+ if (do_explain && cr_expl[0] != '\0')
+ strcat(cr_expl, ", ");
if (starter.suit == k) {
score += 5;
if (do_explain)
- strcat(expl, "Five-flush");
+ strcat(cr_expl, "Five-flush");
} else
if (!crb) {
score += 4;
- if (do_explain && expl[0] != '\0')
- strcat(expl, ", Four-flush");
+ if (do_explain && cr_expl[0] != '\0')
+ strcat(cr_expl, ", Four-flush");
else
- strcpy(expl, "Four-flush");
+ strcpy(cr_expl, "Four-flush");
}
}
- if (do_explain && expl[0] != '\0')
- strcat(expl, ", ");
+ if (do_explain && cr_expl[0] != '\0')
+ strcat(cr_expl, ", ");
h[n] = starter;
sorthand(h, n + 1); /* sort by rank */
i = 2 * fifteens(h, n + 1);
@@ -162,9 +162,9 @@
if (do_explain) {
if (i > 0) {
(void) sprintf(buf, "%d points in fifteens", i);
- strcat(expl, buf);
+ strcat(cr_expl, buf);
} else
- strcat(expl, "No fifteens");
+ strcat(cr_expl, "No fifteens");
}
i = pairuns(h, n + 1);
score += i;
@@ -172,9 +172,9 @@
if (i > 0) {
(void) sprintf(buf, ", %d points in pairs, %d in runs",
pairpoints, runpoints);
- strcat(expl, buf);
+ strcat(cr_expl, buf);
} else
- strcat(expl, ", No pairs/runs");
+ strcat(cr_expl, ", No pairs/runs");
}
return (score);
}
--- ./cribbage/support.c.orig 1999-09-15 05:34:31.000000000 -0500
+++ ./cribbage/support.c 2010-05-11 16:10:10.000000000 -0500
@@ -152,7 +152,7 @@
msg("You should have taken %d, not %d!", i, j);
}
if (explain)
- msg("Explanation: %s", expl);
+ msg("Explanation: %s", cr_expl);
do_wait();
} else
win = chkscr(&pscore, i);
--- ./cribbage/cribbage.h.orig 2000-10-17 14:58:05.000000000 -0500
+++ ./cribbage/cribbage.h 2010-05-11 16:10:10.000000000 -0500
@@ -59,7 +59,7 @@
extern BOOLEAN quiet; /* if suppress random mess */
extern BOOLEAN playing; /* currently playing game */
-extern char expl[]; /* string for explanation */
+extern char cr_expl[]; /* string for explanation */
void addmsg __P((const char *, ...))
__attribute__((__format__(__printf__, 1, 2)));
@@ -81,7 +81,7 @@
int fifteens __P((const CARD [], int));
void game __P((void));
void gamescore __P((void));
-char *getline __P((void));
+char *cr_getline __P((void));
int getuchar __P((void));
int incard __P((CARD *));
int infrom __P((const CARD [], int, const char *));
--- ./cribbage/io.c.orig 1999-10-01 15:45:34.000000000 -0500
+++ ./cribbage/io.c 2010-05-11 16:10:10.000000000 -0500
@@ -254,7 +254,7 @@
retval = FALSE;
rnk = sut = EMPTY;
- if (!(line = getline()))
+ if (!(line = cr_getline()))
goto gotit;
p = p1 = line;
while (*p1 != ' ' && *p1 != '\0')
@@ -355,7 +355,7 @@
for (sum = 0;;) {
msg(prompt);
- if (!(p = getline()) || *p == '\0') {
+ if (!(p = cr_getline()) || *p == '\0') {
msg(quiet ? "Not a number" :
"That doesn't look like a number");
continue;
@@ -562,7 +562,7 @@
* compressed to one space; a space is inserted before a ','
*/
char *
-getline()
+cr_getline()
{
char *sp;
int c, oy, ox;
--- ./cribbage/crib.c.orig 2001-02-07 18:18:22.000000000 -0600
+++ ./cribbage/crib.c 2010-05-11 16:10:10.000000000 -0500
@@ -225,7 +225,7 @@
if (!rflag) { /* player cuts deck */
msg(quiet ? "Cut for crib? " :
"Cut to see whose crib it is -- low card wins? ");
- getline();
+ cr_getline();
}
i = (rand() >> 4) % CARDS; /* random cut */
do { /* comp cuts deck */
@@ -401,7 +401,7 @@
if (!rflag) { /* random cut */
msg(quiet ? "Cut the deck? " :
"How many cards down do you wish to cut the deck? ");
- getline();
+ cr_getline();
}
i = (rand() >> 4) % (CARDS - pos);
turnover = deck[i + pos];
--- ./cribbage/extern.c.orig 1999-09-26 06:37:19.000000000 -0500
+++ ./cribbage/extern.c 2010-05-11 16:10:10.000000000 -0500
@@ -52,7 +52,7 @@
BOOLEAN quiet = FALSE; /* if suppress random mess */
BOOLEAN rflag = FALSE; /* if all cuts random */
-char expl[128]; /* explanation */
+char cr_expl[128]; /* explanation */
int cgames = 0; /* number games comp won */
int cscore = 0; /* comp score in this game */

View file

@ -1,11 +0,0 @@
--- ./backgammon/backgammon/main.c.orig 2000-05-28 09:51:46.000000000 -0500
+++ ./backgammon/backgammon/main.c 2006-09-06 21:16:55.000000000 -0500
@@ -57,7 +57,7 @@
extern const char *const instr[]; /* text of instructions */
extern const char *const message[]; /* update message */
#ifndef NCURSES_VERSION
-short ospeed; /* tty output speed */
+speed_t ospeed; /* tty output speed */
#endif
const char *const helpm[] = { /* help message */

View file

@ -1,17 +0,0 @@
--- bsd-games-2.13/phantasia/Makefrag 2001-08-31 00:55:25.000000000 +0300
+++ bsd-games-2.13/phantasia/Makefrag 2006-08-14 03:19:03.771302000 +0300
@@ -41,11 +41,11 @@
$(INSTALL_SCORE_GAME) phantasia/phantasia $(INSTALL_PREFIX)$(GAMESDIR)/phantasia
$(HIDE_GAME) phantasia
(set -e; for f in $(phantasia_VFILES1); do \
- cp phantasia/$$f $(PHANTASIA_DIR)/$$f; \
+ cp phantasia/$$f $(INSTALL_PREFIX)$(PHANTASIA_DIR)/$$f; \
$(INSTALL_SCORE_FILE) $(PHANTASIA_DIR)/$$f; done)
(set -e; for f in $(phantasia_VFILES2); do \
- if [ ! -e $(PHANTASIA_DIR)/$$f ]; then \
- cp phantasia/$$f $(PHANTASIA_DIR)/$$f; fi; done; \
+ if [ ! -e $(INSTALL_PREFIX)$(PHANTASIA_DIR)/$$f ]; then \
+ cp phantasia/$$f $(INSTALL_PREFIX)$(PHANTASIA_DIR)/$$f; fi; done; \
$(INSTALL_SCORE_FILE) $(PHANTASIA_DIR)/scoreboard; \
$(INSTALL_SCORE_FILE) -p $(PHANTASIA_DIR)/characs)
$(INSTALL_MANUAL) phantasia/phantasia.6

View file

@ -1,11 +0,0 @@
--- ./sail/pl_1.c.orig 2001-02-07 18:18:24.000000000 -0600
+++ ./sail/pl_1.c 2018-04-08 12:55:44.967250171 -0500
@@ -133,7 +133,7 @@
void
child(int n __attribute__((__unused__)))
{
- union wait status;
+ int status;
int pid;
signal(SIGCHLD, SIG_IGN);

View file

@ -1,22 +0,0 @@
--- ./fortune/strfile/strfile.8.orig 2001-02-07 16:18:22.000000000 -0800
+++ ./fortune/strfile/strfile.8 2003-02-03 14:50:29.000000000 -0800
@@ -61,7 +61,7 @@
This allows random access of the strings.
.Pp
The output file, if not specified on the command line, is named
-.Ar source_file Ns Sy .out .
+.Ar source_file Ns Sy .dat .
.Pp
The options are as follows:
.Bl -tag -width "-c char"
@@ -137,8 +137,8 @@
.Xr byteorder 3 ,
.Xr fortune 6
.Sh FILES
-.Bl -tag -width strfile.out -compact
-.It Pa strfile.out
+.Bl -tag -width strfile.dat -compact
+.It Pa strfile.dat
default output file.
.El
.Sh HISTORY

View file

@ -1,27 +0,0 @@
--- a/trek/trek.h 1999-09-26 12:37:19.000000000 +0100
+++ b/trek/trek.h 2007-08-27 18:55:07.907206649 +0100
@@ -35,6 +35,8 @@
* @(#)trek.h 8.1 (Berkeley) 5/31/93
*/
+#include "getpar.h"
+
/*
** Global Declarations
**
--- a/trek/getpar.h 1999-09-15 11:34:31.000000000 +0100
+++ b/trek/getpar.h 2007-08-27 18:55:20.011896456 +0100
@@ -34,6 +34,8 @@
*
* @(#)getpar.h 8.1 (Berkeley) 5/31/93
*/
+#ifndef _GETPAR_H
+#define _GETPAR_H
typedef void (*cmdfun) __P((int));
struct cvntab /* used for getcodpar() paramater list */
@@ -52,3 +54,4 @@
int testnl __P((void));
void skiptonl __P((int));
int readdelim __P((int));
+#endif

View file

@ -1,11 +0,0 @@
--- ./fortune/datfiles/fortunes2.orig 2001-08-29 10:11:30.000000000 -0500
+++ ./fortune/datfiles/fortunes2 2012-03-02 10:00:47.753999471 -0600
@@ -35689,7 +35689,7 @@
order to get power we would have to become very much like them. (Lenin's
fatal mistake, both in theory and in practice.)
%
-Perhaps the world's second words crime is boredom. The first is
+Perhaps the world's second worst crime is boredom. The first is
being a bore.
-- Cecil Beaton
%

View file

@ -0,0 +1,219 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Thu, 16 Feb 2012 11:26:00 +0100
Subject: Replace getline() with get_line()
---
boggle/boggle/bog.c | 2 +-
boggle/boggle/extern.h | 2 +-
boggle/boggle/mach.c | 2 +-
cribbage/crib.c | 4 ++--
cribbage/cribbage.h | 2 +-
cribbage/io.c | 8 ++++----
gomoku/bdisp.c | 2 +-
gomoku/gomoku.h | 2 +-
gomoku/main.c | 14 +++++++-------
9 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/boggle/boggle/bog.c b/boggle/boggle/bog.c
index 276969b..0aaa086 100644
--- a/boggle/boggle/bog.c
+++ b/boggle/boggle/bog.c
@@ -336,7 +336,7 @@ playgame()
}
while (1) {
- if (getline(buf) == NULL) {
+ if (get_line(buf) == NULL) {
if (feof(stdin))
clearerr(stdin);
break;
diff --git a/boggle/boggle/extern.h b/boggle/boggle/extern.h
index ba36561..734a4b9 100644
--- a/boggle/boggle/extern.h
+++ b/boggle/boggle/extern.h
@@ -43,7 +43,7 @@ void delay(int);
long dictseek(FILE *, long, int);
void findword(void);
void flushin(FILE *);
-char *getline(char *);
+char *get_line(char *);
void getword(char *);
int help(void);
int inputch(void);
diff --git a/boggle/boggle/mach.c b/boggle/boggle/mach.c
index b511296..dd89578 100644
--- a/boggle/boggle/mach.c
+++ b/boggle/boggle/mach.c
@@ -168,7 +168,7 @@ prwidth(base, indx)
* - doesn't accept words longer than MAXWORDLEN or containing caps
*/
char *
-getline(q)
+get_line(q)
char *q;
{
int ch, done;
diff --git a/cribbage/crib.c b/cribbage/crib.c
index 5fc53b3..9340126 100644
--- a/cribbage/crib.c
+++ b/cribbage/crib.c
@@ -221,7 +221,7 @@ game()
if (!rflag) { /* player cuts deck */
msg(quiet ? "Cut for crib? " :
"Cut to see whose crib it is -- low card wins? ");
- getline();
+ get_line();
}
i = (rand() >> 4) % CARDS; /* random cut */
do { /* comp cuts deck */
@@ -397,7 +397,7 @@ cut(mycrib, pos)
if (!rflag) { /* random cut */
msg(quiet ? "Cut the deck? " :
"How many cards down do you wish to cut the deck? ");
- getline();
+ get_line();
}
i = (rand() >> 4) % (CARDS - pos);
turnover = deck[i + pos];
diff --git a/cribbage/cribbage.h b/cribbage/cribbage.h
index ce2eecb..3187457 100644
--- a/cribbage/cribbage.h
+++ b/cribbage/cribbage.h
@@ -77,7 +77,7 @@ int eq(CARD, CARD);
int fifteens(const CARD [], int);
void game(void);
void gamescore(void);
-char *getline(void);
+char *get_line(void);
int getuchar(void);
int incard(CARD *);
int infrom(const CARD [], int, const char *);
diff --git a/cribbage/io.c b/cribbage/io.c
index 3d69257..8100ddd 100644
--- a/cribbage/io.c
+++ b/cribbage/io.c
@@ -245,7 +245,7 @@ incard(crd)
retval = FALSE;
rnk = sut = EMPTY;
- if (!(line = getline()))
+ if (!(line = get_line()))
goto gotit;
p = p1 = line;
while (*p1 != ' ' && *p1 != '\0')
@@ -346,7 +346,7 @@ number(lo, hi, prompt)
for (sum = 0;;) {
msg(prompt);
- if (!(p = getline()) || *p == '\0') {
+ if (!(p = get_line()) || *p == '\0') {
msg(quiet ? "Not a number" :
"That doesn't look like a number");
continue;
@@ -528,12 +528,12 @@ over:
}
/*
- * getline:
+ * get_line:
* Reads the next line up to '\n' or EOF. Multiple spaces are
* compressed to one space; a space is inserted before a ','
*/
char *
-getline()
+get_line()
{
char *sp;
int c, oy, ox;
diff --git a/gomoku/bdisp.c b/gomoku/bdisp.c
index 522d92f..d2de746 100644
--- a/gomoku/bdisp.c
+++ b/gomoku/bdisp.c
@@ -241,7 +241,7 @@ ask(str)
}
int
-getline(buf, size)
+get_line(buf, size)
char *buf;
int size;
{
diff --git a/gomoku/gomoku.h b/gomoku/gomoku.h
index 0d9ff6e..3ebb42e 100644
--- a/gomoku/gomoku.h
+++ b/gomoku/gomoku.h
@@ -263,7 +263,7 @@ extern int debug;
void bdinit(struct spotstr *);
void init_overlap(void);
-int getline(char *, int);
+int get_line(char *, int);
void ask(const char *);
void dislog(const char *);
void bdump(FILE *);
diff --git a/gomoku/main.c b/gomoku/main.c
index 299dee1..3ff4750 100644
--- a/gomoku/main.c
+++ b/gomoku/main.c
@@ -155,7 +155,7 @@ again:
if (inputfp == NULL && test == 0) {
for (;;) {
ask("black or white? ");
- getline(buf, sizeof(buf));
+ get_line(buf, sizeof(buf));
if (buf[0] == 'b' || buf[0] == 'B') {
color = BLACK;
break;
@@ -172,7 +172,7 @@ again:
}
} else {
setbuf(stdout, 0);
- getline(buf, sizeof(buf));
+ get_line(buf, sizeof(buf));
if (strcmp(buf, "black") == 0)
color = BLACK;
else if (strcmp(buf, "white") == 0)
@@ -244,7 +244,7 @@ again:
getinput:
if (interactive)
ask("move? ");
- if (!getline(buf, sizeof(buf))) {
+ if (!get_line(buf, sizeof(buf))) {
curmove = RESIGN;
break;
}
@@ -256,7 +256,7 @@ again:
FILE *fp;
ask("save file name? ");
- (void)getline(buf, sizeof(buf));
+ (void)get_line(buf, sizeof(buf));
if ((fp = fopen(buf, "w")) == NULL) {
glog("cannot create save file");
goto getinput;
@@ -309,14 +309,14 @@ again:
if (i != RESIGN) {
replay:
ask("replay? ");
- if (getline(buf, sizeof(buf)) &&
+ if (get_line(buf, sizeof(buf)) &&
(buf[0] == 'y' || buf[0] == 'Y'))
goto again;
if (strcmp(buf, "save") == 0) {
FILE *fp;
ask("save file name? ");
- (void)getline(buf, sizeof(buf));
+ (void)get_line(buf, sizeof(buf));
if ((fp = fopen(buf, "w")) == NULL) {
glog("cannot create save file");
goto replay;
@@ -367,7 +367,7 @@ whatsup(signum)
quit();
top:
ask("cmd? ");
- if (!getline(fmtbuf, sizeof(fmtbuf)))
+ if (!get_line(fmtbuf, sizeof(fmtbuf)))
quit();
switch (*fmtbuf) {
case '\0':

View file

@ -0,0 +1,20 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Thu, 16 Feb 2012 11:26:49 +0100
Subject: robots: Refresh screen
---
robots/move.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/robots/move.c b/robots/move.c
index 7edaae3..b2703c5 100644
--- a/robots/move.c
+++ b/robots/move.c
@@ -185,6 +185,7 @@ teleport:
flush_in();
goto ret;
case CTRL('L'):
+ redrawwin(curscr);
refresh();
break;
case EOF:

View file

@ -0,0 +1,352 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Thu, 16 Feb 2012 11:26:50 +0100
Subject: quiz: Update presidents, capitals, fix typos in murders, poetry
---
quiz/datfiles/africa | 51 ++++++++++++++++++++++++++++++++-------------------
quiz/datfiles/america | 45 ++++++++++++++++++++++++++++++++++++---------
quiz/datfiles/asia | 40 +++++++++++++++++++++++++---------------
quiz/datfiles/europe | 44 ++++++++++++++++++++++++++++++--------------
quiz/datfiles/murders | 2 +-
quiz/datfiles/poetry | 2 +-
quiz/datfiles/pres | 6 ++++--
7 files changed, 129 insertions(+), 61 deletions(-)
diff --git a/quiz/datfiles/africa b/quiz/datfiles/africa
index 6e74550..a2eeeaf 100644
--- a/quiz/datfiles/africa
+++ b/quiz/datfiles/africa
@@ -1,43 +1,56 @@
-Algeria:Alg[iers|er]
-Botswana:Gaberones
+Algeria:Algiers
+Angola:Luanda
+Benin:Porto-Novo
+Botswana:Gaborone
+Burkina Faso:Ouagadougou
Burundi:Bujumbura
-Cameroun:Yaound['e|e'|e]
+C[^o|o^|o]te d'Ivoire:Yamoussoukro
+Cameroon:Yaound['e|e'|e]
+Cape Verde:Praia
Central Africa{n Rep{ublic}}:Bangui
-Chad:Ndjamena
-Congo:Brazzaville
-Dahomey:Porto Novo
+Chad:N'Djamena|Ndjamena
+Comoros:Moroni
+Djibouti:Djibouti
+Egypt:Cairo
+Equatorial Guinea:Malabo
+Eritrea:Asmara
Ethiopia:Addis Ababa
Gabon:Libreville
Ghana:Accra
Guinea-Bissau:Bissau
Guinea:Conakry
-Ivory Coast:Abidjan
Kenya:Nairobi
Lesotho:Maseru
Liberia:Monrovia
-Libya:Al Bayda{'}
-Malagasy{ Rep{ublic}}|Madagascar:Tananarive
-Malawi:Zomba
+Libya:Tripoli
+Malagasy{ Rep{ublic}}|Madagascar:Antananarivo
+Malawi:Lilongwe
Mali:Bamako
Mauritania:Nouakchott
+Mauritius:Port Louis
+Mayotte:Mamoudzou
+Mo[z|,c|c,|c]ambique:Maputo
Morocco:Rabat
-Mo[z|,c|c,|c]ambique:Louren[,c|c,|c]o Marques
+Namibia:Windhoek
Niger:Niamey
-Nigeria:Lagos
-Rhodesia:Salisbury
+Nigeria:Abuja
+R['e|e'|e]union:Saint-Denis
+Rep. Congo:Brazzaville
Rwanda:Kigali
+S[~a|a~|a]o Tom['e|e'|e] and Pr['i|i'|i]ncipe:S[~a|a~|a]o Tom['e|e'|e]
+Saint Helena:Jamestown
Senegal:Dakar
+Seychelles:Victoria
Sierra Leone:Freetown
-Somali{ Rep{ublic}}:Mogadis[cio|hu]
+Somalia:Mogadishu
Sudan:Khartoum
Swaziland:Mbabane
-Tanzania:Dar es Salaam
+Tanzania:Dodoma
Togo:Lom['e|e'|e]
Tunisia:Tunis
Uganda:Kampala
-United Arab Rep{ublic}|Egypt:Cairo
-Upper Volta:Ouagadougou
Zambia:Lusaka
-Za["i|i"|i]re:Kinshasha
+Zimbabwe:Harare
+{DR |Democratic Republic of the }Congo:Kinshasa
{Rep{ublic} of }South Africa:Pretoria
-{The }Gambia:Bathurst
+{The }Gambia:Banjul|Bathurst
diff --git a/quiz/datfiles/america b/quiz/datfiles/america
index 7f8fee1..5c9e321 100644
--- a/quiz/datfiles/america
+++ b/quiz/datfiles/america
@@ -1,27 +1,54 @@
+Anguilla:The Valley
+Antigua and Barbuda:St. John's
Argentina:Buenos Aires
-Bahamas:Nassau
+Aruba:Oranjestad
Barbados:Bridgetown
+Belize:Belmopan
+Bermuda:Hamilton
Bolivia:La Paz|Sucre
-Bra[z|s]il:Brasilia
+Bra[z|s]il:Bras['i|i'|i]lia
+British Virgin Islands:Road Town
Canada:Ottawa
+Cayman Islands:George Town
Chile:Santiago
Colombia:Bogot['a|a'|a]
-Costa Rica:San Jose
+Costa Rica:San Jos['e|e'|e]
Cuba:Ha[v|b]ana
+Dominica:Roseau
Dominican Republic:Santo Domingo
Ecuador:Quito
El Salvador:San Salvador
-Guatemala:Guatemala
+Falkland Islands:Stanley
+French Guiana:Cayenne
+Greenland:Nuuk
+Grenada:St. George's
+Guadeloupe:Basse-Terre
+Guatemala:Guatemala City
Guyana:Georgetown
-Haiti:Port au Prince
+Haiti:Port[-| ]au[-| ]Prince
Honduras:Tegucigalpa
Jamaica:Kingston
-Mexico:Mexico
+Martinique:Fort-de-France
+Mexico:Mexico City
+Montserrat:Plymouth|Brades
+Netherlands Antilles:Willemstad
Nicaragua:Managua
-Panama:Panama
+Panama:Panama City
Paraguay:Asunci['o|o'|o]n
Peru:Lima
-Trinidad[ and Tobago|]:Port of Spain
-United States|US{A}:Washington
+Puerto Rico:San Juan
+SGSSI|South Georgia and the South Sandwich Islands:Grytviken|King Edward Point
+Saint Barth['e|e'|e]lemy:Gustavia
+Saint Kitts and Nevis:Basseterre
+Saint Lucia:Castries
+Saint Martin:Marigot
+Saint Pierre and Miquelon:Saint-Pierre
+Saint Vincent and the Grenadines:Kingstown
+Suriname:Paramaribo
+Trinidad{ and Tobago}:Port of Spain
+Turks and Caicos Islands:Cockburn Town
+United States Virgin Islands:Charlotte Amalie
+United States|US{A}:Washington{ DC}
Uruguay:Montevideo
Venezuela:Caracas
+{The }Bahamas:Nassau
diff --git a/quiz/datfiles/asia b/quiz/datfiles/asia
index b9449f4..8c8ee55 100644
--- a/quiz/datfiles/asia
+++ b/quiz/datfiles/asia
@@ -1,12 +1,16 @@
Afghanistan:Kabul
+Armenia:Yerevan
Australia:Canberra
-Bahrein:Manama
-Bangladesh:Dacca
-Bhutan:Thimbu
-Burma:Rangoon
-Cambodia|Khmer:P{h}nom Penh
-China:Peking
+Azerbaijan:Baku
+Bahr[a|e]in:Manama
+Bangladesh:Dhaka
+Bhutan:Thimphu
+Burma:Naypyidaw
+Cambodia:Phnom Penh
Cyprus:Nicosia
+East Timor:Dili
+Egypt:Cairo
+Georgia:Tbilisi
India:New Delhi
Indonesia:Jakarta|Djakarta
Iran:Tehran
@@ -14,28 +18,34 @@ Iraq:Baghdad
Israel:Jerusalem
Japan:Tokyo
Jordan:Amman
-Kuwait:Al-kuwait
+Kazakhstan:Astana
+Kuwait:Kuwait City
+Kyrgyzstan:Bishkek
Laos:Vientiane
Lebanon:Beirut
Malaysia:Kuala Lumpur
-Maldive Islands:Male
+Maldives:Mal['e|e'|e]
Mongolia:Ulan Bator
-Nepal:Katmandu
+Nepal:Kathmandu
North Korea:P{'}yongyang
-North Yemen:San{'}a
Oman:Muscat
Pakistan:Islamabad
-Papua[-| ]New Guinea:Port Moresby
+Papua New Guinea:Port Moresby
Philippines:Manila
Qatar:Doha
-Saudi Arabia:Riyadh|J{ei}ddah
+Russia:Moscow
+Saudi Arabia:Riyadh
Singapore:Singapore
South Korea:Seoul
-South Yemen:Aden
-Sri Lanka:Colombo
+Sri Lanka:Kotte
Syria:Damascus
Taiwan:Taipei
+Tajikistan:Dushanbe
Thailand:Bangkok
Turkey:Ankara
-United Arab Emirates:Abu Dhabi
+Turkmenistan:Ashgabat
+United Arab Emirates|UAE:Abu Dhabi
+Uzbekistan:Tashkent
Vietnam:Hanoi
+{Republic of }Yemen:Sana'a
+{{People's }Republic of }China:Beijing|Peking
diff --git a/quiz/datfiles/europe b/quiz/datfiles/europe
index 91176e5..d089f41 100644
--- a/quiz/datfiles/europe
+++ b/quiz/datfiles/europe
@@ -1,44 +1,60 @@
-Albania:Tirana|Tirane"
+Abkhazia:Sukhumi
+Albania:Tirana
Andorra:Andorra la V[ell|iej]a
+Armenia:Yerevan
Austria:Vienna|Wien
-Belarus|Byelorussia:M[i|e]nsk
-Belgium:Brussel[s|]|Bruxelles
-Bosnia[-Herzegovina|]:Sarajevo
-Bulgaria:Sofi[a|ya]
+Azerbaijan:Baku
+Belarus:Minsk
+Belgium:Brussel{s}|Bruxelles
+Bosnia and Herzegovina:Sarajevo
+Bulgaria:Sofia
Croatia:Zagreb
+Cyprus:Nicosia
Czech Republic:Prague|Praha
-Denmark:Copenhagen|K[o|o/]benhavn
-United Kingdom|England|Great Britain|UK:London
+Denmark:Copenhagen|K[o|o/|/o]benhavn
Estonia:Tallinn
+Faroe Islands:T['o|o'|o]rshavn
Finland:Helsinki
France:Paris
Georgia:Tbilisi
Germany:Berlin
+Gibraltar:Gibraltar
Greece:Athens
+Guernsey:Saint Peter Port
Hungary:Budapest
-Iceland:Reykjavik
+Iceland:Reykjav['i|i'|i]k
Ireland|Eire:Dublin
+Isle of Man:Douglas
Italy:Rom[e|a]
+Jersey:Saint Helier
+Kazakhstan:Astana
+Kosovo:Pristina
Latvia:Riga
Liechtenstein:Vaduz
Lithuania:Vilnius
Luxembourg:Luxembourg
-[|Former Yugoslav Republic Of ]Macedonia:Skop[|l]je
+Macedonia:Skopje
Malta:Valletta
-Moldova:Chisinau|Kishinev
+Moldova:Chi[,s|s,|s]inau|Kishinev
Monaco:Monaco
-Netherlands|Holland:Amsterdam
+Montenegro:Podgorica
+Netherlands:Amsterdam
Norway:Oslo
Poland:Wars[aw|zawa]
Portugal:Lisbo[n|a]
-R[u|o]mania:Bucharest|Bucuresti
+Romania:Bucharest
Russia:Mos[cow|kva]
San Marino:San Marino
-Serbia and Montenegro:Belgrade|Beograd
-Slovakia|Slovak Republic:Bratislava
+Serbia:Belgrade
+Slovakia:Bratislava
Slovenia:Ljubljana
+South Ossetia:Tskhinvali
Spain:Madrid
+Svalbard:Longyearbyen
Sweden:Stockholm
Switzerland:Bern{e}
Turkey:Ankara
Ukraine:Kiev|Kyiv
+United Kingdom|England|Great Britain|UK:London
+Vatican City:Vatican City
+[°A|A°|A]land Islands:Mariehamn
diff --git a/quiz/datfiles/murders b/quiz/datfiles/murders
index 30cf324..b1070ce 100644
--- a/quiz/datfiles/murders
+++ b/quiz/datfiles/murders
@@ -19,7 +19,7 @@ Pompeii:Vesuvius
{Yukio }Mishima:{Yukio }Mishima
{Alexander }Hamilton:{Aaron }Burr
Cleopatra:{the |an }asp
-[Ann Boleyn|Catharine Howard]:Henry{ VIII}
+[Anne Boleyn|Catharine Howard]:Henry{ VIII}
vaudeville:{the }movies|film
{the }movies|film:TV|television
{the }VA patients:{the }nurses
diff --git a/quiz/datfiles/poetry b/quiz/datfiles/poetry
index f4c07d6..78d117a 100644
--- a/quiz/datfiles/poetry
+++ b/quiz/datfiles/poetry
@@ -64,7 +64,7 @@ Drink deep{,} or taste not the Pierian spring{.}:\
{Alexander }Pope
The curfew tolls the knell of parting day{,}:\
The lowing herd wind slowly o'er the lea:\
-Elegy{ Written in a Country Church{-| }Yard:\
+Elegy{ Written in a Country Church{-| }Yard}:\
{Thomas }Gray
The best laid schemes o' mice an' men gang aft a-gley{,}:\
An{'|d} lea{'|v}e us nought but grief an{'|d} pain for promised joy{.}:\
diff --git a/quiz/datfiles/pres b/quiz/datfiles/pres
index 6f81228..4ce5862 100644
--- a/quiz/datfiles/pres
+++ b/quiz/datfiles/pres
@@ -79,5 +79,7 @@
{J{ames} }{D{anforth|an} }Quayle:{W{illiam|m} }{J{efferson} }Clinton
{W{illiam|m} }{J{efferson} }Clinton:1993-2001:\
{A{lbert} }{A{rnold} }Gore{{,} J{unio}r}:{G{eorge} }{W{alker} }Bush{{,} J{unio}r}
-{G{eorge} }{W{alker} }Bush{{,} J{unio}r}:2001-:\
-{R{ichard} }{B{ruce} }Cheney:
+{G{eorge} }{W{alker} }Bush{{,} J{unio}r}:2001-{{20}0}9:\
+{R{ichard} }{B{ruce} }Cheney:{B{arack} }{H{ussein} }Obama{ II}
+{B{arack} }{H{ussein} }Obama{ II}:2009-:\
+{J{oe{seph}} }{R{obinette} }{Biden}{{,} J{unio}r}:

View file

@ -0,0 +1,20 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Thu, 16 Feb 2012 11:26:51 +0100
Subject: Define __dead for GNU GCC
---
include/sys/cdefs.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h
index 138eaa8..f6e87c2 100644
--- a/include/sys/cdefs.h
+++ b/include/sys/cdefs.h
@@ -40,3 +40,7 @@
#ifndef __COPYRIGHT
#define __COPYRIGHT(arg) static const char copyright[] __attribute__((__unused__)) = arg
#endif
+
+#ifndef __dead
+#define __dead __attribute__((__noreturn__))
+#endif

View file

@ -0,0 +1,34 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Thu, 16 Feb 2012 11:26:53 +0100
Subject: rain: Update default delay. Closes: #579062
---
rain/rain.6 | 2 +-
rain/rain.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/rain/rain.6 b/rain/rain.6
index 9fb0f0e..c6515e9 100644
--- a/rain/rain.6
+++ b/rain/rain.6
@@ -49,6 +49,6 @@ baud or the
.Fl d
option must be used to specify a delay, in milliseconds, between each
update.
-A reasonable delay is 120; the default is 0.
+The default delay is 120.
.Sh AUTHOR
.An Eric P. Scott
diff --git a/rain/rain.c b/rain/rain.c
index e388f46..63e6276 100644
--- a/rain/rain.c
+++ b/rain/rain.c
@@ -70,7 +70,7 @@ main(int argc, char **argv)
{
int x, y, j;
long cols, lines;
- unsigned int delay = 0;
+ unsigned int delay = 120;
unsigned long val = 0;
int ch;
char *ep;

View file

@ -0,0 +1,552 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Mon, 26 Mar 2012 10:07:17 +0200
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 +-
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 ++++-
21 files changed, 92 insertions(+), 54 deletions(-)
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/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;
}

View file

@ -0,0 +1,21 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Thu, 16 Feb 2012 12:53:51 +0100
Subject: quiz: Add answers to adults/babies. Closes: #659528
---
quiz/datfiles/babies | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/quiz/datfiles/babies b/quiz/datfiles/babies
index 5305c0c..45c4bb3 100644
--- a/quiz/datfiles/babies
+++ b/quiz/datfiles/babies
@@ -3,7 +3,7 @@ kitten:cat|fox|skunk|rabbit|bobcat|panther
gosling:goose
colt|foal:horse|donkey|zebra
puppy:dog
-pup:seal|fox|beaver
+pup:seal|fox|beaver|dog|shark|rat
duckling:duck
fawn:deer
piglet|shoat:pig

View file

@ -0,0 +1,46 @@
From: Peter Pentchev <roam@ringlet.net>
Date: Thu, 16 Feb 2012 22:37:50 +0100
Subject: hangman: Error out on 1000 unsuitable words. Closes: #610270
---
hangman/getword.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/hangman/getword.c b/hangman/getword.c
index 1b5396a..dc42a53 100644
--- a/hangman/getword.c
+++ b/hangman/getword.c
@@ -50,8 +50,10 @@ getword()
FILE *inf;
char *wp, *gp;
long pos;
+ int tries;
inf = Dict;
+ tries = 0;
for (;;) {
pos = (double) rand() / (RAND_MAX + 1.0) * (double) Dict_size;
fseek(inf, pos, SEEK_SET);
@@ -66,7 +68,21 @@ getword()
if (!islower((unsigned char)*wp))
goto cont;
break;
-cont: ;
+cont:
+ if (++tries >= 1000) {
+ move(MESGY, MESGX);
+ deleteln();
+ deleteln();
+ deleteln();
+ move(MESGY, MESGX);
+ printw("No suitable word found, try using "
+ "another dictionary!");
+ leaveok(stdscr, FALSE);
+ refresh();
+ readch();
+ leaveok(stdscr, TRUE);
+ die(0);
+ }
}
gp = Known;
wp = Word;

View file

@ -0,0 +1,35 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Fri, 24 Feb 2012 14:29:11 +0100
Subject: Fix typos spotted by Lintian
---
atc/update.c | 2 +-
hack/hack.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/atc/update.c b/atc/update.c
index 3a145e5..39bbf2a 100644
--- a/atc/update.c
+++ b/atc/update.c
@@ -153,7 +153,7 @@ update(dummy)
}
if (pp->altitude > 9)
/* "this is impossible" */
- loser(pp, "exceded flight ceiling.");
+ loser(pp, "exceeded flight ceiling.");
if (pp->altitude <= 0) {
for (i = 0; i < sp->num_airports; i++)
if (pp->xpos == sp->airport[i].x &&
diff --git a/hack/hack.c b/hack/hack.c
index 05141af..6e5028e 100644
--- a/hack/hack.c
+++ b/hack/hack.c
@@ -527,7 +527,7 @@ pickup(int all)
}
lift_some:
if (inv_cnt() >= 52) {
- pline("Your knapsack cannot accomodate anymore items.");
+ pline("Your knapsack cannot accommodate anymore items.");
break;
}
if (wt > -5)

View file

@ -0,0 +1,297 @@
From: Tobias Quathamer <toddy@debian.org>
Date: Mon, 26 Mar 2012 10:51:46 +0200
Subject: Fix format-security compiling errors
---
battlestar/room.c | 2 +-
cribbage/io.c | 10 +++++-----
hack/hack.apply.c | 2 +-
hack/hack.eat.c | 2 +-
hack/hack.end.c | 4 ++--
hack/hack.invent.c | 4 ++--
hack/hack.main.c | 2 +-
hack/hack.options.c | 2 +-
hack/hack.pager.c | 4 ++--
hack/hack.potion.c | 2 +-
hack/hack.rumors.c | 2 +-
hack/hack.timeout.c | 2 +-
hunt/hunt/hunt.c | 4 ++--
monop/misc.c | 2 +-
sail/assorted.c | 6 +++---
15 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/battlestar/room.c b/battlestar/room.c
index 5cbaf85..f99d5de 100644
--- a/battlestar/room.c
+++ b/battlestar/room.c
@@ -58,7 +58,7 @@ writedes()
putchar(c);
} else {
if (c != '*')
- printf(truedirec(compass, c));
+ printf("%s", truedirec(compass, c));
compass++;
}
}
diff --git a/cribbage/io.c b/cribbage/io.c
index 8100ddd..17853b2 100644
--- a/cribbage/io.c
+++ b/cribbage/io.c
@@ -103,13 +103,13 @@ msgcrd(c, brfrank, mid, brfsuit)
if (brfrank)
addmsg("%1.1s", rankchar[c.rank]);
else
- addmsg(rankname[c.rank]);
+ addmsg("%s", rankname[c.rank]);
if (mid != NULL)
- addmsg(mid);
+ addmsg("%s", mid);
if (brfsuit)
addmsg("%1.1s", suitchar[c.suit]);
else
- addmsg(suitname[c.suit]);
+ addmsg("%s", suitname[c.suit]);
return (TRUE);
}
@@ -192,7 +192,7 @@ infrom(hand, n, prompt)
exit(74);
}
for (;;) {
- msg(prompt);
+ msg("%s", prompt);
if (incard(&crd)) { /* if card is full card */
if (!is_one(crd, hand, n))
msg("That's not in your hand");
@@ -345,7 +345,7 @@ number(lo, hi, prompt)
int sum;
for (sum = 0;;) {
- msg(prompt);
+ msg("%s", prompt);
if (!(p = get_line()) || *p == '\0') {
msg(quiet ? "Not a number" :
"That doesn't look like a number");
diff --git a/hack/hack.apply.c b/hack/hack.apply.c
index 391cbf4..fa91c88 100644
--- a/hack/hack.apply.c
+++ b/hack/hack.apply.c
@@ -392,7 +392,7 @@ dig()
digtxt = "Now what exactly was it that you were digging in?";
mnewsym(dpx, dpy);
prl(dpx, dpy);
- pline(digtxt); /* after mnewsym & prl */
+ pline("%s", digtxt); /* after mnewsym & prl */
return (0);
} else {
if (IS_WALL(levl[dpx][dpy].typ)) {
diff --git a/hack/hack.eat.c b/hack/hack.eat.c
index e533ca5..4093f96 100644
--- a/hack/hack.eat.c
+++ b/hack/hack.eat.c
@@ -132,7 +132,7 @@ opentin()
useup(tin.tin);
r = rn2(2 * TTSZ);
if (r < TTSZ) {
- pline(tintxts[r].txt);
+ pline("%s", tintxts[r].txt);
lesshungry(tintxts[r].nut);
if (r == 1) { /* SALMON */
Glib = rnd(15);
diff --git a/hack/hack.end.c b/hack/hack.end.c
index 2ffa5cf..3145fd7 100644
--- a/hack/hack.end.c
+++ b/hack/hack.end.c
@@ -535,7 +535,7 @@ outentry(int rank, struct toptenentry *t1, int so)
if (t1->maxlvl != t1->level)
Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);
if (quit && t1->death[4])
- Sprintf(eos(linebuf), t1->death + 4);
+ Sprintf(eos(linebuf), "%s", t1->death + 4);
}
if (killed)
Sprintf(eos(linebuf), " by %s%s",
@@ -548,7 +548,7 @@ outentry(int rank, struct toptenentry *t1, int so)
char *bp = eos(linebuf);
char hpbuf[10];
int hppos;
- Sprintf(hpbuf, (t1->hp > 0) ? itoa(t1->hp) : "-");
+ Sprintf(hpbuf, "%s", (t1->hp > 0) ? itoa(t1->hp) : "-");
hppos = COLNO - 7 - strlen(hpbuf);
if (bp <= linebuf + hppos) {
while (bp < linebuf + hppos)
diff --git a/hack/hack.invent.c b/hack/hack.invent.c
index c33d502..2c8ed6e 100644
--- a/hack/hack.invent.c
+++ b/hack/hack.invent.c
@@ -671,7 +671,7 @@ askchain(objchn, olets, allflag, fn, ckfn, max)
if (ckfn && !(*ckfn) (otmp))
continue;
if (!allflag) {
- pline(xprname(otmp, ilet));
+ pline("%s", xprname(otmp, ilet));
addtopl(" [nyaq]? ");
sym = readchar();
} else
@@ -717,7 +717,7 @@ void
prinv(obj)
struct obj *obj;
{
- pline(xprname(obj, obj_to_let(obj)));
+ pline("%s", xprname(obj, obj_to_let(obj)));
}
static char *
diff --git a/hack/hack.main.c b/hack/hack.main.c
index ce4715c..88402f3 100644
--- a/hack/hack.main.c
+++ b/hack/hack.main.c
@@ -418,7 +418,7 @@ not_recovered:
}
if (multi < 0) {
if (!++multi) {
- pline(nomovemsg ? nomovemsg :
+ pline("%s", nomovemsg ? nomovemsg :
"You can move again.");
nomovemsg = 0;
if (afternmv)
diff --git a/hack/hack.options.c b/hack/hack.options.c
index ea55cb8..ef7012e 100644
--- a/hack/hack.options.c
+++ b/hack/hack.options.c
@@ -268,7 +268,7 @@ doset()
if (*--eop == ',')
*eop = 0;
}
- pline(buf);
+ pline("%s", buf);
} else
parseoptions(buf, FALSE);
diff --git a/hack/hack.pager.c b/hack/hack.pager.c
index d72d800..03c0847 100644
--- a/hack/hack.pager.c
+++ b/hack/hack.pager.c
@@ -104,7 +104,7 @@ dowhatis()
buf[0] = q;
(void) strncpy(buf + 1, " ", 7);
}
- pline(buf);
+ pline("%s", buf);
if (ep[-1] == ';') {
pline("More info? ");
if (readchar() == 'y') {
@@ -298,7 +298,7 @@ cornline(mode, text)
}
/* --- now we really do it --- */
if (mode == 2 && linect == 1) /* topline only */
- pline(texthead->line_text);
+ pline("%s", texthead->line_text);
else if (mode == 2) {
int curline, lth;
diff --git a/hack/hack.potion.c b/hack/hack.potion.c
index 9d210d4..a906cb3 100644
--- a/hack/hack.potion.c
+++ b/hack/hack.potion.c
@@ -286,7 +286,7 @@ strange_feeling(obj, txt)
if (flags.beginner)
pline("You have a strange feeling for a moment, then it passes.");
else
- pline(txt);
+ pline("%s", txt);
if (!objects[obj->otyp].oc_name_known && !objects[obj->otyp].oc_uname)
docall(obj);
useup(obj);
diff --git a/hack/hack.rumors.c b/hack/hack.rumors.c
index 383bba9..513d395 100644
--- a/hack/hack.rumors.c
+++ b/hack/hack.rumors.c
@@ -112,7 +112,7 @@ outline(rumf)
if ((ep = strchr(line, '\n')) != 0)
*ep = 0;
pline("This cookie has a scrap of paper inside! It reads: ");
- pline(line);
+ pline("%s", line);
}
void
diff --git a/hack/hack.timeout.c b/hack/hack.timeout.c
index ef239e4..2a8ee54 100644
--- a/hack/hack.timeout.c
+++ b/hack/hack.timeout.c
@@ -126,7 +126,7 @@ stoned_dialogue()
long i = (Stoned & TIMEOUT);
if (i > 0 && i <= SIZE(stoned_texts))
- pline(stoned_texts[SIZE(stoned_texts) - i]);
+ pline("%s", stoned_texts[SIZE(stoned_texts) - i]);
if (i == 5)
Fast = 0;
if (i == 3)
diff --git a/hunt/hunt/hunt.c b/hunt/hunt/hunt.c
index 28321bc..58d112d 100644
--- a/hunt/hunt/hunt.c
+++ b/hunt/hunt/hunt.c
@@ -910,7 +910,7 @@ leave(eval, mesg)
int serrno = errno;
fincurs();
errno = serrno;
- err(eval, mesg ? mesg : "");
+ err(eval, "%s", mesg ? mesg : "");
}
/*
@@ -924,7 +924,7 @@ leavex(eval, mesg)
const char *mesg;
{
fincurs();
- errx(eval, mesg ? mesg : "");
+ errx(eval, "%s", mesg ? mesg : "");
}
#if !defined(USE_CURSES) && defined(SIGTSTP)
diff --git a/monop/misc.c b/monop/misc.c
index 1d3a566..c363ca2 100644
--- a/monop/misc.c
+++ b/monop/misc.c
@@ -101,7 +101,7 @@ get_int(prompt)
for (;;) {
inter:
- printf(prompt);
+ printf("%s", prompt);
num = 0;
for (sp = buf; (c=getchar()) != '\n'; *sp++ = c)
if (c == -1) /* check for interrupted system call */
diff --git a/sail/assorted.c b/sail/assorted.c
index cfc7d2a..ecb8406 100644
--- a/sail/assorted.c
+++ b/sail/assorted.c
@@ -163,7 +163,7 @@ table(struct ship *from, struct ship *on, int rig, int shot, int hittable, int r
errx(1, "Unknown shot type %d", shot);
}
- makesignal(from, message, on);
+ makesignal(from, "%s shot on $$", on, message);
if (roll == 6 && rig) {
switch(Rhit) {
case 0:
@@ -190,7 +190,7 @@ table(struct ship *from, struct ship *on, int rig, int shot, int hittable, int r
default:
errx(1, "Bad Rhit = %d", Rhit);
}
- makemsg(on, message);
+ makemsg(on, "%s", message);
} else if (roll == 6) {
switch (Hhit) {
case 0:
@@ -218,7 +218,7 @@ table(struct ship *from, struct ship *on, int rig, int shot, int hittable, int r
default:
errx(1, "Bad Hhit = %d", Hhit);
}
- makemsg(on, message);
+ makemsg(on, "%s", message);
}
/*
if (Chit > 1 && on->file->readyL&R_INITIAL && on->file->readyR&R_INITIAL) {

View file

@ -0,0 +1,43 @@
From: Sven Joachim <svenjoac@gmx.de>
Date: Wed, 1 Nov 2017 09:03:28 +0100
Subject: Fix include/stdio.h C++ incompatibility
I have seen the following error when building bsdgames with
libncurses6:
In file included from /usr/include/wchar.h:36:0,
from /usr/include/curses.h:400,
from dab/box.cc:48:
include/stdio.h:38:14: error: conflicting declaration of 'char* fgetln(FILE*, size_t*)' with 'C' linkage
extern char *fgetln(FILE *stream, size_t *len);
^~~~~~
In file included from /usr/include/curses.h:183:0,
from dab/box.cc:48:
include/stdio.h:38:14: note: previous declaration with 'C++' linkage
extern char *fgetln(FILE *stream, size_t *len);
^~~~~~
GNUmakefile:298: recipe for target 'dab/box.o' failed
Declaring fgetln as extern "C" fixes this. The patch has been taken
from the Fedora bsd-games package, see
https://src.fedoraproject.org/rpms/bsd-games/blob/ac743bec7031199ec6fc09b6eb3760ffcfcfd277/f/bsd-games-2.17-stdio-c++.patch.
---
include/stdio.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/stdio.h b/include/stdio.h
index 32a4b71..b1ac049 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -35,5 +35,11 @@
#include_next <stdio.h>
#ifndef HAVE_fgetln
+#ifdef __cplusplus
+extern "C" {
+#endif
extern char *fgetln(FILE *stream, size_t *len);
+#ifdef __cplusplus
+}
+#endif
#endif

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,813 @@
From: "Dr. Tobias Quathamer" <toddy@debian.org>
Date: Thu, 26 Apr 2018 15:42:07 +0200
Subject: primes: Update to NetBSD CVS, 2018-02-03
---
exec.objs | 2 +-
primes/Makefile.bsd | 4 +-
primes/pattern.c | 13 ++--
primes/pr_tbl.c | 16 ++--
primes/primes.6 | 41 +++++++---
primes/primes.c | 148 ++++++++++++++++++------------------
primes/primes.h | 33 ++++++--
primes/spsp.c | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++
8 files changed, 362 insertions(+), 110 deletions(-)
create mode 100644 primes/spsp.c
diff --git a/exec.objs b/exec.objs
index f081d60..3c184cc 100644
--- a/exec.objs
+++ b/exec.objs
@@ -100,7 +100,7 @@ phantasia/setup phantglobs.o setup.o
pig pig.o
pom pom.o
ppt ppt.o
-primes pattern.o pr_tbl.o primes.o
+primes pattern.o pr_tbl.o primes.o spsp.o
quiz quiz.o rxp.o lib/fgetln.o
rain rain.o lib/getprogname.o
random random.o
diff --git a/primes/Makefile.bsd b/primes/Makefile.bsd
index 4235041..8ed845c 100644
--- a/primes/Makefile.bsd
+++ b/primes/Makefile.bsd
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.7 2004/02/08 13:16:25 jsm Exp $
+# $NetBSD: Makefile,v 1.8 2014/10/02 21:36:37 ast Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
PROG= primes
-SRCS= pattern.c pr_tbl.c primes.c
+SRCS= pattern.c pr_tbl.c primes.c spsp.c
MAN= primes.6
DPADD= ${LIBM}
LDADD= -lm
diff --git a/primes/pattern.c b/primes/pattern.c
index 1196056..52784a5 100644
--- a/primes/pattern.c
+++ b/primes/pattern.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pattern.c,v 1.6 2003/08/07 09:37:33 agc Exp $ */
+/* $NetBSD: pattern.c,v 1.7 2014/10/02 21:36:37 ast Exp $ */
/*
* Copyright (c) 1989, 1993
@@ -32,21 +32,20 @@
* SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
+#include <sys/types.h>
+
#ifndef lint
#if 0
static char sccsid[] = "@(#)pattern.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: pattern.c,v 1.6 2003/08/07 09:37:33 agc Exp $");
+__RCSID("$NetBSD: pattern.c,v 1.7 2014/10/02 21:36:37 ast Exp $");
#endif
#endif /* not lint */
/*
* pattern - the Eratosthenes sieve on odd numbers for 3,5,7,11 and 13
*
- * By: Landon Curt Noll chongo@toad.com
- *
- * chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
+ * By Landon Curt Noll, http://www.isthe.com/chongo/index.html /\oo/\
*
* To avoid excessive sieves for small factors, we use the table below to
* setup our sieve blocks. Each element represents a odd number starting
@@ -440,4 +439,4 @@ const char pattern[] = {
0,0,1,1,0,0,0,0,1,1,0,0,1,0,1,0,0,0,0,0,0,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,1,
0,0,1,1,0,1,0,0,1,1,0,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,0,0,0,0,0,1
};
-const int pattern_size = (sizeof(pattern)/sizeof(pattern[0]));
+const size_t pattern_size = (sizeof(pattern)/sizeof(pattern[0]));
diff --git a/primes/pr_tbl.c b/primes/pr_tbl.c
index d45204a..5e2f813 100644
--- a/primes/pr_tbl.c
+++ b/primes/pr_tbl.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pr_tbl.c,v 1.7 2003/08/07 09:37:33 agc Exp $ */
+/* $NetBSD: pr_tbl.c,v 1.8 2014/10/02 21:36:37 ast Exp $ */
/*
* Copyright (c) 1989, 1993
@@ -37,24 +37,24 @@
#if 0
static char sccsid[] = "@(#)pr_tbl.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: pr_tbl.c,v 1.7 2003/08/07 09:37:33 agc Exp $");
+__RCSID("$NetBSD: pr_tbl.c,v 1.8 2014/10/02 21:36:37 ast Exp $");
#endif
#endif /* not lint */
/*
* prime - prime table
*
- * By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo
+ * By Landon Curt Noll, http://www.isthe.com/chongo/index.html /\oo/\
*
- * chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
- *
- * We are able to sieve 2^32-1 because this table has primes up to 65537
+ * We are able to sieve 2^32-1 because this table has primes up to 65537
* and 65537^2 > 2^32-1.
*/
+#include <stddef.h>
+
#include "primes.h"
-const ubig prime[] = {
+const uint64_t prime[] = {
2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,
107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,
211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,
@@ -546,4 +546,4 @@ const ubig prime[] = {
};
/* pr_limit - largest prime in the prime table */
-const ubig *pr_limit = &prime[(sizeof(prime)/sizeof(prime[0]))-1];
+const uint64_t *const pr_limit = &prime[(sizeof(prime)/sizeof(prime[0]))-1];
diff --git a/primes/primes.6 b/primes/primes.6
index 14d5101..aa000ef 100644
--- a/primes/primes.6
+++ b/primes/primes.6
@@ -1,4 +1,4 @@
-.\" $NetBSD: primes.6,v 1.2 2004/02/09 23:25:47 wiz Exp $
+.\" $NetBSD: primes.6,v 1.6 2018/02/03 15:40:29 christos Exp $
.\"
.\" Copyright (c) 1989, 1993
.\" The Regents of the University of California. All rights reserved.
@@ -33,11 +33,9 @@
.\" @(#)factor.6 8.1 (Berkeley) 5/31/93
.\"
.\"
-.\" By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo
+.\" By Landon Curt Noll, http://www.isthe.com/chongo/index.html /\oo/\
.\"
-.\" chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
-.\"
-.Dd February 8, 2004
+.Dd February 2, 2018
.Dt PRIMES 6
.Os
.Sh NAME
@@ -45,6 +43,7 @@
.Nd generate primes
.Sh SYNOPSIS
.Nm primes
+.Op Fl dh
.Op Ar start Op Ar stop
.Sh DESCRIPTION
The
@@ -60,18 +59,18 @@ value must be at least 0 and not greater than
.Ar stop .
The
.Ar stop
-value must not be greater than 4294967295.
+value must not be greater than 3825123056546413050.
The default value of
.Ar stop
-is 4294967295.
+is 3825123056546413050.
.Pp
When the
.Nm
utility is invoked with no arguments,
.Ar start
-is read from standard input.
+is read from standard input and
.Ar stop
-is taken to be 4294967295.
+is taken to be 3825123056546413050.
The
.Ar start
value may be preceded by a single
@@ -80,10 +79,28 @@ The
.Ar start
value is terminated by a non-digit character (such as a newline).
The input line must not be longer than 255 characters.
+.Pp
+When given the
+.Fl d
+argument,
+.Nm
+prints the difference between the current and the previous prime.
+.Pp
+When given the
+.Fl h
+argument,
+.Nm
+prints the prime numbers in hexadecimal.
.Sh DIAGNOSTICS
Out of range or invalid input results in
-an appropriate error message
-being written to standard error.
+an appropriate error message to standard error.
+.Sh AUTHORS
+.An -nosplit
+Originally by
+.An Landon Curt Noll ,
+extended to some 64-bit primes by
+.An Colin Percival .
.Sh BUGS
+This
.Nm
-won't get you a world record.
+program won't get you a world record.
diff --git a/primes/primes.c b/primes/primes.c
index 2d93594..a022aa9 100644
--- a/primes/primes.c
+++ b/primes/primes.c
@@ -1,4 +1,4 @@
-/* $NetBSD: primes.c,v 1.12 2004/01/27 20:30:30 jsm Exp $ */
+/* $NetBSD: primes.c,v 1.22 2018/02/03 15:40:29 christos Exp $ */
/*
* Copyright (c) 1989, 1993
@@ -34,31 +34,31 @@
#include <sys/cdefs.h>
#ifndef lint
-__COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\
- The Regents of the University of California. All rights reserved.\n");
+__COPYRIGHT("@(#) Copyright (c) 1989, 1993\
+ The Regents of the University of California. All rights reserved.");
#endif /* not lint */
#ifndef lint
#if 0
static char sccsid[] = "@(#)primes.c 8.5 (Berkeley) 5/10/95";
#else
-__RCSID("$NetBSD: primes.c,v 1.12 2004/01/27 20:30:30 jsm Exp $");
+__RCSID("$NetBSD: primes.c,v 1.22 2018/02/03 15:40:29 christos Exp $");
#endif
#endif /* not lint */
/*
* primes - generate a table of primes between two values
*
- * By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo
- *
- * chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
+ * By Landon Curt Noll, http://www.isthe.com/chongo/index.html /\oo/\
*
* usage:
- * primes [start [stop]]
+ * primes [-dh] [start [stop]]
*
* Print primes >= start and < stop. If stop is omitted,
- * the value 4294967295 (2^32-1) is assumed. If start is
+ * the value SPSPMAX is assumed. If start is
* omitted, start is read from standard input.
+ * -d: print difference to previous prime, e.g. 3 (1)
+ * -h: print primes in hexadecimal
*
* validation check: there are 664579 primes between 0 and 10^7
*/
@@ -66,11 +66,12 @@ __RCSID("$NetBSD: primes.c,v 1.12 2004/01/27 20:30:30 jsm Exp $");
#include <ctype.h>
#include <err.h>
#include <errno.h>
+#include <inttypes.h>
#include <limits.h>
#include <math.h>
-#include <memory.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
#include "primes.h"
@@ -80,49 +81,35 @@ __RCSID("$NetBSD: primes.c,v 1.12 2004/01/27 20:30:30 jsm Exp $");
*
* We only sieve the odd numbers. The base of our sieve windows are always
* odd. If the base of table is 1, table[i] represents 2*i-1. After the
- * sieve, table[i] == 1 if and only iff 2*i-1 is prime.
+ * sieve, table[i] == 1 if and only if 2*i-1 is prime.
*
* We make TABSIZE large to reduce the overhead of inner loop setup.
*/
-char table[TABSIZE]; /* Eratosthenes sieve of odd numbers */
+static char table[TABSIZE]; /* Eratosthenes sieve of odd numbers */
-/*
- * prime[i] is the (i-1)th prime.
- *
- * We are able to sieve 2^32-1 because this byte table yields all primes
- * up to 65537 and 65537^2 > 2^32-1.
- */
-extern const ubig prime[];
-extern const ubig *pr_limit; /* largest prime in the prime array */
+static int dflag, hflag;
-/*
- * To avoid excessive sieves for small factors, we use the table below to
- * setup our sieve blocks. Each element represents a odd number starting
- * with 1. All non-zero elements are factors of 3, 5, 7, 11 and 13.
- */
-extern const char pattern[];
-extern const int pattern_size; /* length of pattern array */
+static void primes(uint64_t, uint64_t);
+static uint64_t read_num_buf(void);
+static void usage(void) __dead;
-int main(int, char *[]);
-void primes(ubig, ubig);
-ubig read_num_buf(void);
-void usage(void) __attribute__((__noreturn__));
int
-main(argc, argv)
- int argc;
- char *argv[];
+main(int argc, char *argv[])
{
- ubig start; /* where to start generating */
- ubig stop; /* don't generate at or above this value */
+ uint64_t start; /* where to start generating */
+ uint64_t stop; /* don't generate at or above this value */
int ch;
char *p;
- /* Revoke setgid privileges */
- setregid(getgid(), getgid());
-
- while ((ch = getopt(argc, argv, "")) != -1)
+ while ((ch = getopt(argc, argv, "dh")) != -1)
switch (ch) {
+ case 'd':
+ dflag++;
+ break;
+ case 'h':
+ hflag++;
+ break;
case '?':
default:
usage();
@@ -131,10 +118,10 @@ main(argc, argv)
argv += optind;
start = 0;
- stop = BIG;
+ stop = (uint64_t)(-1);
/*
- * Convert low and high args. Strtoul(3) sets errno to
+ * Convert low and high args. Strtoumax(3) sets errno to
* ERANGE if the number is too large, but, if there's
* a leading minus sign it returns the negation of the
* result of the conversion, which we'd rather disallow.
@@ -146,14 +133,14 @@ main(argc, argv)
errx(1, "negative numbers aren't permitted.");
errno = 0;
- start = strtoul(argv[0], &p, 10);
+ start = strtoumax(argv[0], &p, 0);
if (errno)
err(1, "%s", argv[0]);
if (*p != '\0')
errx(1, "%s: illegal numeric format.", argv[0]);
errno = 0;
- stop = strtoul(argv[1], &p, 10);
+ stop = strtoumax(argv[1], &p, 0);
if (errno)
err(1, "%s", argv[1]);
if (*p != '\0')
@@ -165,7 +152,7 @@ main(argc, argv)
errx(1, "negative numbers aren't permitted.");
errno = 0;
- start = strtoul(argv[0], &p, 10);
+ start = strtoumax(argv[0], &p, 0);
if (errno)
err(1, "%s", argv[0]);
if (*p != '\0')
@@ -181,18 +168,18 @@ main(argc, argv)
if (start > stop)
errx(1, "start value must be less than stop value.");
primes(start, stop);
- exit(0);
+ return (0);
}
/*
* read_num_buf --
- * This routine returns a number n, where 0 <= n && n <= BIG.
+ * This routine returns a number n, where 0 <= n && n <= ULONG_MAX.
*/
-ubig
-read_num_buf()
+static uint64_t
+read_num_buf(void)
{
- ubig val;
- char *p, buf[100]; /* > max number of digits. */
+ uint64_t val;
+ char *p, buf[LINE_MAX]; /* > max number of digits. */
for (;;) {
if (fgets(buf, sizeof(buf), stdin) == NULL) {
@@ -200,13 +187,13 @@ read_num_buf()
err(1, "stdin");
exit(0);
}
- for (p = buf; isblank(*p); ++p);
+ for (p = buf; isblank((unsigned char)*p); ++p);
if (*p == '\n' || *p == '\0')
continue;
if (*p == '-')
errx(1, "negative numbers aren't permitted.");
errno = 0;
- val = strtoul(buf, &p, 10);
+ val = strtoumax(buf, &p, 0);
if (errno)
err(1, "%s", buf);
if (*p != '\n')
@@ -218,28 +205,27 @@ read_num_buf()
/*
* primes - sieve and print primes from start up to and but not including stop
*/
-void
-primes(start, stop)
- ubig start; /* where to start generating */
- ubig stop; /* don't generate at or above this value */
+static void
+primes(uint64_t start, uint64_t stop)
{
char *q; /* sieve spot */
- ubig factor; /* index and factor */
+ uint64_t factor; /* index and factor */
char *tab_lim; /* the limit to sieve on the table */
- const ubig *p; /* prime table pointer */
- ubig fact_lim; /* highest prime for current block */
- ubig mod; /* temp storage for mod */
+ const uint64_t *p; /* prime table pointer */
+ uint64_t fact_lim; /* highest prime for current block */
+ uint64_t mod; /* temp storage for mod */
+ uint64_t prev = 0;
/*
* A number of systems can not convert double values into unsigned
* longs when the values are larger than the largest signed value.
- * We don't have this problem, so we can go all the way to BIG.
+ * We don't have this problem, so we can go all the way to ULONG_MAX.
*/
if (start < 3) {
- start = (ubig)2;
+ start = 2;
}
if (stop < 3) {
- stop = (ubig)2;
+ stop = 2;
}
if (stop <= start) {
return;
@@ -263,8 +249,13 @@ primes(start, stop)
for (p = &prime[0], factor = prime[0];
factor < stop && p <= pr_limit; factor = *(++p)) {
if (factor >= start) {
- printf("%lu\n", (unsigned long) factor);
+ printf(hflag ? "%" PRIx64 : "%" PRIu64, factor);
+ if (dflag) {
+ printf(" (%" PRIu64 ")", factor - prev);
+ }
+ putchar('\n');
}
+ prev = factor;
}
/* return early if we are done */
if (p <= pr_limit) {
@@ -298,11 +289,10 @@ primes(start, stop)
/* note highest useful factor and sieve spot */
if (stop-start > TABSIZE+TABSIZE) {
tab_lim = &table[TABSIZE]; /* sieve it all */
- fact_lim = (int)sqrt(
- (double)(start)+TABSIZE+TABSIZE+1.0);
+ fact_lim = sqrt(start+1.0+TABSIZE+TABSIZE);
} else {
tab_lim = &table[(stop-start)/2]; /* partial sieve */
- fact_lim = (int)sqrt((double)(stop)+1.0);
+ fact_lim = sqrt(stop+1.0);
}
/* sieve for factors >= 17 */
factor = 17; /* 17 is first prime to use */
@@ -315,26 +305,36 @@ primes(start, stop)
} else {
q = &table[mod ? factor-(mod/2) : 0];
}
- /* sive for our current factor */
+ /* sieve for our current factor */
for ( ; q < tab_lim; q += factor) {
*q = '\0'; /* sieve out a spot */
}
- } while ((factor=(ubig)(*(p++))) <= fact_lim);
+ factor = *p++;
+ } while (factor <= fact_lim);
/*
* print generated primes
*/
for (q = table; q < tab_lim; ++q, start+=2) {
if (*q) {
- printf("%lu\n", (unsigned long) start);
+ if (start > SIEVEMAX) {
+ if (!isprime(start))
+ continue;
+ }
+ printf(hflag ? "%" PRIx64 : "%" PRIu64, start);
+ if (dflag && (prev || (start <= *pr_limit))) {
+ printf(" (%" PRIu64 ")", start - prev);
+ }
+ putchar('\n');
+ prev = start;
}
}
}
}
-void
-usage()
+static void
+usage(void)
{
- (void)fprintf(stderr, "usage: primes [start [stop]]\n");
+ (void)fprintf(stderr, "usage: primes [-dh] [start [stop]]\n");
exit(1);
}
diff --git a/primes/primes.h b/primes/primes.h
index a032c9b..2c00446 100644
--- a/primes/primes.h
+++ b/primes/primes.h
@@ -1,4 +1,4 @@
-/* $NetBSD: primes.h,v 1.5 2003/08/07 09:37:34 agc Exp $ */
+/* $NetBSD: primes.h,v 1.7 2018/02/03 15:40:29 christos Exp $ */
/*
* Copyright (c) 1989, 1993
@@ -37,14 +37,35 @@
/*
* primes - generate a table of primes between two values
*
- * By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo
+ * By Landon Curt Noll, http://www.isthe.com/chongo/index.html /\oo/\
*
- * chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
*/
-/* ubig is the type that holds a large unsigned value */
-typedef unsigned long ubig; /* must be >=32 bit unsigned value */
-#define BIG ULONG_MAX /* largest value will sieve */
+#include <stdint.h>
/* bytes in sieve table (must be > 3*5*7*11) */
#define TABSIZE 256*1024
+
+/*
+ * prime[i] is the (i-1)th prime.
+ *
+ * We are able to sieve 2^32-1 because this byte table yields all primes
+ * up to 65537 and 65537^2 > 2^32-1.
+ */
+
+extern const uint64_t prime[]; /* must be >=32 bit unsigned values */
+extern const uint64_t *const pr_limit; /* largest prime in the prime array */
+
+/* Maximum size sieving alone can handle. */
+#define SIEVEMAX 4295098368ULL
+
+/*
+ * To avoid excessive sieves for small factors, we use the table below to
+ * setup our sieve blocks. Each element represents an odd number starting
+ * with 1. All non-zero elements are factors of 3, 5, 7, 11 and 13.
+ */
+extern const char pattern[];
+extern const size_t pattern_size; /* length of pattern array */
+
+/* Test for primality using strong pseudoprime tests. */
+int isprime(uint64_t);
diff --git a/primes/spsp.c b/primes/spsp.c
new file mode 100644
index 0000000..998751c
--- /dev/null
+++ b/primes/spsp.c
@@ -0,0 +1,215 @@
+/* $NetBSD: spsp.c,v 1.2 2018/02/03 15:40:29 christos Exp $ */
+
+/*-
+ * Copyright (c) 2014 Colin Percival
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+#ifndef lint
+__COPYRIGHT("@(#) Copyright (c) 1989, 1993\
+ The Regents of the University of California. All rights reserved.");
+#endif /* not lint */
+
+#ifndef lint
+#if 0
+static char sccsid[] = "@(#)primes.c 8.5 (Berkeley) 5/10/95";
+#else
+__RCSID("$NetBSD: spsp.c,v 1.2 2018/02/03 15:40:29 christos Exp $");
+#endif
+#endif /* not lint */
+
+#include <assert.h>
+#include <stddef.h>
+#include <stdint.h>
+
+#include "primes.h"
+
+/* Return a * b % n, where 0 <= n. */
+static uint64_t
+mulmod(uint64_t a, uint64_t b, uint64_t n)
+{
+ uint64_t x = 0;
+ uint64_t an = a % n;
+
+ while (b != 0) {
+ if (b & 1) {
+ x += an;
+ if ((x < an) || (x >= n))
+ x -= n;
+ }
+ if (an + an < an)
+ an = an + an - n;
+ else if (an + an >= n)
+ an = an + an - n;
+ else
+ an = an + an;
+
+ b >>= 1;
+ }
+
+ return (x);
+}
+
+/* Return a^r % n, where 0 < n. */
+static uint64_t
+powmod(uint64_t a, uint64_t r, uint64_t n)
+{
+ uint64_t x = 1;
+
+ while (r != 0) {
+ if (r & 1)
+ x = mulmod(a, x, n);
+ a = mulmod(a, a, n);
+ r >>= 1;
+ }
+
+ return (x);
+}
+
+/* Return non-zero if n is a strong pseudoprime to base p. */
+static int
+spsp(uint64_t n, uint64_t p)
+{
+ uint64_t x;
+ uint64_t r = n - 1;
+ int k = 0;
+
+ /* Compute n - 1 = 2^k * r. */
+ while ((r & 1) == 0) {
+ k++;
+ r >>= 1;
+ }
+
+ /* Compute x = p^r mod n. If x = 1, n is a p-spsp. */
+ x = powmod(p, r, n);
+ if (x == 1)
+ return (1);
+
+ /* Compute x^(2^i) for 0 <= i < n. If any are -1, n is a p-spsp. */
+ while (k > 0) {
+ if (x == n - 1)
+ return (1);
+ x = powmod(x, 2, n);
+ k--;
+ }
+
+ /* Not a p-spsp. */
+ return (0);
+}
+
+/* Test for primality using strong pseudoprime tests. */
+int
+isprime(uint64_t _n)
+{
+ uint64_t n = _n;
+
+ /*
+ * Values from:
+ * C. Pomerance, J.L. Selfridge, and S.S. Wagstaff, Jr.,
+ * The pseudoprimes to 25 * 10^9, Math. Comp. 35(151):1003-1026, 1980.
+ */
+
+ /* No SPSPs to base 2 less than 2047. */
+ if (!spsp(n, 2))
+ return (0);
+ if (n < 2047ULL)
+ return (1);
+
+ /* No SPSPs to bases 2,3 less than 1373653. */
+ if (!spsp(n, 3))
+ return (0);
+ if (n < 1373653ULL)
+ return (1);
+
+ /* No SPSPs to bases 2,3,5 less than 25326001. */
+ if (!spsp(n, 5))
+ return (0);
+ if (n < 25326001ULL)
+ return (1);
+
+ /* No SPSPs to bases 2,3,5,7 less than 3215031751. */
+ if (!spsp(n, 7))
+ return (0);
+ if (n < 3215031751ULL)
+ return (1);
+
+ /*
+ * Values from:
+ * G. Jaeschke, On strong pseudoprimes to several bases,
+ * Math. Comp. 61(204):915-926, 1993.
+ */
+
+ /* No SPSPs to bases 2,3,5,7,11 less than 2152302898747. */
+ if (!spsp(n, 11))
+ return (0);
+ if (n < 2152302898747ULL)
+ return (1);
+
+ /* No SPSPs to bases 2,3,5,7,11,13 less than 3474749660383. */
+ if (!spsp(n, 13))
+ return (0);
+ if (n < 3474749660383ULL)
+ return (1);
+
+ /* No SPSPs to bases 2,3,5,7,11,13,17 less than 341550071728321. */
+ if (!spsp(n, 17))
+ return (0);
+ if (n < 341550071728321ULL)
+ return (1);
+
+ /* No SPSPs to bases 2,3,5,7,11,13,17,19 less than 341550071728321. */
+ if (!spsp(n, 19))
+ return (0);
+ if (n < 341550071728321ULL)
+ return (1);
+
+ /*
+ * Value from:
+ * Y. Jiang and Y. Deng, Strong pseudoprimes to the first eight prime
+ * bases, Math. Comp. 83(290):2915-2924, 2014.
+ */
+
+ /* No SPSPs to bases 2..23 less than 3825123056546413051. */
+ if (!spsp(n, 23))
+ return (0);
+ if (n < 3825123056546413051)
+ return (1);
+ /*
+ * Value from:
+ * J. Sorenson and J. Webster, Strong pseudoprimes to twelve prime
+ * bases, Math. Comp. 86(304):985-1003, 2017.
+ */
+
+ /* No SPSPs to bases 2..37 less than 318665857834031151167461. */
+ if (!spsp(n, 29))
+ return (0);
+ if (!spsp(n, 31))
+ return (0);
+ if (!spsp(n, 37))
+ return (0);
+
+ /* All 64-bit values are less than 318665857834031151167461. */
+ return (1);
+}

View file

@ -0,0 +1,46 @@
From: "Dr. Tobias Quathamer" <toddy@debian.org>
Date: Fri, 27 Apr 2018 10:01:22 +0200
Subject: Better explanation how to read the documentation.
This patch is based on a suggestion from Ben Wong.
Thanks: Ben Wong <galadriel@wongs.net>
Closes: #874680
---
trek/trek.6.in | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/trek/trek.6.in b/trek/trek.6.in
index e3cc135..9d4b0a1 100644
--- a/trek/trek.6.in
+++ b/trek/trek.6.in
@@ -75,10 +75,6 @@ You should normally start out with a novice and work up.
.Pp
In general, throughout the game, if you forget what is appropriate
the game will tell you what it expects if you just type in a question mark.
-.Sh AUTHOR
-.An Eric Allman
-.Sh SEE ALSO
-.Pa @docdir@/trek.me
.Sh COMMAND SUMMARY
.Bl -item -compact
.It
@@ -137,3 +133,18 @@ amt1 course1 spread1 ...
.It
.Ic w Ns arp warp_factor
.El
+.Sh AUTHOR
+.An Eric Allman
+.Sh SEE ALSO
+.Pp
+The complete documentation,
+.Em Trek
+by Eric Allman, is in
+.Pa @docdir@/trek.me.gz
+which can be viewed using
+.Dl cd @docdir@
+.Dl zcat trek.me.gz | tbl | nroff -me | less -r
+.Pp
+Or you can view a PDF version of the documentation,
+available here:
+.Dl @docdir@/trek.pdf

View file

@ -0,0 +1,67 @@
From: "Dr. Tobias Quathamer" <toddy@debian.org>
Date: Sat, 28 Apr 2018 15:09:16 +0200
Subject: hack: Fix segv when 'i' (inventory) done after load from saved game.
Not all name information was saved or recovered leaving pointers to
nothing.
Thanks: Richard Henschel <rhenschel@accesscomm.ca>
---
hack/hack.o_init.c | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/hack/hack.o_init.c b/hack/hack.o_init.c
index dc5bf93..fdab26e 100644
--- a/hack/hack.o_init.c
+++ b/hack/hack.o_init.c
@@ -184,8 +184,7 @@ savenames(fd)
bwrite(fd, (char *) bases, sizeof bases);
bwrite(fd, (char *) objects, sizeof objects);
/*
- * as long as we use only one version of Hack/Quest we need not save
- * oc_name and oc_descr, but we must save oc_uname for all objects
+ * Save oc_name, oc_descr, as well as oc_uname for all objects
*/
for (i = 0; i < SIZE(objects); i++) {
if (objects[i].oc_uname) {
@@ -193,6 +192,16 @@ savenames(fd)
bwrite(fd, (char *) &len, sizeof len);
bwrite(fd, objects[i].oc_uname, len);
}
+ if (objects[i].oc_name) {
+ len = strlen(objects[i].oc_name) + 1;
+ bwrite(fd, (char *) &len, sizeof len);
+ bwrite(fd, objects[i].oc_name, len);
+ }
+ if (objects[i].oc_descr) {
+ len = strlen(objects[i].oc_descr) + 1;
+ bwrite(fd, (char *) &len, sizeof len);
+ bwrite(fd, objects[i].oc_descr, len);
+ }
}
}
@@ -205,11 +214,23 @@ restnames(fd)
mread(fd, (char *) bases, sizeof bases);
mread(fd, (char *) objects, sizeof objects);
for (i = 0; i < SIZE(objects); i++)
+ {
if (objects[i].oc_uname) {
mread(fd, (char *) &len, sizeof len);
objects[i].oc_uname = (char *) alloc(len);
mread(fd, objects[i].oc_uname, len);
}
+ if (objects[i].oc_name) {
+ mread(fd, (char *) &len, sizeof len);
+ objects[i].oc_name = (char *) alloc(len);
+ mread(fd, objects[i].oc_name, len);
+ }
+ if (objects[i].oc_descr) {
+ mread(fd, (char *) &len, sizeof len);
+ objects[i].oc_descr = (char *) alloc(len);
+ mread(fd, objects[i].oc_descr, len);
+ }
+ }
}
int

View file

@ -0,0 +1,22 @@
--- ./factor/factor.c.orig 2004-02-08 07:20:03.000000000 -0600
+++ ./factor/factor.c 2019-02-17 15:38:29.289767009 -0600
@@ -96,8 +96,8 @@
* We are able to sieve 2^32-1 because this byte table yields all primes
* up to 65537 and 65537^2 > 2^32-1.
*/
-extern const ubig prime[];
-extern const ubig *pr_limit; /* largest prime in the prime array */
+extern const uint64_t prime[];
+extern const uint64_t *const pr_limit; /* largest prime in the prime array */
#define PRIME_CHECKS 5
@@ -202,7 +202,7 @@
void
pr_fact(BIGNUM *val)
{
- const ubig *fact; /* The factor found. */
+ const uint64_t *fact; /* The factor found. */
/* Firewall - catch 0 and 1. */
if (BN_is_zero(val)) /* Historical practice; 0 just exits. */

View file

@ -0,0 +1,11 @@
--- ./configure.orig 2004-02-08 19:37:31.000000000 -0600
+++ ./configure 2019-02-17 16:07:03.818785361 -0600
@@ -521,7 +521,7 @@
game_ask dm "File to disable games playing" dm_nogamesfile /etc/nogames
game_ask dm "Log file for dm" dm_logfile "$varlibdir/games.log"
game_ask fish "File for fish instructions" fish_instrfile "$sharedir/fish.instr"
-game_ask fortune "Directory for fortune files" fortune_dir "$sharedir/fortune"
+game_ask fortune "Directory for fortune files" fortune_dir "$sharedir/fortunes"
game_ask hack "Directory for hack variable data" hack_dir "$varlibdir/hack"
if building_in hack; then

View file

@ -10,10 +10,10 @@ bsd-games: bsd-games (Classic BSD text games collection)
bsd-games: bsd-games:
bsd-games: Games that go in /usr/games: adventure arithmetic atc backgammon bsd-games: Games that go in /usr/games: adventure arithmetic atc backgammon
bsd-games: banner battlestar bcd caesar canfield cfscores countmail cribbage bsd-games: banner battlestar bcd caesar canfield cfscores countmail cribbage
bsd-games: factor fish fortune gomoku hangman hunt mille monop morse number bsd-games: dab factor fortune go-fish gomoku hack hangman hunt mille monop
bsd-games: phantasia pig pom ppt primes quiz rain random robots rot13 sail bsd-games: morse number phantasia pig pom ppt primes quiz rain random robots
bsd-games: snake snscore teachgammon trek wargames worm worms wump bsd-games: rot13 sail snake snscore teachgammon trek wargames worm worms wtf
bsd-games: wump
bsd-games: bsd-games:
bsd-games: Adds a call to 'fortune' to /etc/profile.d/ so that users will get a bsd-games: Adds a call to 'fortune' to /etc/profile.d/ so that users will get a
bsd-games: fortune message when they log in. bsd-games: fortune message when they log in.
bsd-games: