Jim Meyering [Sun, 24 Sep 2006 06:49:03 +0000 (06:49 +0000)]
* ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
compare a pointer against a literal "0". That caused failures with
at least HP-UX's hpcc.
* fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
* getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
* jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
also add missing comma that caused broken test.
* link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
stdlib.h, for `abort'.
* ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
variables.
* mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
include unistd.h if present, for `rmdir'.
* physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
variables.
* putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
in the process include standard headers for prototypes.
* readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
gets declared on GNU/Linux.
* rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
unistd.h, for `rmdir'.
* time_r.m4 (gl_TIME_R): Avoid unused variables.
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, "$@".