The method will loop until it finds \r or \n at the end of the string. This is a valid approach,
but what happens when the length we chose to fgets() with only gets the \r? We end up with a line
that's just \n and the whole thing crashes out. Therefore, after every fgets() we have to check that
the \n isn't the next character. If so, keep it; if not, step the file pointer back.
And this is precisely why we should be depending on something else to do this for us, not our own code.