static int listUniqueTagsInDirectory(struct song *song, void *_data) { struct list_tags_data *data = _data; ListCommandItem *item = data->item; if (locate_song_match(song, item->criteria)) visitTag(data->client, data->set, song, item->tagType); return 0; }
static bool unique_tags_visitor_song(struct song *song, void *_data, G_GNUC_UNUSED GError **error_r) { struct list_tags_data *data = _data; ListCommandItem *item = data->item; if (locate_song_match(song, item->criteria)) visitTag(data->client, data->set, song, item->tagType); return true; }
int listUniqueTagsInDirectory(FILE * fp, Song * song, void * data) { ListCommandItem * item = data; int i; for(i = 0; i < item->numConditionals; i++) { if(!tagItemFoundAndMatches(song, item->conditionals[i].tagType, item->conditionals[i].needle)) { return 0; } } visitTag(fp, song, item->tagType); return 0; }