Filesystem: Actually throw ENOENT for missing files
This commit is contained in:
parent
7bf6eca362
commit
c05ebd7ea8
|
@ -650,7 +650,20 @@ void FileSystem::openReadRaw(SDL_RWops &ops,
|
||||||
bool freeOnClose)
|
bool freeOnClose)
|
||||||
{
|
{
|
||||||
PHYSFS_File *handle = PHYSFS_openRead(filename);
|
PHYSFS_File *handle = PHYSFS_openRead(filename);
|
||||||
assert(handle);
|
|
||||||
|
if (!handle)
|
||||||
|
{
|
||||||
|
PHYSFS_ErrorCode error = PHYSFS_getLastErrorCode();
|
||||||
|
switch (error)
|
||||||
|
{
|
||||||
|
case PHYSFS_ERR_NOT_FOUND:
|
||||||
|
case PHYSFS_ERR_NOT_A_FILE:
|
||||||
|
throw Exception(Exception::NoFileError, "%s", filename);
|
||||||
|
default:
|
||||||
|
throw Exception(Exception::PHYSFSError,
|
||||||
|
"PhysFS: %s", PHYSFS_getErrorByCode(error));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
initReadOps(handle, ops, freeOnClose);
|
initReadOps(handle, ops, freeOnClose);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue