Merge pull request #11618 from unknownbrackets/io-error

Io: Ensure sign extension for error codes
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2018-12-01 23:02:49 +01:00
commit c3bd375048
1 file changed
+3 -3
+3 -3
View File
@@ -991,7 +991,7 @@ static u32 sceIoReadAsync(int id, u32 data_addr, int size) {
int us;
bool complete = __IoRead(result, id, data_addr, size, us);
if (complete) {
f->asyncResult = result;
f->asyncResult = (s64)result;
DEBUG_LOG(SCEIO, "%llx=sceIoReadAsync(%d, %08x, %x)", f->asyncResult, id, data_addr, size);
} else {
DEBUG_LOG(SCEIO, "sceIoReadAsync(%d, %08x, %x): deferring result", id, data_addr, size);
@@ -1125,7 +1125,7 @@ static u32 sceIoWriteAsync(int id, u32 data_addr, int size) {
int us;
bool complete = __IoWrite(result, id, data_addr, size, us);
if (complete) {
f->asyncResult = result;
f->asyncResult = (s64)result;
DEBUG_LOG(SCEIO, "%llx=sceIoWriteAsync(%d, %08x, %x)", f->asyncResult, id, data_addr, size);
} else {
DEBUG_LOG(SCEIO, "sceIoWriteAsync(%d, %08x, %x): deferring result", id, data_addr, size);
@@ -1935,7 +1935,7 @@ static u32 sceIoOpenAsync(const char *filename, int flags, int mode)
f = new FileNode();
f->handle = kernelObjects.Create(f);
f->fullpath = filename;
f->asyncResult = error == 0 ? SCE_KERNEL_ERROR_ERRNO_FILE_NOT_FOUND : error;
f->asyncResult = error == 0 ? (s64)SCE_KERNEL_ERROR_ERRNO_FILE_NOT_FOUND : (s64)error;
f->closePending = true;
fd = __IoAllocFd(f);