-/* $Id: dfa.c,v 1.39 2006-10-12 12:27:28 adam Exp $
- Copyright (C) 1995-2006
- Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+ Copyright (C) 1994-2010 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
parse_info->rule = 0;
parse_info->root = NULL;
+ /* initialize the anyset which by default does not include \n */
parse_info->anyset = mk_BSet (&parse_info->charset);
res_BSet (parse_info->charset, parse_info->anyset);
+ add_BSet (parse_info->charset, parse_info->anyset, '\n');
com_BSet (parse_info->charset, parse_info->anyset);
+
parse_info->use_Tnode = parse_info->max_Tnode = 0;
parse_info->start = parse_info->end = NULL;
parse_info->charMap = NULL;
return dfa;
}
+void dfa_anyset_includes_nl(struct DFA *dfa)
+{
+ add_BSet (dfa->parse_info->charset, dfa->parse_info->anyset, '\n');
+}
+
void dfa_set_cmap (struct DFA *dfa, void *vp,
const char **(*cmap)(void *vp, const char **from, int len))
{
assert (dfa->parse_info);
parse_info = dfa->parse_info;
- if (!parse_info->cmap)
- {
- res_BSet (parse_info->charset, parse_info->anyset);
- add_BSet (parse_info->charset, parse_info->anyset, '\n');
- com_BSet (parse_info->charset, parse_info->anyset);
- }
do_parse (parse_info, pattern, &top);
if (parse_info->err_code)
return parse_info->err_code;
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab