Commit Graph

88 Commits

Author SHA1 Message Date
Ulrich Drepper
46bf9de7b1 Update.
2003-11-26  Jakub Jelinek  <jakub@redhat.com>

	* posix/regexec.c (check_subexp_limits): Only check close
	subexpression limitation if one is found.  Formatting.
	(sift_states_backward, check_arrival, check_arrival_add_next_nodes):
	Formatting.
	* posix/bug-regex11.c (tests): Enable most #ifdefed out tests.
	Add new test.
2003-11-27 05:32:46 +00:00
Ulrich Drepper
97fd3a3003 Update.
2003-11-25  Ulrich Drepper  <drepper@redhat.com>

	* posix/runptests.c (main): Make errors fatal.
	* posix/PTESTS: One test in GA135 and GA136 check functionality
	which seems not guaranteed.

2003-11-25  Jakub Jelinek  <jakub@redhat.com>

	* posix/regexec.c (re_search_internal): If prune_impossible_nodes
	returned REG_NOMATCH, set match_last to -1.  Don't initialize
	pmatch[0] needlessly.  Fix comment.
	(prune_impossible_nodes): Don't segfault on NULL state_log entry.
	(set_regs): Fix comment.
	* posix/regcomp.c (parse_bracket_exp): Only set has_plural_match
	if adding both SIMPLE_BRACKET and COMPLEX_BRACKET.
	(build_charclass_op): Set has_plural_match if adding both
	SIMPLE_BRACKET and COMPLEX_BRACKET.
	* posix/bug-regex11.c (tests): Fix register values for one commented
	out test.  Add new tests.

	* posix/regex_internal.c (re_string_allocate): Make sure init_len
	is at least dfa->mb_cur_max.
	(re_string_reconstruct): If is_utf8, don't fall back into
	re_string_skip_chars just because idx points into a middle of
	valid UTF-8 character.  Instead, set the wcs bytes which correspond
	to the partial character bytes to WEOF.
	* posix/regexec.c (re_search_internal): Allocate input.bufs_len + 1
	instead of dfa->nodes_len + 1 state_log entries initially.
	* posix/bug-regex20.c (main): Uncomment backwards case insensitive
	tests.
2003-11-26 03:24:15 +00:00
Ulrich Drepper
65e6becf5b Update.
2003-11-24  Jakub Jelinek  <jakub@redhat.com>

	* posix/regex_internal.h (re_token_t): Add word_char bit.  Add
	comment.
	(re_dfa_t): Add sb_char field.
	(bitset_mask): New function.
	* posix/regcomp.c (free_dfa_content): Free sb_char.
	(init_dfa): Don't initialize word_char unnecessarily.
	Initialize sb_char.
	(duplicate_node): Don't duplicate !word_char CHARACTERs with
	NEXT_WORD_CONSTRAINT constraint or word_char CHARACTERs with
	NEXT_NOTWORD_CONSTRAINT.  Return -1 in *new_idx instead.
	(duplicate_node_closure): Handle clone_dest == -1 from
	duplicate_node.
	(peek_token): Initialize word_char bit.
	(parse_expression, parse_dup_op): Add comments.
	(parse_bracket_exp): Don't set bitmask bits for multi-byte char
	starting bytes here at the beginning.  Mask off the bits right
	before creating SIMPLE_BRACKET.
	(build_charclass_op): Likewise.
	* posix/regexec.c (group_nodes_into_DFAstates) <case OP_PERIOD>: Only
	set accept bits for single-byte characters.
	(group_nodes_into_DFAstates): Don't rely on characters 0 .. 127
	being single byte encoded and the rest multi-byte.
	* posix/bug-regex19.c (tests): Add new tests.
	(do_mb_tests): Initialize t to *test.
	(main): Fail even on do_mb_tests errors.
2003-11-24 19:30:51 +00:00
Ulrich Drepper
951d640823 Update.
* posix/regexec.c: Correct several memory allocation problems.
	Add more BE.
	* posix/regex_internal.c: Likewise.
	* posix/regcomp.c: Likewise.
2003-11-23 19:21:23 +00:00
Ulrich Drepper
fe9434bb2f Update.
2003-11-23  Ulrich Drepper  <drepper@redhat.com>

	* posix/regexec.c: Add const in a number of places.
	* posix/regex_internal.h: Make EPSILON_BIT a macro to help
	debugging.  Its value isn't important.
2003-11-23 09:46:38 +00:00
Ulrich Drepper
c13c99fa92 Update.
2003-11-20  Ulrich Drepper  <drepper@redhat.com>

	* posix/PTESTS: Fix first test in GA143.

2003-11-20  Jakub Jelinek  <jakub@redhat.com>

	* posix/regex_internal.h (re_dfastate_t): Remove trtable_search.
	Add word_trtable.
	* posix/regex_internal.c (create_newstate_common, free_state):
	Don't free trtable_search.
	* posix/regexec.c (check_matching): Remove fl_search argument.
	(transit_state_sb): Likewise.  #ifdef out as unused.
	(build_trtable): Remove fl_search argument.  Set state->word_trtable
	and state->trtable.  Build separate word and non-word tables if
	multi-byte and they differ for some character.
	(transit_state): Remove fl_search argument.  Don't update
	state->trtable here.  Handle state->word_trtable.
	#ifdef out unused call to transit_state_sb.
	(re_search_internal): Update check_matching caller.
	(group_nodes_into_DFAstates): Don't clear non-ascii chars in accepts
	bitmask for multi-byte locales.
	* posix/bug-regex19.c (tests): Enable some commented out tests, add
	2 new tests.
	* posix/tst-rxspencer.c (mb_tests): Don't test [[=b=]] for now as
	multi-byte.  Don't run identical multi-byte tests multiple times
	unnecessarily.
	(main): Check setlocale return value.
	* posix/Makefile (tst-rxspencer-ARGS): Add --utf8 argument.
	(tst-rxspencer-ENV): Remove MALLOC_TRACE, add LOCPATH.
	($(objpfx)tst-rxspencer-mem): Run another tst-rxspencer test
	here, without --utf8 argument but with MALLOC_TRACE.
