Add an option to filter by object hash

Implement a new --filter-hash option to filter by object identifiers.
Each object having an identifier that has the specified pattern as a
prefix is matched. Patterns starting with an exclamation mark (!) are
interpreted as negative patterns.

Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
Lukas Fleischer
2016-01-11 22:26:46 +01:00
parent dd85a73746
commit 7f8c62bf57
7 changed files with 91 additions and 8 deletions

View File

@@ -1641,3 +1641,15 @@ int starts_with_ci(const char *s, const char *p)
for (; *p && tolower(*p) == tolower(*s); s++, p++);
return (*p == '\0');
}
int hash_matches(const char *pattern, const char *hash)
{
int invert = 0;
if (pattern[0] == '!') {
invert = 1;
pattern++;
}
return (starts_with(hash, pattern) != invert);
}