[PATCH] libstdc++: Add missing character to __to_wstring_numeric map

Jonathan Wakely jwakely@redhat.com
Wed Dec 18 00:33:25 GMT 2024


The mapping from char to wchar_t needs to handle 'i' and 'I' but those
were absent from the table that is used for some non-ASCII encodings.

libstdc++-v3/ChangeLog:

	* include/bits/basic_string.h (__to_wstring_numeric): Add 'i'
	and 'I' to mapping.
---

Tested x86_64-linux.

 libstdc++-v3/include/bits/basic_string.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h
index 8369c24d3ae..431ca486ddb 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -4575,6 +4575,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
 	__wc['d'] = L'd';
 	__wc['e'] = L'e';
 	__wc['f'] = L'f';
+	__wc['i'] = L'i'; // for "inf"
 	__wc['n'] = L'n'; // for "nan" and "inf"
 	__wc['p'] = L'p'; // for hexfloats "0x1p1"
 	__wc['x'] = L'x';
@@ -4584,6 +4585,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
 	__wc['D'] = L'D';
 	__wc['E'] = L'E';
 	__wc['F'] = L'F';
+	__wc['I'] = L'I';
 	__wc['N'] = L'N';
 	__wc['P'] = L'P';
 	__wc['X'] = L'X';
-- 
2.47.1



More information about the Libstdc++ mailing list