2003-11-20 23:36:40 +00:00
Ulrich Drepper
ee70274a21 Update.
2003-11-19  Jakub Jelinek  <jakub@redhat.com>

	* posix/regexec.c (extend_buffers): Don't allocate
	twice as big state_log as needed.  Don't modify pstr->valid_len
	for mb_cur_max == 1 !icase !trans.

	* posix/regcomp.c (free_bin_tree): Removed.
	(create_tree): Add dfa argument.  Don't call re_malloc for
	each tree, instead allocate from str_tree_storage.
	(re_dfa_add_tree_node): New function.
	(free_dfa_content): Handle freeing if dfa->nodes == NULL
	or dfa->state_table == NULL.
	(re_compile_internal): Call free_dfa_content if init_dfa
	fails.  Call free_workarea_compile, re_string_destruct
	and free_dfa_content for most of the other failure paths.
	(init_dfa): Initialize str_tree_storage_idx.
	Don't clear any fields on allocation failure.
	(free_workarea_compile): Free str_tree_storage chunks
	instead of free_bin_tree (dfa->str_tree).
	(parse): Call re_dfa_add_tree_node instead of re_dfa_add_node
	followed by create_tree.  Add dfa argument to remaining
	create_tree calls.  Remove new_idx variable.  Remove calls
	to free_bin_tree.
	(parse_reg_exp, parse_branch, parse_expression, parse_sub_exp,
	parse_dup_op, parse_bracket_exp, build_charclass_op): Likewise.
	(duplicate_tree): Remove calls to free_bin_tree, add dfa
	argument to create_tree.
	* posix/regex_internal.h (BIN_TREE_STORAGE_SIZE): Define.
	(bin_tree_storage_t): New type.
	(re_dfa_t): Add str_tree_storage and str_tree_storage_idx
	fields.
	* posix/Makefile (tests): Add bug-regex21.
	(generated): Add bug-regex21-mem, bug-regex21.mtrace,
	tst-rxspencer-mem and tst-rxspencer.mtrace.
	(tests): Depend on $(objpfx)bug-regex21-mem
	and $(objpfx)tst-rxspencer-mem.
	(bug-regex21-ENV, tst-rxspencer-ENV): Set.
	($(objpfx)bug-regex21-mem, $(objpfx)tst-rxspencer-mem): New.
	* posix/tst-rxspencer.c (main): Add call to mtrace.
	Free line at the end.
	* posix/bug-regex21.c: New test.

	* posix/regexec.c (get_subexp): After calling get_subexp_sub
2003-11-19 19:37:31 +00:00
Ulrich Drepper
3ee363e231 Update.
2003-11-18  Ulrich Drepper  <drepper@redhat.com>

	* posix/regexec.c (get_subexp): Adter calling get_subexp_seb
	reload buf and bkref_str.  Little optimization by avoiding memcmp.

2003-11-14  David Mosberger   <davidm@hpl.hp.com>
2003-11-19 07:18:32 +00:00
Ulrich Drepper
ad7f28c29d Update.
* posix/regex_internal.h (re_token_type_t): Remove unused ALT,
	END_OF_RE_TOKEN_T and SUBEXP.  Reorder values.  Add OP_UTF8_PERIOD
	and EPSILON_BIT.
	(IS_EPSILON_NODE): Just test if EPSILON_BIT is set.
	(ACCEPT_MB_NODE): Return 1 for OP_UTF8_PERIOD as well.
	* posix/regex_internal.c (create_ci_newstate, create_cd_newstate):
	Handle OP_UTF8_PERIOD.
	(re_string_reconstruct): Set valid_len for single byte char searching
	with no translation and case sensitivity.
	* posix/regcomp.c (re_compile_fastmap_iter, calc_first): Handle
	OP_UTF8_PERIOD.
	(re_compile_internal): Don't call optimize_utf8 if preg->translate
	!= NULL.
	(optimize_utf8): Remove BACK_SLASH case.
	Transform OP_PERIOD into OP_UTF8_PERIOD if the searching can be
	optimized.
	(parse_bracket_exp): Don't create SIMPLE_BRACKET if it doesn't have
	any bits set and COMPLEX_BRACKET is used.
	* posix/regexec.c (transit_state_mb): Fix comment typo.
	(group_nodes_into_DFAstates, check_node_accept): Handle
	OP_UTF8_PERIOD.
	(check_node_accept_bytes): Likewise.  Reorder slightly so that
	re_string_char_size_at and re_string_elem_size_at are called
	only when needed.
	* posix/bug-regex20.c (BRE, ERE): Define.
	(tests): Use them to make lines shorter.  Expect . to be
	optimized.  Add lots of new tests.
	(main): Run (ATM just case sensitive) test with backwards searching
	as well.

2003-11-18  Jakub Jelinek  <jakub@redhat.com>
2003-11-18 23:40:59 +00:00
Ulrich Drepper
5f93cd52f6 Update.
2003-11-17  Jakub Jelinek  <jakub@redhat.com>

	* posix/regcomp.c (optimize_utf8): Optimize multi-byte chars as
	well.
	* posix/bug-regex20.c (tests): Add new tests.  Multi-byte char
	followed by dup operator is expected to be optimized.

	* posix/regexec.c (check_node_accept_bytes): Move nrules and j
	variables to the block where they are only used, initialize
	nrules only immediately before using it.

2003-11-15  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/fpu/s_scalbnl.S: New file.
	* sysdeps/x86_64/fpu/s_truncl.S: New file.
	* sysdeps/x86_64/fpu/s_nearbyintl.S: New file.
	* sysdeps/x86_64/fpu/s_floorl.S: New file.
	* sysdeps/x86_64/fpu/s_ilogbl.S: New file.
	* sysdeps/x86_64/fpu/e_remainderl.S: New file.

	* math/libm-test.inc (floor_test): Test also ±0.25.
	(ceil_test): Test -0.25.
2003-11-18 07:25:02 +00:00
Ulrich Drepper
f0c7c524bb Update.
* posix/regex_internal.h: Add forward declaration of re_dfa_t.
	Replace last two parameters of re_string_allocate and
	re_string_construct with pointer to DFA.
	(re_dfa_t): Add map_notascii field.
	* posix/regcomp.c (re_compile_internal): Add call of
	re_string_construct.
	(init_dfa): Initialize mpa_notascii.
	* posix/regex_internal.c: Adjust definitions of re_string_allocate
	and re_string_construct.
	Pass DFA to re_string_construct.  Adjust definition.  Initialize
	map_notascii field.
	(build_wcs_upper_buffer): If map_notascii is zero use simplfied
	method to map ASCII values to upper case.
	* posix/regex.c: Include localeinfo.h.
	* posix/regexec.c: Adjust call of re_string_allocate.

	* locale/langinfo.h: Add _NL_CTYPE_MAP_TO_NONASCII.
	* locale/localeinfo.h (LIMAGIC): Change value.
	* locale/categories.def. Add entry for _NL_CTYPE_MAP_TO_NONASCII.
	* locale/C-ctype.h: Likewise.
	* locale/programs/ld-ctype.c: Compute whether any mapping maps from
	ASCII to non-ASCII value.  Write out that value.
2003-11-16 07:14:28 +00:00
Ulrich Drepper
3c0fb5745f Update.
2003-11-12  Jakub Jelinek  <jakub@redhat.com>

	* io/ftw.c (NFTW_NEW_NAME, NFTW_OLD_NAME): Add prototypes.

