-/*
- * Copyright (C) 1994, Index Data I/S
- * All rights reserved.
- * Sebastian Hammer, Adam Dickmeiss
- *
- * $Log: readfile.c,v $
- * 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 <stdio.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>
-#include <util.h>
+#include <zebrautl.h>
#include <dfa.h>
#include "lexer.h"
static void read_rules (struct DFA *dfa)
{
char *s;
+ const char *sc;
int i;
int no = 0;
/* 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",
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);