Commit Graph

127 Commits

Author SHA1 Message Date
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Cameron Cawley
28086f4f8a DS: Replace outdated filesystem code 2021-02-04 01:59:14 +01:00
antoniou
8fe6aae59e ANDROID: Use SAF for folder and file creation when normal way fails
Should affect only external "secondary" storage (eg. physical SD card)
2020-11-01 19:38:07 +02:00
Bastien Bouclet
1c5f923083 PSP2: Simplify the filesystem code
The Vita SDK gained support for dirent at the end of 2017. There is no
need to have our own version anymore.

DrivesPOSIXFilesystemFactory allows to specify the contents of the
pseudo-root file system node. There is no need to hardcode them in
posix-fs.cpp anymore.
2020-09-15 07:13:00 +02:00
Thanasis Antoniou
0357293897 ANDROID: Fix crash due to adding '.' folder in SearchManager 2019-12-16 22:59:10 +02:00
Bastien Bouclet
f8d551803c POSIX: Use fstat instead of fseek / ftell to retrieve file stream sizes
fstat is generally faster as is does not cause the IO buffer to be
invalidated / refilled.

Benchmark results for the startup time of the SCI engine with Gabriel
Knight 1 CD:
- Linux, glibc, spinning HDD, fseek/ftell: 140 ms
- Linux, glibc, spinning HDD, fstat: 100 ms
- 3DS, newlib, SD card, fseek/ftell: 68 s
- 3DS, newlib, SD card, fstat: 11 s
2019-11-20 20:54:23 +01:00
Thanasis Antoniou
3e9504856f ANDROID: Override UTF-8 compliant definition of vsn_printf
This sets Android as a non-standard port in configure in order to override the definition for vsn_printf

The vsn_printf implementation is taken from https://github.com/weiss/c99-snprintf
2019-11-12 20:01:43 +02:00
Bastien Bouclet
8fb57967d7 3DS: Avoid stat calls in DrivePOSIXFilesystemNode 2019-10-31 21:35:41 +01:00
Eugene Sandulenko
23211392c0 ANDROID: Use external storage enumerator for the root directory 2019-09-27 00:22:20 +02:00
Cameron Cawley
66ef50cfeb BACKENDS: Rename and simplify AbstractFSNode::create() 2019-08-06 07:17:29 +03:00
Thierry Crozat
bfa1f392f7 POSIX: Fix missing expansion of "~" to home when it has no suffix
This fixes bug #10941: Tilde in save path creates "~" folder
2019-07-14 22:11:20 +01:00
Cameron Cawley
04229fd70b
POSIX: Clean up formatting 2019-04-28 15:06:31 +01:00
Cameron Cawley
ab0fab9bf9 POSIX: Move implementation of exists, isReadable and isWritable into posix-fs.cpp 2019-04-16 00:55:43 +03:00
Cameron Cawley
6e40b64eb1 POSIX: Allow forbidden symbols required by FreeMiNT 2018-08-18 14:08:40 +02:00
rsn8887
a4fe03c0a5 PSP2: allow loading games from uma0: in addition to ux0: 2018-03-28 23:01:01 -05:00
cpasjuste
70988527c6 PSP2: Add Playstation Vita (PSP2) support 2017-03-04 15:42:19 -06:00
D G Turner
adbf18abca BACKENDS: Fix Shadowing Compiler Warning for isDirectory symbol.
This should ensure that any future cut-and-paste for new backends do not
repeat this same warning issue.
2017-01-12 08:22:40 +00:00
Eugene Sandulenko
355c4fa646 JANITORIAL: Remove more trailing spaces 2016-10-09 15:02:02 +02:00
Willem Jan Palenstijn
fb592a0dbd BACKENDS: Rename variable shadowing function 2016-08-30 21:53:21 +02:00
Bastien Bouclet
b00cb955d9 BACKENDS: Use open instead of creat to create files
creat is not defined on the PS3. Also close the file descriptor.
2016-08-30 21:19:59 +02:00
Eugene Sandulenko
cdf30e9d58 CLOUD: Fix posix backend compilation 2016-08-24 16:07:55 +06:00
Alexander Tkachev
ae8e7f39f5 CLOUD: Make download() create necessary directories
DumpFile::open() with createPath=true create would create the missing
directories from the path before opening a file. Thus, one can easily
create a file and avoid "can't open a file" error.
2016-08-24 16:07:55 +06:00
Johannes Schickel
2622cded72 POSIX: Move assureDirectoryExists to posix-fs{.h,.cpp}. 2016-02-02 09:16:40 +01:00
Johannes Schickel
d8202baadd POSIX: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Bastien Bouclet
11cfa0d357 PS3: Initial version of the PlayStation 3 backend 2011-06-22 19:51:02 +02:00
Joost Peters
265e03c975 IRIX: Fix compilation 2011-06-04 16:55:58 +02:00
Max Horn
39076ef972 BUILD: Rename UNIX #define to POSIX 2011-05-25 13:23:03 +02:00
Max Horn
6f6051a9e1 COMMON: Mark more symbols as forbidden 2011-05-23 19:12:26 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
7a0c64631d MACOSX: Try to fix compile errors triggered with certain Mac OS X SDK versions 2011-05-03 18:25:30 +02:00
Max Horn
2fa63ca015 COMMON: Forbid use of getcwd&getwd; add macro to enable unistd.h compatibility 2011-05-03 14:30:25 +02:00
Max Horn
f62fd4f25f BACKENDS: Avoid #including .cpp files
So far, the various *-fs-factory.cpp files were #including the
corresponding *-fs.cpp files. This is surprising and hence could lead to
all kinds of problems). To fix this, provide proper headers for the
*-fs.cpp files.
This also makes code reuse via subclassing possible.

