*** empty log message ***
[yaz-moved-to-github.git] / util / yaz-util.c
index 87fb1d5..40f22c8 100644 (file)
@@ -1,10 +1,29 @@
 /*
- * Copyright (c) 1995, Index Data.
+ * Copyright (c) 1995-1997, Index Data.
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: yaz-util.c,v $
- * Revision 1.1  1996-02-20 16:33:06  quinn
+ * Revision 1.7  1997-09-30 11:47:47  adam
+ * Added function 'cause checkergcc doesn't include assert handler.
+ *
+ * Revision 1.6  1997/09/04 07:54:34  adam
+ * Right hande side operand of yaz_matchstr may include a ? in
+ * which case it returns "match ok".
+ *
+ * Revision 1.5  1997/07/21 12:48:11  adam
+ * Removed windows DLL stubs.
+ *
+ * Revision 1.4  1997/05/01 15:07:55  adam
+ * Added DLL entry point routines.
+ *
+ * Revision 1.3  1996/10/29 13:36:28  adam
+ * Added header.
+ *
+ * Revision 1.2  1996/02/20 17:58:42  adam
+ * Added const to yaz_matchstr.
+ *
+ * Revision 1.1  1996/02/20  16:33:06  quinn
  * Moved matchstr to global util
  *
  * Revision 1.1  1995/11/01  11:56:08  quinn
  *
  *
  */
-
+#include <stdio.h>
+#include <assert.h>
 #include <ctype.h>
+#include <yaz-util.h>
 
 /*
  * Match strings, independently of case and occurences of '-'.
  * the various subsystems if we get a bottleneck here.
  */
 
-int yaz_matchstr(char *s1, char *s2)
+int yaz_matchstr(const char *s1, const char *s2)
 {
     while (*s1 && *s2)
     {
        char c1, c2;
 
+        if (*s2 == '?')
+            return 0;
        if (*s1 == '-')
            s1++;
        if (*s2 == '-')
@@ -46,3 +69,15 @@ int yaz_matchstr(char *s1, char *s2)
     }
     return *s1 || *s2;
 }
+
+#ifdef __GNUC__
+#ifdef __CHECKER__
+void __assert_fail (const char *assertion, const char *file, 
+                    unsigned int line, const char *function)
+{
+    fprintf (stderr, "%s in file %s line %d func %s\n",
+             assertion, file, line, function);
+    abort ();
+}
+#endif
+#endif