X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dfa%2Fgrepper.c;h=0ecf3f13eea920f7b94039c7eaeb63c5376b1aaf;hb=2b86700a060db9a529b7227a1d3a9175564cd931;hp=94a13add6247f3848d98060982af7a95801b4f0a;hpb=49d0ee122a9f86ec2967b577dcc297c501785edd;p=idzebra-moved-to-github.git diff --git a/dfa/grepper.c b/dfa/grepper.c index 94a13ad..0ecf3f1 100644 --- a/dfa/grepper.c +++ b/dfa/grepper.c @@ -1,8 +1,5 @@ -/* $Id: grepper.c,v 1.14 2005-04-15 10:47:47 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) 2004-2013 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,12 +12,15 @@ 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 @@ -46,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) { @@ -82,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; @@ -94,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); } @@ -260,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') { @@ -336,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); @@ -419,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 + */ +