# @(#) $Id: README,v 1.2 1990/10/24 05:19:12 tron Exp $

File   : READ-ME
Author : Richard A. O'Keefe.
Updated: 1 June 1984.
Purpose: Explain the new strings package.

    These files are in the public domain.  This includes getopt.c, which
is the work of Henry Spencer, University of Toronto Zoology, who says of
it "None of this software is derived from Bell software. I had no access
to the source for Bell's versions at the time I wrote it.  This software
is hereby explicitly placed in the public domain.  It may  be  used  for
any purpose on any machine by anyone." I would greatly prefer it if *my*
material received no military use.

    A note on character comparison.  The various UNIX manuals come out
and say explicitly that the *cmp and *chr routines use the computer's
"native" character comparison.  That is, on a PDP-11, VAX-11, and some
other machines, signed character comparison is used, and the byte 0377
will never be located (use -1).   On IBM 370s and many other machines,
unsigned character comparison is used, and the byte -1 can't be found.
(Use 0377.)  If you have occasion to use 8-bit byte values in calls to
*chr functions, it would be nice if the package looked after making it
work portably.  I thought about that, and decided not to do it, as you
might *want* to write VAX code that didn't find 128, and might rely on
the current effect. However, you should be able to use 8-bit values in
a portable fashion if you ask, and that the package DOES do for you.
There is a macro
	int2char(c)
which takes the bottom 8 bits of c on a machine with unsigned character
comparison or sign-extends them on a machine with signed comparison. It
is up to you to use this macro in appropriate places.  It is up to who-
ever installs the package to make sure that the right definition is put
in and the wrong one commented out.

-=-

The bcopy(), bzero(), and bcmp() function were written by Ronald S. Karr.
