summaryrefslogtreecommitdiff
path: root/src/common/string_util.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-02-20audio: rewrite IAudioDeviceGravatar Liam1-0/+4
2023-10-30android: Fix resolving android URIs in native codeGravatar Charles Lombardo1-0/+12
2023-10-01gdbserver: use numeric character references for unicodeGravatar Liam1-0/+5
2023-03-18common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W.Gravatar bunnei1-7/+7
2023-02-03Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"Gravatar ameerj1-1/+1
This reverts commit 25fc5c0e1158cb8e81cbc769b24ad84032a1fbfd, reversing changes made to af20e25081f97d55b451606c87922e2b49f0d363.
2023-02-02Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ↵Gravatar liamwhite1-1/+1
ReadBuffer"
2022-12-25fsp_srv: Use ReadBufferSpanGravatar ameerj1-1/+1
2022-11-30string_util: Fix Mingw compile errorGravatar ameerj1-2/+2
Co-Authored-By: liamwhite <9658600+liamwhite@users.noreply.github.com>
2022-05-15string_util: Add U16StringFromBufferGravatar lat9nq1-0/+4
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 tagsGravatar Andrea Pappacoda1-3/+3
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
2022-03-19common: Reduce unused includesGravatar ameerj1-2/+0
2021-10-14string_util: Make use of std::string_view and add bounds checkingGravatar Morph1-4/+4
Makes use of std::string_view in StringFromFixedZeroTerminatedBuffer and add bounds checking
2021-10-14string_util: Prevent out of bounds access in u16string_view bufferGravatar Morph1-2/+2
2021-05-25common: fs: Rework the Common Filesystem interface to make use of ↵Gravatar Morph1-13/+0
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/UTF16Gravatar Morph1-14/+0
This has been fixed as of Visual Studio 2019 Version 16.2
2020-11-02common: Enable warnings as errorsGravatar Lioncash1-2/+3
Cleans up common so that we can enable warnings as errors.
2020-01-23common/logging: don't use regex for path trimmingGravatar BreadFish641-22/+0
2018-11-18am: Deglobalize software keyboard appletGravatar Zach Hilman1-2/+2
2018-11-18string_util: Implement buffer to UTF-16 string helper functionGravatar Zach Hilman1-0/+9
Needed as most all software keyboard functions use fixed-length UTF16 string buffers.
2018-11-13string_util: Remove ArrayToString()Gravatar Lioncash1-19/+0
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()Gravatar Lioncash1-37/+3
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 codecvtGravatar Weiyi Wang1-109/+6
2018-10-02string_util: remove ShiftJIS/CP1252 conversion functionGravatar Weiyi Wang1-19/+0
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::"Gravatar fearlessTobi1-21/+21
2018-07-29common/string_utils: replace boost::transform with std counterpartGravatar zhupengfei1-3/+5
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(), ↵Gravatar Lioncash1-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.
2018-07-22string_util: Use emplace_back() in SplitString() instead of push_back()Gravatar Lioncash1-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.
2018-07-22string_util: Remove unnecessary std::string instance in TabsToSpaces()Gravatar Lioncash1-7/+6
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()Gravatar Lioncash1-12/+0
Easy TODO
2018-07-12More improvements to GDBStub (#653)Gravatar Hedges1-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
2018-07-02Rename logging macro back to LOG_*Gravatar James Rowe1-4/+4
2018-06-07Common/string_util: add StringFromBuffer functionGravatar mailwl1-0/+4
convert input buffer (std::vector<u8>) to string, stripping zero chars
2018-04-29string_util: Remove StringFromFormat() and related functionsGravatar Lioncash1-70/+0
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 applicableGravatar Lioncash1-5/+5
2018-03-22Logging: Create logging macros based on fmtlibGravatar Daniel Lim Wee Soong1-0/+23
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 everythingGravatar James Rowe1-2/+2
2017-09-30Fixed type conversion ambiguityGravatar Huw Pascoe1-1/+1
2016-12-05Support mingw cross-compileGravatar Jannik Vogel1-1/+1
2016-11-13Add mingw compile supportGravatar James Rowe1-2/+3
2016-09-21Remove special rules for Windows.h and library includesGravatar Yuri Kunde Schlesner1-1/+1
2016-09-21Use negative priorities to avoid special-casing the self-includeGravatar Yuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.Gravatar Emmanuel Gil Peyrot1-3/+1
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.Gravatar Emmanuel Gil Peyrot1-116/+75
2016-03-31Fix encode problem On WindowsGravatar LFsWang1-8/+8
2015-08-02Common: Work around bug in MSVC2015 standard libraryGravatar Yuri Kunde Schlesner1-0/+14
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 WarningsGravatar zawata1-1/+1
2015-06-28Common: Fix string_util includes.Gravatar Emmanuel Gil Peyrot1-2/+7
2015-05-08Common: Add StringFromFixedZeroTerminatedBufferGravatar Yuri Kunde Schlesner1-0/+8
2015-05-07string_util: Get rid of UriDecode/UriEncodeGravatar Lioncash1-125/+0
2015-05-07Common: Remove common.hGravatar Yuri Kunde Schlesner1-1/+3