huffman_node_t *huffman_tree_load ( const char *path )
{
htsmsg_t *m;
+ huffman_node_t *ret;
if (!(m = hts_settings_load(path))) return NULL;
- return huffman_tree_build(m);
+ ret = huffman_tree_build(m);
+ htsmsg_destroy(m);
+ return ret;
}
huffman_node_t *huffman_tree_build ( htsmsg_t *m )
node->data = strdup(data);
}
}
-
- htsmsg_destroy(m);
return root;
}
( huffman_node_t *tree, const char *data, size_t len, uint8_t mask )
{
char* ret;
- size_t nalloc = len, nused = 0;
+ size_t nalloc = len*4, nused = 0;
huffman_node_t *node = tree;
if (!len) return NULL;
}
}
mask = 0x80;
+ data++;
}
return ret;
}