Paul Eggert [Thu, 21 Sep 2006 05:25:11 +0000 (05:25 +0000)]
* lib/regex_internal.c (re_string_reconstruct): Handle
offset < pstr->valid_raw_len && pstr->offsets_needed case.
Ensure no bytes read before raw_mbs array. Pass a saved copy of
pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
re_string_context_at.
* m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
now requires it.
(gl_PREREQ_REGEX): Don't check for locale.h any more, since
gl_REGEX now does it for us.
(gl_REGEX): Add test taken from
http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
Paul Eggert [Wed, 20 Sep 2006 18:44:04 +0000 (18:44 +0000)]
[ChangeLog]
* modules/mkstemp (Depends-on): Add extensions, so that
mkstemp is visible on some platforms.
(Makefile.am): Add mkstemp.h to EXTRA_DIST.
[lib/ChangeLog]
* mkstemp.h: New file, since some standard headers
#define mkstemp.
* mkstemp.c: Revamp to put the !_LIBC code together.
Include "mkstemp.h".
Make the _LIBC code resemble glibc original more,
e.g., use K&R style.
* stdlib--.h: Include mkstemp.h.
[m4/ChangeLog]
* mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
Check that large offsets work. Modernize Autoconf usages.
Prefer "yes" to mean a good thing rather than a bad.
Don't put "#define mkstemp" in config.h, as this might interfere
with standard system headers that "#define mkstemp mkstemp64".
* gnulib-tool (func_exit): New function, to allow to pass the
exit status portably through the trap. Use everywhere.
(--help, --version): Signal a write error.
(trap): catch SIGPIPE, for write errors.
Exit at the end of the trap, with the correct exit status.
Paul Eggert [Sat, 16 Sep 2006 19:58:25 +0000 (19:58 +0000)]
* lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
(dirchownmod): New arg FD. All callers changed.
Use FD rather than opening the directory ourself, as opening is
now the caller's responsibility.
* lib/dirchownmod.h: Likewise.
* lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
hosts that require <sys/types.h> before <sys/stat.h>. Include
fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
(test_dir): Remove.
(mkancesdirs): Return length of prefix of FILE that has already
been made, or -2 if there is a child doing the work. Redo
algorithm so that it is O(N) rather than O(N**2). Optimize away
".", and treat ".." specially since it might stray back into
already-created areas. Use a subprocess if necessary. New arg
WD; all users changed. MAKE_DIR function should now return 1
if it creates a directory that is not readable. Return -2 if
a child process is spun off.
* lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
Adjust signature to match code.
* lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
(make_dir_parents): Use a subprocess if necessary. New arg WD;
all users changed.
* lib/savewd.c, lib/savewd.h: New files.
* m4/savewd.m4: New file.
* modules/mkancesdirs (Depends-on): Add fcntl.
* modules/savewd: New file.
* MODULES.html.sh (File system functions): Add savewd.
Jim Meyering [Fri, 15 Sep 2006 18:48:09 +0000 (18:48 +0000)]
* rename-dest-slash.c (has_trailing_slash): Use
FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
(rpl_rename_dest_slash): Perform the cheaper trailing slash
test before testing whether SRC is a directory.
Suggestions from Bruno Haible.
Jim Meyering [Tue, 12 Sep 2006 10:13:20 +0000 (10:13 +0000)]
* nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
Reported by Nelson H. F. Beebe.
(argp_doc): Split the untranslated doc string on '\v',
and translate the two parts separately, instead of feeding
the whole string to gettext. This allows to exclude
'\v' from the strings visible to the translator by writing doc
strings as N_("..") "\v" N_("..").
Paul Eggert [Fri, 8 Sep 2006 22:48:25 +0000 (22:48 +0000)]
* config/srclist.txt: Temporarily comment out mktime.c until glibc bug
2821 is fixed.
* lib/mktime.c (guess_time_tm): Fix bug where mktime
returned the maximum time_t value rather than (time_t) -1.
Problem originally reported by William Bardwell
<http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
* m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
Check for unistd.h too, since Autoconf doesn't assume POSIX.
Also:
2006-09-08 Paul Eggert <eggert@cs.ucla.edu>
Add year_2050_test to catch glibc bug 2821
<http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2006-08-15 Paul Eggert <eggert@cs.ucla.edu>
Prefer #ifdef to #if.
2006-04-02 Paul Eggert <eggert@cs.ucla.edu>
Return from 'main' instead of calling 'exit'.
Jim Meyering [Fri, 8 Sep 2006 12:26:34 +0000 (12:26 +0000)]
Don't make generated files read-only. That would bother too many
people. However, do retain the ability to work when targets are
read-only: remove the destination and temporary files before writing
them (when generated via sed or echo), or by using the -f option for
both cp and mv commands. Suggestion to use -f from Paul Eggert.
* modules/alloca-opt, modules/argz, modules/arpa_inet:
* modules/byteswap, modules/configmake, modules/fcntl:
* modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
* modules/localcharset, modules/netinet_in, modules/poll:
* modules/stdbool, modules/stdint, modules/sys_select:
* modules/sys_socket, modules/sys_stat, modules/sysexits:
Jim Meyering [Fri, 8 Sep 2006 09:10:56 +0000 (09:10 +0000)]
Avoid new build failure on FreeBSD 6.0.
* ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include <sys/param.h>
when testing whether getmntinfo uses statvfs. Patch by Pavel Tsekov,
in <http://savannah.gnu.org/bugs/?17643>.
Jim Meyering [Thu, 7 Sep 2006 05:53:52 +0000 (05:53 +0000)]
Fix global typo in last change: use chmod u-w, not chmod u-x.
Spotted by Paul Eggert and Bruce Korb.
* modules/alloca-opt, modules/argz, modules/arpa_inet:
* modules/byteswap, modules/configmake, modules/fcntl:
* modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
* modules/localcharset, modules/netinet_in, modules/poll:
* modules/stdbool, modules/stdint, modules/sys_select:
* modules/sys_socket, modules/sys_stat, modules/sysexits:
Jim Meyering [Wed, 6 Sep 2006 21:58:00 +0000 (21:58 +0000)]
Make generated files be read-only.
* modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
Ensure that each generated file is now read-only.
* modules/argz: Likewise.
* modules/arpa_inet: Likewise.
* modules/byteswap: Likewise.
* modules/configmake: Likewise.
* modules/fcntl: Likewise.
* modules/fnmatch: Likewise.
* modules/getopt: Likewise.
* modules/glob: Likewise.
* modules/inttypes: Likewise.
* modules/netinet_in: Likewise.
* modules/poll: Likewise.
* modules/stdbool: Likewise.
* modules/stdint: Likewise.
* modules/sys_select: Likewise.
* modules/sys_socket: Likewise.
* modules/sys_stat: Likewise.
* modules/sysexits: Likewise.
* modules/localcharset: Same as above, but continue using temporary
file named "t-$@" (why different?) rather than the "$@-t" used
everywhere else.
* modules/sysexits (Makefile.am): Replace literal occurrences
of "sysexit.h" more readable, and more consistent, "$@".
Paul Eggert [Fri, 1 Sep 2006 19:54:35 +0000 (19:54 +0000)]
* lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
Problem reported by Ralf Wildenhues in
<http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
* m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
not gl_GETLOADAVG. Omit unneeded semicolons.
Problems reported by Ralf Wildenhues in
<http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
(gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define. Put
at the end, which is the usual gnulib style.
Paul Eggert [Fri, 1 Sep 2006 19:49:22 +0000 (19:49 +0000)]
* lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
HAVE_STRUCT_STATFS_F_FSTYPENAME.
* m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
of doing all the work ourselves.
* m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
Paul Eggert [Thu, 31 Aug 2006 22:29:00 +0000 (22:29 +0000)]
* modules/getloadavg (Files): Add m4/getloadavg.m4.
(configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
the former is now obsolescent.
* lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
or stdbool.h, because they might not exist while configuring.
* m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
obsolescent, and programs should use gnulib instead.
* m4/getloadavg.m4: New file, with contents taken from Autoconf
but with prefixes changed.
Paul Eggert [Thu, 31 Aug 2006 21:54:54 +0000 (21:54 +0000)]
* lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
Don't include unistd.h or limits.h; not needed, since chdir-long.h
does that for us.
(O_DIRECTORY): Remove.
* modules/chdir-long (Depends-on): Add fcntl.