summaryrefslogtreecommitdiff
path: root/src/common (follow)
Commit message (Collapse)AuthorAgeFilesLines
* service: Add ldn servicesGravatar Lioncash2018-07-262-0/+2
| | | | Adds ldn services based off information provided by Switch Brew.
* VFS Regression and Accuracy Fixes (#776)Gravatar Zach Hilman2018-07-232-1/+13
| | | | | | | | | | | | | | | | * 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&
* string_util: Get rid of separate resize() in CPToUTF16(), UTF16ToUTF8(), ↵Gravatar Lioncash2018-07-221-20/+22
| | | | | | | | | | CodeToUTF8() and UTF8ToUTF16() There's no need to perform the resize separately here, since the constructor allows presizing the buffer. Also move the empty string check before the construction of the string to make the early out more straightforward.
* string_util: Use emplace_back() in SplitString() instead of push_back()Gravatar Lioncash2018-07-221-2/+3
| | | | | | | | | | | | | This is equivalent to doing: push_back(std::string("")); which is likely not to cause issues, assuming a decent std::string implementation with small-string optimizations implemented in its design, however it's still a little unnecessary to copy that buffer regardless. Instead, we can use emplace_back() to directly construct the empty string within the std::vector instance, eliminating any possible overhead from the copy.
* string_util: Remove unnecessary std::string instance in TabsToSpaces()Gravatar Lioncash2018-07-222-8/+7
| | | | | | We can just use the variant of std::string's replace() function that can replace an occurrence with N copies of the same character, eliminating the need to allocate a std::string containing a buffer of spaces.
* Merge pull request #768 from lioncash/string-viewGravatar bunnei2018-07-222-40/+55
|\ | | | | file_util, vfs: Use std::string_view where applicable
| * file_util, vfs: Use std::string_view where applicableGravatar Lioncash2018-07-222-40/+55
| | | | | | | | | | Avoids unnecessary construction of std::string instances where applicable.
* | Merge pull request #765 from lioncash/fileGravatar bunnei2018-07-221-24/+14
|\ \ | |/ |/| file_util: Remove goto usages from Copy()
| * file_util: Remove goto usages from Copy()Gravatar Lioncash2018-07-211-24/+14
| | | | | | | | | | | | We can just leverage std::unique_ptr to automatically close these for us in error cases instead of jumping to the end of the function to call fclose on them.
* | file_util: Use a u64 to represent number of entriesGravatar Lioncash2018-07-212-13/+13
| | | | | | | | | | This avoids a truncating cast on size. I doubt we'd ever traverse a directory this large, however we also shouldn't truncate sizes away.
* | file_util: std::move FST entries in ScanDirectoryTree()Gravatar Lioncash2018-07-211-1/+1
|/ | | | Avoids unnecessary copies when building up the FST entries.
* Merge pull request #759 from lioncash/redundantGravatar bunnei2018-07-211-2/+1
|\ | | | | file_util: Remove redundant duplicate return in GetPathWithoutTop()
| * file_util: Remove explicit type from std::min() in GetPathWithoutTop()Gravatar Lioncash2018-07-211-1/+1
| | | | | | | | | | Given both operands are the same type, there won't be an issue with overload selection that requires making this explicit.
| * file_util: Remove redundant duplicate return in GetPathWithoutTop()Gravatar Lioncash2018-07-211-1/+0
| |
* | Merge pull request #758 from lioncash/syncGravatar bunnei2018-07-212-86/+0
|\ \ | | | | | | common: Remove synchronized_wrapper.h
| * | common: Remove synchronized_wrapper.hGravatar Lioncash2018-07-212-86/+0
| |/ | | | | | | This is entirely unused in the codebase.
* / file_util: Use an enum class for GetUserPath()Gravatar Lioncash2018-07-213-50/+51
|/ | | | | | | | | | | | | 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.
* Merge pull request #743 from lioncash/viewGravatar bunnei2018-07-204-57/+56
|\ | | | | logging: Use std::string_view where applicable
| * logging/filter: Use std::string_view in ParseFilterString()Gravatar Lioncash2018-07-202-41/+40
| | | | | | | | | | | | | | | | Allows avoiding constructing std::string instances, since this only reads an arbitrary sequence of characters. We can also make ParseFilterRule() internal, since it doesn't depend on any private instance state of Filter
| * logging/backend: Add missing standard includesGravatar Lioncash2018-07-202-4/+3
| | | | | | | | | | A few inclusions were being satisfied indirectly. To prevent breakages in the future, include these directly.
| * logging/backend: Use std::string_view in RemoveBackend() and GetBackend()Gravatar Lioncash2018-07-202-12/+13
| | | | | | | | | | | | These can just use a view to a string since its only comparing against two names in both cases for matches. This avoids constructing std::string instances where they aren't necessary.
* | param_package: Take std::string by value in string-based Set() functionGravatar Lioncash2018-07-202-4/+6
| | | | | | | | | | Allows avoiding string copies by letting the strings be moved into the function calls.
* | param_package: Use std::unordered_map's insert_or_assign instead of map indexingGravatar Lioncash2018-07-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | This avoids a redundant std::string construction if a key doesn't exist in the map already. e.g. data[key] requires constructing a new default instance of the value in the map (but this is wasteful, since we're already setting something into the map over top of it).
* | param_package: Get rid of file-static std::string constructionGravatar Lioncash2018-07-201-3/+4
|/ | | | Avoids potential dynamic allocation occuring during program launch
* Merge pull request #711 from lioncash/swapGravatar bunnei2018-07-191-50/+50
|\ | | | | common/swap: Minor changes
| * common/swap: Remove unnecessary const on return value of swap()Gravatar Lioncash2018-07-191-1/+1
| |
| * common/swap: Use static_cast where applicableGravatar Lioncash2018-07-191-16/+16
| |
| * common/swap: Use using aliases where applicableGravatar Lioncash2018-07-191-33/+33
| |
* | Merge pull request #710 from lioncash/unusedGravatar bunnei2018-07-191-38/+0
|\ \ | | | | | | common/common_funcs: Remove unused rotation functions
| * | common/common_funcs: Remove unused rotation functionsGravatar Lioncash2018-07-191-38/+0
| |/ | | | | | | | | | | | | These are unused and essentially don't provide much benefit either. If we ever need rotation functions, these can be introduced in a way that they don't sit in a common_* header and require a bunch of ifdefing to simply be available
* | Merge pull request #709 from lioncash/thread-localGravatar bunnei2018-07-192-12/+8
|\ \ | | | | | | common/misc: Deduplicate code in GetLastErrorMsg()
| * | common/misc: Deduplicate code in GetLastErrorMsg()Gravatar Lioncash2018-07-192-12/+8
| |/ | | | | | | | | | | | | Android and macOS have supported thread_local for quite a while, but most importantly is that we don't even really need it. Instead of using a thread-local buffer, we can just return a non-static buffer as a std::string, avoiding the need for that quality entirely.
* | Merge pull request #705 from lioncash/string-refGravatar bunnei2018-07-192-2/+2
|\ \ | | | | | | file_util: return string by const reference for GetExeDirectory()
| * | file_util: return string by const reference for GetExeDirectory()Gravatar Lioncash2018-07-192-2/+2
| |/ | | | | | | | | This disallows modifying the internal string buffer (which shouldn't be modified anyhow).
* / string_util: Remove AsciiToHex()Gravatar Lioncash2018-07-182-15/+0
|/ | | | Easy TODO
* Merge pull request #686 from lioncash/fmtGravatar bunnei2018-07-181-1/+1
|\ | | | | externals: update fmt to version 5.1.0
| * externals: update fmt to version 5.1.0Gravatar Lioncash2018-07-181-1/+1
| | | | | | | | Previously, we were on 4.1.0, which was a major version behind.
* | Virtual Filesystem 2: Electric Boogaloo (#676)Gravatar Zach Hilman2018-07-182-57/+116
|/ | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
* telemetry: Remove unnecessary Field constructorGravatar Lioncash2018-07-181-4/+1
| | | | | We can just take the value parameter by value which allows both moving into it, and copies at the same time, depending on the calling code.
* telemetry: Make operator== and operator!= const member functions of FieldGravatar Lioncash2018-07-181-2/+2
| | | | | | | These operators don't modify internal class state, so they can be made const member functions. While we're at it, drop the unnecessary inline keywords. Member functions that are defined in the class declaration are already inline by default.
* telemetry: Default copy/move constructors and assignment operatorsGravatar Lioncash2018-07-181-14/+4
| | | | | | This provides the equivalent behavior, but without as much boilerplate. While we're at it, explicitly default the move constructor, since we have a move-assignment operator defined.
* Merge pull request #664 from jroweboy/logging-stuffGravatar bunnei2018-07-153-4/+17
|\ | | | | Minor logging improvements
| * Logging: Dump all logs in the queue on close in debug modeGravatar James Rowe2018-07-153-1/+12
| |
| * Logging: Don't lock the queue for the duration of the writeGravatar James Rowe2018-07-141-3/+5
| |
* | More improvements to GDBStub (#653)Gravatar Hedges2018-07-121-1/+1
|/ | | | | | | | | | | * More improvements to GDBStub - Debugging of threads should work correctly with source and assembly level stepping and modifying registers and memory, meaning threads and callstacks are fully clickable in VS. - List of modules is available to the client, with assumption that .nro and .nso are backed up by an .elf with symbols, while deconstructed ROMs keep N names. - Initial support for floating point registers. * Tidy up as requested in PR feedback * Tidy up as requested in PR feedback
* Merge pull request #633 from FearlessTobi/port-definesGravatar bunnei2018-07-103-7/+7
|\ | | | | Port #3579 from Citra: Clean up architecture-specific defines
| * Port #3579 from CitraGravatar fearlessTobi2018-07-073-7/+7
| |
* | Merge pull request #635 from FearlessTobi/port-crashfixGravatar bunnei2018-07-091-1/+1
|\ \ | | | | | | Port #3474 from Citra: Do not crash on unimplemented code in debug build
| * | Port #3474 from CitraGravatar fearlessTobi2018-07-071-1/+1
| |/
* / Revert "Virtual Filesystem (#597)"Gravatar bunnei2018-07-072-99/+57
|/ | | | This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.