As described in #149 we discovered ReadLine() actually treats EOF as an end-of-line delimiter (I checked the pkg source) - which is the root cause of the issue.
So if you have data at the end of the log, with no new line, ReadLine() returns normally with is_partial set to **false** and you can never know if there was a new line or not - and LSF assumes there was (the +1 we have for offset). So we end up offset too far ahead of the Size() and detect truncation, wrongly.

It's also worth noting http://golang.org/pkg/bufio/#Reader.ReadLine

```
ReadLine is a low-level line-reading primitive. Most callers should use ReadBytes('\n') or ReadString('\n') instead or use a Scanner.
```

Using ReadBytes('\n') we can safely ensure that we don't treat EOF as a line delimiter and properly count the \r\n bytes at the end.