tag/Id3Load: simplify end offset calculation
This commit is contained in:
parent
a224722ae2
commit
57da5c0841
@ -138,11 +138,15 @@ tag_id3_find_from_beginning(FILE *stream)
|
|||||||
static UniqueId3Tag
|
static UniqueId3Tag
|
||||||
tag_id3_find_from_end(FILE *stream)
|
tag_id3_find_from_end(FILE *stream)
|
||||||
{
|
{
|
||||||
|
off_t offset = -(off_t)ID3V1_SIZE;
|
||||||
|
|
||||||
/* Get an id3v1 tag from the end of file for later use */
|
/* Get an id3v1 tag from the end of file for later use */
|
||||||
auto v1tag = tag_id3_read(stream, -(off_t)ID3V1_SIZE, SEEK_END);
|
auto v1tag = tag_id3_read(stream, offset, SEEK_END);
|
||||||
|
if (!v1tag)
|
||||||
|
offset = 0;
|
||||||
|
|
||||||
/* Get the id3v2 tag size from the footer (located before v1tag) */
|
/* Get the id3v2 tag size from the footer (located before v1tag) */
|
||||||
int tagsize = get_id3v2_footer_size(stream, (v1tag ? -(off_t)ID3V1_SIZE : 0) - ID3_TAG_QUERYSIZE, SEEK_END);
|
int tagsize = get_id3v2_footer_size(stream, offset - ID3_TAG_QUERYSIZE, SEEK_END);
|
||||||
if (tagsize >= 0)
|
if (tagsize >= 0)
|
||||||
return v1tag;
|
return v1tag;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user