Commit graph

46 commits

Author SHA1 Message Date
Nekotekina
87af905018 Enable -Wunused-parameter 2021-03-06 18:07:08 +03:00
Nekotekina
ea5e837bd6 fixed_typemap.hpp: return reference 2021-03-02 16:08:14 +03:00
Nekotekina
db8e6fe7a7 Enable -Wunused-variable 2021-01-12 14:34:14 +03:00
Nekotekina
6ae1f1b02c VFS: fixup handling . and .. after #9528 2021-01-05 16:16:01 +03:00
Eladash
d1e1c14dc3 VFS: Escape path components which end with space or period 2021-01-05 16:15:47 +03:00
Nekotekina
bd269bccaf types.hpp: remove intrinsic includes
Replace v128 with u128 in some places.
Removed some unused files.
2020-12-21 21:11:25 +03:00
Nekotekina
fb29933d3d Add usz alias for std::size_t 2020-12-18 12:23:53 +03:00
Nekotekina
e055d16b2c Replace verify() with ensure() with auto src location.
Expression ensure(x) returns x.
Using comma operator removed.
2020-12-09 15:43:38 +03:00
RipleyTom
af8c661a64 Remove BOM markers 2020-12-06 15:30:12 +03:00
Nekotekina
9b22661c19 fs: improve mountpoint detection
Properly handle . and .. path components in mountpoint detection.
Remove app_home mountpoint and use mountpoint from argv[0] instead.
Add dev_root mountpoint for special purposes.
2020-10-02 12:32:35 +03:00
Eladash
3b11f22062 MSVC bug workaround 2020-09-25 13:26:08 +03:00
Eladash
b8fa6fb4c4 Win32 FS: Rewrite (fix) vfs::host::rename 2020-09-24 18:06:51 +03:00
Eladash
3a96d99187 sceNpTrophyRegisterContext: Atomically create trophy data 2020-09-22 19:46:52 +03:00
QuadDamage
60f8fc293d VFS: fix off-by-one error in vfs::escape() 2020-09-08 08:20:41 +02:00
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