diff --git a/rpcsx-os/iodev/shm.cpp b/rpcsx-os/iodev/shm.cpp index e5578da7..5cf905da 100644 --- a/rpcsx-os/iodev/shm.cpp +++ b/rpcsx-os/iodev/shm.cpp @@ -19,12 +19,16 @@ orbis::ErrorCode ShmDevice::open(orbis::Ref *file, ORBIS_LOG_WARNING("shm_open", path, flags, mode); std::string name = "/rpcsx-"; - if (std::string_view{path}.starts_with("/")) { + if (path[0] == '/') { name += path + 1; } else { name += path; } + for (auto pos = name.find('/', 1); pos != std::string::npos; pos = name.find('/', pos + 1)) { + name[pos] = '$'; + } + auto realFlags = O_RDWR; // TODO std::size_t size = 0;