From 4baa1595239dee1656cd05113240bc78640f8609 Mon Sep 17 00:00:00 2001 From: eladash Date: Fri, 23 Nov 2018 18:38:24 +0200 Subject: [PATCH] cellFsOpen flag fix --- rpcs3/Emu/Cell/lv2/sys_fs.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_fs.cpp b/rpcs3/Emu/Cell/lv2/sys_fs.cpp index a5358dc32..27cb7c92a 100644 --- a/rpcs3/Emu/Cell/lv2/sys_fs.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_fs.cpp @@ -230,6 +230,11 @@ error_code sys_fs_open(vm::cptr path, s32 flags, vm::ptr fd, s32 mode if (flags & CELL_FS_O_CREAT) { open_mode += fs::create; + + if (flags & CELL_FS_O_EXCL) + { + open_mode += fs::excl; + } } if (flags & CELL_FS_O_TRUNC) @@ -242,18 +247,6 @@ error_code sys_fs_open(vm::cptr path, s32 flags, vm::ptr fd, s32 mode open_mode += fs::append; } - if (flags & CELL_FS_O_EXCL) - { - if (flags & CELL_FS_O_CREAT) - { - open_mode += fs::excl; - } - else - { - open_mode = {}; // error - } - } - if (flags & CELL_FS_O_MSELF) { open_mode = fs::read;