JosJuice
15d9fab0bb
Common: Rename UTF16ToUTF8
...
This function does *not* always convert from UTF-16. It converts
from UTF-16 on Windows and UTF-32 on other operating systems.
Also renaming UTF8ToUTF16 for consistency, even though it
technically doesn't have the same problem since it only was
implemented on Windows.
2020-07-08 14:51:35 +02:00
JosJuice
5f6598f9e9
StringUtil: Add PathToFileName function
2020-03-16 21:03:34 +01:00
magiblot
55e8601192
Fix another implicit false-to-nullptr conversion
2020-02-09 15:51:30 +01:00
Léo Lam
89b0ab2d22
StringUtil: Add IsPrintableCharacter and use it
...
Add a function that safely returns whether a character is printable
i.e. whether 0x20 <= c <= 0x7e is true.
This is done in several places in our codebase and it's easy to run
into undefined behaviour if the C version defined in <cctype>
is used instead of this one, since its behaviour is undefined
if the character is not representable as an unsigned char.
This fixes MemoryViewWidget.
2020-01-16 00:22:26 +01:00
Jordan Woyak
0e8d4cb6ac
StringUtil: Make TryParse of floats handle comma and dot decimal separators.
2020-01-04 07:19:15 -06:00
David Korth
c2dd2e8a2e
Use std::istringstream or std::ostringstream instead of std::stringstream where possible.
...
This removes std::iostream from the inheritance chain, which reduces
overhead slightly.
2019-12-29 23:45:02 -05:00
QuellaZhang
e67eb4693e
Fix implicit false-to-nullptr conversions
2019-08-15 17:49:57 +02:00
JosJuice
117a60ceb2
StringUtil: Comply with variable naming style
2019-07-23 14:49:13 +02:00
JosJuice
a2a1e04fc9
StringUtil: Use std::string_view more
2019-07-23 14:49:12 +02:00
JosJuice
c0a6fa5dcc
Work around C++20 std::filesystem changes related to u8string
2019-06-21 18:34:21 +02:00
Lioncash
5b92d5076a
Common: Use fmt where applicable
...
Begins the transition to using fmt for string formatting where
applicable. Given fmt supports formatting std::string instances out of
the box, we can remove now-unnecessary calls to .c_str() and .data().
Note that this change does not touch the actual logging subsystem aside
from converting the final StringFromFormat call in the process over to
fmt::format. Given our logging system is heavily used throughout the
entire codebase, and converting that over will be quite a large change
by itself, this will be tackled near the end of the conversion process.
2019-06-14 15:04:09 -04:00
Filip Gawin
49fe9f5db1
Use empty instead of size
2019-02-13 00:03:49 +01:00
Jordan Woyak
fae368d2ee
Fix spurious error logs for conversions of empty strings on Windows.
2018-11-22 06:50:11 +01:00
Léo Lam
83324fe77d
StringUtil: Remove ValueToString(std::string)
...
Doesn't make a lot of sense to have a function that gives the string
representation for a string.
2018-06-03 15:11:59 +02:00
Léo Lam
fc0193c4b1
Move Config ValueToString to StringUtil
...
An identical implementation is used by IniFile, so move those functions
to StringUtil. A future commit will modify IniFile to use them.
2018-06-03 14:10:52 +02:00
spycrab
40bb9974f2
Reformat all the things!
2018-04-12 21:28:39 +02:00
Miikka Juomoja
7169be242f
StringUtil: Fix possible bad free
2018-03-26 23:48:13 +02:00
34will
86a787bdf9
Modified StringUtil to change UTF16ToUTF8 to use a wstring_convert and codecvt_utf8<wchar_t> to convert a UTF16 wstring to a UTF8 string.
2018-01-11 21:49:25 +00:00
34will
a949e98d9b
Modified UTF16BEUTF8 to just convert the UTF-16 C-string into a std::u16string, and pass it into CodeToUTF8 with the 'from' parameter being "UTF-16BE", rather than manually performing the big endian to little endian encoding.
2018-01-11 19:51:19 +00:00
34will
ba111959fa
Modified StringUtil to use a u16string instead of a wstring in the non-win32 UTF16BEToUTR8 method.
2018-01-11 02:45:27 +00:00
JosJuice
2c10ba9be1
Simplify StringUtil::UTF16ToUTF8
2017-11-11 20:30:06 +01:00
JosJuice
65c1df094f
Remove unneeded check in StringUtil::UTF16ToUTF8
...
No code is relying on this unexplained null byte check, since
the only code that calls UTF16ToUTF8 on non-Windows systems
is UTF16BEToUTF8, which explicitly strips null bytes.
2017-11-11 20:30:06 +01:00
JosJuice
6902bbb696
When NAND is damaged, show title names from save files
...
The earlier code always tried to use TitleDatabase for getting
title names, but that didn't work for disc-based games, because
there was no way to get the maker ID.
2017-11-03 23:17:36 +01:00
JosJuice
5a6d90900e
Add WiiSaveBanner class
...
This class is similar to the BannerLoaderWii class that was
removed in ee694e32.
2017-11-03 23:00:43 +01:00
Pierre Bourdon
43f067c6e1
StringUtil: support TryParse(u16*)
2017-09-18 05:04:11 +02:00
Léo Lam
90f8265497
Replace StringFromInt with std::to_string
...
Updated version of #47 . Android should support to_string now that
we use a modern version of libc++ when building.
2017-07-05 13:49:33 +02:00
Léo Lam
17ef4c8046
StringUtil: Make SplitString return by value
...
Simpler usage.
2017-06-11 16:48:20 +02:00
Sepalani
f28f23af1d
StringUtil: StringPopBackIf added
2017-06-06 05:08:51 +01:00
spycrab
e66ad018f4
Convert VolumeDirectory names back to SHIFT-JIS (issue #9988 )
2017-05-01 14:08:47 +02:00
Sepalani
c170659189
StringUtil: Fix a ctype assertion
2017-04-06 15:02:21 +01:00
Augustin Cavalier
0831dad467
Initial support for Haiku.
2017-03-27 23:46:19 -04:00
Lioncash
beec40f178
IniFile: Handle s64/u64 values
2017-02-25 00:03:20 -05:00
JosJuice
bc2b9f4c3c
Translate Swedish in example strings to English
2017-02-04 22:51:01 +01:00
Sepalani
a6114bad34
Import/Export signature files as CSV
2016-12-18 00:27:10 +00:00
JosJuice
c74c317ab5
IOS HLE: More robust escaping of NAND paths
...
Prevents path traversal without needing an absolute path
function, and also improves accuracy (character sequences
like ../ appear to have no special meaning in IOS).
This removes the creation and usage of /sys/replace,
because the new escapes are too complicated to all
be representable in its format and because no other
NAND handling software seems to use /sys/replace.
2016-11-26 22:49:46 +01:00
Anthony J. Bentley
5c90738638
OpenBSD doesn't support per-thread locales.
2016-07-17 04:08:44 -06:00
Léo Lam
213373f5f9
StringUtil: Make TryParse parse floats as booleans
...
This is needed to keep compatibility with old configuration files which
didn't store booleans as booleans, but as floats/doubles.
2016-07-13 13:50:48 +02:00
Pierre Bourdon
5fcb4bb3ab
Further fixes to the formatting change. WX sucks.
2016-06-24 12:16:10 +02:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Pierre Bourdon
fe51de23f1
StringUtil: Add a HexDump function.
...
Generates a string like the following from a binary blob:
000000: 00 00 04 74 79 70 65 00 09 61 70 70 2d 73 74 61 ...type..app-sta
000010: 72 74 rt
2016-06-18 16:37:09 +02:00
mathieui
f15ffda5a7
Correct ampersands as well
2016-01-21 21:27:56 +01:00
mathieui
3e283ea9f1
More asterisks
2016-01-21 21:16:51 +01:00
mathieui
78aa398e7c
Common: asterisks go against the type name
...
not the variable name
2016-01-21 20:46:25 +01:00
Markus Wick
3ed29cce0c
Merge pull request #2733 from AdmiralCurtiss/string-from-float
...
IniFile: Fix floating point number locale issues.
2015-12-02 15:22:42 +01:00
Lioncash
cc036ca86c
Common: Remove other Common prefixed headers from Common.h
2015-09-26 18:51:58 -04:00
Tillmann Karras
5a05187b3b
Fix some warnings
...
reorder, sign-compare, pessimizing-move
2015-08-04 10:58:24 +02:00
Admiral H. Curtiss
a48f2add68
StringUtil: Always use the default C locale for StringFromFormat() instead of a system-specific one.
2015-07-11 16:30:32 +02:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Rohit Nirmal
48ec42d4a0
Core: Change NULLs to nullptrs.
2015-03-14 20:20:41 -05:00