summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/grep/10-dfa-optional.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/grep/10-dfa-optional.patch')
-rw-r--r--abs/core-testing/grep/10-dfa-optional.patch67
1 files changed, 0 insertions, 67 deletions
diff --git a/abs/core-testing/grep/10-dfa-optional.patch b/abs/core-testing/grep/10-dfa-optional.patch
deleted file mode 100644
index 784eba9..0000000
--- a/abs/core-testing/grep/10-dfa-optional.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- grep-2.5.1a/src/search.c.dfa-optional 2005-01-07 14:58:45.714869815 +0000
-+++ grep-2.5.1a/src/search.c 2005-01-07 14:58:45.725867716 +0000
-@@ -327,12 +327,34 @@
- int backref, start, len;
- struct kwsmatch kwsm;
- size_t i, ret_val;
-+ static int use_dfa;
-+ static int use_dfa_checked = 0;
- #ifdef MBS_SUPPORT
- int mb_cur_max = MB_CUR_MAX;
- mbstate_t mbs;
- memset (&mbs, '\0', sizeof (mbstate_t));
- #endif /* MBS_SUPPORT */
-
-+ if (!use_dfa_checked)
-+ {
-+ char *grep_use_dfa = getenv ("GREP_USE_DFA");
-+ if (!grep_use_dfa)
-+ {
-+#ifdef MBS_SUPPORT
-+ /* Turn off DFA when processing multibyte input. */
-+ use_dfa = (MB_CUR_MAX == 1);
-+#else
-+ use_dfa = 1;
-+#endif /* MBS_SUPPORT */
-+ }
-+ else
-+ {
-+ use_dfa = atoi (grep_use_dfa);
-+ }
-+
-+ use_dfa_checked = 1;
-+ }
-+
- buflim = buf + size;
-
- for (beg = end = buf; end < buflim; beg = end)
-@@ -400,7 +422,8 @@
- #endif /* MBS_SUPPORT */
- (kwsm.index < kwset_exact_matches))
- goto success_in_beg_and_end;
-- if (dfaexec (&dfa, beg, end - beg, &backref) == (size_t) -1)
-+ if (use_dfa &&
-+ dfaexec (&dfa, beg, end - beg, &backref) == (size_t) -1)
- continue;
- }
- else
-@@ -409,7 +432,9 @@
- #ifdef MBS_SUPPORT
- size_t bytes_left = 0;
- #endif /* MBS_SUPPORT */
-- size_t offset = dfaexec (&dfa, beg, buflim - beg, &backref);
-+ size_t offset = 0;
-+ if (use_dfa)
-+ offset = dfaexec (&dfa, beg, buflim - beg, &backref);
- if (offset == (size_t) -1)
- break;
- /* Narrow down to the line we've found. */
-@@ -451,7 +476,7 @@
- --beg;
- }
- /* Successful, no backreferences encountered! */
-- if (!backref)
-+ if (use_dfa && !backref)
- goto success_in_beg_and_end;
- }
- else