2003-11-12  Jakub Jelinek  <jakub@redhat.com>

	* posix/tst-regex.c (umemlen): New variable.
	(test_expr): Add expectedicase argument.  Test case insensitive
	searches as well as backwards searches (case sensitive and
	insensitive) too.
	(run_test): Add icase argument.  Use it to compute regcomp flags.
	(run_test_backwards): New function.
	(main): Cast read to size_t to avoid warning.  Set umemlen.
	Add expectedicase arguments to test_expr.
	* posix/regex_internal.c (re_string_reconstruct): If is_utf8,
	find previous character by walking back instead of converting
	all chars from beginning.

2003-11-12  Jakub Jelinek  <jakub@redhat.com>

	* posix/regex_internal.h (struct re_string_t): Add is_utf8
	and mb_cur_max fields.
	(struct re_dfa_t): Likewise.  Reorder fields to make structure
	smaller on 64-bit arches.
	(re_string_allocate, re_string_construct): Add mb_cur_max and
	is_utf8 arguments.
	(re_string_char_size_at, re_string_wchar_at): Use pstr->mb_cur_max
	instead of MB_CUR_MAX.
	* posix/regcomp.c (re_compile_fastmap_iter): Use dfa->mb_cur_max
	instead of MB_CUR_MAX.
	(re_compile_internal): Pass new arguments to re_string_construct.
	(init_dfa): Initialize mb_cur_max and is_utf8 fields.
	(peek_token, peek_token_bracket): Use input->mb_cur_max instead
	of MB_CUR_MAX.
	(parse_expression, parse_bracket_exp, parse_charclass_op): Use
	dfa->mb_cur_max instead of MB_CUR_MAX.
	* posix/regex_internal.c (re_string_construct_common): Add
	mb_cur_max and is_utf8 arguments.  Initialize fields with them.
	(re_string_allocate, re_string_construct): Add mb_cur_max and
	is_utf8 arguments, pass them to re_string_construct_common.
	Use mb_cur_max instead of MB_CUR_MAX.
	(re_string_realloc_buffers): Use pstr->mb_cur_max instead of
	MB_CUR_MAX.
	(re_string_reconstruct): Likewise.
	(re_string_context_at): Use input->mb_cur_max instead of
	MB_CUR_MAX.
	(create_ci_newstate, create_cd_newstate): Use dfa->mb_cur_max
	instead of MB_CUR_MAX.
	* posix/regexec.c (re_search_internal): Likewise.
	Pass new arguments to re_string_allocate.
	(check_matching, transit_state_sb): Use dfa->mb_cur_max instead of
	MB_CUR_MAX.
	(extend_buffers): Use pstr->mb_cur_max instead of MB_CUR_MAX.

2003-11-12  Jakub Jelinek  <jakub@redhat.com>

	* posix/Makefile (tests): Add bug-regex19.
	(bug-regex19-ENV): Add LOCPATH.
	* posix/bug-regex19.c: New test.
2003-11-12 17:47:46 +00:00
Ulrich Drepper
d0b96fc49b Update.
* posix/bug-regex11.c: Add some more tests which fail so far.
	Disable them.  Patch by Paolo Bonzini <bonzini@gnu.org>.

2003-10-05  Paolo Bonzini  <bonzini@gnu.org>

	* posix/bug-regex11.c: Add more backreference-related test cases.
	(main): Show the failing regex in the error messages.
	* posix/regexec.c (check_dst_limits_calc_pos):
	Simplify some nested conditionals.  Replace if's with a switch
	statement.
	(check_dst_limits_calc_pos <TYPE_BKREF>): Rename parameter NODE to
	FROM_NODE, it shadows a local variable; don't recurse if FROM_NODE
	does not change in the recursive invocation, fixing an infinite loop
	in the ()\1*\1* regex.
	(sift_states_backward): Fix function comment.
	* posix/regcomp.c (calc_epsdest): Add an assertion.

2003-10-06  Ulrich Drepper  <drepper@redhat.com>
2003-10-06 23:44:15 +00:00
Ulrich Drepper
ce85933261 Upate.
2003-09-20  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regcomp.c (peek_token): Don't look back for ( or |
	to check whether to treat a caret as special.  It fails
	for the (extended) regex \(^.
	(parse, parse_reg_exp): Pass RE_CARET_ANCHORS_HERE to fetch_token.
	* posix/regex.h: Define RE_CARET_ANCHORS_HERE.

	* posix/regexec.c: Check out of bounds value before shifting.

	* posix/regex_internal.h: Define __attribute for non-gcc.
2003-09-23 05:33:43 +00:00
Ulrich Drepper
2533775393 Update.
2003-06-13  Ulrich Drepper  <drepper@redhat.com>

	Fixing gcc 3.3 warnings, part II.
	* argp/argp-help.c (hol_entry_long_iterate): Always inline.
	* elf/dl-load.c (cache_rpath): Don't inline.
	* iconvdata/cns11642l2.h: Always inline all functions.
	* iconvdata/iso-ir-165.h: Likewise.
	* locale/Makefile (aux): Add coll-lookup.
	* locale/coll-lookup.c: New file.
	* locale/coll-lookup.h (collidx_table_lookup): Do not define here.
	(collseq_table_lookup): Likewise.
	* locale/weightwc.h: Adjust collidx_table_lookup calls for name change.
	* posix/fnmatch_loop.c: Adjust collseq_table_lookup calls for name
	change.
	* posix/regcomp.c: Likewise.
	* posix/regexec.c: Likewise.
	* locale/programs/3level.h (*_get): Always inline.
	* locale/programs/locfile.h: Move definition of handle_copy to...
	* locale/programs/locfile.c: ...here.
	* locale/programs/ld-collate.c (obstack_int32_grow): Always inline.
	(obstack_int32_grow_fast): Likewise.
	(utf8_encode): Likewise.
	(find_element): Avoid aliasing problems.
	(insert_value): Likewise.
	(collate_read): Likewise.
	* nss/getent.c (print_hosts): Don't inline
	(print_networks): Likewise.
	(print_shadow): Likewise.
	(build_doc): Likewise.
	* nss/nss_files/files-parse.c [ENTDATA] (parser_stclass): Don't
	inline.
	* posix/regcomp.c (re_set_fastmap): Always inline.
	(seek_collating_symbol_entry): Likewise.
	(lookup_collation_sequence_value): Likewise.
	(build_range_exp): Likewise.
	(build_collating_symbol): Likewise.
	* posix/regexec.c (acquire_init_state_context): Don't inline.
	(clean_state_log_if_need): Likewise.
	* resolv/res_send.c (eConsIovec): Rewrite to not return struct and
	adjust all callers.
	(evConsTime): Likewise.
	(evAddTime): Likewise.
	(evSubTime): Likewise.
	(evNowTime): Likewise.
	(evTimeSpec): Removed.
	(__libc_res_nsend): Avoid aliasing problem.
	* sysdeps/unix/sysv/linux/ifreq.h: Move old_siocgifconf definition to..
	* sysdeps/unix/sysv/linux/ifreq.c: ...here.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_dl_string_hwcap):
	Always inline.
	(_dl_string_platform): Likewise.
	* wctype/wchar-lookup.h (wctype_table_lookup): Always inline.
	(wcwidth_table_lookup): Likewise.
	(wctrans_table_lookup): Likewise.

	* sysdeps/unix/sysv/linux/sys/epoll.h: Include <stdint.h>.
