- Oct 30, 2020
-
-
Lioncash authored
Allows our CI to catch more potential bugs. This also removes the [[nodiscard]] attribute of IOFile's Open member function. There are cases where a file may want to be opened, but have the status of it checked at a later time.
-
- Oct 21, 2020
-
-
bunnei authored
-
- Oct 17, 2020
-
-
Lioncash authored
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
-
- Aug 16, 2020
-
-
Lioncash authored
Migrates a remaining common file over to the Common namespace, making it consistent with the rest of common files. This also allows for high-traffic FS related code to alias the filesystem function namespace as namespace FS = Common::FS; for more concise typing.
-
- Aug 15, 2020
-
-
Lioncash authored
Now that clang-format makes [[nodiscard]] attributes format sensibly, we can apply them to several functions within the common library to allow the compiler to complain about any misuses of the functions.
-
- Jul 21, 2020
-
-
lat9nq authored
Adds a screenshots directory as a path managed by FileUtil.
-
- Apr 15, 2020
-
-
Lioncash authored
It's undefined behavior to pass a null pointer to std::fread and std::fwrite, even if the length passed in is zero, so we must perform the precondition checking ourselves. A common case where this can occur is when passing in the data of an empty std::vector and size, as an empty vector will typically have a null internal buffer. While we're at it, we can move the implementation out of line and add debug checks against passing in nullptr to std::fread and std::fwrite.
-
- May 23, 2019
-
-
Lioncash authored
nullptr was being returned in the error case, which, at a glance may seem perfectly OK... until you realize that std::string has the invariant that it may not be constructed from a null pointer. This means that if this error case was ever hit, then the application would most likely crash from a thrown exception in std::string's constructor. Instead, we can change the function to return an optional value, indicating if a failure occurred.
-
Lioncash authored
Makes the parameter ordering consistent, and also makes the filename parameter a std::string. A std::string would be constructed anyways with the previous code, as IOFile's only constructor with a filepath is one taking a std::string. We can also make WriteStringToFile's string parameter utilize a std::string_view for the string, making use of our previous changes to IOFile.
-
Lioncash authored
The file stream open functions have supported std::string overloads since C++11, so we don't need to use c_str() here. Same behavior, less code.
-
Lioncash authored
We don't need to force the usage of a std::string here, and can instead use a std::string_view, which allows writing out other forms of strings (e.g. C-style strings) without any unnecessary heap allocations.
-
- Feb 07, 2019
-
-
ReinUsesLisp authored
-
- Oct 02, 2018
-
-
Weiyi Wang authored
First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
-
- Sep 21, 2018
-
-
Zach Hilman authored
-
- Sep 15, 2018
-
-
fearlessTobi authored
-
- Aug 12, 2018
-
-
Zach Hilman authored
-
- Aug 09, 2018
-
-
Zach Hilman authored
-
Zach Hilman authored
-
- Aug 07, 2018
- Aug 01, 2018
-
-
Zach Hilman authored
-
Zach Hilman authored
-
- Jul 24, 2018
-
-
Zach Hilman authored
* Regression and Mode Fixes * Review Fixes * string_view correction * Add operator& for FileSys::Mode * Return std::string from SanitizePath * Farming Simulator Fix * Use != With mode operator&
-
- Jul 22, 2018
- Jul 21, 2018
-
-
Lioncash authored
Instead of using an unsigned int as a parameter and expecting a user to always pass in the correct values, we can just convert the enum into an enum class and use that type as the parameter type instead, which makes the interface more type safe. We also get rid of the bookkeeping "NUM_" element in the enum by just using an unordered map. This function is generally low-frequency in terms of calls (and I'd hope so, considering otherwise would mean we're slamming the disk with IO all the time) so I'd consider this acceptable in this case.
-
- Jul 19, 2018
-
-
Lioncash authored
This disallows modifying the internal string buffer (which shouldn't be modified anyhow).
-
Zach Hilman authored
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
-
- Jul 08, 2018
-
- Jul 06, 2018
-
-
Zach Hilman authored
* Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename
-
- Jul 03, 2018
-
-
James Rowe authored
-
- Apr 29, 2018
-
-
Lioncash authored
Without this, it's possible to get compilation failures in the (rare) scenario where a container is used to store a bunch of live IOFile instances, as they may be using std::move_if_noexcept under the hood. Given these definitely don't throw exceptions this is also not incorrect to add either.
-
Lioncash authored
Ensure that the actual types being passed in are trivially copyable. The internal call to ReadArray() and WriteArray() will always succeed, since they're passed a pointer to char* which is always trivially copyable.
-
- Apr 28, 2018
-
-
Lioncash authored
The minimum clang/GCC versions we support already support this. We can also remove is_standard_layout(), as fread and fwrite only require the type to be trivially copyable.
-
- Mar 26, 2018
-
-
N00byKing authored
-
- Jan 20, 2018
-
-
James Rowe authored
-
- Dec 22, 2016
-
-
bunnei authored
-
- Nov 24, 2016
-
-
freiro authored
-
- Nov 19, 2016