From 46ed1b34cbb7ea137527429f664df09f93fff134 Mon Sep 17 00:00:00 2001 From: Linus Dierheimer Date: Sat, 27 Mar 2021 17:55:16 +0100 Subject: [PATCH] much faster reading of large files --- src/common.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common.c b/src/common.c index ccfa0a0f8..ec67fc2e9 100644 --- a/src/common.c +++ b/src/common.c @@ -226,14 +226,14 @@ void ffGetFileContent(const char* fileName, FFstrbuf* buffer) return; ssize_t readed; - while((readed = read(fd, buffer->chars, buffer->allocated)) == buffer->allocated) + while((readed = read(fd, buffer->chars + buffer->length, buffer->allocated - buffer->length)) == (buffer->allocated - buffer->length)) { + buffer->length += readed; ffStrbufEnsureCapacity(buffer, buffer->allocated * 2); - lseek(fd, 0, SEEK_SET); } if(readed >= 0) - buffer->length = readed; + buffer->length += readed; ffStrbufTrimRight(buffer, '\n'); ffStrbufTrimRight(buffer, ' ');