2003-06-13 21:05:42 +00:00
Ulrich Drepper
66b110e855 Update.
2003-06-12  H.J. Lu  <hongjiu.lu@intel.com>

	* posix/transbug.c (run_test): Return 1 for failure.
	(do_test): Compare only if run_test is successful.

2003-06-12  Simon Josefsson  <jas@extundo.com>

	* argp/argp.h [!__THROW]: Define if undefined.

	* posix/transbug.c: New file.
	* inet/Makefile (aux): Add check_pf.
	* include/ifaddrs.h: Add prototype for __check_pf.
	* sysdeps/generic/check_pf.c: New file.
	* sysdeps/unix/sysv/linux/check_pf.c: New file.
2003-06-12 18:29:52 +00:00
Ulrich Drepper
85c54a327d Update.
* argp/argp.h: Fix a typo.
	Reported by H.S.Teoh <hsteoh@quickfur.ath.cx>.

	* manual/terminal.texi: Fix cfmakeraw() definition from int to void.

2003-02-27  Pat Rankin  <rankin@pactechdata.com>

	* posix/regexec.c (proceed_next_node): Cast re_string_get_buffer to
	char *.
	(get_subexp): Likewise.

2003-03-01  GOTO Masanori  <gotom@debian.or.jp>
2003-03-01 01:14:31 +00:00
Ulrich Drepper
54e1cabce6 Update.
* inet/rcmd.c (rresvport_af): Avoid using invliad values.  Wrap
	around in search if port IPPORT_RESERVED/2 has been test.

2002-02-20  Paolo Bonzini <bonzini@gnu.org>

	* posix/regcomp.c: Remove inclusions.
	* posix/regexec.c: Likewise.
	* posix/regex_internal.c: Likewise.
	* posix/regex_internal.h: Add inclusions here.
	* posix/regex.c: Only include sys/types.h before regex.h.  Include
	regex_internal.h here.  Include regex_internal.c before regcomp.c
	and regexec.c (might expose more opportunities to the C compiler).

	* posix/regcomp.c (parse_expression): Fix construct rejected by SGI CC.

	* posix/regex_internal.h [!_LIBC] (__mempcpy): Fix typo.
	[!_LIBC] (__wcrtomb): New definition.
	[!_LIBC]: Conditionalize enabling of I18N on HAVE_WCSCOLL and
	HAVE_LOCALE_H as well.

2003-02-20  Ulrich Drepper  <drepper@redhat.com>
2003-02-21 01:52:32 +00:00
Ulrich Drepper
6291ee3c5f Update.
2002-11-27  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (parse_expression): Set the bit since the back
	reference is used in the regular expression.
	* posix/regex_internal.c (re_node_set_init_1): Make it clean in case
	of malloc failure.
	(re_node_set_init_copy): Likewise.
	* posix/regex_internal.h (state_array_t): New structure.
	(re_sub_match_last_t): Likewise.
	(re_sub_match_top_t): Likewise.
	(re_match_context_t): Add new members.
	(re_dfa_t): Likewise.
	* posix/regexec.c (re_search_internal): Invoke prune_impossible_nodes
	to check the matching is really correct, and retry if failed.
	Move the routin pruning the impossible nodes from here, ...
	(prune_impossible_nodes): To this function.
	(check_matching): Invoke check_subexp_matching_top, and replace
	redundant checking with transit_state_bkref invocation.
	(proceed_next_node): Replace strncmp with memcmp.  Reported by
	Paolo Bonzini  <bonzini@gnu.org>.
	(update_cur_sifted_state): Remove search_subexp invocation.
	(search_subexp): Remove this function.
	(check_dst_limits_calc_pos): Use search_cur_bkref_entry for
	optimization.
	(sift_states_bkref): Use search_cur_bkref_entry for optimization.
	Remove unused invocation of match_ctx_add_entry.
	(transit_state): Invoke check_subexp_matching_top.
	(check_subexp_matching_top): New function.
	(transit_state_bkref): Remove unused array.
	Merge transit_state_bkref_loop.
	(transit_state_bkref_loop): Use get_subexp instead of
	sift_states_backward.  Use search_cur_bkref_entry for optimization.
	Merge this function to transit_state_bkref.
	(get_subexp): New function.
	(get_subexp_sub): Likewise.
	(find_subexp_node): Likewise.
	(check_arrival): Likewise.
	(check_arrival_expand_ecl): Likewise.
	(check_arrival_expand_ecl_sub): Likewise.
	(expand_bkref_cache): Likewise.
	(match_ctx_init): Initialize new members.
	(match_ctx_clean): New function.
	(match_ctx_free): Release new members.
	(match_ctx_free_subtops): New function.
	(match_ctx_add_entry): Fix indent.
	(search_cur_bkref_entry): New function.
	(match_ctx_add_subtop): Likewise.
	(match_ctx_add_sublast): Likewise.
2002-11-27 23:00:16 +00:00
Ulrich Drepper
15a7d175bc Update.
2002-11-06  Ulrich Drepper  <drepper@redhat.com>

	* posix/regcomp.c: Use tabs instead of spaces.
	* posix/regexec.c: Likewise.
	* posix/regex_internal.h: Likewise.

	* posix/regcomp.c (re_compile_fastmap_iter): Use __wcrtomb not wctomb.
2002-11-06 20:36:47 +00:00
Ulrich Drepper
1b2c262835 Update.
2002-11-06  Jakub Jelinek  <jakub@redhat.com>

	* posix/regcomp.c (re_compile_pattern): Don't set regs_allocated
	here.
	(regcomp): Don't set can_be_null here.
	(re_comp): Clear whole re_comp_buf with the exception of fastmap.
	(re_compile_internal): Clear can_be_null, set regs_allocated.

	* posix/regcomp.c (re_set_fastmap): New function.
	(re_compile_fastmap_iter): Use it.  Remove redundant type ==
	COMPLEX_BRACKET check.
	* posix/regexec.c (re_search_internal): Optimize searching with
	fastmap.  Call re_string_reconstruct even if match_first is
	smaller than raw_mbs_idx.

