@@ -80,11 +80,11 @@ void StringCompressor::add_expansion(SymbolDef def)
80
80
auto & chunk = m_expansion_storage.back ();
81
81
auto start_index = (uint32_t )chunk.size ();
82
82
if (def.expansion_a < 256 )
83
- chunk.push_back (def.expansion_a );
83
+ chunk.push_back (( char ) def.expansion_a );
84
84
else
85
85
chunk.append (m_symbols[def.expansion_a - 256 ].expansion );
86
86
if (def.expansion_b < 256 )
87
- chunk.push_back (def.expansion_b );
87
+ chunk.push_back (( char ) def.expansion_b );
88
88
else
89
89
chunk.append (m_symbols[def.expansion_b - 256 ].expansion );
90
90
std::string_view expansion (chunk.data () + start_index, exp_size);
@@ -115,7 +115,7 @@ void StringCompressor::rebuild_internal()
115
115
for (size_t i = m_symbols.size (); i < num_symbols; ++i) {
116
116
auto pair = m_data->get (i);
117
117
SymbolDef def;
118
- def.id = i + 256 ;
118
+ def.id = (CompressionSymbol)( i + 256 ) ;
119
119
def.expansion_a = 0xFFFF & (pair >> 16 );
120
120
def.expansion_b = 0xFFFF & pair;
121
121
auto hash = symbol_pair_hash (def.expansion_a , def.expansion_b );
@@ -167,7 +167,7 @@ CompressedString StringCompressor::compress(StringData sd, bool learn)
167
167
REALM_ASSERT_DEBUG (m_compression_map[hash].id == 0 );
168
168
REALM_ASSERT_DEBUG (m_symbols.size () == m_data->size ());
169
169
REALM_ASSERT_DEBUG (m_data->is_attached ());
170
- CompressionSymbol id = 256 + m_symbols.size ();
170
+ CompressionSymbol id = (CompressionSymbol)( 256 + m_symbols.size () );
171
171
SymbolDef def{id, from[0 ], from[1 ]};
172
172
m_compression_map[hash] = def;
173
173
add_expansion (def);
@@ -215,7 +215,7 @@ std::string StringCompressor::decompress(CompressedStringView& c_str)
215
215
ptr = c_str.data ;
216
216
while (ptr < limit) {
217
217
if (*ptr < 256 )
218
- result2.push_back (*ptr);
218
+ result2.push_back (( char ) *ptr);
219
219
else
220
220
result2.append (m_symbols[*ptr - 256 ].expansion );
221
221
ptr++;
@@ -225,7 +225,7 @@ std::string StringCompressor::decompress(CompressedStringView& c_str)
225
225
{
226
226
auto decompress = [&](CompressionSymbol symbol, auto & decompress) -> void {
227
227
if (symbol < 256 ) {
228
- result.push_back (symbol);
228
+ result.push_back (( char ) symbol);
229
229
}
230
230
else {
231
231
auto & s = m_symbols[symbol - 256 ];
0 commit comments