I suspect we should unconditionally send through `s` if it's non-empty after trimming. This also will remove the duplicate send after the `for` loop. If we do read a half line and then there's an error, I sure want that half line to end up logged.