Nekotekina
9176ca084c
VFS: clarify escape/unescape cannot work on paths
...
With recent changes, it can only work with file or directory name.
2020-03-14 16:01:55 +03:00
Nekotekina
70cd8afafa
VFS: improve vfs::escape (escape NUL, LPT, COM...)
...
Windows legacy trash.
2020-03-14 15:07:59 +03:00
Nekotekina
6a8f5e6b38
VFS: fix vfs::get
...
Escape each path element separately.
2020-03-14 14:25:37 +03:00
Nekotekina
6c234b48ce
VFS: Fix possible out of range in vfs::escape
2020-03-14 13:33:25 +03:00
Nekotekina
bf957a575c
VFS: fix out of range problem in vfs::unescape
...
Also improve unescape with "!" allowing any character
2020-03-14 13:15:46 +03:00
Nekotekina
0c65a1721d
VFS: escape multidot names like ...
2020-03-14 12:34:28 +03:00
Nekotekina
5e59f18720
fixed_typemap: implement need<> method
...
It may be used in constructors of other objects to assert a dependency.
It also helps to ensure reverse destruction order of that dependency.
2020-02-26 21:23:30 +03:00
Nekotekina
92e3eaf3ff
Fix signed-unsigned comparisons and mark warning as error (part 2).
2020-02-19 22:54:58 +03:00
Nekotekina
1a78e0e80c
Make RPCS3 compile in C++2a mode
2020-02-04 23:43:55 +03:00
Nekotekina
41f2ee7b6c
VFS: minor change in handling /host_root path
2020-01-11 01:55:36 +03:00
Nekotekina
28fb0d1741
Fix lv2_fs_object::name
...
Recreate path from actual decoded components.
2020-01-04 21:44:03 +03:00
Nekotekina
742bd633d8
Remove fs::file::set_delete
...
Since it's Windows-only functionality with limited use.
2019-11-08 19:27:11 +03:00
Nekotekina
d6087978b5
Fix vfs::host::unlink (Win32)
...
Use fs::get_virtual_device properly.
2019-11-08 19:27:11 +03:00
Nekotekina
24fdd24808
Fix vfs::host::remove_all
...
Separate WIN32-specific logic.
Don't call fs::remove_all on WIN32 path.
2019-11-07 21:21:21 +03:00
Nekotekina
03b9ee27c5
Virtualize cellSysCache
...
Allows caches from multiple games to coexist.
Also change the way of handling cache IDs (file-less).
2019-11-06 14:12:43 +03:00
Eladash
65e47490c4
cellSysCacheClear/Mount() improved
...
Clear() error checking simplified a bit
Mount() now clears cache if ID was changed from last or NULL specified.
Implemented vfs::host::remove_all():
Clear() now uses vfs::host::remove_all() to match behaviour on Windows with ps3
2019-10-27 15:56:16 +03:00
Nekotekina
ccf9543b44
Improve vfs::host::unlink on Windows (for sys_fs_rmdir)
...
Possibly fixes sys_fs_rmdir and other cases of directory removal.
Make sure the directory with deleted files always becomes empty.
For this purpose, temp files are moved to the root of the device.
2019-09-25 18:47:38 +03:00
Nekotekina
801adb0947
VFS: Escape Control Characters 0-31
...
Escaping NUL is formal, it's not expected on input.
2019-08-29 02:44:12 +03:00
Nekotekina
c43a126f62
Fix VFS initialization
2019-08-22 02:46:21 +03:00
Nekotekina
4ac1e2d8f5
Use g_fxo for vfs_manager
2019-08-22 02:13:39 +03:00
Nekotekina
40142420c1
Implement vfs::host::unlink
...
Emulate POSIX behaviour in sys_fs_unlink.
This should allow to delete opened files transparently on Windows.
2019-04-10 13:58:12 +03:00
Nekotekina
9736773c04
Implement vfs::host::rename
...
With spurious access error workaround
2019-04-10 13:58:12 +03:00
Nekotekina
986c750fdc
VFS: fix sys_fs_opendir on root
2019-03-05 22:12:01 +03:00
Nekotekina
59090f6d26
VFS: fix /host_root
2018-09-19 14:15:38 +03:00
Nekotekina
e8b5555630
Rewrite vfs::get and vfs::mount
...
Preprocess . and .. correctly
Don't use recursive locking
Also use std::string_view
Fix format system for std::string and std::string_view
Fix fmt::merge for std::string_view
2018-09-15 17:09:56 +03:00
Nekotekina
eea2c20420
Improve vfs::mount
...
Mount /dev_bdvd/PS3_GAME if necessary
2018-03-11 19:33:01 +03:00
Nekotekina
76be7d40ac
Remove PSP2
2018-02-09 15:24:46 +03:00
Nekotekina
5b19908996
Escape problematic characters in VFS
...
With full-width <>:"\|?*
2017-10-11 22:01:37 +03:00
Nekotekina
5c93acefd9
Try to fix some fs errors
2017-09-19 15:07:07 +03:00
Nekotekina
438e057dc8
Partial commit: sys_fs
2016-07-17 02:27:52 +03:00
Ivan
aafcf44581
Header optimizations ( #1684 )
...
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Nekotekina
f8f067ca7c
Partial commit: Emu (the rest)
2016-04-15 19:22:49 +03:00