Nekotekina
6b40d69a8f
Introduce coroutine support (util/coro.hpp)
...
Implement coroutine types `lazy` and `generator` in stx namespace.
Implement fs::list_dir_recursively.
2021-12-07 13:04:10 +03:00
Eladash
f16949c292
fs::file: always use strict reading mode for large reads ( #11206 )
2021-12-01 19:09:07 +03:00
Eladash
9afa960979
Fix possible fs::create_path recursion overflow
2021-10-22 15:37:47 +03:00
Eladash
73bdf7481e
Emu: Fix disc game move from hdd0/game
2021-09-17 22:15:48 +02:00
Eladash
66368debf8
Win32 FS: Implement support for large reads/writes
2021-07-16 18:48:20 +03:00
Nekotekina
3c614d95b8
fs: alternative fs::pending_file implementation (Win32)
...
Use MOVEFILE_WRITE_THROUGH instead of sync() on commit().
2021-06-20 22:08:24 +03:00
Nekotekina
160b131de3
types.hpp: implement smin, smax, amin, amax
...
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.
Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
Nekotekina
e24ada37bf
fs: implement fs::get_temp_dir() (Win32)
...
Trying to workaround issues with sparse files (#10231 )
2021-05-05 19:38:36 +03:00
Nekotekina
a211895e28
shared_ptr.hpp: use for fs::virtual_device
...
Add new constructors for single_ptr and shared_ptr.
Change virtual device prefix format.
2021-04-15 17:26:47 +03:00
Megamouse
a16d8ba3ea
More random changes
2021-04-11 14:01:51 +03:00
Eladash
11824b3916
Win32 FS: Improve fs::create_dir
2021-04-10 23:51:49 +03:00
Eladash
49c5ce30cc
Emulation: Fix boot path resolving
...
* Fix /dev_flash executables path arg. (/host_root is wrong for it)
* Fix usage of /host_root for homebrew applications when it is not mounted, use /app_home.
* Fix path source detection. (don't get fooled by path slashes repetitions, symlinks, '.', ".." and ('\' on Windows))
* Unescape tail of /dev_hdd0 paths.
2021-04-08 23:57:00 +03:00
Nekotekina
95725bf7fc
Add -Werror=missing-noreturn (GCC, clang)
...
May be useful to diagnose functions which fail assertions unconditionally.
2021-04-08 10:29:47 +03:00
Nekotekina
2212a131ef
Fix some -Weffc++ warnings (part 1)
2021-03-31 11:27:09 +03:00
Eladash
2f333424a6
Improve ELF/Trophy loader's error checking
2021-03-23 16:05:23 +03:00
Nekotekina
a6350d5dd1
Fixup write_gather (Linux, BSD)
...
Split iovec into small portions (256 for now)
2021-03-09 15:54:04 +03:00
Nekotekina
a4fdbf0a88
Enable -Wstrict-aliasing=1 (GCC)
...
Fixed partially.
2021-03-09 03:10:15 +03:00
Nekotekina
87af905018
Enable -Wunused-parameter
2021-03-06 18:07:08 +03:00
Nekotekina
090a769bf6
Implement fs::sync (Linux/POSIX)
2021-02-23 18:24:50 +03:00
Eladash
932f31e37b
Atomic PARAM.SFO writes
2021-02-23 11:29:23 +03:00
Nekotekina
0a23a5ef50
Rewrite fs::get_parent_dir
...
Don't analyse full path if possible.
2021-02-12 21:43:30 +03:00
Nekotekina
78bad361ab
Fix fs::unread (Linux)
...
Detach from fs::lock
Handle existing file case (unlink it).
2021-02-02 01:05:53 +03:00
Nekotekina
34274ec391
Purge unused typeid() invocations
2021-01-28 10:23:29 +03:00
Nekotekina
f9bc682115
Refactor some 'offending' code a bit (no effect)
...
It appears linkage errors were rare even in debug mode (GCC/clang).
2021-01-18 21:58:28 +03:00
Nekotekina
a8e0d261b7
types.hpp: more cleanup
...
Also fix compilation.
2020-12-22 19:08:09 +03:00
Nekotekina
eec11bfba9
Move align helpers to util/asm.hpp
...
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00
Nekotekina
fb29933d3d
Add usz alias for std::size_t
2020-12-18 12:23:53 +03:00
Nekotekina
e321765c54
Split BEType.h to util/v128.hpp and util/to_endian.hpp
2020-12-13 16:34:45 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
Nekotekina
5d934c8759
Improve narrow() and size32() with src_loc detection
2020-12-09 16:26:20 +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
Eladash
8ad36e2526
Fix fs::delim type, fix "." and ".." processing in fs::get_parent_dir ( #8975 )
...
* Fix fs::delim type
* Fix fs::get_parent_dir: "." and ".." processing
2020-09-26 19:18:32 +01:00
Eladash
3b11f22062
MSVC bug workaround
2020-09-25 13:26:08 +03:00
Eladash
6b11d82dd0
Win32 FS: Always use FILE_SHARE_DELETE
2020-09-24 18:06:51 +03:00
Eladash
d0f1b29b39
Win32 FS: Fix fs::utime for directories
2020-09-24 18:06:51 +03:00
Eladash
b8fa6fb4c4
Win32 FS: Rewrite (fix) vfs::host::rename
2020-09-24 18:06:51 +03:00
Eladash
9031c5a6e0
Win32 FS: Fix fs::stat for drives
2020-09-21 06:35:42 +03:00
Megamouse
44371dedd9
fix fs::copy_file on linux
2020-09-10 06:58:44 +02:00
Eladash
8c8048f037
Win32 FS: Use FindFirstFileExW in fs::stat, fs::exists, fs::is_dir, fs::is_file
...
Co-Authored-By: Bevan Weiss <bevanweiss@users.noreply.github.com>
2020-09-09 21:57:01 +02:00
MSuih
b18dcd7660
Add fs::error for when disk is full
2020-05-02 14:54:41 +03:00
sampletext32
c69691f19b
Fix various explicitness, laziness, hard codes
2020-04-12 17:29:42 +03:00
Nekotekina
a166d3680e
Don't throw on invalid whence (return fs::error::einval)
2020-03-07 11:52:54 +03:00
Nekotekina
8461a5cbe2
Add fs::error::unknown, don't throw
2020-03-07 11:22:04 +03:00
Nekotekina
2209be5216
Logs: remove mem-mapped buffer and move instance lock to main.cpp
...
Part of the work to untangle utilities from RPCS3-specific things.
2020-03-07 10:49:09 +03:00
Eladash
0d4f8ca234
fs: Make fs::get_dir_size able to report an error
2020-02-26 18:17:13 +00:00
JohnHolmesII
7eccbecb2f
File.cpp: Make var ref instead of copy
2020-02-23 01:22:38 +01:00
Nekotekina
92e3eaf3ff
Fix signed-unsigned comparisons and mark warning as error (part 2).
2020-02-19 22:54:58 +03:00
Silent
974bce19ed
Use path_append instead of operator + to concat paths
...
This allows to cleanly prevent double // slashes when appending paths
While this should not be a problem, Windows seems to have problems
with such paths when paths are very long - and preventing this
is trivial enough.
2019-12-31 19:24:19 +03:00
Silent
9e66f36942
Handle ERROR_FILENAME_EXCED_RANGE error on Windows
2019-12-31 19:24:19 +03:00
Nekotekina
5b9df53c13
C-style cast cleanup (partial)
...
Replace C-style casts with C++ casts.
2019-11-29 00:35:23 +03:00