summaryrefslogtreecommitdiffstats
path: root/src/common/string_util.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-03-19common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W.bunnei1-7/+7
2023-02-03Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"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 ReadBuffer"liamwhite1-1/+1
2022-12-25fsp_srv: Use ReadBufferSpanameerj1-1/+1
2022-12-01string_util: Fix Mingw compile errorameerj1-2/+2
Co-Authored-By: liamwhite <9658600+liamwhite@users.noreply.github.com>
2022-05-16string_util: Add U16StringFromBufferlat9nq1-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 tagsAndrea Pappacoda1-3/+3
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
2022-03-19common: Reduce unused includesameerj1-2/+0
2021-10-14string_util: Make use of std::string_view and add bounds checkingMorph1-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 bufferMorph1-2/+2
2021-05-26common: fs: Rework the Common Filesystem interface to make use of std::filesystem (#6270)Morph1-13/+0
* 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/UTF16Morph1-14/+0
This has been fixed as of Visual Studio 2019 Version 16.2
2020-11-02common: Enable warnings as errorsLioncash1-2/+3
Cleans up common so that we can enable warnings as errors.
2020-01-23common/logging: don't use regex for path trimmingBreadFish641-22/+0
2018-11-18am: Deglobalize software keyboard appletZach Hilman1-2/+2
2018-11-18string_util: Implement buffer to UTF-16 string helper functionZach Hilman1-0/+9
Needed as most all software keyboard functions use fixed-length UTF16 string buffers.
2018-11-14string_util: Remove ArrayToString()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-14string_util: Remove TryParse()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 codecvtWeiyi Wang1-109/+6
2018-10-02string_util: remove ShiftJIS/CP1252 conversion functionWeiyi 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::"fearlessTobi1-21/+21
2018-07-29common/string_utils: replace boost::transform with std counterpartzhupengfei1-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(), CodeToUTF8() and UTF8ToUTF16()Lioncash1-20/+22
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()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()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-19string_util: Remove AsciiToHex()Lioncash1-12/+0
Easy TODO
2018-07-13More improvements to GDBStub (#653)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-03Rename logging macro back to LOG_*James Rowe1-4/+4
2018-06-07Common/string_util: add StringFromBuffer functionmailwl1-0/+4
convert input buffer (std::vector<u8>) to string, stripping zero chars
2018-04-30string_util: Remove StringFromFormat() and related functionsLioncash1-70/+0
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-04-27common: Move logging macros over to new fmt-capable macros where applicableLioncash1-5/+5
2018-03-22Logging: Create logging macros based on fmtlibDaniel 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-21Format: Run the new clang format on everythingJames Rowe1-2/+2
2017-09-30Fixed type conversion ambiguityHuw Pascoe1-1/+1
2016-12-05Support mingw cross-compileJannik Vogel1-1/+1
2016-11-14Add mingw compile supportJames Rowe1-2/+3
2016-09-21Remove special rules for Windows.h and library includesYuri Kunde Schlesner1-1/+1
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.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.Emmanuel Gil Peyrot1-116/+75
2016-03-31Fix encode problem On WindowsLFsWang1-8/+8
2015-08-03Common: Work around bug in MSVC2015 standard libraryYuri 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 Warningszawata1-1/+1
2015-06-28Common: Fix string_util includes.Emmanuel Gil Peyrot1-2/+7
2015-05-08Common: Add StringFromFixedZeroTerminatedBufferYuri Kunde Schlesner1-0/+8
2015-05-07string_util: Get rid of UriDecode/UriEncodeLioncash1-125/+0
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-1/+3
2015-02-12Build: Fixed some warningsSubv1-3/+3
2014-12-30Fix MSVC-related #defines and add CMakeLists commentdarkf1-3/+3
2014-12-21License changepurpasmart961-2/+2
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner1-5/+5
2014-12-10Explicitly specify LE strings to iconv, fixes paths in Steel Diverarchshift1-2/+2
2014-12-07StringUtil: Perform some minimal cleanup.Tony Wasserka1-3/+3
2014-12-03Change NULLs to nullptrs.Rohit Nirmal1-4/+4
2014-11-29Fix MinGW builddarkf1-3/+3
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot1-9/+9
2014-11-13Use std::u16string for conversion between UTF-8 and UTF-16, FS:USER functionsarchshift1-48/+110
2014-10-24Removed uses of raw c-string manipulation functions.archshift1-9/+2
2014-09-09common: Prune all redundant includesarchshift1-4/+0
2014-09-09Added string_util to common, small changes in loader.cpparchshift1-2/+6
2014-09-09loader.cpp: improved file extension checking, made Upper/LowerStr usefularchshift1-10/+6
Instead of forcibly taking the last 4 characters, it now finds the last extension separator (the period) and takes a substr of its location.
2014-09-08Common: Fix a potential infinite loop in StringUtil's ReplaceAllLioncash1-3/+8
2014-08-17Common: Move remaining C header includes over to their C++ equivalentLioncash1-3/+3
2014-04-15added helper functions for upper/lowercase stringsbunnei1-0/+16
2014-04-09fixed project includes to use new directory structurebunnei1-3/+3
2014-04-09got rid of 'src' folders in each sub-projectbunnei1-0/+0
2014-04-02convert tabs to spacesbunnei1-340/+340
2013-09-05replaced common code with dolphin commonShizZy1-0/+531