This is related to ebfa320956169e3419234b72fee51bd596867661, but when reading the hash chain entry length, not writing it. If char is signed, then before this change the length would be negative, causing problems loading the dictionary.master
for (hash = 0; hash < N_HASH_DICT; hash++) { | for (hash = 0; hash < N_HASH_DICT; hash++) { | ||||
tr->dict_hashtab[hash] = p; | tr->dict_hashtab[hash] = p; | ||||
while ((length = *p) != 0) | |||||
while ((length = *(uint8_t *)p) != 0) | |||||
p += length; | p += length; | ||||
p++; // skip over the zero which terminates the list for this hash value | p++; // skip over the zero which terminates the list for this hash value | ||||
} | } |