Commit Graph

1785 Commits

Author SHA1 Message Date
dholland b7b2c88aa1 Some improvements to the new UI. 2010-03-29 04:28:47 +00:00
dholland 96bcb2af91 reorg for clarity and exposition. 2010-03-29 04:00:03 +00:00
dholland 4a11aa7558 Better user interface. From OpenBSD, written by Paul Janzen quite a
long time ago. A few minor adjustments by yours truly.
2010-03-29 03:51:55 +00:00
dholland 3fa2c4cfe9 Spell "versus" right. 2010-03-29 02:48:17 +00:00
dholland f6d2af84fc Allow saved game filenames up to PATH_MAX. From OpenBSD. 2010-03-29 02:46:05 +00:00
dholland fb89b74a21 fix quote markup, spotted in openbsd diffs 2010-03-29 02:34:50 +00:00
dholland 47514c94ae Fix typo. From OpenBSD. 2010-03-29 02:32:45 +00:00
dholland bb74336220 Don't exit(0) on failure. Use errx() instead of fprintf. 2010-03-29 02:21:04 +00:00
mrg 5f0f7c9f12 rename text() to wrtext(), aligning it with most other output routines,
and avoiding a compile error on powerpc64.

XXX: this tries to make a ".text" symbol, which already exists...
2010-03-22 05:10:19 +00:00
dholland 4db9f70f12 Latin police: use proper conjugation.
(whether the rest of the affected fortune is valid either is debatable)
2010-02-16 09:53:51 +00:00
he 76d4444c78 When using -lcurses, you also need -lterminfo.
This fixes the build for sun2, and also builds with LDSTATIC=-static,
since archive libraries don't record inter-library dependencies.
2010-02-06 23:45:24 +00:00
roy 98eb889579 Userland now builds and uses terminfo instead of termcap.
OK: core@, jdc@
2010-02-03 15:34:37 +00:00
wiz 4c5d0b1878 Close file when finished with it. Found by cppcheck. 2010-01-17 22:56:32 +00:00
wiz 32b30fe688 Simplify alloc() to avoid ifdef(LINT) workaround. 2010-01-17 22:55:20 +00:00
wiz 8c6dae0be9 Close two file descriptors after using them. Found by cppcheck. 2010-01-17 22:52:00 +00:00
mbalmer 5214aa9799 The default output file extension is '.dat', not '.out'.
From Lars Nooden via OpenBSD.
2010-01-17 13:35:00 +00:00
joerg 642cfb40e9 Use .%U instead of .%O for URLs. 2010-01-15 19:39:10 +00:00
dholland 2ea1f2138b Christos points out that usage should not use errx, but should use
getprogname.
2010-01-03 17:08:45 +00:00
wiz 4f6260c6a1 New sentence, new line. 2010-01-01 11:45:34 +00:00
dholland da0f6356ae Adjust SYNOPSIS for cfscores to better match reality. Note in BUGS
that the score file isn't portable. Bump date (first time since 1993,
and first in 2010...)
2010-01-01 07:35:09 +00:00
dholland 381a1804f4 Split struct betinfo into its own header file so it can be shared
between canfield and cfscores, instead of copy-pasted.
2010-01-01 06:37:15 +00:00
dholland 97ebabce84 Use NULL instead of 0 for pointer tests. Remove an unnecessary cast. 2010-01-01 06:31:18 +00:00
dholland 93abe19853 Send error messages to stderr. Use errx/warnx, not printf. 2010-01-01 06:20:45 +00:00
dholland 07673b8c8a Correct usage message. 2010-01-01 06:16:36 +00:00
dholland f74d700f40 Fix math notation, from PR 41547. While here, fix some potential tab
damage in the same fortune.
2010-01-01 00:16:54 +00:00
ahoka 07b3322423 Hide the cursor during the game. 2009-12-19 19:27:53 +00:00
matt e7e033198e Fix bad merge. (SUBDIR= != SUBDIR +=) 2009-12-14 20:47:23 +00:00
uebayasi 3a48f7cfa9 Conditionalize some build directories by ${MKCXX}. 2009-12-14 12:43:48 +00:00
wiz 9a261cfdbd was disappointed that someone wrote disappointed with one 'p', so I fixed it. 2009-12-08 10:13:39 +00:00
mbalmer 0a83daaf24 I was disappointed that someone wrote disappointed with two 's', so I fixed it. 2009-12-08 10:04:27 +00:00
christos 084eb9fd8b use %option noinput nounput 2009-10-29 14:27:26 +00:00
dholland f6eb744e6f Another spelling mistake. 2009-10-29 08:53:31 +00:00
dholland fd176799a3 Whitespace. 2009-10-29 08:47:07 +00:00
snj 5a8793b8e8 Fix a bunch of typos and spelling errors. 2009-10-28 19:18:15 +00:00
snj a089595921 Kill two duplicates. 2009-10-28 15:56:26 +00:00
dholland 20f1b2155b "Ghandi" -> "Gandhi" 2009-10-28 06:23:29 +00:00
snj 550147bd6a Remove 3rd and 4th clauses in christos' license. OK christos. 2009-10-21 01:07:44 +00:00
dholland 420cf14d38 Fix '=' for '==' in a test. From NAKAJIMA Yoshihiro in PR 42177. 2009-10-19 02:34:40 +00:00
dholland 6a214fad9e Disable writing scores when built for /rescue. PR 42009 2009-09-08 13:38:01 +00:00
dholland e28fc9086c Dumping all system includes anything uses in one big header file is so 1986.
XXX: Removing unused declarations (thus, unused headers can trigger
XXX: it) sometimes causes gcc to generate substantially different
XXX: code. Dunno why but it looks rather like a gcc bug.
2009-08-31 08:27:16 +00:00
dholland 29d1f99953 Don't need -DHAVE_REGCOMP any more 2009-08-27 03:12:16 +00:00
dholland 20ce96200f Instead of trying to cons up a regexp that ignores case, use REG_ICASE.
This makes fortune -im work; it's been broken since whenever.
2009-08-27 03:09:17 +00:00
dholland 47c8cadb48 Tidy up regexp handling further. 2009-08-27 03:04:58 +00:00
dholland ade23dc0db Prune conditional compilation for using obsolete regexp libraries. 2009-08-27 02:21:36 +00:00
dholland 4995cfe200 Whitespace. 2009-08-27 02:03:22 +00:00
dholland e07a279dee Prevent nasal demons in a case I spotted while preparing the previous. 2009-08-27 01:42:08 +00:00
dholland fb94dc019f ANSIfy function definitions. 2009-08-27 01:40:27 +00:00
dholland 0ba36cdda2 Sprinkle some size_t in places where it's better than int.
(Reduces casts.)
2009-08-27 01:19:38 +00:00
dholland b80dbf8031 remove more unnecessary casts 2009-08-27 00:43:31 +00:00
dholland 9ece4dba1c Use correct type for malloc sizes (size_t, not unsigned) 2009-08-27 00:42:11 +00:00
dholland c94bff8297 remove unnecessary casts 2009-08-27 00:40:44 +00:00
dholland 9ac5061b87 u_int32_t -> uint32_t 2009-08-27 00:36:32 +00:00
dholland 04ed523694 ANSIfy function definitions 2009-08-27 00:31:12 +00:00
dholland cf97b0fdcd Use standard C: 'unsigned', not 'u_int' 2009-08-27 00:24:11 +00:00
dholland 431304b3b0 remove unnecessary cast 2009-08-27 00:22:28 +00:00
dholland fe14252156 remove unnecessary casts 2009-08-27 00:21:45 +00:00
dholland 3379762795 remove unnecessary cast 2009-08-27 00:19:52 +00:00
dholland 7c9708a909 Use __dead. 2009-08-25 06:58:04 +00:00
dholland aa19a9d0a5 Whn ths cd ws wrttn, thr ws bt shrtg nd vwls wr xtrml xpnsv. Nowadays,
however, we have an ample vowel budget, and bit shortages are a thing
of the past (even in a down economy) so spend a bit to improve
readability.
2009-08-25 06:56:52 +00:00
dholland 84bca7035f ANSIfy a leftover function.
Also note some unportable code with a comment. Can't change it because
it'd break save files, though.
2009-08-25 06:04:17 +00:00
dholland da121b3331 sprinkle static 2009-08-12 08:54:54 +00:00
dholland 1e99780e5d sprinkle static 2009-08-12 08:44:45 +00:00
dholland 5305281b0c sprinkle static 2009-08-12 08:21:41 +00:00
dholland f2a20f5fe4 sprinkle static 2009-08-12 08:04:05 +00:00
dholland 75b3905d60 sprinkle static and prune some dead code 2009-08-12 07:42:11 +00:00
dholland 9b92b18917 sprinkle static 2009-08-12 07:28:40 +00:00
dholland bc0970cff2 sprinkle static 2009-08-12 06:19:17 +00:00
dholland 6613b31163 sprinkle static 2009-08-12 06:06:28 +00:00
dholland e0ba63fe83 sprinkle static 2009-08-12 05:48:04 +00:00
dholland f59d107e64 sprinkle static 2009-08-12 05:35:44 +00:00
dholland 43e0d095a0 sprinkle static and prune some dead code 2009-08-12 05:29:40 +00:00
dholland 9795f61a5a sprinkle static 2009-08-12 05:17:57 +00:00
dholland 24ddf1fdf8 looks as if "ospeed" here was meant to be extern. 2009-08-12 04:51:11 +00:00
dholland 7a2ed76402 sprinkle static 2009-08-12 04:48:03 +00:00
dholland c62bf84c55 sprinkle static 2009-08-12 04:28:27 +00:00
dholland b76cf716a9 Don't use a FILE * after fclose(). PR 41832 from Henning Petersen. 2009-08-06 17:55:18 +00:00
christos 4b76b4506c don't use char values for functions that can return -1; chars are not always
signed.
2009-08-05 19:34:09 +00:00
dholland f5d4590c31 Use getopt instead of hand-rolled options code. Document all the arguments
and options. Don't allow the previously undocumented method to change the
maximum number of scores kept per user to be used on the system-wide high
score file. Sort options list in the man page. Bump its date.
2009-08-05 04:03:47 +00:00
dholland a95dd4ab67 don't ignore errors from read(); found by lint 2009-08-03 06:04:12 +00:00
dholland bfaf2fa3e6 Remove the need for -Wno-pointer-sign. Object file unchanged. 2009-07-26 03:05:52 +00:00
dholland b740fff70b Remove the need for -Wno-pointer-sign. Object diffs checked. 2009-07-26 03:02:38 +00:00
dholland 8a0aa42d77 Use random() instead of rand(), and seed with time instead of pid. 2009-07-20 06:43:18 +00:00
dholland a4cc1f4f06 Assorted minor cleanups, no functional change:
- u_int* -> uint*
   - don't make private typedefs of system structures
   - use curses TRUE and FALSE only with curses booleans, otherwise
     true and false;
   - includes cleanup
   - group globals in extern.c by functionality

