INFORMATION ABOUT SNIPPETS OCT 95 EDITION
=========================================

Beginning with the Dec '92 edition, SNIPPETS has been distributed in two
forms.

The first, and most familiar, is the full SNIPPETS collection. As before it
is named "SNIPdddd.xxx", where "dddd" is the release date and "xxx" is the
archive utility extension. For example, I distribute the Mar '95 edition as
SNIP9503.LZH, using the LHA.EXE archive utility.

New to the Dec '92 release was SNIPDIFF, an archive containing both files and
a utility to create a complete and fully-validated SNIPPETS archive using
files from the last edition of SNIPPETS which haven't changed. This
represents a considerable saving in the size of the archive and,
consequently, the time required to download it from bulletin boards and
public information services.

Beginning the Apr '93 release, SNIPDIFF became even smaller with the
inclusion of DSAPP.EXE which allows that only the differences for changed
files need be included. DSAPP.EXE is a public domain utility for applying
changes, written by David Burton, and which is distributed with his excellent
TLIB version control system.

For those using 4DOS or other shell programs which use DESCRIPT.ION files,
this release includes the source to a new utility, To4Dos.C, which processes
the SNIPPETS.NDX file into a description file. To use it, simply compile it
and run it in the same directory with the SNIPPETS files. It will read
SNIPPETS.NDX and generate DESCRIPT.ION automatically.


PORTABILITY
===========

All SNIPPETS code is tested with PC compilers from Microsoft, Borland,
Watcom, and Symantec/Zortech, unless otherwise noted. Where possible, code is
also tested under one or more of HP/UX, SCO Unix, or AIX, using appropriate
vendor or FSF compilers. Beginning with this release, the SNIPPETS.NDX file
lists portability for each file. This information is for general guidance
only. For example, the code to implement the Bresenham line and circle
drawing algorithms is portable, but the implementation using PC graphics is
not. Code listed as portable to "any" OS, should be portable, possibly with
minor changes. Code listed as being specific for a particular OS usually
contains references to system dependencies that makes it useless in other
environments.

Note that, just as it's impossible to assure compatibility with unsupported
compilers, it's equally impossible to assure portability with every version
of every supported compiler. Some older compilers from the vendors mentioned
here may not work with all SNIPPETS code. During the testing of this release,
I had help from many kind people working with different tools in different
environments, but you may still have some problems - and especially if you're
using an older compiler that's more than 1 or 2 revisions out of date.


COMPILING SNIPPETS CODE
=======================

SNIPPETS files fall into 5 categories:

1. Archive information files. These provide information on SNIPPETS itself.
   You're reading one of these right now. The most important of the
   information files is SNIPPETS.NDX which contains a descriptive list of the
   "real" SNIPPETS files. You should at least browse all of the information
   files, grouped conveniently at the beginning of the archive.

2. Macros and true code snippets. These will not compile to anything
   meaningful by themselves. Macros are designed to be included in file
   headers, while code snippets are incomplete pieces of code used to
   demonstrate a general principle. Most SNIPPETS macros appear near the
   beginning of the archive in .H files. True snippets are rare, but should
   be obvious when you run across one.

3. Functions. Most of the SNIPPETS files are functions. Many SNIPPETS
   functions also have test code built-in which will allow them to be
   compiled to stand-alone versions by defining the macro TEST during the
   compilation process. Individual functions appear in the archive
   immediately following the macros. SNIPPETS also contains larger, multi-
   file function packages, noted by sections in SNIPPETS.NDX.

4. Stand-alone utilities. SNIPPETS utilities are grouped at the end of the
   archive in a section noted in SNIPPETS.NDX. Many utilities contain useful
   functions and demonstrate useful C programming techniques.

5. Educational files. Between the individual functions and the function
   packages comprising two or more files, there is a short section of text
   files answering frequently-asked questions or providing tutorials on
   various aspects of C programming.
