Ulrich Drepper e40a38b383 Update.
2004-11-08  Ulrich Drepper  <drepper@redhat.com>

	* posix/regcomp.c (utf8_sb_map): Define.
	(free_dfa_content): Don't free dfa->sb_char if it's a pointer to
	utf8_sb_map.
	(init_dfa): Use utf8_sb_map instead of initializing memory when the
	encoding is UTF-8.

	* posix/regcomp.c (init_dfa): Get the codeset name outside glibc as
	well.  Check if it is spelled UTF8 as well as UTF-8, and check
	case-insensitively.  Set dfa->map_notascii manually when outside
	glibc.
	* posix/regex_internal.c (build_wcs_upper_buffer) [!_LIBC]: Enable
	optimizations based on map_notascii.
	* posix/regex_internal.h [HAVE_LANGINFO_H || HAVE_LANGINFO_CODESET
	|| _LIBC]: Include langinfo.h.

	* posix/regex_internal.h (struct re_backref_cache_entry): Add "more"
	field.
	* posix/regexec.c (check_dst_limits): Hoist computation of the source
	and destination bkref_idx out of the loop.  Pass it to
	check_dst_limits_calc_pos.
	(check_dst_limits_calc_pos_1): New function, containing the recursive
	loop of check_dst_limits_calc_pos; uses the "more" field of
	struct re_backref_cache to control the loop.
	(check_dst_limits_calc_pos): Store into "boundaries" the position
	relative to lim's start and end positions.  Do not accept eclosures,
	accept bkref_idx instead.  Call check_dst_limits_calc_pos_1 to do the
	work.
	(sift_states_bkref): Use the "more" field of struct re_backref_cache
	to control the loop.  A big "if" was turned into a continue and the
	function was reindented.
	(get_subexp): Use the "more" field of struct re_backref_cache
	to control the loop.
	(match_ctx_add_entry): Initialize the bkref_ents' "more" field.
	(search_cur_bkref_entry): Return -1 if out of bounds.

	* posix/regexec.c (empty_set): Remove.
	(sift_states_backward): Remove cur_src variable.  Move inner loop
	to build_sifted_states.
	(build_sifted_states): Extract from sift_states_backward.  Do not
	use empty_set.
	(update_cur_sifted_state): Do not use empty_set.  Special case
	dest_nodes->nelem == 0.
2004-11-08 22:49:44 +00:00
..
2004-08-30 16:56:03 +00:00
2003-12-27 23:40:06 +00:00
2003-12-27 23:40:06 +00:00
2002-08-03 07:02:10 +00:00
2004-02-23 19:54:06 +00:00
2004-10-01 15:44:06 +00:00
2002-08-12 19:50:26 +00:00
2002-08-26 23:00:40 +00:00
2003-12-30 20:01:17 +00:00
2003-10-02 22:41:11 +00:00
2003-12-22 06:52:35 +00:00
2003-01-16 19:20:36 +00:00
2003-11-12 07:56:31 +00:00
2003-11-29 06:13:09 +00:00
2003-12-22 06:52:35 +00:00
2003-11-26 03:24:15 +00:00
2003-11-19 19:37:31 +00:00
2004-01-14 01:45:37 +00:00
2004-02-11 22:49:57 +00:00
2004-10-22 06:27:54 +00:00
2004-09-02 03:38:10 +00:00
2003-11-18 19:12:03 +00:00
2004-09-14 04:41:35 +00:00
2004-03-12 17:40:52 +00:00
2004-03-09 10:36:53 +00:00
2004-03-09 10:36:53 +00:00
2004-03-10 23:14:28 +00:00
2004-03-19 00:37:59 +00:00
2004-09-17 00:56:07 +00:00
2003-10-27 01:36:12 +00:00
2004-10-27 18:23:53 +00:00
2003-12-27 23:40:06 +00:00
2003-11-26 03:24:15 +00:00
2003-11-26 03:24:15 +00:00
2003-11-13 01:04:26 +00:00
2004-11-08 22:49:44 +00:00
2004-11-08 22:49:44 +00:00
2004-11-08 22:49:44 +00:00
2004-01-30 05:22:32 +00:00
2004-03-04 23:37:01 +00:00
2004-11-08 22:49:44 +00:00
2003-11-26 03:24:15 +00:00
2003-11-13 20:04:16 +00:00
2004-03-19 00:14:42 +00:00
2004-09-12 18:05:37 +00:00
2004-09-12 18:05:37 +00:00
2003-12-04 08:04:57 +00:00
2004-04-21 18:58:31 +00:00
2004-09-02 03:38:10 +00:00
2004-10-06 18:09:57 +00:00
2004-09-30 06:42:39 +00:00
2002-09-30 07:47:16 +00:00
2003-12-04 08:04:57 +00:00
2003-11-29 06:13:09 +00:00
2003-12-23 02:29:44 +00:00
2004-03-10 05:25:48 +00:00
2004-03-10 05:25:48 +00:00
2004-09-17 08:44:34 +00:00
2004-05-03 21:40:12 +00:00
2003-09-18 02:54:32 +00:00