Avoid an extra call to parse when the entire buffer is consumed.

The buffer offsets were reset but the the needData flag was not.
This causes an extra call to parse, the first to set the flag and
then next to read more data an attempt a parse.