From 02c450c218795baea1572237ac12e305d917635c Mon Sep 17 00:00:00 2001 From: Linus Dierheimer Date: Mon, 22 Mar 2021 19:15:51 +0100 Subject: [PATCH] rewinding file descriptor before trying reading again --- src/common.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/common.c b/src/common.c index 3eaf0948b..7944ae18a 100644 --- a/src/common.c +++ b/src/common.c @@ -239,8 +239,11 @@ void ffGetFileContent(const char* fileName, FFstrbuf* buffer) return; ssize_t readed; - while((readed = read(fd, buffer->chars, buffer->allocated)) == buffer->allocated && readed > 0) + while((readed = read(fd, buffer->chars, buffer->allocated)) == buffer->allocated) + { ffStrbufEnsureCapacity(buffer, buffer->allocated * 2); + lseek(fd, 0, SEEK_SET); + } if(readed >= 0) buffer->length = readed; @@ -281,7 +284,7 @@ bool ffPrintCachedValue(FFinstance* instance, const char* key) return false; FFstrbuf cacheFile; - ffStrbufInit(&cacheFile); + ffStrbufInitA(&cacheFile, 128); ffStrbufAppend(&cacheFile, getCacheDir(instance)); ffStrbufAppendS(&cacheFile, key);