- filename_new = (char*)talloc_size(message, (p-filename) + 3 + sizeof(flags));
- if (unlikely (filename_new == NULL))
- return NOTMUCH_STATUS_OUT_OF_MEMORY;
+ if (! _filename_is_in_maildir (filename))
+ continue;
+
+ p = strstr(filename, ":2,");
+ if ((p && strcmp (p+3, flags) == 0) ||
+ (!p && flags[0] == '\0'))
+ {
+ continue;
+ }
+
+ if (!p)
+ p = filename + strlen(filename);
+
+ filename_new = (char*) talloc_size (message,
+ (p-filename) + 3 + sizeof (flags));
+ if (unlikely (filename_new == NULL))
+ return NOTMUCH_STATUS_OUT_OF_MEMORY;