additional information on zebra functionalities and attribute lists added
[idzebra-moved-to-github.git] / recctrl / regxread.c
index 98dca3d..c54e12a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: regxread.c,v 1.59 2005-03-31 12:42:07 adam Exp $
+/* $Id: regxread.c,v 1.62 2006-06-13 19:45:14 adam Exp $
    Copyright (C) 1995-2005
    Index Data ApS
 
@@ -469,15 +469,20 @@ static int actionListMk (struct lexSpec *spec, const char *s,
             r = dfa_parse ((*ap)->u.pattern.dfa, &s);
             if (r || *s != '/')
             {
+                int pos = s - s0;
                 xfree (*ap);
                 *ap = NULL;
-                yaz_log (YLOG_WARN, "regular expression error '%.*s'", s-s0, s0);
+                yaz_log(YLOG_WARN, "regular expression error '%.*s'", pos, s0);
                 return -1;
             }
-           if (debug_dfa_tran)
-               printf ("pattern: %.*s\n", s-s0, s0);
-            dfa_mkstate ((*ap)->u.pattern.dfa);
-            s++;
+            else
+            {
+                int pos = s - s0;
+                if (debug_dfa_tran)
+                    printf("pattern: %.*s\n", pos, s0);
+                dfa_mkstate((*ap)->u.pattern.dfa);
+                s++;
+            }
             break;
         case REGX_BEGIN:
             yaz_log (YLOG_WARN, "cannot use BEGIN here");
@@ -1866,11 +1871,12 @@ void *grs_init(Res res, RecType recType)
 }
 
 
-void grs_config(void *clientData, Res res, const char *args)
+ZEBRA_RES grs_config(void *clientData, Res res, const char *args)
 {
     struct lexSpecs *specs = (struct lexSpecs *) clientData;
     if (strlen(args) < sizeof(specs->type))
        strcpy(specs->type, args);
+    return ZEBRA_OK;
 }
 
 data1_node *grs_read_regx (struct grs_read_info *p)
@@ -2012,3 +2018,11 @@ idzebra_filter
 #endif
     0,
 };
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+