David,
I found your bug...
The problem is as follows...
Affter the header are stored the offsets to the words.
The header consists of lines begining with # (char 35)
and ending with '\n'.
In your test sample the first offset is 42019 wich is
a long coded in a portable format of four chars: 35 164 0 0:
42019=256*164+35
As you can see the first char is 35!!! So when searching,
the function is reading this first offset as a line of the
header...
This does not happen in AIX and Solaris because I have
a different format in time and the "# Indexed on:!" header
field is three chars longer. So the first offset is 42022
wich is stored as 38 164 0 0.
This means that if you just add or remove a char in the config
file the first offset changes and you can find the problem!!!
To fix it I will add a null char at the end of the header to
delimite it easily.
I will put the fix in a copule of hours. It is really easy
to fix but hard to find!!
have a nice day
Jose Ruiz
Received on Fri Jun 16 07:38:52 2000