{
dvr_vfs_t *dv;
- if (id == 0)
- return NULL;
if (old && old->fsid == id)
return old;
LIST_FOREACH(dv, &dvrvfs_list, link)
return dv;
}
+static dvr_vfs_t *
+dvr_vfs_find1(dvr_vfs_t *old, htsmsg_t *m)
+{
+ int64_t v;
+
+ if (!htsmsg_get_s64(m, "fsid", &v))
+ return dvr_vfs_find(old, v);
+ return NULL;
+}
+
/*
*
*/
HTSMSG_FOREACH(f, de->de_files)
if ((m = htsmsg_field_get_map(f)) != NULL) {
filename = htsmsg_get_str(m, "filename");
- vfs = dvr_vfs_find(vfs, htsmsg_get_s64_or_default(m, "fsid", 0));
+ vfs = dvr_vfs_find1(vfs, m);
if (vfs) {
size = htsmsg_get_s64_or_default(m, "size", 0);
vfs->used_size = size <= vfs->used_size ? vfs->used_size - size : 0;
lock_assert(&global_lock);
HTSMSG_FOREACH(f, de->de_files)
if ((m = htsmsg_field_get_map(f)) != NULL) {
- vfs = dvr_vfs_find(vfs, htsmsg_get_s64_or_default(m, "fsid", 0));
+ vfs = dvr_vfs_find1(vfs, m);
if (vfs) {
size = htsmsg_get_s64_or_default(m, "size", 0);
vfs->used_size = size <= vfs->used_size ? vfs->used_size - size : 0;
if (filename == NULL || fdata == NULL)
return -1;
- vfs = dvr_vfs_find(NULL, htsmsg_get_s64_or_default(fdata, "fsid", 0));
+ vfs = dvr_vfs_find1(NULL, fdata);
if (vfs) {
size = htsmsg_get_s64_or_default(fdata, "size", 0);
vfs->used_size = size <= vfs->used_size ? vfs->used_size - size : 0;