if (v2_tag) {
PARA_NOTICE_LOG("replacing id3v2 tag\n");
old_v2size = v2_tag->paddedsize;
- } else if (!v1_tag) {
- PARA_NOTICE_LOG("no id3 tags found, adding id3v2 tag\n");
+ } else {
+ PARA_NOTICE_LOG("adding id3v2 tag\n");
v2_tag = id3_tag_new();
assert(v2_tag);
}
- if (v2_tag) {
- /*
- * Turn off all options to avoid creating an extended header.
- * id321 does not understand it.
- */
- id3_tag_options(v2_tag, ~0U, 0);
- ret = replace_tags(v2_tag, tags);
- if (ret < 0)
- goto out;
- new_v2size = id3_tag_render(v2_tag, NULL);
- v2_buffer = para_malloc(new_v2size);
- id3_tag_render(v2_tag, v2_buffer);
- PARA_INFO_LOG("writing v2 tag (%lu bytes)\n", new_v2size);
- ret = write_all(fd, (char *)v2_buffer, new_v2size);
- free(v2_buffer);
- if (ret < 0)
- goto out;
- }
+ /*
+ * Turn off all options to avoid creating an extended header. id321
+ * does not understand it.
+ */
+ id3_tag_options(v2_tag, ~0U, 0);
+ ret = replace_tags(v2_tag, tags);
+ if (ret < 0)
+ goto out;
+ new_v2size = id3_tag_render(v2_tag, NULL);
+ v2_buffer = para_malloc(new_v2size);
+ id3_tag_render(v2_tag, v2_buffer);
+ PARA_INFO_LOG("writing v2 tag (%lu bytes)\n", new_v2size);
+ ret = write_all(fd, (char *)v2_buffer, new_v2size);
+ free(v2_buffer);
+ if (ret < 0)
+ goto out;
data_sz = mapsize - old_v2size;
if (v1_tag && data_sz >= 128)
data_sz -= 128;