gnulib.git
18 years agosrclist.update
Karl Berry [Mon, 19 Sep 2005 12:44:31 +0000 (12:44 +0000)]
srclist.update

18 years agosrclist.update
Karl Berry [Sun, 18 Sep 2005 12:30:04 +0000 (12:30 +0000)]
srclist.update

18 years ago(set_stat_atime, set_stat_ctime, set_stat_mtime): Remove; they were
Paul Eggert [Sat, 17 Sep 2005 06:54:00 +0000 (06:54 +0000)]
(set_stat_atime, set_stat_ctime, set_stat_mtime): Remove; they were
buggy in the HAVE_STRUCT_STAT_ST_SPARE1 case, and they were dubious
anyway.  I rewrote 'tar' to not use them any more.

18 years ago* config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
Paul Eggert [Fri, 16 Sep 2005 21:37:31 +0000 (21:37 +0000)]
* config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.

18 years ago.
Karl Berry [Fri, 16 Sep 2005 07:40:01 +0000 (07:40 +0000)]
.

18 years ago* modules/utimecmp (Depends-on): Add stat-time.
Paul Eggert [Fri, 16 Sep 2005 07:18:35 +0000 (07:18 +0000)]
* modules/utimecmp (Depends-on): Add stat-time.

18 years ago* utimecmp.c: Include stat-time.h.
Paul Eggert [Fri, 16 Sep 2005 07:16:21 +0000 (07:16 +0000)]
* utimecmp.c: Include stat-time.h.
(SYSCALL_RESOLUTION): Depend on whether various struct stat
members exist, not on the obsolescent ST_MTIM_NSEC.
(utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.

18 years ago* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert [Fri, 16 Sep 2005 06:52:14 +0000 (06:52 +0000)]
* MODULES.html.sh (File system functions): Add stat-time.
* lib/stat-time.h: New file.
* lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
(MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
in a different way.
(timespec_cmp): New function.
* m4/st_mtim.m4: Remove.  Superseded by...
* m4/stat-time.m4: New file.
* m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
* modules/stat-time: New file.
* modules/timespec (Files): Remove m4/st_mtim.m4; this
is now done in a different way, by the stat-time module.

18 years ago* regcomp.c, regexec.c, regex_internal.c: Back out previous
Derek R. Price [Fri, 16 Sep 2005 00:23:36 +0000 (00:23 +0000)]
* regcomp.c, regexec.c, regex_internal.c: Back out previous
changes, consolidating in...
* regex_internal.h: ...this file.

18 years ago* regex_internal.h: Blank `pure' for GNUC < 3.
Derek R. Price [Thu, 15 Sep 2005 19:14:23 +0000 (19:14 +0000)]
* regex_internal.h: Blank `pure' for GNUC < 3.
* regex_internal.c: Ditto, using this...
(__GNUC_PREREQ): ...new macro.
* regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1 using...
(__GNUC_PREREQ): ...this new macro.

18 years agoFix redefinition problem: strstr may be defined as a macro in string.h.
Bruno Haible [Thu, 15 Sep 2005 16:25:48 +0000 (16:25 +0000)]
Fix redefinition problem: strstr may be defined as a macro in string.h.

18 years agoautoupdate
Karl Berry [Thu, 15 Sep 2005 11:53:22 +0000 (11:53 +0000)]
autoupdate

18 years agoautoupdate
Karl Berry [Wed, 14 Sep 2005 13:35:43 +0000 (13:35 +0000)]
autoupdate

18 years agoremove trailing blanks
Jim Meyering [Tue, 13 Sep 2005 15:06:24 +0000 (15:06 +0000)]
remove trailing blanks

18 years ago* canon-host.c (canon_host_r): Set *cherror on memory allocation
Derek R. Price [Tue, 13 Sep 2005 13:23:57 +0000 (13:23 +0000)]
* canon-host.c (canon_host_r): Set *cherror on memory allocation
failure.
Reported by Jim Meyering  <jim@meyering.net>.

18 years ago*** empty log message ***
Jim Meyering [Tue, 13 Sep 2005 12:39:28 +0000 (12:39 +0000)]
*** empty log message ***

18 years agoFilter through gnu indent and reword comments slightly.
Jim Meyering [Tue, 13 Sep 2005 12:37:48 +0000 (12:37 +0000)]
Filter through gnu indent and reword comments slightly.

18 years ago(ch_strerror_r): Tweak cpp indentation and spacing.
Jim Meyering [Tue, 13 Sep 2005 12:35:24 +0000 (12:35 +0000)]
(ch_strerror_r): Tweak cpp indentation and spacing.

18 years ago2005-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
Simon Josefsson [Tue, 13 Sep 2005 08:04:11 +0000 (08:04 +0000)]
2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)

* lib/base64.c: Typo.
(base64_encode): Put b64str in initialized data section.

18 years ago.
Karl Berry [Tue, 13 Sep 2005 07:38:26 +0000 (07:38 +0000)]
.

18 years ago* modules/canon-host: Add canon-host.h. Depend on getaddrinfo. Make
Derek R. Price [Tue, 13 Sep 2005 04:15:15 +0000 (04:15 +0000)]
* modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
LGPL.
* modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
Make canon-host require getaddrinfo.
* m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
AC_LIBSOURCE canon-host.h.  Call...
(gl_PREREQ_CANON_HOST): ...this new function, which requires
gl_GETADDRINFO.
* m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when
needed.
Return usable errors from canon-host.
* lib/canon-host.h: New file.
* lib/canon-host.c (canon_host): Wrap...
(canon_host_r): ...this new function, which now relies exclusively on
getaddrinfo.
(ch_strerror): New function.
(last_cherror): New global.
* lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
interface.
(getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic
on void *.
(freeaddrinfo): Free ai->ai_canonname when set.

18 years ago* modules/glob (Files): Add glob-libc.h.
Derek R. Price [Tue, 13 Sep 2005 03:47:44 +0000 (03:47 +0000)]
* modules/glob (Files): Add glob-libc.h.
* lib/glob-libc.h: Renamed from glob_.h.  The new version is
taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
protecting things that should be done only in gnulib contexts.
* lib/glob_.h: New file, containing only the glob things needed for
gnulib.
(GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
(__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
(glob, globfree, glob_pattern_p): Now defined simply in terms of
rpl_glob, rpl_globfree, rpl_glob_pattern_p.
(__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
and to respect the namespace rules better.
* m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
glob_.h, glob-libc.h.
(gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.

18 years agoMerge glibc and coreutils changes into gnulib, plus a few
Paul Eggert [Mon, 12 Sep 2005 22:05:15 +0000 (22:05 +0000)]
Merge glibc and coreutils changes into gnulib, plus a few
extra fixes.
* md5.c: Use #error rather than a string.
(CYCLIC): New macro, from glibc source.  Use it instead of rol.
* md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
(__attribute__): Define to empty for non recent-GCC.
(__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
(__md5_process_bytes, __md5_read_ctx, __md5_stream):
Renamed from their non-__ counterparts, with new macros replacing
them if not _LIBC.  Add __THROW attribute.
(rol): Remove.
(struct md5_ctx): Align buffer if using GCC.
* sha1.h (struct sha1_ctx): Likewise.
* sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
The old name was backwards.
(NOTSWAP): Remove; not used.
(rol): New macro, moved here from md5.h.
(sha1_process_block): Remove a FIXME that doesn't make sense.

18 years ago* gai_strerror.c: Include config.h when available. Include
Derek R. Price [Mon, 12 Sep 2005 14:25:04 +0000 (14:25 +0000)]
* gai_strerror.c: Include config.h when available.  Include
getaddrinfo.h before other headers to test interface.
Reported by Larry Jones <lawrence.jones@ugs.com>.

18 years ago.
Karl Berry [Fri, 9 Sep 2005 07:37:05 +0000 (07:37 +0000)]
.

18 years ago* modules/utimens (Files): Add m4/utimbuf.m4, since
Paul Eggert [Thu, 8 Sep 2005 21:45:38 +0000 (21:45 +0000)]
* modules/utimens (Files): Add m4/utimbuf.m4, since
m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.

18 years ago* lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
Paul Eggert [Thu, 8 Sep 2005 20:18:48 +0000 (20:18 +0000)]
* lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
definitions, since that's the preferred style in glibc.
Fix a minor spacing issue, and update copyright notice to match glibc's.
* config/srclist.txt: Remove glibc bug 1061; it's been fixed.

18 years ago2005-09-08 Simon Josefsson <jas@extundo.com>
Simon Josefsson [Thu, 8 Sep 2005 20:08:18 +0000 (20:08 +0000)]
2005-09-08  Simon Josefsson  <jas@extundo.com>

* modules/socklen: New file.

2005-08-31  Simon Josefsson  <jas@extundo.com>

* socklen.m4: New file.

18 years ago* regex_internal.h (bitset_not): Add parens to avoid gcc -Wall warning.
Paul Eggert [Tue, 6 Sep 2005 17:50:47 +0000 (17:50 +0000)]
* regex_internal.h (bitset_not): Add parens to avoid gcc -Wall warning.

18 years ago* getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
Simon Josefsson [Tue, 6 Sep 2005 08:21:32 +0000 (08:21 +0000)]
* getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.

18 years agoChange bitset word type from unsigned int to unsigned long int,
Paul Eggert [Tue, 6 Sep 2005 07:36:48 +0000 (07:36 +0000)]
Change bitset word type from unsigned int to unsigned long int,
as this has better performance on typical 64-bit hosts.
Port bitset code to hosts with unusual word sizes.
* lib/regcomp.c (build_equiv_class, build_charclass):
(build_range_exp, build_collating_symbol):
Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
argument is a bitset.  This is merely a style issue, but it makes
it clearer that an entire array is expected.
(re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
* lib/regcomp.c (lower_subexp, parse_bracket_exp):
(built_charclass_op):
Port to the case where bitset_word is not the same as unsigned int.
* lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
(bitset_not, bitset_merge, bitset_set_all, bitset_mask):
Likewise.
* lib/regexec.c (check_dst_limits_calc_pos_1):
(check_subexp_matching_top):
(build_trtable, group_nodes_into_DFAstates):
Likewise.
* lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map):
(optimize_utf8):
Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
* lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
* lib/regexec.c (group_nodes_into_DFAstates): Likewise.
* lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
* lib/regcomp.c (optimize_subexps, lower_subexp):
Work even if bitset_word has holes in its bitwise representation.
* lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
* lib/regexec.c (check_dst_limits_calc_pos_1):
(heck_subexp_matching_top): Likewise.
* lib/regex_internal.c (re_string_reconstruct):
Don't assume UCHAR_MAX == 255.
* lib/regex_internal.h (bitset_set_all): Likewise.
* lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
All uses changed.
(BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
(bitset_word): New type, replacing 'unsigned int' for bitset uses.
All uses changed.
(BITSET_WORD_MAX): New macro.
(bitset_set, bitset_clear, bitset_contain, bitset_empty):
(bitset_set_all, bitset_copy):  Now inline functions, not macros.
(bitset_empty, bitset_copy):
Prefer sizeof (bitset) to multiplying it out ourselves.
(bitset_not_merge): Remove; unused.
(bitset_contain): Return bool, not unsigned int with one bit on.
All callers changed.
* lib/regexec.c (build_trtable): Don't assume bitset has no stricter
alignment than re_node_set; do this by defining a new internal
type struct dests_alloc and using it to allocate memory.
* config/srclist.txt: Add glibc bug 1302.

18 years agoFix cmp invocation.
Bruno Haible [Mon, 5 Sep 2005 11:40:42 +0000 (11:40 +0000)]
Fix cmp invocation.

18 years ago2005-09-04 Martin Lambers <marlam@marlam.de> (tiny change)
Simon Josefsson [Sun, 4 Sep 2005 17:26:07 +0000 (17:26 +0000)]
2005-09-04  Martin Lambers <marlam@marlam.de>  (tiny change)

* modules/size_max (Makefile.am): Add size_max.h

18 years ago* gnulib-tool: Fix reversed $symbolic logic.
Derek R. Price [Sun, 4 Sep 2005 15:57:34 +0000 (15:57 +0000)]
* gnulib-tool: Fix reversed $symbolic logic.

18 years ago* getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
Derek R. Price [Sun, 4 Sep 2005 00:05:32 +0000 (00:05 +0000)]
* getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
From Larry Jones <lawrence.jones@ugs.com>.

18 years ago* srclist.txt: Add glibc bugs 1293.
Simon Josefsson [Sat, 3 Sep 2005 09:05:55 +0000 (09:05 +0000)]
* srclist.txt: Add glibc bugs 1293.

18 years ago2005-09-03 Simon Josefsson <jas@extundo.com>
Simon Josefsson [Sat, 3 Sep 2005 08:20:57 +0000 (08:20 +0000)]
2005-09-03  Simon Josefsson  <jas@extundo.com>

* gnulib-tool: Fix typo.

18 years ago.
Karl Berry [Sat, 3 Sep 2005 07:34:57 +0000 (07:34 +0000)]
.

18 years agoCheck for arithmetic overflow when calculating sizes, to prevent
Paul Eggert [Fri, 2 Sep 2005 22:54:59 +0000 (22:54 +0000)]
Check for arithmetic overflow when calculating sizes, to prevent
some buffer-overflow issues.  These patches are conservative, in the
sense that when I couldn't determine whether an overflow was possible,
I inserted a run-time check.
* regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New macros.
(SIZE_MAX) [!defined SIZE_MAX]: New macro.
(re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
(re_xnrealloc, re_x2nrealloc): New inline functions.
* lib/regcomp.c (init_dfa, analyze, build_range_exp, parse_bracket_exp):
(build_equiv_class, build_charclass): Check for arithmetic overflow
in size expression calculations.
* lib/regex_internal.c (re_string_realloc_buffers):
(build_wcs_upper_buffer, re_node_set_add_intersect):
(re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
(re_dfa_add_node, register_state): Likewise.
* lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
(prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
(build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
(match_ctx_add_subtop, match_ctx_add_sublast): Likewise.

18 years ago* modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
Paul Eggert [Fri, 2 Sep 2005 19:43:54 +0000 (19:43 +0000)]
* modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
m4/ulonglong.m4.  Problem reported by Martin Lambers.

18 years agoProvide defaults where needed.
Bruno Haible [Fri, 2 Sep 2005 17:28:31 +0000 (17:28 +0000)]
Provide defaults where needed.

18 years ago2005-09-02 Simon Josefsson <jas@extundo.com>
Simon Josefsson [Fri, 2 Sep 2005 14:44:37 +0000 (14:44 +0000)]
2005-09-02  Simon Josefsson  <jas@extundo.com>

* modules/havelib: New module.

* modules/gettext, modules/iconv, modules/lock, modules/readline:
Use havelib.

18 years agoargz.m4 moved in libtool source
Karl Berry [Fri, 2 Sep 2005 12:27:28 +0000 (12:27 +0000)]
argz.m4 moved in libtool source

18 years agoOmit lib-link.m4 and lib-prefix.m4 temporarily.
Bruno Haible [Fri, 2 Sep 2005 11:23:44 +0000 (11:23 +0000)]
Omit lib-link.m4 and lib-prefix.m4 temporarily.

18 years agoSupport for lib vs. lib64 distinction on biarch platforms.
Bruno Haible [Fri, 2 Sep 2005 11:20:50 +0000 (11:20 +0000)]
Support for lib vs. lib64 distinction on biarch platforms.

18 years agoDon't put symlinks unless asked for.
Bruno Haible [Fri, 2 Sep 2005 11:18:48 +0000 (11:18 +0000)]
Don't put symlinks unless asked for.

18 years ago* lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
Paul Eggert [Thu, 1 Sep 2005 22:36:04 +0000 (22:36 +0000)]
* lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
to avoid a collision with bits/local_lim.h in glibc.
All uses changed.  Problem reported by Dmitry V. Levin in
<http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.

18 years ago* regex_internal.c (re_string_context_at): Fix bug where the
Paul Eggert [Thu, 1 Sep 2005 22:10:59 +0000 (22:10 +0000)]
* regex_internal.c (re_string_context_at): Fix bug where the
code assumed that Idx is signed.
* config/srclist.txt: Add glibc bug 1287.

18 years ago* lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
Paul Eggert [Thu, 1 Sep 2005 21:01:26 +0000 (21:01 +0000)]
* lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
bugs in int versus size_t comparisons.
* config/srclist.txt: Add glibc bug 1285, 1286.

18 years agoUse bool where appropriate.
Paul Eggert [Thu, 1 Sep 2005 19:41:07 +0000 (19:41 +0000)]
Use bool where appropriate.
* lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
All callers changed.
(calc_eclosure_iter): Likewise, for ROOT arg.
(parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
(build_charclass_op): Likewise, for NON_MATCH arg.
* lib/regex_internal.c (re_string_allocate, re_string_construct):
(re_string_construct_common): Likewise, for ICASE arg.
* lib/regexec.c (re_search_2_stub, re_search_stub):
Likewise, for RET_LEN arg.
(check_matching): Likewise, for FL_LONGEST_MATCH arg.
(set_regs): Likewise, for FL_BACKTRACK arg.
* lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
(duplicate_node_closure, calc_inveclosure, calc_eclosure):
(calc_eclosure_iter, parse_bracket_exp):
Use bool for internal variables that are booleans.
* lib/regexec.c (re_search_internal, check_matching):
(proceed_next_node):
(set_regs, build_sifted_states, sift_states_bkref):
(check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
(expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
(find_collation_sequence_value):
Likewise.
* lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
(re_node_set_compare):
Return bool, not int. All callers changed.
* lib/regexec.c (check_halt_node_context, check_dst_limits):
(build_trtable, check_node_accept): Likewise.
* lib/regex_internal.h: Include stdbool.h.

Fix bugs uncovered when converting to bool.
* lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
failure instead of charging ahead blindly.
* lib/regex_internal.c (register_state): Likewise.
* lib/regexec.c (re_search_2_stub): Use simpler method than boolean
for freeing internal storage.
(group_nodes_into_DFA_states): Use unsigned int, not int, for
bitset pieces used as boolean, to avoid undefined behavior
on hosts that do int overflow checking.

* config/srclist.txt: Add glibc bug 1285.

18 years ago*** empty log message ***
Jim Meyering [Thu, 1 Sep 2005 18:10:07 +0000 (18:10 +0000)]
*** empty log message ***

18 years agoRequire gl_STAT_MACROS
Jim Meyering [Thu, 1 Sep 2005 18:10:01 +0000 (18:10 +0000)]
Require gl_STAT_MACROS

18 years agoRequire gl_FUNC_CHOWN, for the definition of
Jim Meyering [Thu, 1 Sep 2005 18:08:21 +0000 (18:08 +0000)]
Require gl_FUNC_CHOWN, for the definition of
CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.

18 years ago*** empty log message ***
Jim Meyering [Thu, 1 Sep 2005 18:08:06 +0000 (18:08 +0000)]
*** empty log message ***

18 years agoDon't complain about missing options in the first-use case.
Bruno Haible [Thu, 1 Sep 2005 12:28:32 +0000 (12:28 +0000)]
Don't complain about missing options in the first-use case.

18 years agoRemove the .tmp files.
Bruno Haible [Thu, 1 Sep 2005 12:18:03 +0000 (12:18 +0000)]
Remove the .tmp files.

18 years ago2005-08-31 Derek Price <derek@ximbiot.com>
Simon Josefsson [Thu, 1 Sep 2005 11:09:14 +0000 (11:09 +0000)]
2005-08-31  Derek Price  <derek@ximbiot.com>

* getdelim.c (getdelim): Return EOF on EOF.
Reported by Larry Jones <lawrence.jones@ugs.com>.

18 years ago.
Karl Berry [Thu, 1 Sep 2005 08:24:40 +0000 (08:24 +0000)]
.

18 years ago* lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
Paul Eggert [Thu, 1 Sep 2005 07:03:01 +0000 (07:03 +0000)]
* lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
lengths fit in regoff_t; this isn't true if regoff_t is the same
width as size_t.
* lib/regex.c (re_search_internal): 5th arg is LAST_START
(= START + RANGE) instead of RANGE.  This avoids overflow
problems when regoff_t is the same width as size_t.
All callers changed.
(re_search_2_stub): Check for overflow when adding the
sizes of the two strings.
(re_search_stub): Check for overflow when adding START
to RANGE; if it occurs, substitute the extreme value.
* config/srclist.txt: Add glibc bug 1284.

18 years ago* lib/regcomp.c (search_duplicated_node): Make first pointer arg
Paul Eggert [Wed, 31 Aug 2005 23:36:42 +0000 (23:36 +0000)]
* lib/regcomp.c (search_duplicated_node): Make first pointer arg
a pointer-to-const.
* lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
(register_state): Likewise.
* lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
(check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
(group_nodes_into_DFAstates): Likewise.
* config/srclist.txt: Add glibc bug 1282.

18 years agoOn 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
Paul Eggert [Wed, 31 Aug 2005 22:51:09 +0000 (22:51 +0000)]
On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
old glibc regex code mishandles strings longer than 2**31 bytes.
This patch fixes this when the regex code is used in gnulib
(i.e., outside glibc).

* lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
governing whether the rest of this patch is active.  By default,
the macro is disabled and the patch has no effect.
(regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
(__re_idx_t, __re_size_t, __re_long_size_t): New types.
(struct re_pattern_buffer, re_search, re_search_2, re_match):
(re_match_2, re_set_registers): Use the new types.
* lib/regex_internal.h (Idx, re_hashval_t): New types.
(REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
New macros.
(re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
(re_string_context_at, bin_tree_t, re_dfastate_t):
(struct re_state_table_entry, state_array_t, re_sub_match_last_t):
(re_sub_match_top_t, re_match_context_t, re_sift_context_t):
(struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
(re_string_char_size_at, re_string_wchar_at):
(re_string_elem_size_at):
Use the new types and macros to port to 64-bit hosts.
Use unsigned types for internal values, so that the code
mostly works even for arrays larger than SSIZE_MAX.
* lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
(search_duplicated_node, calc_eclosure_iter, fetch_number):
(parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
(build_equiv_class, build_charclass, re_compile_fastmap_iter):
(free_dfa_content, create_initial_state, optimize_utf8, analyze):
(optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
(calc_inveclosure, parse_dup_op, build_range_exp):
(build_collating_symbol, parse_bracket_exp, build_charclass_op):
(fetch_number, create_token_tree, mark_opt_subexp):
Likewise.
* lib/regex_internal.c
(re_string_construct_common, create_ci_newstate):
(create_cd_newstate, re_string_allocate, re_string_construct):
(re_string_realloc_buffers, build_wcs_upper_buffer):
(re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
(re_string_reconstruct, re_string_peek_byte_case):
(re_string_fetch_byte_case, re_string_context_at):
(re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
(re_node_set_init_copy, re_node_set_add_intersect):
(re_node_set_init_union, re_node_set_merge, re_node_set_insert):
(re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
(re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
(re_acquire_state, re_acquire_state_context, register_state):
Likewise.
* lib/regex.c
(match_ctx_init, match_ctx_add_entry, search_cur_bkref_entry):
(match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
(re_search_internal, re_search_2_stub, re_search_stub)
(re_copy_regs, check_matching, check_halt_state_context, update_regs):
(push_fail_stack, sift_states_iter_mb, build_sifted_states):
(update_cur_sifted_state, check_dst_limits):
(check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
(check_subexp_limits, sift_states_bkref, merge_state_array):
(check_subexp_matching_top, get_subexp, get_subexp_sub):
(find_subexp_node, check_arrival, check_arrival_add_next_nodes):
(check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
(expand_bkref_cache, check_node_accept_bytes):
(group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
(re_search, re_match_2, re_search_2, prune_impossible_nodes):
(acquire_init_state_context, check_halt_node_context):
(proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
(sift_states_backward, clean_state_log_if_needed):
(sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
(find_recover_state, transit_state_sb, transit_state_mb):
(transit_state_bkref, build_trtable, match_ctx_clean):
Likewise.
* lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
to work around an assumption that REG_MISSING is negative.
* m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
_REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
and large-file glibc and in 32-bit large-file Solaris.
* config/srclist.txt: Add glibc bug 1281.

18 years agoMake it possible to use multiple gnulib instantiations with the same
Bruno Haible [Wed, 31 Aug 2005 20:57:03 +0000 (20:57 +0000)]
Make it possible to use multiple gnulib instantiations with the same
configure.ac.
Fix some breakage by previous patches.

18 years agoAvoid unnecessary diffs in the generated lib/Makefile.am.
Bruno Haible [Wed, 31 Aug 2005 20:55:19 +0000 (20:55 +0000)]
Avoid unnecessary diffs in the generated lib/Makefile.am.

18 years agoRead the previous cached settings.
Bruno Haible [Wed, 31 Aug 2005 20:54:49 +0000 (20:54 +0000)]
Read the previous cached settings.
Remove files that become obsolete if gnulib-tool added them earlier.

18 years agoSeparate the generates files into cvs-committable files and frequently
Bruno Haible [Wed, 31 Aug 2005 20:53:42 +0000 (20:53 +0000)]
Separate the generates files into cvs-committable files and frequently
changing files.

18 years agoAvoid multiple copies of AC_GNU_SOURCE in the configure file.
Bruno Haible [Wed, 31 Aug 2005 20:52:14 +0000 (20:52 +0000)]
Avoid multiple copies of AC_GNU_SOURCE in the configure file.

18 years agoRename some variables.
Bruno Haible [Wed, 31 Aug 2005 20:51:41 +0000 (20:51 +0000)]
Rename some variables.

18 years agoPut all dummy definitions of gnulib-tool's specification macros into
Bruno Haible [Wed, 31 Aug 2005 20:51:09 +0000 (20:51 +0000)]
Put all dummy definitions of gnulib-tool's specification macros into
gnulib-tool.m4.

18 years agoNew option --macro-prefix.
Bruno Haible [Wed, 31 Aug 2005 20:48:36 +0000 (20:48 +0000)]
New option --macro-prefix.

18 years agoEmit a stub for gl_LIBTOOL: we want to cache whether --libtool was specified.
Bruno Haible [Wed, 31 Aug 2005 20:46:59 +0000 (20:46 +0000)]
Emit a stub for gl_LIBTOOL: we want to cache whether --libtool was specified.

18 years ago* lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
Paul Eggert [Wed, 31 Aug 2005 20:27:56 +0000 (20:27 +0000)]
* lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
(seek_collating_symbol_entry) [defined _LIBC]:
(lookup_collation_sequence_value) [defined _LIBC]:
(build_range_exp, build_collating_symbol) [defined _LIBC]:
Use prototypes rather than old-style function definitions.
* lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
(transit_state_sb) [0]:
(find_collation_sequence_value) [defined _LIBC]: Likewise.
* config/srclist.txt: Add glibc bug 1280.

18 years ago* lib/regexec.c (re_search_internal): Simplify update of
Paul Eggert [Wed, 31 Aug 2005 19:55:29 +0000 (19:55 +0000)]
* lib/regexec.c (re_search_internal): Simplify update of
rm_so and rm_eo by replacing "if (A == B) A += C - B;"
with the equivalent of "if (A == B) A = C;".  This will
make the code more reliable once we port to 64-bit hosts.
* config/srclist.txt: Add glibc bug 1279.

18 years agoAdd glibc bug 1277.
Paul Eggert [Wed, 31 Aug 2005 19:40:48 +0000 (19:40 +0000)]
Add glibc bug 1277.

18 years ago* lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
Paul Eggert [Wed, 31 Aug 2005 19:38:13 +0000 (19:38 +0000)]
* lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
(optimize_subexps, lower_subexp):
Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
since the signed shift might overflow.  Use 1u<<31 instead.
* lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
Likewise.
* lib/regexec.c (check_dst_limits_calc_pos_1):
(check_subexp_matching_top): Likewise.
* lib/regcomp.c (optimize_subexps, lower_subexp):
Use CHAR_BIT rather than 8, for clarity.
* lib/regexec.c (check_dst_limits_calc_pos_1):
(check_subexp_matching_top): Likewise.
* lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
have to worry about portability issues when shifting it left.
Remove no-longer-needed test for table_size > 0.
* lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
in a word, as the resulting behavior is undefined.
* lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
in one case, a <= should have been an <, and in another case the
whole test was missing.
* lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
the standard name CHAR_BIT.
* lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
this is not true on one's complement and signed-magnitude hosts.

18 years ago* lib/regex_internal.h (re_sub_match_top_t): Remove unused member
Paul Eggert [Wed, 31 Aug 2005 18:08:34 +0000 (18:08 +0000)]
* lib/regex_internal.h (re_sub_match_top_t): Remove unused member
next_last_offset.
(struct re_dfa_t): Remove unused member states_alloc.
* lib/regcomp.c (init_dfa): Don't initialize unused members.
* config/srclist.txt: Add glibc bug 1273.

18 years ago*** empty log message ***
Jim Meyering [Wed, 31 Aug 2005 15:56:30 +0000 (15:56 +0000)]
*** empty log message ***

18 years agoAdd a FIXME comment.
Jim Meyering [Wed, 31 Aug 2005 15:56:01 +0000 (15:56 +0000)]
Add a FIXME comment.

18 years ago*** empty log message ***
Jim Meyering [Wed, 31 Aug 2005 15:39:56 +0000 (15:39 +0000)]
*** empty log message ***

18 years ago(Files): Add stdio--.h.
Jim Meyering [Wed, 31 Aug 2005 15:39:48 +0000 (15:39 +0000)]
(Files): Add stdio--.h.

18 years ago(Files): Add unistd--.h.
Jim Meyering [Wed, 31 Aug 2005 15:39:33 +0000 (15:39 +0000)]
(Files): Add unistd--.h.

18 years agoInclude a header, to define NULL.
Bruno Haible [Wed, 31 Aug 2005 11:51:18 +0000 (11:51 +0000)]
Include a header, to define NULL.

18 years ago* iconvme.h: Add prototype for iconv_alloc.
Simon Josefsson [Tue, 30 Aug 2005 07:38:53 +0000 (07:38 +0000)]
* iconvme.h: Add prototype for iconv_alloc.

18 years ago.
Karl Berry [Tue, 30 Aug 2005 07:36:01 +0000 (07:36 +0000)]
.

18 years agoAvoid unnecessary spaces in $avoidlist.
Bruno Haible [Mon, 29 Aug 2005 20:03:01 +0000 (20:03 +0000)]
Avoid unnecessary spaces in $avoidlist.

18 years agoEmit more comments and advice.
Bruno Haible [Mon, 29 Aug 2005 20:02:25 +0000 (20:02 +0000)]
Emit more comments and advice.

18 years agoProtect references to destdir with double-quotes.
Bruno Haible [Mon, 29 Aug 2005 19:59:56 +0000 (19:59 +0000)]
Protect references to destdir with double-quotes.

18 years ago*** empty log message ***
Jim Meyering [Mon, 29 Aug 2005 11:57:22 +0000 (11:57 +0000)]
*** empty log message ***

18 years agoIf more parameters are given, check each of them
Jim Meyering [Mon, 29 Aug 2005 11:57:17 +0000 (11:57 +0000)]
If more parameters are given, check each of them
separately; add more exceptions, as noted by Jim Meyering.
(check_module): New procedure.
(%exempt_header): Now contains all exceptions.

18 years agoFix rule to not assume GNU make.
Bruno Haible [Mon, 29 Aug 2005 11:13:56 +0000 (11:13 +0000)]
Fix rule to not assume GNU make.

18 years agoFix, spotted by Stepan Kasal.
Bruno Haible [Mon, 29 Aug 2005 11:08:46 +0000 (11:08 +0000)]
Fix, spotted by Stepan Kasal.

18 years agoFix typo in description, spotted by Stepan Kasal.
Bruno Haible [Mon, 29 Aug 2005 11:01:04 +0000 (11:01 +0000)]
Fix typo in description, spotted by Stepan Kasal.

18 years ago* iconvme.c: Fix errno.
Simon Josefsson [Mon, 29 Aug 2005 08:09:21 +0000 (08:09 +0000)]
* iconvme.c: Fix errno.
* iconvme.c: Split iconv_string into iconv_alloc.

18 years ago.
Karl Berry [Sun, 28 Aug 2005 07:34:41 +0000 (07:34 +0000)]
.

18 years ago*** empty log message ***
Jim Meyering [Sat, 27 Aug 2005 20:49:48 +0000 (20:49 +0000)]
*** empty log message ***

18 years agoMerge minor changes from coreutils.
Jim Meyering [Sat, 27 Aug 2005 20:49:12 +0000 (20:49 +0000)]
Merge minor changes from coreutils.

18 years agoMerge from coreutils: New file.
Jim Meyering [Sat, 27 Aug 2005 20:46:51 +0000 (20:46 +0000)]
Merge from coreutils: New file.

18 years ago*** empty log message ***
Jim Meyering [Sat, 27 Aug 2005 20:39:01 +0000 (20:39 +0000)]
*** empty log message ***

18 years agoincrement serial number
Jim Meyering [Sat, 27 Aug 2005 20:38:27 +0000 (20:38 +0000)]
increment serial number

18 years ago(gl_STDIO_SAFER): Add stdio--.h.
Jim Meyering [Sat, 27 Aug 2005 20:38:08 +0000 (20:38 +0000)]
(gl_STDIO_SAFER): Add stdio--.h.

18 years agoNew file. From coreutils.
Jim Meyering [Sat, 27 Aug 2005 20:37:14 +0000 (20:37 +0000)]
New file.  From coreutils.