2002-11-06  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp (free_dfa_content): Use free_state.
	* posix/regex_internal.c (re_string_realloc_buffers): Don't edit
	pointers in case that realloc failed.
	(re_node_set_merge): Likewise.
	(register_state): Likewise.
	(create_newstate_common): Invoke memory release functions in case of
	error conditions.
	(create_ci_newstate): Likewise.
	(create_cd_newstate): Likewise.
	(free_state): New function.
	* posix/regexec.c (re_search_internal): Invoke memory release
	functions in case of error conditions.
	(sift_states_backward): Likewise.
	(merge_state_array): Likewise.
	(add_epsilon_src_nodes): Likewise.
	(sub_epsilon_src_nodes): Likewise.
	(search_subexp): Likewise.
	(sift_states_bkref): Likewise.
	(transit_state_sb): Likewise.
	(transit_state_mb): Likewise.
	(transit_state_bkref_loop): Likewise.
	(group_nodes_into_DFAstates): Likewise.
	(push_fail_stack): Don't edit pointers in case that realloc failed.
	(extend_buffers): Likewise.
	(match_ctx_add_entry): Likewise.
2002-11-06 19:57:50 +00:00
Roland McGrath
05dab910b0 * manual/filesys.texi (Reading/Closing Directory): Rewrite readdir_r
description to be clearer and to say that *RESULT is set to ENTRY.

2002-10-30  Jakub Jelinek  <jakub@redhat.com>

	* posix/regexec.c (build_trtable): Alloca or malloc dests_node and
	dests_ch arrays together.  Alloca or malloc dest_states,
	dest_states_word and dest_states_nl arrays together.  Free memory on
	error exit.

2002-10-29  Daniel Jacobowitz  <drow@mvista.com>

	* crypt/crypt_util.c (__init_des_r): Initialize current_salt
	and current_saltbits.

2002-11-02  Roland McGrath  <roland@redhat.com>
2002-11-03 00:59:09 +00:00
Ulrich Drepper
5be7fe9ce9 Update.
2002-10-17  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/bug-regex11.c: Add a test case for the bug reported by
	Paolo Bonzini <bonzini@gnu.org>.
	* posix/regexec.c (sift_states_bkref): Use correct destination of
	the back reference.
