- Jun 10, 2019
-
-
Zach Hilman authored
Avoids 0 being used as title ID for all extracted NSPs.
-
- Mar 27, 2019
-
-
Zach Hilman authored
-
- Nov 02, 2018
-
-
Zach Hilman authored
Creates a single KeyManager for the entire container and then passes it into the NCA constructor, eliminating several unnecessary KeyManager reads.
-
- Oct 19, 2018
-
-
Zach Hilman authored
When writing VFS, it initally seemed useful to include a function to in-place convert container files into directories in one homogenous directory structure, but re-evaluating it now there have been plenty of chances to use it and there has always been a better way. Removing as it is unused and likely will not be used.
-
- Oct 05, 2018
-
-
Zach Hilman authored
-
- Oct 03, 2018
-
-
Lioncash authored
GetName() returns a std::string by value, not by reference, so after the std::string_view is constructed, it's not well defined to actually execute any member functions of std::string_view that attempt to access the data, as the std::string has already been destroyed. Instead, we can just use a std::string and erase the last four characters.
-
Lioncash authored
If a ticket file was ever a null pointer, we'd cause a null pointer dereference, as we were calling GetExtension() on the pointer instance.
-
Lioncash authored
submission_package: Use std::string's rfind() when looking for the extension in InitializeExeFSAndRomFS() When searching for a file extension, it's generally preferable to begin the search at the end of the string rather than the beginning, as the whole string isn't going to be walked just to check for something at the end of it.
-
Lioncash authored
If an error occurs when constructing the PartitionFilesystem instance, the constructor would be exited early, which wouldn't initialize the extracted data member, making it possible for other code to perform an uninitialized read by calling the public IsExtractedType() member function. This prevents that.
-
Lioncash authored
Like the other two bits of factored out code, this can also be put within its own function. We can also modify the code so that it accepts a const reference to a std::vector of files, this way, we can deduplicate the file retrieval. Now the constructor for NSP isn't a combination of multiple behaviors in one spot. It's nice and separate.
-
Lioncash authored
This too, is completely separate behavior from what is in the constructor, so we can move this to its own isolated function to keep everything self-contained.
-
Lioncash authored
This behavior is entirely independent of the surrounding code, so it can be put in its own function to keep the behavior separate.
-
Lioncash authored
We can use early continues here to reduce the amount of nesting.
-
- Sep 05, 2018
- Sep 04, 2018
-
-
Zach Hilman authored
Now display correct error instead of catch-all MissingProgramNCA
-
Zach Hilman authored
-
Zach Hilman authored
-
Zach Hilman authored
-