X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dfa%2Fgrepper.c;h=b9da08106b3160f635139568af5e7a24284dada8;hb=c5971ebf8a88865ed9a1f7c8cf9daa22544f07be;hp=48fa465717b6d6163d28a548f13f61e3b8d4ca82;hpb=6c9fcd3b5d3108702fa1ffc92dab4ab6060f9a19;p=idzebra-moved-to-github.git diff --git a/dfa/grepper.c b/dfa/grepper.c index 48fa465..b9da081 100644 --- a/dfa/grepper.c +++ b/dfa/grepper.c @@ -1,8 +1,5 @@ -/* $Id: grepper.c,v 1.12 2005-01-15 19:38:19 adam Exp $ - Copyright (C) 1995-2005 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) Index Data 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 @@ -15,19 +12,23 @@ 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. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include #include #include -#include +#include +#include #include #include "imalloc.h" @@ -45,7 +46,7 @@ typedef struct { #define INFBUF_SIZE 16384 -#define INLINE +#define INLINE static INLINE void set_bit (MatchContext *mc, MatchWord *m, int ch, int state) { @@ -81,7 +82,7 @@ static MatchContext *mk_MatchContext (struct DFA *dfa, int range) mc->n = (dfa->no_states+WORD_BITS) / WORD_BITS; mc->range = range; mc->Sc = icalloc (sizeof(*mc->Sc) * 256 * mc->n); - + for (i=0; ino_states; i++) { int j; @@ -93,7 +94,7 @@ static MatchContext *mk_MatchContext (struct DFA *dfa, int range) int ch0 = state->trans[j].ch[0]; int ch1 = state->trans[j].ch[1]; assert (ch0 >= 0 && ch1 >= 0); - + for (ch = ch0; ch <= ch1; ch++) set_bit (mc, mc->Sc, ch, i); } @@ -259,7 +260,7 @@ static int go (MatchContext *mc, struct DFA *dfa, FILE *inf) while ((ch = getc (inf)) != EOF) { MatchWord *Rj_t; - + infbuf[inf_ptr] = ch; if (ch == '\n') { @@ -335,7 +336,7 @@ static int grep_file (struct DFA *dfa, const char *fname, int range) } else inf = stdin; - + mc = mk_MatchContext (dfa, range); go (mc, dfa, inf); @@ -418,3 +419,12 @@ int main (int argc, char **argv) dfa_delete (&dfa); return 0; } +/* + * Local variables: + * c-basic-offset: 4 + * c-file-style: "Stroustrup" + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +