Handle dos-style line endings in FileReadLIne (#496)

This commit is contained in:
Martin Donlon
2021-12-21 23:35:41 -08:00
committed by GitHub
parent 547f510355
commit c7217c7080

View File

@@ -1809,16 +1809,19 @@ bool FileOpenTextReader( fileTextReader *reader, const char *filename )
return false;
}
#define IS_NEWLINE(c) (((c) == '\r') || ((c) == '\n'))
#define IS_WHITESPACE(c) (IS_NEWLINE(c) || ((c) == ' ') || ((c) == '\t'))
const char *FileReadLine(fileTextReader *reader)
{
const char *end = reader->buffer + reader->size;
while (reader->pos < end)
{
char *st = reader->pos;
while ((reader->pos < end) && *reader->pos && (*reader->pos != 10))
while ((reader->pos < end) && *reader->pos && !IS_NEWLINE(*reader->pos))
reader->pos++;
*reader->pos = 0;
while (*st == ' ' || *st == '\t' || *st == 13)
while (IS_WHITESPACE(*st))
st++;
if (*st == '#' || *st == ';' || !*st)
{