Samples produced by Omneon (Harmonic) store external references with
paths ending with 0s. Such movs cannot be loaded properly since every
0 is converted to '/', to keep the same parsing code for dref type 2
and type 18: this makes the external reference point to a non-existing
direactory, rather than to the actual referenced file.
Add a brief trimming loop that drops all ending 0s before trying to
parse the external reference path.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
memmove(dref->path, dref->path+volume_len, len);
dref->path[len] = 0;
}
+ // trim string of any ending zeros
+ for (j = len - 1; j >= 0; j--) {
+ if (dref->path[j] == 0)
+ len--;
+ else
+ break;
+ }
for (j = 0; j < len; j++)
if (dref->path[j] == ':' || dref->path[j] == 0)
dref->path[j] = '/';