At PhysFS read function we have >>
PHYSFS_sint64 PHYSFS_read(PHYSFS_File *handle, void *buffer,
PHYSFS_uint32 objSize, PHYSFS_uint32 objCount)
{
FileHandle *fh = (FileHandle *) handle;
BAIL_IF_MACRO(!fh->forReading, ERR_FILE_ALREADY_OPEN_W, -1);
BAIL_IF_MACRO(objSize == 0, NULL, 0);
BAIL_IF_MACRO(objCount == 0, NULL, 0);
if (fh->buffer != NULL)
return(doBufferedRead(fh, buffer, objSize, objCount));
return(fh->funcs->read(fh->opaque, buffer, objSize, objCount));
} /* PHYSFS_read */
At wiki we have >>
https://github.com/SFML/SFML/wiki/Source:-PhysicsFS-Input-Streamvirtual sf::Int64 read(void* data, sf::Int64 size)
{
if (!isOpen())
return -1;
// PHYSFS_read returns the number of 'objects' read or -1 on error.
// We assume our objects are single bytes and request to read size
// amount of them.
return PHYSFS_read(m_File, data, 1, static_cast<PHYSFS_uint32>(size));
}
Ok It say to me - I request read from ZIP archive my 5.5Gb file, but I read only 4Gb (4 294 967 295 bytes) or some wrong size.
How to fix it ??
Any append read functions to buffer ?
And also need for every byte read..