- char* line = (char*) calloc(indexOfLineBreak + 1, 1);
- growingBuffer.read(line, indexOfLineBreak + 1);
- line[indexOfLineBreak] = '\0';
- if (line[indexOfLineBreak - 1] == '\r') {
- line[indexOfLineBreak - 1] = '\0';
+ char* line;
+ if (indexOfLineBreak == (size_t) -1) {
+ GlobalSettings::isVerbose() && fprintf(stderr, "[%s:%d] could not find line break, using remainder of file.\n", __FILE__, __LINE__);
+ indexOfLineBreak = growingBuffer.getRemaining();
+ line = (char*) malloc(indexOfLineBreak + 1);
+ growingBuffer.read(line, indexOfLineBreak);
+ line[indexOfLineBreak] = '\0';
+ } else {
+ line = (char*) malloc(indexOfLineBreak + 1);
+ growingBuffer.read(line, indexOfLineBreak + 1);
+ if (line[indexOfLineBreak] == '\n') {
+ line[indexOfLineBreak] = '\0';
+ }
+ if (line[indexOfLineBreak - 1] == '\r') {
+ line[indexOfLineBreak - 1] = '\0';
+ }