aboutsummaryrefslogtreecommitdiff
path: root/src/common/string_util.cpp
AgeCommit message (Collapse)Author
2022-05-15string_util: Add U16StringFromBufferlat9nq
Qt's QString::toStdU16String doesn't work when compiling against the latest libstdc++, at least when using Clang. This function effectively does the same thing as the aforementioned one.
2022-04-28chore: add missing SPDX tagsAndrea Pappacoda
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
2022-03-19common: Reduce unused includesameerj
2021-10-14string_util: Make use of std::string_view and add bounds checkingMorph
Makes use of std::string_view in StringFromFixedZeroTerminatedBuffer and add bounds checking
2021-10-14string_util: Prevent out of bounds access in u16string_view bufferMorph
2021-05-25common: fs: Rework the Common Filesystem interface to make use of ↵Morph
std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
2021-02-08string_util: Remove MSVC workaround for converting between UTF8/UTF16Morph
This has been fixed as of Visual Studio 2019 Version 16.2
2020-11-02common: Enable warnings as errorsLioncash
Cleans up common so that we can enable warnings as errors.
2020-01-23common/logging: don't use regex for path trimmingBreadFish64
2018-11-18am: Deglobalize software keyboard appletZach Hilman
2018-11-18string_util: Implement buffer to UTF-16 string helper functionZach Hilman
Needed as most all software keyboard functions use fixed-length UTF16 string buffers.
2018-11-13string_util: Remove ArrayToString()Lioncash
An old function from Dolphin. This is also unused, and pretty inflexible when it comes to printing out different data types (for example, one might not want to print out an array of u8s but a different type instead. Given we use fmt, there's no need to keep this implementation of the function around.
2018-11-13string_util: Remove TryParse()Lioncash
This is an unused hold-over from Dolphin that was primarily used to parse values out of the .ini files. Given we already have libraries that do this for us, we don't need to keep this around.
2018-10-02string_util: unify UTF8<->UTF16 conversion to codecvtWeiyi Wang
2018-10-02string_util: remove ShiftJIS/CP1252 conversion functionWeiyi Wang
We always use unicode internally. Any dirty work of conversion with other codec should be handled by frontend framework (Qt). Further more, ShiftJIS/CP1252 are not special (they are not code set used by 3ds, or any guest/host dependencies we have), so there is no reason to specifically include them
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-07-29common/string_utils: replace boost::transform with std counterpartzhupengfei
Note: according to cppreference it is necessary to convert char to unsigned char when using std::tolower and std::toupper, otherwise the behaviour would be undefined.
2018-07-22string_util: Get rid of separate resize() in CPToUTF16(), UTF16ToUTF8(), ↵Lioncash
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.
2018-07-22string_util: Use emplace_back() in SplitString() instead of push_back()Lioncash
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.
2018-07-22string_util: Remove unnecessary std::string instance in TabsToSpaces()Lioncash
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.
2018-07-18string_util: Remove AsciiToHex()Lioncash
Easy TODO
2018-07-12More improvements to GDBStub (#653)Hedges
* 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
2018-07-02Rename logging macro back to LOG_*James Rowe
2018-06-07Common/string_util: add StringFromBuffer functionmailwl
convert input buffer (std::vector<u8>) to string, stripping zero chars
2018-04-29string_util: Remove StringFromFormat() and related functionsLioncash
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-04-26common: Move logging macros over to new fmt-capable macros where applicableLioncash
2018-03-22Logging: Create logging macros based on fmtlibDaniel Lim Wee Soong
Add a new set of logging macros based on fmtlib Similar but not exactly the same as https://github.com/citra-emu/citra/pull/3533 Citra currently uses a different version of fmt, which does not support FMT_VARIADIC so make_args is used instead. On the other hand, yuzu uses fmt 4.1.0 which doesn't have make_args yet so FMT_VARIADIC is used.
2018-01-20Format: Run the new clang format on everythingJames Rowe
2017-09-30Fixed type conversion ambiguityHuw Pascoe
2016-12-05Support mingw cross-compileJannik Vogel
2016-11-13Add mingw compile supportJames Rowe
2016-09-21Remove special rules for Windows.h and library includesYuri Kunde Schlesner
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-03-31Fix encode problem On WindowsLFsWang
2015-08-02Common: Work around bug in MSVC2015 standard libraryYuri Kunde Schlesner
The char16_t/char32_t implementations aren't present in the library and cause linker errors. This is a known issue that wasn't fixed in VS2015 RTM.
2015-07-19Common : Fix Conversion Warningszawata
2015-06-28Common: Fix string_util includes.Emmanuel Gil Peyrot
2015-05-08Common: Add StringFromFixedZeroTerminatedBufferYuri Kunde Schlesner
2015-05-07string_util: Get rid of UriDecode/UriEncodeLioncash
2015-05-07Common: Remove common.hYuri Kunde Schlesner
2015-02-12Build: Fixed some warningsSubv
2014-12-29Fix MSVC-related #defines and add CMakeLists commentdarkf
2014-12-29Fix merge conflictsdarkf
2014-12-20License changepurpasmart96
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner
2014-12-12Merge pull request #261 from neobrain/boostTony Wasserka
Add Boost as a submodule and add some minor cleanups using Boost.Range
2014-12-09Explicitly specify LE strings to iconv, fixes paths in Steel Diverarchshift
2014-12-07StringUtil: Perform some minimal cleanup.Tony Wasserka