Since not all ports were tested, this will likely lead to a few
easy to fix compile regressions.
2011-05-03 13:22:00 +02:00
Max Horn
59e77ed667 ALL: Mark printf and various other symbols as forbidden
Right now, a few places in the frontend code still use printf and
consorts. We mark the affected files with a FIXME for now, and
add a dedicated exception for each. To be fixed!

Also tweak FORBIDDEN_SYMBOL_REPLACEMENT to hopefully really always
enforce a compiler error
2011-05-02 16:31:31 +02:00
Max Horn
c7df3e2f7a Applied part of patch #2684986
svn-id: r39398
2009-03-14 17:07:07 +00:00
Max Horn
8f16458e9b Renamed FSNode::openForReading / openForWriting to createReadStream / createWriteStream, again to make ownership of the returned stream clear
svn-id: r36014
2009-01-23 03:41:36 +00:00
Eugene Sandulenko
696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Max Horn
c7fde102e3 Renamed FilesystemNode -> FSNode
svn-id: r34716
2008-10-02 16:58:59 +00:00
Max Horn
468b387b97 Patch #2043093 (again - new patch): OS/2 patches for posix-fs
svn-id: r34595
2008-09-17 18:26:44 +00:00
Max Horn
14ac01a11a Simplify check for a slash in the string *g*
svn-id: r34485
2008-09-11 09:25:13 +00:00
Max Horn
e994723e7c Some tweaks to help (?) OS/2
svn-id: r34368
2008-09-05 20:42:41 +00:00
Max Horn
196ce8eb98 POSIX FSNode: got rid of Double-slashes in paths for childs of the root; simplified code
svn-id: r34307
2008-09-03 14:55:19 +00:00
Max Horn
7f18aaf8ec Pushed AbstractFilesystemNode::openForReading() / openForWriting() impls out to backends
svn-id: r34304
2008-09-03 12:56:46 +00:00
Max Horn
320a5dc99f Moved StdioStream to its own files inside backends
svn-id: r34303
2008-09-03 11:49:02 +00:00
Max Horn
531bcf847c Moved FilesystemNode / FSList to namespace Common; also got rid of some 'typedef Common::String String;' name aliases
svn-id: r34302
2008-09-03 11:22:51 +00:00
Max Horn
c752e5fcfa Modified POSIX FSNode implementation to use Common::normalizePath & Common::lastPathComponent; added a TODO regarding relative paths
svn-id: r34283
2008-09-02 15:19:31 +00:00
Max Horn
cb21c25e41 FSNode code: Merged most versions of lastPathComponent() into one new AbstractFilesystemNode::lastPathComponent() method, with customizable path separator character
svn-id: r34197
2008-08-27 20:31:22 +00:00
Max Horn
5860aa45b7 Slightly modified form of patch #2043093: OS/2 patches for posix-fs
svn-id: r34193
2008-08-27 18:38:06 +00:00
Max Horn
b727ac880d Turned Windows, AmigaOS and POSIX FSFactories into plain classes; no need for them to be singletons (actually true for all other FS factories)
svn-id: r34098
2008-08-22 11:36:47 +00:00
Max Horn
74238bb53a Moved POSIXFilesystemNode class declaration to a new header file, to enable subclassing
svn-id: r34097
2008-08-22 11:19:41 +00:00
Max Horn
01f07b5e21 cleanup
svn-id: r33587
2008-08-03 18:29:37 +00:00