projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ignore oid_std.c
[yaz-moved-to-github.git]
/
src
/
matchstr.c
diff --git
a/src/matchstr.c
b/src/matchstr.c
index
95c32e0
..
3a319d3
100644
(file)
--- 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.
*
* See the file LICENSE for details.
*
- * $Id: matchstr.c,v 1.2 2004-10-15 00:19:00 adam Exp $
+ * $Id: matchstr.c,v 1.7 2007-01-03 08:42:15 adam Exp $
*/
/**
*/
/**
@@
-20,38
+20,32
@@
#include <string.h>
#include <yaz/yaz-util.h>
#include <string.h>
#include <yaz/yaz-util.h>
-/*
- * 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)
{
int yaz_matchstr(const char *s1, const char *s2)
{
while (*s1 && *s2)
{
- char c1 = *s1;
- char c2 = *s2;
+ unsigned char c1 = *s1;
+ unsigned char c2 = *s2;
if (c2 == '?')
return 0;
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 (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;
}
}
return *s1 || *s2;
}
@@
-81,3
+75,11
@@
void __assert_fail (const char *assertion, const char *file,
}
#endif
#endif
}
#endif
#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+