X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dfa%2Freadfile.c;h=7131318e84e46c8909ba05cffbd45b89701b53b1;hb=0e56fa84bb4a5985c19a21926e86862c08d84689;hp=d28bbd2b61a8e7bf0734b638a01df5ea0c0322d8;hpb=b879b04a092d5b00cc866cf16f755e55053d2e89;p=idzebra-moved-to-github.git diff --git a/dfa/readfile.c b/dfa/readfile.c index d28bbd2..7131318 100644 --- a/dfa/readfile.c +++ b/dfa/readfile.c @@ -1,28 +1,26 @@ -/* - * Copyright (C) 1994, Index Data I/S - * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Log: readfile.c,v $ - * Revision 1.5 1995-09-04 12:33:27 adam - * Various cleanup. YAZ util used instead. - * - * Revision 1.4 1995/01/25 11:30:51 adam - * Simple error reporting when parsing regular expressions. - * Memory usage reduced. - * - * 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.9 2002-08-02 19:26:55 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 + 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 #include @@ -30,7 +28,7 @@ #include #include -#include +#include #include #include "lexer.h" @@ -88,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; @@ -106,7 +105,8 @@ 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", @@ -121,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);