Moved zebrautl.h to idzebra/util.h.
[idzebra-moved-to-github.git] / dfa / readfile.c
index 4fd9cc9..7682ea5 100644 (file)
@@ -1,21 +1,26 @@
-/*
- * Copyright (C) 1994, Index Data I/S 
- * All rights reserved.
- * Sebastian Hammer, Adam Dickmeiss
- *
- * $Log: readfile.c,v $
- * Revision 1.3  1995-01-24 16:00:22  adam
- * Added -ansi to CFLAGS.
- * Some changes to the dfa module.
- *
- * Revision 1.2  1994/09/26  16:30:57  adam
- * Minor changes. imalloc uses xmalloc now.
- *
- * Revision 1.1  1994/09/26  10:16:56  adam
- * First version of dfa module in alex. This version uses yacc to parse
- * regular expressions. This should be hand-made instead.
- *
- */
+/* $Id: readfile.c,v 1.11 2005-03-30 09:25:23 adam Exp $
+   Copyright (C) 1995-2005
+   Index Data ApS
+
+This file is part of the Zebra server.
+
+Zebra is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with Zebra; see the file LICENSE.zebra.  If not, write to the
+Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
+*/
+
+
 #include <stdio.h>
 #include <assert.h>
 
@@ -23,7 +28,7 @@
 #include <string.h>
 #include <ctype.h>
 
-#include <util.h>
+#include <idzebra/util.h>
 #include <dfa.h>
 #include "lexer.h"
 
@@ -81,6 +86,7 @@ static void read_defs (void)
 static void read_rules (struct DFA *dfa)
 {
     char *s;
+    const char *sc;
     int i;
     int no = 0;
 
@@ -99,11 +105,13 @@ static void read_rules (struct DFA *dfa)
             /* preprocess regular expression */
             prep (&s);                   
             /* now parse regular expression */
-            i = dfa_parse (dfa, &s);
+            sc = s;
+            i = dfa_parse (dfa, &sc);
             if (i)
             {
                 fprintf (stderr, "%s #%d: regular expression syntax error\n",
                         inf_name, line_no);
+                assert (0);
                 err_no++;
             }
             else
@@ -113,9 +121,9 @@ static void read_rules (struct DFA *dfa)
                 no++;
                 fprintf (outf, "\tcase %d:\n#line %d\n\t\t", no, line_no);
             }
-            while (*s == '\t' || *s == ' ')
-                s++;
-            fputs (s, outf);
+            while (*sc == '\t' || *sc == ' ')
+                sc++;
+            fputs (sc, outf);
         }
     }
     fputs ("\tYY_BREAK\n\t}\n}\n", outf);