summaryrefslogtreecommitdiff
path: root/apps/tagcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tagcache.c')
-rw-r--r--apps/tagcache.c13
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;