1
0
Fork 0
forked from len0rd/rockbox

FS#5806 with code cleanup.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10559 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Miika Pekkarinen 2006-08-13 14:53:19 +00:00
parent 33d9104078
commit e5059a7b0d

View file

@ -578,6 +578,17 @@ long tagcache_get_numeric(const struct tagcache_search *tcs, int tag)
return check_virtual_tags(tag, &idx); return check_virtual_tags(tag, &idx);
} }
inline static bool str_ends_with(const char *str1, const char *str2)
{
int str_len = strlen(str1);
int clause_len = strlen(str2);
if (clause_len > str_len)
return false;
return !strcasecmp(&str1[str_len - clause_len], str2);
}
static bool check_against_clause(long numeric, const char *str, static bool check_against_clause(long numeric, const char *str,
const struct tagcache_search_clause *clause) const struct tagcache_search_clause *clause)
{ {
@ -611,10 +622,10 @@ static bool check_against_clause(long numeric, const char *str,
return (strcasestr(str, clause->str) == str); return (strcasestr(str, clause->str) == str);
case clause_not_begins_with: case clause_not_begins_with:
return (strcasestr(str, clause->str) != str); return (strcasestr(str, clause->str) != str);
case clause_ends_with: /* Not supported yet */ case clause_ends_with:
return false; return str_ends_with(str, clause->str);
case clause_not_ends_with: /* Not supported yet */ case clause_not_ends_with:
return false; return !str_ends_with(str, clause->str);
} }
return false; return false;