Object file diffs inspected.
2009-07-20 06:39:06 +00:00
dholland d547a06ea3 A bit more whitespace. 2009-07-20 06:09:29 +00:00
dholland 62c771fd10 Whitespace. 2009-07-20 06:00:56 +00:00
dholland 30870bd58b ANSIfy. Use __dead. Object diffs checked. 2009-07-20 05:44:02 +00:00
dholland d99ff15344 ANSIfy. Also, we now have RANDOM_MAX; use it. Object diffs checked... 2009-07-20 05:33:35 +00:00
roy 7027866a09 Rename internal getline() function to get_line() so it does
conflict with the soon to be added getline(3) libc function.
2009-07-13 19:05:39 +00:00
dholland 81eafd7899 Remove config options for 4.2BSD and 4.3BSD, and associated code. Highly
obsolete, and I doubt most of it still worked anyway.
2009-07-04 07:51:34 +00:00
dholland 57ba7791b7 Remove the non-curses screen handling, since it relies on knowing
about various internals of SVR4 curses, old BSD curses, and/or other
unclean things. (Yes, the non-curses handling still used bits of
curses. Fie.)
2009-07-04 07:10:22 +00:00
dholland cda8e486de Remove config for the return type of signal handlers, which is also a
long-dead issue.
2009-07-04 06:38:34 +00:00
dholland 765594d234 Remove references to config #defines for the thoroughly obsolete
4.2BSD syslog API.
2009-07-04 06:31:31 +00:00
dholland c41c818a00 more whitespace 2009-07-04 06:19:05 +00:00
dholland b2987dcaa0 Various minor fixes, mostly from OpenBSD. 2009-07-04 06:15:27 +00:00
dholland 9a53db3705 Notes on the protocol used by hunt, from OpenBSD. 2009-07-04 05:06:06 +00:00
dholland cb89af2bfc Whitespace. 2009-07-04 05:01:16 +00:00
dholland b2f99339f0 Whitespace. 2009-07-04 04:29:54 +00:00
dholland db04762fba Sigh, more of the same (missed two) 2009-07-04 03:29:20 +00:00
dholland b00a6a7437 __attribute__((__noreturn__)) -> __dead 2009-07-04 03:27:57 +00:00
dholland fbca3d8cfa ANSIfy function declarations. 2009-07-04 01:58:57 +00:00
dholland d9fe3edadc Remove two more bogus casts. These *do* create object diffs on amd64,
for no clear reason, but it looks like the diffs are harmless.
2009-07-04 01:44:28 +00:00
dholland 07f4ebf08e Remove bogus casts. Two object file diffs inspected and found to be harmless. 2009-07-04 01:23:55 +00:00
dholland 6ffae66268 Remove a pile of bogus casts. One object file diff, crosschecked and
found harmless.
2009-07-04 01:01:18 +00:00
dholland 165c915b22 Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
2009-06-29 23:05:33 +00:00
dholland 0ed1b742e0 sprintf -> snprintf 2009-06-28 21:12:10 +00:00
dholland 4c08f5f97e Fix possible remote DoS of a running hunt game, and prevent a possible
theoretical attack involving >= 1 billion ammo.
2009-06-28 18:59:37 +00:00
dholland b8c355d789 a bit more const 2009-06-07 21:04:54 +00:00
dholland a7a3b831c7 sprinkle some more const 2009-06-07 20:31:10 +00:00
dholland 8d5216e80d remove unnecessary casts 2009-06-07 20:25:38 +00:00
dholland 907fca1b3e sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
2009-06-07 20:13:18 +00:00
dholland 1fa8a9a633 ANSIfy function declarations. All object file diffs inspected. 2009-06-07 18:30:39 +00:00
dholland a3c372524a Rectify non-compiling code that appears when DEBUG is defined. 2009-06-04 07:01:16 +00:00
dholland a1be1bdddd Set WARNS=4 here. This got missed on my previous WARNS sweep in games.
Everything appears to compile ok with WARNS=4 anyway though.
2009-06-04 06:51:11 +00:00
dholland 99d95061d4 Remove global scratch string buffer. Don't zoom off the end while reading
user input, either.
2009-06-04 06:47:36 +00:00
dholland 60843edfc7 Remove remaining references to sprintf. 2009-06-04 06:41:50 +00:00
dholland b8bb3787da Make a couple of the logging/printing functions printf-alikes. This removes
most of the calls to sprintf.
2009-06-04 06:27:47 +00:00
dholland 04ecbfca8b attribute noreturn -> __dead 2009-06-04 05:52:30 +00:00
dholland 02e6a3b1d0 sprintf -> snprintf 2009-06-04 05:51:12 +00:00
dholland 891dcf008d Increase spending on vowels. No object file diffs. 2009-06-04 05:43:29 +00:00
dholland 881e77fbe7 ANSIfy function declarations.x 2009-06-04 05:27:04 +00:00
dholland 54163608bb sprintf -> snprintf 2009-06-04 04:48:04 +00:00
dholland e5909fd6fe Don't use a variable-size array here. There's not really that much point. 2009-06-01 04:03:26 +00:00
dholland 135a0700ed Rearrange where the alternate definition of __dead goes.
It can't be before "include.h" as that includes a bunch of system headers,
but it can't be after either as it also includes a bunch of local headers.
Therefore, it needs to be *in* include.h.
2009-05-27 17:44:38 +00:00
dholland 4a5716eb31 Edit some. 2009-05-26 01:34:32 +00:00
dholland 1830cfcf79 Assorted fixes (mostly grammar, some markup) from OpenBSD. 2009-05-26 00:58:59 +00:00
dholland bee0eddc6b Paranoia about lengths of login names. From pjanzen of OpenBSD. 2009-05-26 00:30:16 +00:00
dholland 0cf018c12d Avoid SIGSEGV on users not in password file. From pjanzen of OpenBSD. 2009-05-26 00:27:23 +00:00
dholland 2e221153bc sprintf -> snprintf 2009-05-26 00:00:56 +00:00
dholland 951f1a50bf attribute noreturn -> __dead 2009-05-25 23:48:32 +00:00
dholland 18d676539b We don't need a private #define "unsgn" for "unsigned", especially since
it was used exactly once.
2009-05-25 23:44:04 +00:00
dholland 85fc4e7c13 Use the time to call srandom(), not getpid(). 2009-05-25 23:41:23 +00:00
dholland 3a7e6d0da5 KNF/whitespace: format preprocessor directives correctly. 2009-05-25 23:34:50 +00:00
dholland 905e2f95c6 ANSIfy function declarations. Object file diffs checked. 2009-05-25 23:24:54 +00:00
dholland ebb769ae0b sprintf -> snprintf 2009-05-25 23:14:33 +00:00
dholland c7a109cc7b ANSIfy function declarations. Object file diffs cross-checked. 2009-05-25 23:08:45 +00:00
dholland c1d5bd0853 attribute noreturn -> __dead 2009-05-25 22:35:01 +00:00
dholland e32a40eb27 Clean up scorefile handling.
This was writing time_t to disk. Worse, the time_t member was at an
unaligned offset in the structure in question, so after the time_t
change the structure layout depended on compiler-inserted structure
padding. This gives three legacy formats: one with 32-bit time, one
with 64-bit time, and one with 64-bit time and 4 bytes of structure
padding.

