static int add_one_audio_file(const char *path, void *private_data)
{
- int ret, send_ret = 1;
+ int ret, send_ret = 1, fd;
uint8_t format_num = -1;
struct private_add_data *pad = private_data;
struct afh_info afhi, *afhi_ptr = NULL;
goto out_free;
}
/* We still want to add this file. Compute its hash. */
- ret = mmap_full_file(path, O_RDONLY, &map.data, &map.size, NULL);
+ ret = mmap_full_file(path, O_RDONLY, &map.data, &map.size, &fd);
if (ret < 0)
goto out_free;
hash_function(map.data, map.size, hash);
* there is a hash sister and FORCE was not given.
*/
if (!hs || (pad->flags & ADD_FLAG_FORCE)) {
- ret = compute_afhi(path, map.data, map.size, &afhi);
+ ret = compute_afhi(path, map.data, map.size, fd, &afhi);
if (ret < 0)
goto out_unmap;
format_num = ret;
goto out_free;
out_unmap:
+ close(fd);
munmap(map.data, map.size);
out_free:
if (ret < 0 && send_ret >= 0)