1818
1919#include " unescape_string.h"
2020
21- std::basic_string<unsigned int > convert_one_string_literal (
22- const std::string &src)
21+ std::basic_string<char32_t > convert_one_string_literal (const std::string &src)
2322{
2423 PRECONDITION (src.size () >= 2 );
2524
@@ -28,8 +27,8 @@ std::basic_string<unsigned int> convert_one_string_literal(
2827 PRECONDITION (src[src.size () - 1 ] == ' "' );
2928 PRECONDITION (src[2 ] == ' "' );
3029
31- std::basic_string<unsigned int > value=
32- unescape_wide_string (std::string (src, 3 , src.size ()- 4 ));
30+ std::basic_string<char32_t > value =
31+ unescape_wide_string (std::string (src, 3 , src.size () - 4 ));
3332
3433 // turn into utf-8
3534 const std::string utf8_value = utf32_native_endian_to_utf8 (value);
@@ -57,7 +56,7 @@ std::basic_string<unsigned int> convert_one_string_literal(
5756 unescape_string (std::string (src, 1 , src.size ()-2 ));
5857
5958 // pad into wide string
60- std::basic_string<unsigned int > value;
59+ std::basic_string<char32_t > value;
6160 value.resize (char_value.size ());
6261 for (std::size_t i=0 ; i<char_value.size (); i++)
6362 value[i]=char_value[i];
@@ -72,7 +71,7 @@ exprt convert_string_literal(const std::string &src)
7271 // e.g., something like "asd" "xyz".
7372 // GCC allows "asd" L"xyz"!
7473
75- std::basic_string<unsigned int > value;
74+ std::basic_string<char32_t > value;
7675
7776 char wide=0 ;
7877
@@ -101,8 +100,7 @@ exprt convert_string_literal(const std::string &src)
101100 INVARIANT (j < src.size (), " non-terminated string constant '" + src + " '" );
102101
103102 std::string tmp_src=std::string (src, i, j-i+1 );
104- std::basic_string<unsigned int > tmp_value=
105- convert_one_string_literal (tmp_src);
103+ std::basic_string<char32_t > tmp_value = convert_one_string_literal (tmp_src);
106104 value.append (tmp_value);
107105 i=j;
108106 }
0 commit comments