this file deals with some stuff you'll want to consider if you're
going to port this code to other machines...

so far, i've tested and run CI on a decstation 5500 and a sparc
(unknown model).  it's also been tried on a Linux system
(kernel .98.something).  it compiled fine, but wouldn't load
an already-created database, and when i ran it with -create, it
worked for a while and then the kernel crashed.

if you're just porting to another UNIX system, it ought to work fine
on *any* system. there is ONE thing to look out for, though: some
systems don't have SEEK_SET defined in stdio.h; it's an ANSI
#define used with fseek(), and I don't know why it wouldn't be defined,
but sometimes it ain't.  so, in stddef.h there is the following:

#ifndef SEEK_SET
#define SEEK_SET 0
#endif /* not SEEK_SET */

in my QUE Unix Programmer's Quick Reference, 0 is given as the value that
should be used for the SEEK_SET action. this may or may not be the real
value on your system, so if you notice variables in objects not being
what they should be, it could be that SEEK_SET is improperly defined.

if you're porting to a non-UNIX system:

in file.c, make_path() will have to be changed.  This function takes
a pointer to a file-entry-node structure, and converts into a full-length
pathname to be used by the machine's actual filesystem.  So, if you're on
DOS or something, you'll want to replace the '/' in make_path() with
'\'.  If you're doing VMS, then the conversion will be a bit more complicated.

in construct.c, the function is_legal() may have to be changed.  This
function checks a string of characters to see if it is a legal pathname.
As it is currently defined, legal pathnames are <= 14 characters,
do not start with '.', and have no '#'s or whitespace characters in them.

interface.c will have to be totally rewritten, if you don't have some
socket-compatibility library.  it's not that hard, though, to write
a single-user interface; i have one for my IIGS, but its not included
here because there probably isn't much interest in such a thing, and
the code would need to be slightly updated to deal with later CI versions.

Also, in config.h, time2int() and int2time() #define's may have to be
changed.  Those two conversion #define's assume that time_t is equivalent
to a long.