diff options
Diffstat (limited to 'apps/tagcache.c')
-rw-r--r-- | apps/tagcache.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/apps/tagcache.c b/apps/tagcache.c index 4c324c8da3..87810da93b 100644 --- a/apps/tagcache.c +++ b/apps/tagcache.c | |||
@@ -588,7 +588,12 @@ static bool check_against_clause(long numeric, const char *str, | |||
588 | return numeric == clause->numeric_data; | 588 | return numeric == clause->numeric_data; |
589 | else | 589 | else |
590 | return !strcasecmp(clause->str, str); | 590 | return !strcasecmp(clause->str, str); |
591 | 591 | case clause_is_not: | |
592 | if (clause->numeric) | ||
593 | return numeric != clause->numeric_data; | ||
594 | else | ||
595 | return strcasecmp(clause->str, str); | ||
596 | |||
592 | case clause_gt: | 597 | case clause_gt: |
593 | return numeric > clause->numeric_data; | 598 | return numeric > clause->numeric_data; |
594 | case clause_gteq: | 599 | case clause_gteq: |
@@ -600,10 +605,16 @@ static bool check_against_clause(long numeric, const char *str, | |||
600 | 605 | ||
601 | case clause_contains: | 606 | case clause_contains: |
602 | return (strcasestr(str, clause->str) != NULL); | 607 | return (strcasestr(str, clause->str) != NULL); |
608 | case clause_not_contains: | ||
609 | return (strcasestr(str, clause->str) == NULL); | ||
603 | case clause_begins_with: | 610 | case clause_begins_with: |
604 | return (strcasestr(str, clause->str) == str); | 611 | return (strcasestr(str, clause->str) == str); |
612 | case clause_not_begins_with: | ||
613 | return (strcasestr(str, clause->str) != str); | ||
605 | case clause_ends_with: /* Not supported yet */ | 614 | case clause_ends_with: /* Not supported yet */ |
606 | return false; | 615 | return false; |
616 | case clause_not_ends_with: /* Not supported yet */ | ||
617 | return false; | ||
607 | } | 618 | } |
608 | 619 | ||
609 | return false; | 620 | return false; |