wpos = pos & (windowsize - 1)*/
| 1452 | |
| 1453 | /*wpos = pos & (windowsize - 1)*/ |
| 1454 | static void updateHashChain(Hash* hash, size_t wpos, unsigned hashval, unsigned short numzeros) |
| 1455 | { |
| 1456 | hash->val[wpos] = (int)hashval; |
| 1457 | if(hash->head[hashval] != -1) hash->chain[wpos] = hash->head[hashval]; |
| 1458 | hash->head[hashval] = wpos; |
| 1459 | |
| 1460 | hash->zeros[wpos] = numzeros; |
| 1461 | if(hash->headz[numzeros] != -1) hash->chainz[wpos] = hash->headz[numzeros]; |
| 1462 | hash->headz[numzeros] = wpos; |
| 1463 | } |
| 1464 | |
| 1465 | /* |
| 1466 | LZ77-encode the data. Return value is error code. The input are raw bytes, the output |