X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmatchstr.c;h=3a319d33b0e3175f90deb993c59b4dce3b475d29;hb=db93359f0cbf9a1e9dc81ea05f7b8662f843ae3d;hp=4db3360138eba5887c2d814e617393c0eda8c6ee;hpb=905df6869e5ad8ab9f34590cce771fe50c444473;p=yaz-moved-to-github.git diff --git a/src/matchstr.c b/src/matchstr.c index 4db3360..3a319d3 100644 --- a/src/matchstr.c +++ b/src/matchstr.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1995-2004, Index Data. + * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: matchstr.c,v 1.3 2004-12-30 00:14:00 adam Exp $ + * $Id: matchstr.c,v 1.7 2007-01-03 08:42:15 adam Exp $ */ /** @@ -20,38 +20,32 @@ #include #include -/* - * Match strings, independently of case and occurences of '-'. - * fairly inefficient - will be replaced with an indexing scheme for - * the various subsystems if we get a bottleneck here. - */ - int yaz_matchstr(const char *s1, const char *s2) { while (*s1 && *s2) { - unsigned char c1 = *s1; - unsigned char c2 = *s2; + unsigned char c1 = *s1; + unsigned char c2 = *s2; if (c2 == '?') return 0; - if (c1 == '-') - c1 = *++s1; - if (c2 == '-') - c2 = *++s2; - if (!c1 || !c2) - break; + if (c1 == '-') + c1 = *++s1; + if (c2 == '-') + c2 = *++s2; + if (!c1 || !c2) + break; if (c2 != '.') { - if (isupper(c1)) - c1 = tolower(c1); - if (isupper(c2)) - c2 = tolower(c2); - if (c1 != c2) - break; + if (isupper(c1)) + c1 = tolower(c1); + if (isupper(c2)) + c2 = tolower(c2); + if (c1 != c2) + break; } - s1++; - s2++; + s1++; + s2++; } return *s1 || *s2; } @@ -81,3 +75,11 @@ void __assert_fail (const char *assertion, const char *file, } #endif #endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +