The documentation says that the rm command stays silent and exits
successfully if none of the given patterns matched any path of the
audio file table.
This was true until commit
b02b7155 (com_rm(): Return negative on
errors), which effectively made -f a no-op by mistake. Since then
the rm command prints an error message and fails if there is no
match.
This patch restores the documented behaviour.
ret = for_each_matching_row(&pmd);
if (ret < 0)
goto out;
- if (pmd.num_matches == 0)
- ret = -E_NO_MATCH;
- else if (flags & RM_FLAG_VERBOSE)
+ if (pmd.num_matches == 0) {
+ if (!(flags & RM_FLAG_FORCE))
+ ret = -E_NO_MATCH;
+ } else if (flags & RM_FLAG_VERBOSE)
para_printf(&aca->pbout, "removed %u file(s)\n",
pmd.num_matches);
out: