Vladimir Serbinenko
654778d62d
KOLIBRI: Use _ksys_getcwd instead of getcwd
...
getcwd is apprently missing from SDK I tried. Whatever, just use _ksys_getcwd
2024-12-06 16:58:52 +02:00
Cameron Cawley
6f2bef94fa
RISCOS: Don't encode path when it's not needed
...
Also disable atomic support as it may fail to write when file names are
long.
2024-12-04 22:45:08 +00:00
Hubert Maier
cd74fff5f4
JANITORIAL: Add missing closing bracket in amigaos-fs.cpp
2024-11-10 14:49:50 +02:00
Le Philousophe
0e86eda0be
BACKENDS: FS: Fix Atari
...
Atari only support 8.3 file names and adding a tmp suffix for atomic
writes breaks this.
Make the WriteMode_WriteAtomic flag available in all cases and fall back
on unatomic write in this case.
2024-10-27 11:46:16 +01:00
Le Philousophe
08c9131b1a
BACKENDS: FS: Fix Dreamcast build
2024-10-15 22:45:50 +02:00
sluicebox
e61ad40d2f
BACKENDS: WIN32: Use Win32 specific API to move file atomically
...
This avoids to remove the destination file before moving the temporary one.
Co-authored-by: Le Philousophe <lephilousophe@users.noreply.github.com>
2024-10-15 22:45:50 +02:00
Le Philousophe
fdd11d0714
BACKENDS: FS: Implement atomic file write for stdio stream backend
...
This implementation creates a temporary file (suffixed with .tmp) and
renames it to the expected file name when the file is closed.
If the renaming fails, the destination file is removed and renaming is
tried again to handle cases where renaming over an existing file is not
supported by the underlying OS.
2024-10-15 22:45:50 +02:00
Le Philousophe
e61dac6c68
BACKENDS: Allow write streams to be created atomically
...
When creating an atomic write stream, the file is only created once it
is closed.
This can be done using a temporary file.
This commit only adds the API but not the proper implementation.
2024-10-15 22:45:50 +02:00
Le Philousophe
9c10591f51
BACKENDS: FS: Fix build
2024-10-03 08:38:52 +02:00
Le Philousophe
0c60d29694
Revert "BACKENDS: FS: Make file writing atomic"
...
This reverts commit 99dc7641a9
.
This causes bug #15392 , a build failure on Dreamcast and changes too
much the semantics.
A better approach will need to be found, especially for streaming files
like logs.
2024-10-03 08:35:57 +02:00
Le Philousophe
99dc7641a9
BACKENDS: FS: Make file writing atomic
...
A temporary file is used to write the data and the file is renamed when
it is closed.
The string containing the destination path is a stored as a pointer to
limit the size of the object (which is already doubled).
2024-10-01 22:43:38 +02:00
Le Philousophe
5d0d6b7379
BACKENDS: FS: Refactor StdioStream::makeFromPath
...
This allows to avoid code duplication with PosixIoStream
2024-10-01 22:43:38 +02:00
sluicebox
0887df6b39
WIN32: Fix memory leak in WindowsFilesystemNode
...
20 years old: be58f22feb
2024-09-18 01:06:59 -07:00
Le Philousophe
867cbfcd0d
ANDROID: Create a dedicated define for Android backend
...
This allows other backends (SDL, libretro) to be used on Android without
hacks.
2024-09-02 20:53:57 +03:00
Vladimir Serbinenko
3bc7902b6a
KOLIBRI: Update for new ksys.h
...
New ksys has renamed few structs and function. Propagate rename and
use _ksys_file_read_dir function instead of manual filling
2024-01-20 23:52:46 +01:00
Cameron Cawley
4fdd1f7cc0
CONFIGURE: Check if fopen64 is available before using it
2024-01-08 16:23:00 +02:00
Thierry Crozat
ab13d18e58
BACKENDS: Add function in FS Factory to map scummvm path to system path
...
In most cases they are the same, but in the case of a sandboxed filesystem,
they may be different. Mapping to the full system path allows using the
path with system functions, such as fopen() or third party libraries (for
example to pass a soundfont path to the fluidsynth library).
2023-12-03 16:17:32 +00:00
elasota
9892bedc61
COMMON: Add createReadStreamForAltStream to open Mac resource fork and metadata streams
2023-08-30 00:31:00 +02:00
Le Philousophe
6c248275c8
ANDROID: Fix assertion fault and missing initializer
2023-04-22 12:28:22 +02:00
antoniou79
42991838c5
ANDROID: Comments on Android storage
...
And a minor comment fix
2023-03-27 14:12:09 +03:00
Thierry Crozat
cbd2b736df
BACKENDS: Add possibility to specify virtual drive in ChRootFilesystemFactory
...
It allows to get access to additional directories outside of the sandbox root.
This is used on iOS to access files in the app bundle.
2023-03-24 21:11:50 +01:00
Le Philousophe
acccb564cb
ANDROID: Don't crash when fetchChildren failed in Java
2023-03-18 12:01:05 +01:00
Eugene Sandulenko
1f49e54599
ANDROID: Avoid including translations.h in a header
2023-03-17 14:42:55 +01:00
Donovan Watteau
18ab6803d6
JANITORIAL: Fix various "an" typos in comments
2023-03-16 14:47:28 +01:00
Le Philousophe
55c9a7529f
ANDROID: Don't keep a _cache variable, it's never checked
2023-03-04 18:16:20 +01:00
Le Philousophe
316a6974ba
ANDROID: Slightly optimize and rewrite cacheData
2023-03-04 18:16:20 +01:00
Le Philousophe
4bcd7084db
ANDROID: Add missing header for Android filesystem specific
2023-02-28 19:31:59 +01:00
Le Philousophe
075c3f4246
ANDROID: Add remove feature to Android filesystem abstraction
2023-02-28 19:12:11 +02:00
Le Philousophe
625c1d10c8
ANDROID: Allow SAF non-existent node creation from path
...
This is used by DumpFile.
As in all other implementations, parent node is expected to exist.
2023-02-26 12:20:13 +01:00
Le Philousophe
9d879cb04f
ANDROID: Allow to create a /saf node from path
...
This avoids errors when creating parent directories in DumpFile
This also allows the user to specify /saf path in browser to allow
browsing.
2023-02-26 12:20:13 +01:00
Le Philousophe
a8692ebf13
ANDROID: Make SAF strings translatable and better looking
2023-02-12 17:54:45 +01:00
Vladimir Serbinenko
4bcd4671ab
KOLIBRI: Add kolibrios backend
2023-02-05 22:55:40 +01:00
Le Philousophe
baf42ae7e6
ANDROID: Add a dialog to revoke SAF authorizations
...
Remove old all-in-one revoke authorizations process
2023-01-20 14:14:03 +01:00
Le Philousophe
a465718c24
ANDROID: Fix comment
...
For coherence sake
2023-01-20 14:14:03 +01:00
Le Philousophe
ca1dbfc9d6
ANDROID: Add SAF support
2023-01-20 14:14:03 +01:00
Le Philousophe
0fdf53f984
ANDROID: Remove platform specific code from shared code
2023-01-20 14:14:03 +01:00
Le Philousophe
54fd20c36c
POSIX: Refactor DrivePOSIXFilesystemNode to allow for dynamic drives
2023-01-20 14:14:03 +01:00
Le Philousophe
787d4e1db6
POSIX: Allow to subclass DrivePOSIXFilesystemNode
...
Without this, there are some cases where the nodes created are not the
subclass.
Also make _config available to derived classes.
2023-01-20 14:14:03 +01:00
Donovan Watteau
0eb9ca84de
BACKENDS: Make StdioStream use a 64-bit fseeko/ftello on more platforms
...
Note that using fseeko64() means that fopen64() should be used instead.
2022-12-11 21:48:33 +01:00
elasota
cc11b531e3
JANITORIAL: Clean up all non-engine Visual Studio warnings.
2022-12-04 00:08:48 +01:00
Le Philousophe
43997e2911
WIN32: Don't use unsafe sprintf and vsprintf
2022-10-23 22:46:19 +02:00
Le Philousophe
a60e8ff2cb
MORPHOS: Don't use unsafe sprintf and vsprintf
2022-10-23 22:46:19 +02:00
Le Philousophe
7c657796f4
POSIX: Don't use unsafe strcat and strcpy
...
It was commented but still
2022-10-23 22:46:19 +02:00
Le Philousophe
15e7346f1c
MORPHOS: Don't use unsafe strcat and strcpy
2022-10-23 22:46:19 +02:00
Le Philousophe
5a0e4ced67
AMIGAOS: Don't use unsafe strcat and strcpy
2022-10-23 22:46:19 +02:00
Hubert Maier
874f894936
AMIGAOS: Fix oversight in debug output
2022-10-23 21:45:10 +02:00
Hubert Maier
24ce65629a
AMIGAOS: Coding convention
2022-10-23 00:06:33 +03:00
Hubert Maier
022995f4ad
AMIGAOS: Clean up
2022-10-23 00:06:33 +03:00
Le Philousophe
337ec7f6d9
VITA: Fix build with latest toolchains
...
This whole workaround may be unnecessary though as mkdir seems to be
implemented correctly on lastest Vita toolchain.
2022-06-01 12:45:29 +02:00
Eugene Sandulenko
5e05f93f36
ALL: Remove Symbian port
2022-05-28 12:32:29 +02:00