aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/locate.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/locate.c b/src/locate.c
index 85fe297a5..2833a5f8b 100644
--- a/src/locate.c
+++ b/src/locate.c
@@ -130,7 +130,7 @@ locate_tag_search(const struct song *song, enum tag_type type, const char *str)
int i;
char *duplicate;
bool ret = false;
- bool visited_types[TAG_NUM_OF_ITEM_TYPES] = { false };
+ bool visited_types[TAG_NUM_OF_ITEM_TYPES];
if (type == LOCATE_TAG_FILE_TYPE || type == LOCATE_TAG_ANY_TYPE) {
char *uri, *p;
@@ -149,6 +149,8 @@ locate_tag_search(const struct song *song, enum tag_type type, const char *str)
if (!song->tag)
return false;
+ memset(visited_types, 0, sizeof(visited_types));
+
for (i = 0; i < song->tag->numOfItems && !ret; i++) {
visited_types[song->tag->items[i]->type] = true;
if (type != LOCATE_TAG_ANY_TYPE &&
@@ -189,7 +191,7 @@ static bool
locate_tag_match(const struct song *song, enum tag_type type, const char *str)
{
int i;
- bool visited_types[TAG_NUM_OF_ITEM_TYPES] = { false };
+ bool visited_types[TAG_NUM_OF_ITEM_TYPES];
if (type == LOCATE_TAG_FILE_TYPE || type == LOCATE_TAG_ANY_TYPE) {
char *uri = song_get_uri(song);
@@ -206,6 +208,8 @@ locate_tag_match(const struct song *song, enum tag_type type, const char *str)
if (!song->tag)
return false;
+ memset(visited_types, 0, sizeof(visited_types));
+
for (i = 0; i < song->tag->numOfItems; i++) {
visited_types[song->tag->items[i]->type] = true;
if (type != LOCATE_TAG_ANY_TYPE &&