64 |
int match_len; |
int match_len; |
65 |
int old_offset, match_bits; |
int old_offset, match_bits; |
66 |
|
|
67 |
signed char *dict = &(g_mppc_dict.hist); |
uint8 *dict = g_mppc_dict.hist; |
68 |
|
|
69 |
if ((ctype & RDP_MPPC_COMPRESSED) == 0) |
if ((ctype & RDP_MPPC_COMPRESSED) == 0) |
70 |
{ |
{ |
279 |
|
|
280 |
match_bits = match_len; |
match_bits = match_len; |
281 |
match_len = |
match_len = |
282 |
walker >> 32 - match_bits & ~(-1 << match_bits) | 1 << match_bits; |
((walker >> (32 - match_bits)) & (~(-1 << match_bits))) | (1 << match_bits); |
283 |
walker <<= match_bits; |
walker <<= match_bits; |
284 |
walker_len -= match_bits; |
walker_len -= match_bits; |
285 |
} |
} |
288 |
return -1; |
return -1; |
289 |
} |
} |
290 |
/* memory areas can overlap - meaning we can't use memXXX functions */ |
/* memory areas can overlap - meaning we can't use memXXX functions */ |
291 |
k = next_offset - match_off & (RDP_MPPC_DICT_SIZE - 1); |
k = (next_offset - match_off) & (RDP_MPPC_DICT_SIZE - 1); |
292 |
do |
do |
293 |
{ |
{ |
294 |
dict[next_offset++] = dict[k++]; |
dict[next_offset++] = dict[k++]; |