static int searchInDirectory(struct song *song, void *_data) { struct search_data *data = _data; if (locate_song_search(song, data->criteria)) song_print_info(data->client, song); return 0; }
static bool search_visitor_song(struct song *song, void *_data, G_GNUC_UNUSED GError **error_r) { struct search_data *data = _data; if (locate_song_search(song, data->criteria)) song_print_info(data->client, song); return true; }
void queue_search(struct client *client, const struct queue *queue, const struct locate_item_list *criteria) { unsigned i; struct locate_item_list *new_list = locate_item_list_casefold(criteria); for (i = 0; i < queue_length(queue); i++) { const struct song *song = queue_get(queue, i); if (locate_song_search(song, new_list)) queue_print_song_info(client, queue, i); } locate_item_list_free(new_list); }