//======================================================================== // // FILECacheLoader.cc // // This file is licensed under the GPLv2 or later // // Copyright 2010 Hib Eris // Copyright 2010, 2022 Albert Astals Cid // Copyright 2010 Jonathan Liu // Copyright 2021 Peter Williams // Copyright 2021 Christian Persch // //======================================================================== #include #include "FILECacheLoader.h" #if defined(_WIN32) || defined(__CYGWIN__) # include // for O_BINARY # include // for _setmode #endif FILECacheLoader::~FILECacheLoader() { if (file != stdin) { fclose(file); } } size_t FILECacheLoader::init(CachedFile *cachedFile) { size_t read, size = 0; char buf[CachedFileChunkSize]; #if defined(_WIN32) || defined(__CYGWIN__) _setmode(fileno(file), O_BINARY); #endif CachedFileWriter writer = CachedFileWriter(cachedFile, nullptr); do { read = fread(buf, 1, CachedFileChunkSize, file); (writer.write)(buf, CachedFileChunkSize); size += read; } while (read == CachedFileChunkSize); return size; } int FILECacheLoader::load(const std::vector &ranges, CachedFileWriter *writer) { return 0; }