@@ -132,37 +132,14 @@ tree->value = value; return tree; } -bool -of_huffman_tree_walk(id stream, bool (*bitReader)(id, uint16_t *, uint8_t), - struct of_huffman_tree **tree, uint16_t *value) -{ - struct of_huffman_tree *iter = *tree; - uint16_t bits; - - while (iter->value == 0xFFFF) { - if OF_UNLIKELY (!bitReader(stream, &bits, 1)) { - *tree = iter; - return false; - } - - if OF_UNLIKELY (iter->leaves[bits] == NULL) - @throw [OFInvalidFormatException exception]; - - iter = iter->leaves[bits]; - } - - *value = iter->value; - return true; -} - void of_huffman_tree_release(struct of_huffman_tree *tree) { for (uint_fast8_t i = 0; i < 2; i++) if OF_LIKELY (tree->leaves[i] != NULL) of_huffman_tree_release(tree->leaves[i]); free(tree); }