Tobi,
>
> + seen_one = FALSE;
> more = TRUE;
> while (more)
> {
The use of upper-case booleans vs lower-case ones below lead me to
investigate: the lower case variants are the right ones.
Blast it! I have been doing too much fortran programming...
Thanks
Paul