If a particular set of fortunes is particularly unwanted, there is an
easy solution: delete the associated
file. This leaves the data intact, should the file later be wanted, but
no longer finds the pointers file, it ignores the text file.
The supplied fortune databases have been attacked, in order to correct
orthographical and grammatical errors, and particularly to reduce
redundancy and repetition and redundancy. But especially to avoid
repetitiousness. This has not been a complete success. In the process,
some fortunes may also have been lost.
The fortune databases are now divided into a larger number of smaller
files, some organized by format (poetry, definitions), and some by
content (religion, politics). There are parallel files in the main
directory and in the offensive files directory (e.g., fortunes/definitions and
fortunes/off/definitions). Not all the potentially offensive fortunes are in
the offensive fortunes files, nor are all the fortunes in the offensive
files potentially offensive, probably, though a strong attempt has been
made to achieve greater consistency. Also, a better division might be
When passing files to fortune, directories must be specified by absolute
pathnames, and filenames starting with a dot are ignored. See:
This version of fortune is based on the NetBSD fortune 1.4, but with a
number of bug fixes and enhancements.
The original fortune/strfile format used a single file; strfile read the
text file and converted it to null\-delimited strings, which were stored
after the table of pointers in the .dat file. By NetBSD fortune 1.4,
this had changed to two separate files: the .dat file was only the header
(the table of pointers, plus flags; see
.IR strfile.h ),
and the text strings were left in their own file. The potential problem
with this is that text file and header file may get out of synch, but the
advantage is that the text files can be easily edited without resorting
to unstr, and there is a potential savings in disk space (on the
assumption that the sysadmin kept both .dat file with strings and the
Many of the enhancements made over the NetBSD version assumed a Linux
system, and thus caused it to fail under other platforms, including BSD.
The source code has since been made more generic, and currently works on
SunOS 4.x as well as Linux, with support for more platforms expected in
the future. Note that some bugs were inadvertently discovered and fixed
during this process.
At a guess, a great many people have worked on this program, many without
.SH SEE ALSO
.BR re_comp "(3), " regcomp "(3), " strfile "(1), "
.BR unstr (1)