Lines Matching defs:fastmap

777 /* Print the fastmap in human-readable form.  */
781 print_fastmap (char *fastmap)
788 if (fastmap[i++])
792 while (i < (1 << BYTEWIDTH) && fastmap[i])
1155 if (bufp->fastmap_accurate && bufp->fastmap)
1157 printf ("fastmap: ");
1158 print_fastmap (bufp->fastmap);
2282 The `fastmap' and `newline_anchor' fields are neither
4520 /* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in
4521 BUFP. A fastmap records which of the (1 << BYTEWIDTH) possible
4522 characters can start a string that matches the pattern. This fastmap
4526 area as BUFP->fastmap.
4528 We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in
4565 register char *fastmap = bufp->fastmap;
4593 assert (fastmap != NULL && p != NULL);
4596 bzero (fastmap, 1 << BYTEWIDTH); /* Assume nothing's valid. */
4626 /* I guess the idea here is to simply not bother with a fastmap
4628 the fastmap for the corresponding group. Setting
4629 `can_be_null' stops `re_search_2' from using the fastmap, so
4641 fastmap[truncate_wchar(p[1])] = 1;
4645 fastmap[p[1]] = 1;
4650 fastmap[p[1]] = 1;
4655 /* It is hard to distinguish fastmap from (multi byte) characters
4667 fastmap[j] = 1;
4674 fastmap[j] = 1;
4678 fastmap[j] = 1;
4685 fastmap[j] = 1;
4692 fastmap[j] = 1;
4698 int fastmap_newline = fastmap['\n'];
4702 fastmap[j] = 1;
4706 fastmap['\n'] = fastmap_newline;
4709 then the fastmap is irrelevant. Something's wrong here. */
4722 fastmap[j] = 1;
4730 fastmap[j] = 1;
4800 fastmap entries beyond `pend'. Such a pattern can match
5029 register char *fastmap = bufp->fastmap;
5081 /* Update the fastmap now if not correct already. */
5082 if (fastmap && !bufp->fastmap_accurate)
5164 /* If a fastmap is supplied, skip quickly over characters that
5168 if (fastmap && startpos < total_size && !bufp->can_be_null)
5185 && !fastmap[(unsigned char)
5189 while (range > lim && !fastmap[(unsigned char) *d++])
5200 if (!fastmap[(unsigned char) TRANSLATE (c)])
5206 if (range >= 0 && startpos == total_size && fastmap
7850 re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH);
7851 if (re_comp_buf.fastmap == NULL)
7905 `fastmap' to an allocated space for the fastmap;
7942 /* Try to allocate space for the fastmap. */
7943 preg->fastmap = (char *) malloc (1 << BYTEWIDTH);
7988 if (ret == REG_NOERROR && preg->fastmap)
7990 /* Compute the fastmap now, since regexec cannot modify the pattern
7994 /* Some error occurred while computing the fastmap, just forget
7996 free (preg->fastmap);
7997 preg->fastmap = NULL;
8139 if (preg->fastmap != NULL)
8140 free (preg->fastmap);
8141 preg->fastmap = NULL;