diff options
author | Lukas Fleischer <lfleischer@calcurse.org> | 2016-01-11 22:26:46 +0100 |
---|---|---|
committer | Lukas Fleischer <lfleischer@calcurse.org> | 2016-01-13 17:39:44 +0100 |
commit | 7f8c62bf57b85234c248316505a503602792839a (patch) | |
tree | ef8ff6e778840192ee7cfb6c06579602ed6942cb /src/utils.c | |
parent | dd85a7374675c3f91e215c2e318b2c5045a01f53 (diff) | |
download | calcurse-7f8c62bf57b85234c248316505a503602792839a.zip |
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>
Diffstat (limited to 'src/utils.c')
-rw-r--r-- | src/utils.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c index 58b1d44..528657e 100644 --- a/src/utils.c +++ b/src/utils.c @@ -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); +} |