2002-10-17 17:16:53 +00:00
Ulrich Drepper
485d775dd5 Update.
2002-10-11  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (re_compile_fastmap_iter): Remove the handling
	OP_CONTEXT_NODE.
	(regfree): Likewise.
	(create_initial_state): Likewise.
	(analyze): Remove the substitutions which became useless.
	(calc_first): Likewise.
	(calc_epsdest): Use edests of OP_BACK_REF in case that it has
	epsilon destination.
	(duplicate_node_closure): New function.
	(duplicate_node): Remove the handling OP_CONTEXT_NODE.
	(calc_inveclosure): Likewise.
	(calc_eclosure): Likewise.
	(calc_eclosure_iter): Invoke duplicate_node_closure instead of
	direct invocation of duplicate_node.
	(parse): Don't use comma operator in the return to avoid compiler
	warning.
	(parse_reg_exp): Likewise.
	(parse_branch): Likewise.
	(parse_expression): Likewise.
	(parse_sub_exp): Likewise.
	(parse_dup_op): Likewise.
	* posix/regex_internal.c (re_dfa_add_node): Remove the substitutions
	which became useless.
	(create_ci_newstate): Remove the handling OP_CONTEXT_NODE.
	(create_cd_newstate): Likewise.
	* posix/regex_internal.h (re_token_type_t): Remove the obsolete type.
	(re_token_t): Likewise.
	(re_dfa_t): Likewise.
	(re_node_set_remove): New macro.
	* posix/regexec.c (check_matching): Remove the handling
	OP_CONTEXT_NODE.
	(check_halt_node_context): Likewise.
	(proceed_next_node): Likewise.
	(pop_fail_stack): Fix the memory leak.
	(set_regs): Likewise.
	(free_fail_stack_return): New function.
	(sift_states_backward): Fix the memory leak.  Remove the handling
	OP_CONTEXT_NODE.
	(update_cur_sifted_state): Append some if clause to avoid redundant
	call.
	(sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a
	back reference.
	(check_dst_limits): Remove the handling OP_CONTEXT_NODE.
	(check_subexp_limits): Likewise.
	(search_subexp): Likewise.
	(sift_states_bkref): Likewise.
	(transit_state_mb): Likewise.
	(transit_state_bkref_loop): Likewise.
	(transit_state_bkref_loop): Likewise.
	(group_nodes_into_DFAstates): Likewise.
	(check_node_accept): Likewise.
	(sift_ctx_init): Add initializing.

2002-10-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h (INLINE_SYSCALL): Use
	__builtin_expect.
2002-10-12 08:34:26 +00:00
Ulrich Drepper
a877402c0f Update.
2002-10-01  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regex_internal.c (re_string_reconstruct): Reset the member
	LEN and STOP.
	* posix/regexec.c (re_search_stub): Remove incorrect condition of
	"range < 0".
	Round RANGE in case that it is too small.
2002-10-01 09:26:03 +00:00
Ulrich Drepper
a3022b820f Update.
2002-09-30  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regex_internal.h (re_match_context_t): Add a new member.
	(re_fail_stack_ent_t): New structure.
	(re_fail_stack_t): Likewise.
	* posix/regexec.c (re_search_internal): Use the new member of
	re_match_context_t.
	Use fail stack only if it has back references and there are plural
	matching candidates.
	(proceed_next_node): Use fail stack if it is indicated.
	(set_regs): Likewise.
	(push_fail_stack): New function.
	(pop_fail_stack): New function.
	(check_dst_limits): Likewise.
	(check_dst_limits_calc_pos): Likewise.
	(search_subexp): Check the limitations on the top of subexpressions.
	(sift_states_bkref): Check the limitations of the destination node.
	Reuse the array sctx->sifted_states.

2002-09-30  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/printf_fp.c: Shuffle a few lines around to help the
	compiler optimizing.  No semantical changes intended.
2002-09-30 22:01:05 +00:00
Ulrich Drepper
2285f7f37a (sift_states_bkref): Remove ret variable. Use err instead. 2002-09-30 00:54:22 +00:00
Ulrich Drepper
0742e48e18 Update.
2002-09-27  Ulrich Drepper  <drepper@redhat.com>

	* locales/zh_TW: Use shorter forms for abday and day.
	Patch by Rex Tsai <chihchun@kalug.linux.org.tw>.
2002-09-28 05:28:44 +00:00
Ulrich Drepper
c202c2c505 Update.
2002-09-10  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regexec.c (build_trtable): Fix the destination of
	newline to prevent wrong states from overwriting.
	Append break statements to optimization.

2002-09-10  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c: Wrap #include wchar.h and wctype.h in #if.
	(build_range_exp): Add castings to strlen invocations.
	(build_collating_symbol): Restore the type of characters from "char"
	to "unsigned char", and supplement castings.
	(build_collating_symbol): Likewise.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	(seek_collating_symbol_entry): Likewise.
	(parse_bracket_exp): Likewise.
	(build_word_op): Supplement a casting.
	* posix/regex_internal.c: Wrap #include wchar.h and wctype.h in #if.
	(re_string_allocate): Fix castings.
	(re_string_construct): Likewise.
	(re_string_construct_common): Likewise.
	(re_string_realloc_buffers): Likewise.
	(build_wcs_buffer): Likewise.
	(build_wcs_upper_buffer): Likewise.
	(re_string_skip_chars): Likewise.
	(re_string_reconstruct): Likewise.
	* posix/regex_internal.h: Restore the type of characters in
	re_string_t and bracket_elem_t from "char" to "unsigned char".
	(re_string_elem_size_at): Fix castings.
	* posix/regexec.c: Wrap #include wchar.h and wctype.h in #if.
	(transit_state_bkref_loop): Restore the type of characters from
	"char" to "unsigned char", and append a cast to "char*" pointer in
	array subscript.
	(check_node_accept_bytes): Likewise.
	(find_collation_sequence_value): Likewise.
2002-09-10 18:40:35 +00:00
Ulrich Drepper
92b27c7470 Update.
2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/__longjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/__longjmp.S: ...here.
	* sysdeps/powerpc/add_n.S: Moved to...
	* sysdeps/powerpc/powerpc32/add_n.S: ...here.
	* sysdeps/powerpc/addmul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/addmul_1.S: ...here.
	* sysdeps/powerpc/atomicity.h: Moved to...
	* sysdeps/powerpc/powerpc32/atomicity.h: ...here.
	* sysdeps/powerpc/backtrace.c: Moved to...
	* sysdeps/powerpc/powerpc32/backtrace.c: ...here.
	* sysdeps/powerpc/bp-asm.h: Moved to...
	* sysdeps/powerpc/powerpc32/bp-asm.h: ...here.
	* sysdeps/powerpc/bsd-_setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: ...here.
	* sysdeps/powerpc/bsd-setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/bsd-setjmp.S: ...here.
	* sysdeps/powerpc/dl-machine.c: Moved to...
	* sysdeps/powerpc/powerpc32/dl-machine.c: ...here.
	* sysdeps/powerpc/dl-machine.h: Moved to...
	* sysdeps/powerpc/powerpc32/dl-machine.h: ...here.
	* sysdeps/powerpc/dl-start.S: Moved to...
	* sysdeps/powerpc/powerpc32/dl-start.S: ...here.
	* sysdeps/powerpc/gprrest0.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprrest0.S: ...here.
	* sysdeps/powerpc/gprrest1.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprrest1.S: ...here.
	* sysdeps/powerpc/gprsave0.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprsave0.S: ...here.
	* sysdeps/powerpc/gprsave1.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprsave1.S: ...here.
	* sysdeps/powerpc/lshift.S: Moved to...
	* sysdeps/powerpc/powerpc32/lshift.S: ...here.
	* sysdeps/powerpc/memset.S: Moved to...
	* sysdeps/powerpc/powerpc32/memset.S: ...here.
	* sysdeps/powerpc/mul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/mul_1.S: ...here.
	* sysdeps/powerpc/ppc-mcount.S: Moved to...
	* sysdeps/powerpc/powerpc32/ppc-mcount.S: ...here.
	* sysdeps/powerpc/register-dump.h: Moved to...
	* sysdeps/powerpc/powerpc32/register-dump.h: ...here.
	* sysdeps/powerpc/rshift.S: Moved to...
	* sysdeps/powerpc/powerpc32/rshift.S: ...here.
	* sysdeps/powerpc/setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/setjmp.S: ...here.
	* sysdeps/powerpc/stpcpy.S: Moved to...
	* sysdeps/powerpc/powerpc32/stpcpy.S: ...here.
	* sysdeps/powerpc/strchr.S: Moved to...
	* sysdeps/powerpc/powerpc32/strchr.S: ...here.
	* sysdeps/powerpc/strcmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/strcmp.S: ...here.
	* sysdeps/powerpc/strcpy.S: Moved to...
	* sysdeps/powerpc/powerpc32/strcpy.S: ...here.
	* sysdeps/powerpc/strlen.S: Moved to...
	* sysdeps/powerpc/powerpc32/strlen.S: ...here.
	* sysdeps/powerpc/sub_n.S: Moved to...
	* sysdeps/powerpc/powerpc32/sub_n.S: ...here.
	* sysdeps/powerpc/submul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/submul_1.S: ...here.
	* sysdeps/powerpc/elf/bzero.S: Moved to...
	* sysdeps/powerpc/powerpc32/elf/bzero.S: ...here.
	* sysdeps/powerpc/elf/start.S: Moved to...
	* sysdeps/powerpc/powerpc32/elf/start.S: ...here.
	* sysdeps/powerpc/fpu/__longjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/__longjmp.S: ...here.
	* sysdeps/powerpc/fpu/fprrest.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/fprrest.S: ...here.
	* sysdeps/powerpc/fpu/fprsave.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/fprsave.S: ...here.
	* sysdeps/powerpc/fpu/setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/setjmp.S: ...here.
	* sysdeps/powerpc/fpu/s_copysign.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/s_copysign.S: ...here.
	* sysdeps/powerpc/fpu/s_copysignf.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/brk.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/clone.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/glob64.c: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: ...here.
	* sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: ...here.
	* sysdeps/unix/sysv/linux/powerpc/socket.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: ...here.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: ...here.
	Support PowerPC64.  Separate powerpc into powerpc/powerpc32 and
	powerpc/powerpc64.

2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* FAQ.in: Add powerpc64 to supported targets list. Also state the
	minimum gcc version is 3.2
	* README: Add powerpc64 to supported targets list.
	* configure.in: Change machine=powerpc to machine=powerpc/powerpc32.
	Add powerpc64 and machine=powerpc/powerpc64.
	(HAVE_ASM_GLOBAL_DOT_NAME): Define if linux*powerpc/powerpc64*.
	* shlib-versions: Set DEFAULT version to 2.2.5 for powerpc64.
	* sysdeps/powerpc/Dist: Remove dl-machine.c, dl-start.S, ppc-mcount.S,
	gprsave1.S, gprsave0.S, gprrest1.S, and gprrest0.S.
	* sysdeps/powerpc/powerpc32/Dist: New file.
	* sysdeps/powerpc/Implies: Remove wordsize-32 and powerpc/soft-fp.
	* sysdeps/powerpc/powerpc32/Implies: New file.
	* sysdeps/powerpc/Makefile(cflags): Remove powerpc32 specific cflags.
	($(with-fp) = no): Move test to powerpc32/Makefile.
	($(subdir) = misc): Move to powerpc32/Makefile.
	($(build-shared) = yes): Move to powerpc32/Makefile.
	($(subdir) = csu): Move to powerpc32/Makefile.
	(sysdep-rtld-routines): Remove dl-start.  Moved these bits to ...
	* sysdeps/powerpc/powerpc32/Makefile: New file.
	* sysdeps/powerpc/Versions: Remove libgcc functions.
	* sysdeps/powerpc/powerpc32/Versions: New file.
	* sysdeps/powerpc/fpu/Makefile: Remove fprsave and fprrest.
	* sysdeps/powerpc/powerpc32/fpu/Makefile: New file.
	* sysdeps/unix/sysv/linux/configure.in (powerpc*):
	Set arch_minimum_kernel=2.4.19 for powerpc/powerpc64. Also set
	libc_cv_gcc_unwind_find_fde=yes only if !powerpc/powerpc64.
	($machine): Add powerpc/powerpc64 to if ... | for
	libc_cv_slibdir=/libc64.
	(powerpc*): Set ldd_rewrite_script.
	* sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed: New file.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Remove clone.S.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: New file.
	Add clone.S.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: Remove oldgetrlimit64.
	* sysdeps/unix/sysv/linux/powerpc/Versions: Remove GLIBC_2.0
	functions.  Remove GLIBC_2.2 functions except getrlimit and
	setrlimit.  Moved them to ...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: New file.

2002-09-04  Ulrich Drepper  <drepper@redhat.com>

	* libio/tst-atime.c: Include <errno.h>.
	(do_test): Only perform fstatvfs check if ST_NOATIME is defined.

2002-09-03  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid
	warnings of some compilers.
	(build_collating_symbol): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer in
	array subscript.
	(build_collating_symbol): Likewise.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	(re_compile_pattern): Remove incorrect cast.
	(re_compile_fastmap_iter): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer
	in array subscript.
	(parse_bracket_exp): Likewise.
	* posix/regex_internal.c (re_string_construct_common): Likewise.
	(re_string_allocate): Likewise.
	(re_string_construct): Likewise.
	(re_string_realloc_buffers): Likewise.
	(build_wcs_buffer): Likewise.
	(re_string_reconstruct): Likewise.
	* posix/regex_internal.h: Change the type of characters in
	re_string_t and bracket_elem_t from "unsigned char" to "char".
	* posix/regexec.c (regexec): Append "__restrict" modifier to avoid
	warnings of some compilers.
	(transit_state_bkref_loop): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer in
	array subscript.
	(check_node_accept_bytes): Likewise.
	(find_collation_sequence_value): Likewise.
2002-09-05 10:28:51 +00:00
Ulrich Drepper
3081c7c528 (re_search_stub): Return correct match length if start != 0. 2002-08-26 22:42:03 +00:00
Ulrich Drepper
ac3d553b8b Update.
2002-07-27  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/Makefile (CPPFLAGS): Add NOT_IN_libc.

	* iconv/iconv_prog.c (main): Improve error message for the cases
	where -t and/or -f parameter are missing.

2002-07-10  Stepan Kasal  <kasal@math.cas.cz>

	* posix/regexec.c (re_match): Reorganize to remove duplicate code.
	(re_search): Likewise.
	(re_match_2): Likewise.
	(re_search_2): Likewise.
	(re_search_stub): New function.
	(re_search_2_stub): New function.
	* regcomp.c (re_compile_pattern): Typo in a comment fixed.

2002-07-10  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regex_internal.h: Add new member STOP to struct re_string_t.
	(re_string_eoi): Use STOP instead of LEN.
	* posix/regex_internal.c (re_string_allocate): Initialize pstr->len.
	(re_string_construct): Likewise.
	(re_string_reconstruct): Adjust pstr->stop like pstr->len.
	* posix/regexec.c (re_search_internal): Add a new argument STOP
	so that it can handle the argument STOP of re_search_2 and re_match_2
	correctly.
	(regexec): Adapt to new I/F of re_search_internal.
	(re_search_stub): Likewise.
2002-07-27 08:20:17 +00:00
Ulrich Drepper
81c64d407c Update.
2002-07-10  Ulrich Drepper  <drepper@redhat.com>
	* Versions.def [libpthread]: Add GLIBC_2.2.6.
	* posix/Versions [libc] (GLIBC_2.2.6): Add __nanosleep.

2002-07-06  Bruno Haible  <bruno@clisp.org>

	* sysdeps/unix/sysv/sysv4/bits/sigset.h (__NSSBITS): Correct value.
	* sysdeps/unix/sysv/linux/bits/statvfs.h (ST_NODIRATIME): Set to 2048.
2002-07-10 23:09:16 +00:00
Ulrich Drepper
434d3784f1 Update.
2002-04-26  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (re_compile_fastmap_iter): Fix fastmap in case of
	not _LIBC and RE_ENABLE_I18N.
	(build_range_exp): Implement for not _LIBC.
	(build_collating_symbol): Likewise.
	(parse_bracket_exp): Unify redundant error handlings.
	Don't erase mbcset for non matching list in multibyte envs.
	(build_word_op): Add '_' to matching list for \w operator.
	* posix/regex_internal.c (re_string_construct): Invoke
	build_upper_buffer in case of not RE_ENABLE_I18N.
	(re_string_reconstruct): Don't touch cur_state in case of not
	RE_ENABLE_I18N.
	* posix/regex_internal.h (attribute_hidden): New macro in case of
	not _LIBC.
	(re_charset_t): Define range_starts/ends in case of not _LIBC.
	* posix/regexec.c (sift_states_iter_mb): Hide in case of not
	RE_ENABLE_I18N.
	(transit_state_mb): Likewise.
	(check_node_accept_bytes): Implement the code evaluating range
	expression in case of not _LIBC.
	(find_collation_sequence_value): Hide in case of not _LIBC.

2002-04-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c: Copied from
	i386/semctl.c.
	(__old_semctl, __new_semctl): Only use va_arg if the argument will
	be used.
2002-04-26 20:52:02 +00:00
Ulrich Drepper
612546c60d Update.
2002-04-22  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (re_compile_internal): Adapt it to new interface
	of buffer building functions.
	* posix/regex_internal.c (re_string_allocate): New function.
	(re_string_realloc_buffers): New function.
	(re_string_skip_chars): New function.
	(re_string_reconstruct): New function.
	(re_string_construct): Adapt it to new interface of buffer building
	functions.
	(re_string_construct_common): Likewise.
	(build_wcs_buffer): Likewise.
	(build_wcs_upper_buffer): Likewise.
	(build_upper_buffer): Likewise.
	(re_string_translate_buffer): Likewise.
	(re_string_context_at): Adapt it to variable length buffers.
	* posix/regex_internal.h (re_string_t): Add new fields to handle
	variable length buffers.
	(re_match_context_t): Likewise.
	* posix/regexec.c (re_search_internal): Adapt it to new interface
	of re_string_t and re_match_context_t.
	(acquire_init_state_context): Likewise.
	(check_matching): Likewise.
	(check_halt_state_context): Likewise.
	(proceed_next_node): Likewise.
	(set_regs): Likewise.
	(sift_states_backward): Likewise.
	(clean_state_log_if_need): Likewise.
	(sift_states_iter_mb): Likewise.
	(sift_states_iter_bkref): Likewise.
	(add_epsilon_backreference): Likewise.
	(transit_state): Likewise.
	(transit_state_sb): Likewise.
	(transit_state_mb): Likewise.
	(transit_state_bkref): Likewise.
	(transit_state_bkref_loop): Likewise.
	(check_node_accept): Likewise.
	(match_ctx_init): Likewise.
	(extend_buffers): New function.

2002-04-21  Bruno Haible  <bruno@clisp.org>

	* iconvdata/tst-table.sh: For the second check, use the truncated
	GB18030 charmap table, like for the first check.
2002-04-24 21:54:53 +00:00
Ulrich Drepper
bc15410ece Update.
2002-03-11  Ulrich Drepper  <drepper@redhat.com>

	* manual/examples/mkfsock.c: Include <string.h> as well.
	Patch by Alain De Carolis <alaind@wseurope.com>.

2002-03-06  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regexec.c (re_match): Fix incorrect register sizes.
	(re_search): Likewise.

2002-03-05  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (regfree): Remove a disused condition.
	* posix/regex_internal.c (re_acquire_state): Likewise.
	(re_acquire_state_context): Likewise.
	(register_state): Remove a redundant malloc invocation.
	* posix/regex_internal.h: (re_state_table_entry): Simplify
	the structure.

2002-03-05  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (regcomp): Add __builtin_expect to error
	handling conditions.
	(regerror): Likewise.
	(regfree): Likewise.
	(re_compile_internal): Likewise.
	(init_dfa): Likewise.
	(init_word_char): Likewise.
	(create_initial_state): Likewise.
	(analyze): Likewise.
	(analyze_tree): Likewise.
	(duplicate_node): Likewise.
	(calc_eclosure): Likewise.
	(calc_eclosure_iter): Likewise.
	(parse): Likewise.
	(parse_reg_exp): Likewise.
	(parse_branch): Likewise.
	(parse_expression): Likewise.
	(parse_subexp): Likewise.
	(parse_dup_op): Likewise.
	(parse_bracket_exp): Likewise.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	(build_word_op): Likewise.
	(fetch_number): Likewise.
	(create_tree): Likewise.
	(duplicate_tree): Likewise.
	* posix/regex.c (BE): New macro.
	* posix/regexec.c (re_match): Add __builtin_expect to error
	handling conditions.
	(re_match_2): Likewise.
	(re_search): Likewise.
	(re_search_internal): Likewise.
	(check_matching): Likewise.
	(proceed_next_node): Likewise.
	(set_regs): Likewise.
	(sift_states_backward): Likewise.
	(add_epsilon_backreference): Likewise.
	(transit_state): Likewise.
	(transit_state_sb): Likewise.
	(transit_state_mb): Likewise.
	(transit_state_bkref): Likewise.
	(transit_state_bkref_loop): Likewise.
	(build_trtable): Likewise.
	(group_nodes_into_DFAstates): Likewise.
	(match_ctx_init): Likewise.
	(match_ctx_add_entry): Likewise.
	* posix/regex_internal.c (re_string_construct): Add __builtin_expect
	to error handling conditions.
	(re_string_construct_toupper): Likewise.
	(build_wcs_buffer): Likewise.
	(build_wcs_upper_buffer): Likewise.
	(build_upper_buffer): Likewise.
	(re_string_translate_buffer): Likewise.
	(re_node_set_alloc): Likewise.
	(re_node_set_init_1): Likewise.
	(re_node_set_init_2): Likewise.
	(re_node_set_init_copy): Likewise.
	(re_node_set_intersect): Likewise.
	(re_node_set_init_union): Likewise.
	(re_node_set_merge): Likewise.
	(re_node_set_insert): Likewise.
	(re_dfa_add_node): Likewise.
	(re_acquire_state): Likewise.
	(re_acquire_state_context): Likewise.
	(create_new_state_common): Likewise.
	(register_state): Likewise.
	(create_ci_new_state): Likewise.
	(create_cd_new_state): Likewise.
	(re_string_context_at): Remove redundant condition.

2002-01-16  Roger Sayle  <roger@eyesopen.com>

	* sysdeps/i386/i686/strcmp.S: Avoid unconditional jump to a ret.

	* sysdeps/i386/i586/strlen.S: Fix typo in comment.
2002-03-12 02:04:08 +00:00
Ulrich Drepper
a9388965cc Update.
2002-02-28  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (regcomp): Remove a redundant condition.
	(init_word_char): Add a check on malloc failure.
	(create_initial_state): Likewise.
	(duplicate_node): Likewise.
	(calc_eclosure): Likewise.
	(calc_eclosure_iter): Likewise.
	(parse_expression): Likewise.
	(parse_bracket_exp): Remove unnecessary malloc invocations.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	* posix/regex_internal.c (re_node_set_intersect): Add a check
	on malloc failure.
	(re_node_set_add_intersect): Likewise.
	(re_node_set_merge): Likewise.
	(re_acquire_state): Likewise.
	(re_acquire_state_context): Likewise.
	(create_newstate_common): Likewise.
	(register_state): Likewise.
	(create_ci_newstate): Likewise.
	(create_cd_newstate): Likewise.
	* posix/regex_internal.h: Fix prototypes of re_acquire_state
	and re_acquire_state_context.
	* posix/regexec.c (regexec): Suit it to the error handling of
	re_search_internal.
	(re_match): Likewise.
	(re_search): Likewise.
	(re_search_internal): Add a check on malloc failure.
	(acquire_init_state_context): Likewise.
	(check_matching): Likewise.
	(proceed_next_node): Likewise.
	(set_regs): Likewise.
	(sift_states_backward): Likewise.
	(sift_states_iter_bkref): Likewise.
	(add_epsilon_backreference): Likewise.
	(transit_state): Likewise.
	(transit_state_sb): Likewise.
	(transit_state_mb): Likewise.
	(transit_state_bkref_loop): Likewise.
	(build_trtable): Likewise.
	(group_nodes_into_DFAstates): Likewise.
	(match_ctx_init): Likewise.
	(match_ctx_add_entry): Likewise.
2002-02-28 07:43:13 +00:00
Ulrich Drepper
3b0bdc7235 Update.
* posix/Makefile (distribute): Add regcomp.c, regexec.c,
	regex_internal.c, and regex_internal.h.
	(CFLAGS-regex.c): Replace -DMBS_SUPPORT with -DRE_ENABLE_I18N.
	* posix/regex.c: Complete rewrite.
	* posix/regexec.c: New file.
	* posix/regcomp.c: New file.
	* posix/regex_internal.c: New file.
	* posix/regex_internal.h: New file.
	* posix/regex.h (RE_ICASE): New macro.
	Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
2002-02-26 19:06:03 +00:00