From 33d91040785d679c40a44f3127eee54d6adb2ad3 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Sun, 13 Aug 2006 12:33:34 +0000 Subject: FS#5805 NOT operator for tagnavi.config by Jochen Kemnade. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10558 a1c6a512-1295-4272-9138-f99709370657 --- apps/tagcache.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'apps/tagcache.c') 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, return numeric == clause->numeric_data; else return !strcasecmp(clause->str, str); - + case clause_is_not: + if (clause->numeric) + return numeric != clause->numeric_data; + else + return strcasecmp(clause->str, str); + case clause_gt: return numeric > clause->numeric_data; case clause_gteq: @@ -600,10 +605,16 @@ static bool check_against_clause(long numeric, const char *str, case clause_contains: return (strcasestr(str, clause->str) != NULL); + case clause_not_contains: + return (strcasestr(str, clause->str) == NULL); case clause_begins_with: return (strcasestr(str, clause->str) == str); + case clause_not_begins_with: + return (strcasestr(str, clause->str) != str); case clause_ends_with: /* Not supported yet */ return false; + case clause_not_ends_with: /* Not supported yet */ + return false; } return false; -- cgit v1.2.3