tag: added function tag_merge_replace()

Like tag_merge(), but can deal with NULL parameters, and frees both
tag objects.
This commit is contained in:
Max Kellermann
2010-03-17 23:12:21 +01:00
parent 96033e4b4e
commit 2e72a9b262
3 changed files with 26 additions and 21 deletions

View File

@@ -173,7 +173,6 @@ cue_tag_file( FILE* fp,
{
struct tag* cd_tag = NULL;
struct tag* track_tag = NULL;
struct tag* merge_tag = NULL;
struct Cd* cd = NULL;
if (tnum > 256)
@@ -199,26 +198,7 @@ cue_tag_file( FILE* fp,
cd_delete(cd);
}
if ((cd_tag != NULL) && (track_tag != NULL))
{
merge_tag = tag_merge(cd_tag, track_tag);
tag_free(cd_tag);
tag_free(track_tag);
return merge_tag;
}
else if (cd_tag != NULL)
{
return cd_tag;
}
else if (track_tag != NULL)
{
return track_tag;
}
else
return NULL;
return tag_merge_replace(cd_tag, track_tag);
}
struct tag*