summaryrefslogtreecommitdiff
path: root/src/fileio.cpp
AgeCommit message (Collapse)Author
2020-07-28Change: Log when rejecting a TAR archive for extractionNiels Martin Hansen
Based on report in <https://www.tt-forums.net/viewtopic.php?f=31&t=87374>
2020-06-22Fix #8230: Resolve ".." when opening files in .tar (#8231)glx22
2020-05-21Codechange: Store info about the dedicated server log file in globals with ↵Michael Lutz
automatic destruction to simplify control flow in openttd_main.
2020-02-19Fix #6399: Create parent directories if they don't already existCharles Pigott
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-07-21Codechange: Remove unused FioTarFirstDir and FioTarAddLink functionsAlberth
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-20Remove: ENABLE_NETWORK switchPatric Stout
This switch has been a pain for years. Often disabling broke compilation, as no developer compiles OpenTTD without, neither do any of our official binaries. Additionaly, it has grown so hugely in our codebase, that it clearly shows that the current solution was a poor one. 350+ instances of "#ifdef ENABLE_NETWORK" were in the code, of which only ~30 in the networking code itself. The rest were all around the code to do the right thing, from GUI to NewGRF. A more proper solution would be to stub all the functions, and make sure the rest of the code can simply assume network is available. This was also partially done, and most variables were correct if networking was disabled. Despite that, often the #ifdefs were still used. With the recent removal of DOS, there is also no platform anymore which we support where networking isn't working out-of-the-box. All in all, it is time to remove the ENABLE_NETWORK switch. No replacement is planned, but if you feel we really need this option, we welcome any Pull Request which implements this in a way that doesn't crawl through the code like this diff shows we used to.
2019-03-19Remove: DOS supportPatric Stout
In 10 years there was no active development on DOS. Although it turned out to still work, the FPS was very bad. There is little interest in the current community to look into this. Further more, we like to switch to c++11 functions for threads, which are not implemented by DJGPP, the only current compiler for DOS. Additionally, DOS is the only platform which does not support networking. It is the reason we have tons of #ifdefs to support disabling networking. By removing DOS support, we can both use c++11 functions for threads, and remove all the code related to disabling network. Sadly, this means we have to see DOS go. Of course, if you feel up for the task, simply revert this commit, and implement stub c++11 functions for threads and stub functions for networking. We are more than happy to accept such Pull Request.
2019-03-11Codechange: check if a define is set directly, instead of indirectlyPatric Stout
config.lib happens to set GLOBAL_DATA_DIR in case it is not DOS and not OS2, but this kind of deduction is annoying to maintain. It is better to just check if the define you want to use is set, and leave it to config.lib to set it or not depending on the OS.
2019-03-11Codechange: "basedir.h" is a system include, not a localPatric Stout
2019-03-05Remove: MorphOS / AmigaOS supportPatric Stout
In 10 years there is no commit to change how MorphOS works, and we have no active maintainer for it. It is unlikely it works in its current state (but not impossible). With the arrival of SDL2 (and removal of SDL), MorphOS is no longer support. There is an SDL2 port for MorphOS, but it is not maintained by upstream SDL2, and nobody can currently test it out. If anyone wants to re-add MorphOS, please do (revert this patch, fix the problems, and create a Pull Request). If you need any help doing so, let us know! It is not that we don't like MorphOS, it is that we don't have anyone fixing the problems :(
2018-12-27Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined ↵glx
macro _WIN32
2018-10-31Doc: Lots and lots of doxymentation fixesCharles Pigott
2018-06-05Codechange: Make FioCreateDirectory publicNiels Martin Hansen
2018-04-29Remove: WinCE supportPatric Stout
2017-12-27(svn r27954) -Cleanup [FS#6644]: Remove unused function (M3Henry)frosch
2017-08-13(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)frosch
2017-06-22(svn r27886) -Fix [FS#6575-ish]: Do not modify argv[0].frosch
2014-04-25(svn r26514) -Fix: rewrite link-in-tar handling so it doesn't use strncpy ↵rubidium
and it doesn't overrun its buffers anymore
2014-04-25(svn r26509) -Codechange: replace strdup with stredup (the latter ensures ↵rubidium
the return is not NULL)
2014-04-24(svn r26499) -Codechange: replace strndup with streduprubidium
2014-04-23(svn r26489) -Codechange: properly account for the end of buffers in the ↵rubidium
file io code instead of assuming MAX_PATH is okay
2014-04-23(svn r26485) -Codechange: Replace ttd_strlcpy and ttd_strlcat with strecpy ↵frosch
and strecat.
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2013-11-25(svn r26114) -Fix-ish: do our best to not get bit by getenv being unsafe as hellrubidium
2013-11-24(svn r26089) -Fix: a number of minor memory leaksrubidium
2013-11-24(svn r26087) -Fix: file descriptor leak when finding a corrupt tarrubidium
2013-11-24(svn r26082) -Fix [FS#5816] (r26077): tar files with more than one file in ↵rubidium
the root directory would not be read properly (zydeco)
2013-11-23(svn r26077) -Codechange: handle strings like strings when scanning a tar ↵rubidium
instead of merely blobs of memory
2013-11-23(svn r26076) -Codechange: upgrade some C-style named structs to C++-style ↵rubidium
named structs
2013-11-23(svn r26061) -Fix: negative result of ftell wasn't handled correctly in some ↵rubidium
cases
2013-11-23(svn r26058) -Fix: handle the return value of a number of functions betterrubidium
2013-11-16(svn r26008) -Fix (r25975): uninitialised warningrubidium
2013-11-13(svn r25975) -Feature [FS#5385]: XDG base directory supportrubidium
2013-11-13(svn r25974) -Codechange: make the _personal_dir global const, since once ↵rubidium
it's set it shouldn't be changed anyhow
2013-05-26(svn r25291) -Add: WindowDesc ability to load and store information in a ↵frosch
config file.
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2013-01-01(svn r24877) -Fix: some whitespace "errors"rubidium
2012-12-09(svn r24804) -Add: Separate subdirectory for screenshots.frosch
2012-02-25(svn r23983) -Fix [FS#5083]: tarred heightmaps wouldn't be foundrubidium
2011-12-19(svn r23612) -Add: allow importing libraries in the same way as AI does, ↵truebrain
only with GS prefix (and in game/library)
2011-12-19(svn r23605) -Add: GAME_DIR and CONTENT_TYPE_GAME, and read gamescript from ↵truebrain
that directory
2011-11-16(svn r23234) -Fix [FS#4840]: crash when after downloading contentrubidium
2011-11-15(svn r23228) -Fix (r23227): FileScanner::Scan() still did not scan all ↵frosch
required directories for basesets.
2011-11-15(svn r23227) -Fix (r23219): The FileScanner should also consider the old ↵frosch
directories.
2011-11-15(svn r23226) -Fix (r23219): If you find a file, also use it.frosch
2011-11-14(svn r23225) -Fix: create the newgrf/baseset/ai directories in the personal ↵rubidium
directory so the user has some clue where to place the different files
2011-11-14(svn r23219) -Change: different directories for basesets and newgrfs. So ↵rubidium
data to baseset or newgrf, and gm to baseset
2011-11-14(svn r23218) -Codechange: prepare code for a separate base set directoryrubidium