
------------------------------------------------------------------------------

A license is hereby granted to reproduce this software source code and
to create executable versions from this source code for personal,
non-commercial use.  The copyright notice included with the software
must be maintained in all copies produced.

THIS PROGRAM IS PROVIDED "AS IS". THE AUTHOR PROVIDES NO WARRANTIES
WHATSOEVER, EXPRESSED OR IMPLIED, INCLUDING WARRANTIES OF
MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE.  THE
AUTHOR DOES NOT WARRANT THAT USE OF THIS PROGRAM DOES NOT INFRINGE THE
INTELLECTUAL PROPERTY RIGHTS OF ANY THIRD PARTY IN ANY COUNTRY.

Copyright (c) 1995, 1996, 1997, 1998 John Conover, All Rights Reserved.

Comments and/or bug reports should be addressed to:

    john@johncon.com (John Conover)

------------------------------------------------------------------------------

To install htmlrel:

    1) untar the rel sources, (available via anonymous ftp from
    ftp://sunsite.unc.edu/pub/Linux/utils/text/rel*.tar.gz.)

    2) mv rel htmlrel

    3) cd htmlrel

    4) unshar htmlrel.shar, to install the htmlrel sources.

        a) If necessary, alter the comments in the Makefile to chose
           an appropriate compiler. The System V, BSD compiler option
           should work, but using the GNU gcc compiler option will
           be beneficial if using gcc as a development system.

        b) The Makefile define, FSE_CONTINUE, controls the program
           behavior during the file system exceptions, error opening
           file, and error opening directory-if defined, the program
           will continue under these exceptions, and if not defined,
           the program will shutdown under these exceptions. If the
           program is running as a server in a client server
           architecture, then it is advisable that FSE_CONTINUE should
           not be defined, otherwise, it is advisable that it should.

        c) Note: some compilers may require a -D_POSIX_SOURCE to be
           added to CFLAGS in the Makefile (like NextStep, for
           example.)

        d) Some older ANSI C compilers do not have a type for ssize_t,
           and if this is the case, it should be typedef'ed as an int
           in rel.h by removing the #ifndef __STDC__ compiler
           directive/construct around the ssize_t typedef (like the
           older GNU gcc compilers, for example.)

        e) If there are any problems, start by browsing through the
           "Porting issues:" section, below.

    5) make

    6) install the htmlrel and wgetrel executables someplace in the
       executable path

    7) install either htmlrel.1 and wgetrel.1 or (htmlrel.catman and
       wgetrel.catman,) in one of the man directories

       (the catman files were produced by nroff -man htmlrel.1 >
       htmlrel.catman, etc.)

The source documentation begins in rel.c, and is quite verbose-my
apologies. See rel.c for the particulars, and some extensibility
suggestions.

Porting issues:

    1) the program uses POSIX compliant file/directory handling
    functions. The structures, types, and functions used for
    file/directory handling are:

        in searchfile.c:

            ssize_t count; /* count of bytes read from the file */
            struct flock lockfile; /* file locking structure */
            struct stat buf; /* structure to obtain file size */

            open (filename, O_RDONLY, S_IREAD)
            fcntl (infile, F_SETLKW, &lockfile)
            fstat (infile, &buf)
            read (infile, (char *) page, count)
            (close (infile) != 0)

        in searchpath.c:

            DIR *dirp; /* reference to the directory for a recursion */
            struct dirent *dire; /* reference to directory path */

            opendir (name)
            readdir (directory->dirp)
            closedir (directory->dirp

    2) error messages for system level interrupts are included in
    message.c and message.h. This file allows a significant level of
    system environment customization. See message.c for details.
