bool FileToBuffer(const std::string &fileName, buffer &buf) { bool success = false; if ( fileName.length() > 0 ) { FILE* pFile = std::fopen(fileName.c_str(), "rb"); if ( pFile != nullptr ) { buf.flush(); std::fseek(pFile, 0, SEEK_END); u32 fileSize = (u32)std::ftell(pFile); if ( buf.setSize(fileSize) ) { buf.sizeUsed = fileSize; std::rewind(pFile); size_t lengthRead = std::fread(buf.data, 1, buf.sizeUsed, pFile); success = (lengthRead == buf.sizeUsed); } std::fclose(pFile); } } return success; }