Christian Spieler						06-Apr-1992

The following small changes have been applied to texindex.c to allow
the use of a strict ANSI compiler (e.g. Borland Turbo C++ 1.0 or newer,
DEC c89 ANSI C compiler for RISC DecStations):

[03-Apr-92]  TH Darmstadt, Institut fuer Kernphysik, Chr. Spieler:
	     -	moved all structure definitions in front of function prototype
		declarations (had to move struct linebuffer).
	     -	added a type cast to the compare function argument in the
		two calls to qsort(). This was necessary to get the program
		compiled with strict ANSI compilers like Turbo C++.
	     -	corrected the clause for the default definition of symbol
		EXIT_FATAL. (TURBO C++ problem)
[06-Apr-92]  TH Darmstadt, Institut fuer Kernphysik, Chr. Spieler:
	     -	added automatic definition of STDC_HEADERS if __STDC__ is
		defined. This includes ANSI header files and use prototypes
		with all compilers that claim to be ANSI compatible.


Texindex Version 2.43 relies on some special features of GNU getopt.
Therefore you have to link with GNU getopt even on systems were a getopt() is
supplied.
To enable users of the Borland compilers to process texindex, I included a
patch into getopt() to replace the alloca() request in the internal exchange()
function by an equivalent malloc()-free() pair.
To reduce warnings with some MSDOS compilers I changed getopt.h to use ANSI
style for MSDOS (and VAX VMS). You will still get a warning about the missing
prototype for the internal (static) function exchange() in getopt.c, but this
is something that should be cured by the GNU library people themselves.

Using MS C 5.1 to compile texindex.c one gets two warnings about unused formal
parameters. These unused parameters are necessary to maintain interface
compatibility between different functions that are used as ``procedural
parameters''.
(Remark: Rewriting that portion of the code using standard vararg technique
 does not solve the problem. Variable argument passing mechanism is useful
 when a function shall work with a variing number of arguments at runtime.
 This case is a bit different. Here the caller does not know how many arguments
 the called function needs.)
If you use Turbo C with all warnings enabled, you get some additional
warnings about suspicious assignments in conditional expressions. They do not
hurt, either.