And of course the file didn't have a header or version coding or
anything.

The new code writes a structure of well-defined size that should not
receive unexpected padding, and gives the file a header and version
number. It reads that format and any of the three legacy formats,
figuring out which one it's dealing with by inspecting the file
contents. For good measure, it also now handles opposite-endian files,
doesn't bail out unceremoniously unless necessary, and won't croak if
the file is corrupt and e.g. contains unterminated strings.

(Was it worth going to this length? Maybe not. But it didn't seem
right to just leave it, and it's not clear where to stop halfway.)
2009-05-25 08:33:57 +00:00
dholland bbc67e0f7a ANSIfy function declarations.
Some object file diffs, but they are harmless. (Mostly they seem to
come from internal counters in gcc... and in one case the order of two
instructions was harmlessly swapped, which is odd and annoying.)
2009-05-25 04:33:53 +00:00
dholland 8842f79b56 Remove description of -a option and optional log file name, since
neither has done anything in a long long time. Add previously
undocumented -s/-f (slow vs. fast) options, although I question the
utility thereof and suspect they should just be removed.

Bump date (first time since 1993)
2009-05-25 00:53:46 +00:00
dholland b398836923 sprintf -> snprintf 2009-05-25 00:46:01 +00:00
dholland 96ebfddf0f sprintf -> snprintf. 2009-05-25 00:43:34 +00:00
dholland 869c9375c3 "abbreviation" has two Bs. 2009-05-25 00:39:45 +00:00
dholland 3ae4e09ad9 Use random() instead of rand(), so we get something like random
numbers out.

This changes the "tournament codes"; that is, the same code will give
you a different game now from what it used to. (This is because the
codes are basically random seeds.) I really really doubt anyone cares
about this, especially since the tournament feature appears to be
undocumented.
2009-05-25 00:37:27 +00:00
dholland 014e646e3e Remove obviously botched test for "fast mode" based on terminal speed.
Default to "fast mode" as ~nobody has a 300 baud terminal any more.
("Fast mode" apparently controls whether short-range scans are printed
by default at certain times.)
2009-05-25 00:29:08 +00:00
dholland 4d0e1ebeea Use getopt to handle the remaining (all currently undocumented) options. 2009-05-25 00:25:58 +00:00
dholland fdeec4afb6 Remove last traces of undocumented -p option (apparently related to
process priority) and documented -a option, neither of which have
done anything since CSRG days.
2009-05-25 00:20:22 +00:00
dholland 5f12e3fad3 Don't give special privileges to uid 13107. 2009-05-25 00:12:32 +00:00
dholland b9b8495125 __attribute__((__noreturn__)) -> __dead 2009-05-25 00:07:14 +00:00
dholland 01781d3f3f Null for pointers, not 0. 2009-05-25 00:05:56 +00:00
dholland a16adbcbde Fix score printing so columns line up. 2009-05-25 00:03:18 +00:00