Jim Meyering [Sat, 8 May 2004 12:49:22 +0000 (12:49 +0000)]
Fix bug where "rm" gave up too easily, reported by Dan Jacobsen in
<http://mail.gnu.org/archive/html/bug-coreutils/2004-05/msg00013.html>.
(remove_entry): Check for errno values like ENOENT
that show the file cannot be directory, instead of for errno
values like EPERM that show the file might be a directory. This
is necessary because, when a single unlink() call has multiple
reasons to fail, it can set errno to any of those reasons; it's
only the rare errno value like ENOENT that excludes all the other
possible reasons to fail even when the file is a directory.
(remove_cwd_entries): Don't attempt chdir if the file is known
to not be a directory.
(remove_dir): Use the same method that remove_cwd_entries uses
(for some reason they differed). Don't assert that saved_errno
must be EPERM; it might be just about anything.
Jim Meyering [Sat, 8 May 2004 12:47:23 +0000 (12:47 +0000)]
New file; check for the above fix.
Jim Meyering [Fri, 7 May 2004 06:48:31 +0000 (06:48 +0000)]
Update from gnulib.
(obstack_finish): Rename local: s/value/__value/.
Jim Meyering [Fri, 7 May 2004 06:48:12 +0000 (06:48 +0000)]
Update from gnulib.
(_): Define only if not already defined.
Jim Meyering [Thu, 6 May 2004 15:35:13 +0000 (15:35 +0000)]
*** empty log message ***
Jim Meyering [Thu, 6 May 2004 14:51:20 +0000 (14:51 +0000)]
(main): Use xnmalloc, rather than xmalloc.
Jim Meyering [Thu, 6 May 2004 14:50:17 +0000 (14:50 +0000)]
(main): Use xnmalloc, rather than xmalloc.
Jim Meyering [Thu, 6 May 2004 14:49:32 +0000 (14:49 +0000)]
(list_entries_users): Use xnmalloc, rather than xmalloc.
Jim Meyering [Thu, 6 May 2004 14:48:07 +0000 (14:48 +0000)]
(do_wipefd): Use xnmalloc, rather than xmalloc.
Jim Meyering [Thu, 6 May 2004 14:46:00 +0000 (14:46 +0000)]
(xgetgroups): Use variable name, rather than type name in computing buffer
size for xnmalloc.
Jim Meyering [Thu, 6 May 2004 14:43:31 +0000 (14:43 +0000)]
(xgetgroups): Use xnmalloc, rather than xmalloc.
Don't add `1' to the buffer size (it was to protect against malloc
implementations that fail to allocate a buffer of size zero).
That is no longer necessary, since we use a malloc wrapper
on such systems.
Jim Meyering [Thu, 6 May 2004 14:24:50 +0000 (14:24 +0000)]
(main): Use xnmalloc, rather than xmalloc.
Jim Meyering [Thu, 6 May 2004 14:24:16 +0000 (14:24 +0000)]
(elide_tail_bytes_pipe): Use xnmalloc, rather than xmalloc.
Jim Meyering [Thu, 6 May 2004 14:23:08 +0000 (14:23 +0000)]
(get_input_fstatus): Use xnmalloc, rather than xmalloc.
Jim Meyering [Tue, 4 May 2004 11:36:13 +0000 (11:36 +0000)]
.
Jim Meyering [Tue, 4 May 2004 07:26:41 +0000 (07:26 +0000)]
*** empty log message ***
Jim Meyering [Tue, 4 May 2004 07:26:33 +0000 (07:26 +0000)]
(show_disk, show_point): If several filesystems are
mounted on the same mount point, prefer the last one, not the first.
Problem reported by Christian Jones in
<http://mail.gnu.org/archive/html/bug-coreutils/2004-04/msg00200.html>.
(show_disk): Remove unused statp arg. Return bool, not int.
(show_point): Rewrite to avoid gotos. Use the same algorithm
for lofs and dummies for each pass through the mount table,
rather than subtly different algorithms (which are probably
inadvertent).
Jim Meyering [Mon, 3 May 2004 12:50:32 +0000 (12:50 +0000)]
*** empty log message ***
Jim Meyering [Mon, 3 May 2004 12:50:24 +0000 (12:50 +0000)]
(lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
Jim Meyering [Mon, 3 May 2004 11:52:46 +0000 (11:52 +0000)]
*** empty log message ***
Jim Meyering [Mon, 3 May 2004 11:52:39 +0000 (11:52 +0000)]
*** empty log message ***
Jim Meyering [Mon, 3 May 2004 11:52:33 +0000 (11:52 +0000)]
(EXTRA_DIST): Add m4/ChangeLog, now that we no longer have m4/Makefile*.
Jim Meyering [Mon, 3 May 2004 11:50:52 +0000 (11:50 +0000)]
*** empty log message ***
Jim Meyering [Mon, 3 May 2004 11:07:59 +0000 (11:07 +0000)]
.
Jim Meyering [Mon, 3 May 2004 11:03:14 +0000 (11:03 +0000)]
Temporary work-around for the problem reported here:
http://sources.redhat.com/ml/automake/2004-05/msg00023.html
(FIXME: the number `23' may not be accurate)
(AM_GNU_GETTEXT): Don't require AM_INTL_SUBDIR.
(AM_INTL_SUBDIR): Comment out definition.
Jim Meyering [Sat, 1 May 2004 16:45:58 +0000 (16:45 +0000)]
*** empty log message ***
Jim Meyering [Sat, 1 May 2004 16:45:39 +0000 (16:45 +0000)]
Remove unused file.
Jim Meyering [Sat, 1 May 2004 16:44:31 +0000 (16:44 +0000)]
Remove unused file.
Jim Meyering [Sat, 1 May 2004 16:43:46 +0000 (16:43 +0000)]
Remove unused file.
Jim Meyering [Sat, 1 May 2004 16:41:43 +0000 (16:41 +0000)]
Remove unused file.
Jim Meyering [Sat, 1 May 2004 16:41:02 +0000 (16:41 +0000)]
Remove unused file.
Jim Meyering [Sat, 1 May 2004 16:39:48 +0000 (16:39 +0000)]
Remove unused file.
Jim Meyering [Sat, 1 May 2004 16:38:12 +0000 (16:38 +0000)]
Remove file. This is now part of mktime.m4.
Jim Meyering [Sat, 1 May 2004 16:20:22 +0000 (16:20 +0000)]
.
Jim Meyering [Sat, 1 May 2004 14:42:45 +0000 (14:42 +0000)]
.
Jim Meyering [Sat, 1 May 2004 14:42:06 +0000 (14:42 +0000)]
*** empty log message ***
Jim Meyering [Sat, 1 May 2004 14:42:00 +0000 (14:42 +0000)]
(gl_MACROS): Move fchown-checking code to chown.m4.
Jim Meyering [Sat, 1 May 2004 14:41:21 +0000 (14:41 +0000)]
(gl_PREREQ_CHOWN): Check for fcntl.h.
See if we need an fchown replacement.
(gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
(gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
and use the replacement function if we detect either defect.
Jim Meyering [Sat, 1 May 2004 14:36:29 +0000 (14:36 +0000)]
(rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
Wrap old code with this conditional.
[CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
function that does not dereference symlinks.
Jim Meyering [Sat, 1 May 2004 14:33:41 +0000 (14:33 +0000)]
When chown or chgrp is modifying the referent of a symlink,
use the chown(2) function, if possible.
(change_file_owner): Don't hard-code the
open/fchown/close kludge here. Use `chown' instead.
The chown function works just fine on conforming systems.
Other systems now go through the new chown wrapper that
resorts to the old kludge.
Jim Meyering [Sat, 1 May 2004 06:49:01 +0000 (06:49 +0000)]
*** empty log message ***
Jim Meyering [Sat, 1 May 2004 06:48:55 +0000 (06:48 +0000)]
(change_file_owner): Add a comment.
Jim Meyering [Thu, 29 Apr 2004 16:03:21 +0000 (16:03 +0000)]
.
Jim Meyering [Wed, 28 Apr 2004 12:42:14 +0000 (12:42 +0000)]
Whoops: s/sc_src_tight_scope/sc_tight_scope/
Jim Meyering [Tue, 27 Apr 2004 19:01:00 +0000 (19:01 +0000)]
.
Jim Meyering [Tue, 27 Apr 2004 18:39:21 +0000 (18:39 +0000)]
(syntax_table, re_syntax_table): Remove declarations of two unused
variables (they were exposed by the above change).
Jim Meyering [Tue, 27 Apr 2004 18:37:14 +0000 (18:37 +0000)]
Make over 40 global extern variables `static'.
Jim Meyering [Tue, 27 Apr 2004 17:03:58 +0000 (17:03 +0000)]
(sc_tight_scope): Also check for global variables, (BSS section).
Jim Meyering [Tue, 27 Apr 2004 16:58:16 +0000 (16:58 +0000)]
*** empty log message ***
Jim Meyering [Tue, 27 Apr 2004 16:58:02 +0000 (16:58 +0000)]
Rename to sc_tight_scope.
(syntax-check-rules): Really add it.
Jim Meyering [Tue, 27 Apr 2004 16:57:23 +0000 (16:57 +0000)]
Rename to sc_tight_scope.
Jim Meyering [Tue, 27 Apr 2004 16:36:08 +0000 (16:36 +0000)]
*** empty log message ***
Jim Meyering [Tue, 27 Apr 2004 16:36:03 +0000 (16:36 +0000)]
(backup_type): Declare `static'.
Jim Meyering [Tue, 27 Apr 2004 16:34:47 +0000 (16:34 +0000)]
(opt_nul_terminate_output): Declare `static'.
Jim Meyering [Tue, 27 Apr 2004 16:32:43 +0000 (16:32 +0000)]
(G_fail): Declare `static'.
Jim Meyering [Tue, 27 Apr 2004 15:02:35 +0000 (15:02 +0000)]
*** empty log message ***
Jim Meyering [Tue, 27 Apr 2004 15:02:11 +0000 (15:02 +0000)]
(forget_created, remember_created)
(src_to_dest_lookup, remember_copied, hash_init, forget_all):
Add `extern' keyword.
Jim Meyering [Tue, 27 Apr 2004 15:01:31 +0000 (15:01 +0000)]
(dest_info_init, src_info_init, copy): Add `extern' keyword.
Jim Meyering [Tue, 27 Apr 2004 15:01:12 +0000 (15:01 +0000)]
(chopt_init, chopt_free, gid_to_name, uid_to_name, chown_files):
Add `extern' keyword.
Jim Meyering [Tue, 27 Apr 2004 15:00:32 +0000 (15:00 +0000)]
(rm): Add `extern' keyword.
Jim Meyering [Tue, 27 Apr 2004 14:57:48 +0000 (14:57 +0000)]
.
Jim Meyering [Tue, 27 Apr 2004 14:57:33 +0000 (14:57 +0000)]
(sc_src_functions_have_static_scope): New rule.
Jim Meyering [Tue, 27 Apr 2004 14:57:17 +0000 (14:57 +0000)]
*** empty log message ***
Jim Meyering [Tue, 27 Apr 2004 14:57:11 +0000 (14:57 +0000)]
(sc_src_functions_have_static_scope): New rule.
(syntax-check-rules): Add it.
Jim Meyering [Mon, 26 Apr 2004 16:31:42 +0000 (16:31 +0000)]
*** empty log message ***
Jim Meyering [Mon, 26 Apr 2004 16:31:14 +0000 (16:31 +0000)]
.
Jim Meyering [Mon, 26 Apr 2004 15:45:53 +0000 (15:45 +0000)]
*** empty log message ***
Jim Meyering [Mon, 26 Apr 2004 15:43:37 +0000 (15:43 +0000)]
Fix typo in env_default comment.
(18c, 18d): Reverse the order of output lines, so that the
test cases conform to POSIX.
Jim Meyering [Mon, 26 Apr 2004 15:39:02 +0000 (15:39 +0000)]
Fix typo in env_default comment.
Jim Meyering [Mon, 26 Apr 2004 15:38:16 +0000 (15:38 +0000)]
*** empty log message ***
Jim Meyering [Mon, 26 Apr 2004 15:37:48 +0000 (15:37 +0000)]
(sort invocation): Mention -k earlier, so
that the options are in alphabetical order. Describe how -b works
more-accurately; this involves fixing some examples, too. Mention
what happens if the start field falls after an end field or after
a line end. Warn about using -k without -b, -g, -M, -n, or -t.
Add an example of how to sort IPv4 addresses and Apache Common
Log Format dates. Remove a duplicate example.
(Putting the tools together): Use separate options rather
than agglomerating them.
Jim Meyering [Mon, 26 Apr 2004 15:37:33 +0000 (15:37 +0000)]
(limfield): Make a comment clearer.
Jim Meyering [Mon, 26 Apr 2004 15:31:13 +0000 (15:31 +0000)]
Fix POSIX-conformance bug: "sort -k 3,3.5b" is supposed to skip
leading blanks when computing the location of the field end;
it is not supposed to skip trailing blanks. Solaris 8 "sort"
does conform to POSIX. Also fix the documentation to clarify
this and related issues.
(limfield): Use skipeblanks, not skipsblanks, to
decode whether to skip leading blanks.
(trailing_blanks): Remove.
(fillbuf, getmonth, keycompare): Don't trim trailing blanks.
Jim Meyering [Mon, 26 Apr 2004 13:59:35 +0000 (13:59 +0000)]
update from master
Jim Meyering [Sat, 24 Apr 2004 08:09:52 +0000 (08:09 +0000)]
.
Jim Meyering [Sat, 24 Apr 2004 08:08:06 +0000 (08:08 +0000)]
.
Jim Meyering [Sat, 24 Apr 2004 08:04:20 +0000 (08:04 +0000)]
*** empty log message ***
Jim Meyering [Sat, 24 Apr 2004 08:03:46 +0000 (08:03 +0000)]
(gl_MACROS): Check for tcgetpgrp.
Jim Meyering [Sat, 24 Apr 2004 08:03:15 +0000 (08:03 +0000)]
More signal-handling cleanup for ls.c. Do not allow signals to
happen between arbitrary output bytes, as the
restore-default-color sequence can bollix up multibyte chars or
color-change sequences in the ordinary output. Instead, process
signals only between printing a file name and changing the color
back to non_filename_text color. That way, if the signal handler
changes the color (to the default), 'ls' will change it back when
'ls' continues (after being suspended).
Also, do not bother with signal-handling unless stdout is a
controlling terminal; this lets stdio buffer better when "ls
--color" is piped or sent to a file.
(sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: New macros.
Do not include "full-write.h"; no longer needed.
(tcgetpgrp) [! HAVE_TCGETPGRP]: New macro.
(put_indicator_direct): Remove. All callers changed to use
put_indicator.
(caught_signals, interrupt_signal, stop_signal_count): New vars.
(restore_default_color): Don't bother checking for put_indicator
failure.
(sighandler): Don't handle SIGTSTP; that's another handler now.
Simply set interrupt_signal to the signal, then exit.
(stophandler, process_signals): New functions.
(main): Don't output any color changes until _after_ the signal
handlers are set up. This fixes a race condition where 'ls'
could be interrupted while initializing colors, and leaving the
terminal in an undesirable state.
Don't mess with signal-handling if standard output is not a
controlling terminal.
When exiting, restore the default color, then restore the
default signal handling, then act on any signals that weren't
acted on yet.
Do not print //DIRED// etc. in colors; this avoids the need
to catch signals when printing them.
(print_name_with_quoting): Process signals just before switching
color back to non_filename_text.
Jim Meyering [Fri, 23 Apr 2004 17:32:32 +0000 (17:32 +0000)]
*** empty log message ***
Jim Meyering [Fri, 23 Apr 2004 17:32:25 +0000 (17:32 +0000)]
Avoid segfault on systems for which SIZE_MAX != (size_t) -1.
(quote_name): Use SIZE_MAX, not -1, in calls of quotearg_buffer.
Patch by Mikulas Patocka.
Jim Meyering [Fri, 23 Apr 2004 17:27:20 +0000 (17:27 +0000)]
*** empty log message ***
Jim Meyering [Fri, 23 Apr 2004 06:42:34 +0000 (06:42 +0000)]
*** empty log message ***
Jim Meyering [Fri, 23 Apr 2004 06:42:31 +0000 (06:42 +0000)]
Don't check for values.h; it's no longer used.
Jim Meyering [Wed, 21 Apr 2004 14:26:45 +0000 (14:26 +0000)]
*** empty log message ***
Jim Meyering [Wed, 21 Apr 2004 14:26:17 +0000 (14:26 +0000)]
*** empty log message ***
Jim Meyering [Wed, 21 Apr 2004 14:26:09 +0000 (14:26 +0000)]
(main): Do not ignore SIGPIPE, as POSIX 1003.1-2001
does not allow this. This undoes the 1996-10-24 patch.
Jim Meyering [Wed, 21 Apr 2004 12:57:46 +0000 (12:57 +0000)]
*** empty log message ***
Jim Meyering [Wed, 21 Apr 2004 12:57:33 +0000 (12:57 +0000)]
- csplit sometimes failed to remove files when interrupted.
- csplit didn't clean up if two signals arrived nearly simultaneously.
(sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: Define.
(filename_space, prefix, suffix, digits, files_created, remove_files): Now volatile.
(caught_signals): New var.
(cleanup): Block signals while deleting all files.
(cleanup_fatal, handle_line_error, regexp_error):
Mark with ATTRIBUTE_NORETURN.
(create_output_file, close_output_file, interrupt_handler):
Block signals while changing the number of output files,
to fix some race conditions.
(delete_all_files): Do nothing if remove_files is zero.
Clear files_created.
(main): Don't mess with signals until after argument processing is done.
(main): Rewrite signal-catching code to make it
similar to other coreutils programs. When processing signals,
block all signals that we catch, but do not block signals that we
don't catch. Avoid problems with unsigned int warnings.
(interrupt_handler): Use void, not (obsolete) RETSIGTYPE.
(interrupt_handler) [defined SA_NOCLDSTOP]:
Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
Jim Meyering [Wed, 21 Apr 2004 12:51:27 +0000 (12:51 +0000)]
- ls could incorrectly restore color if multiple signals
arrived nearly simultaneously.
(main): Rewrite signal-catching code to make it
similar to other coreutils programs. When processing signals,
block all signals that we catch, but do not block signals that we
don't catch. Avoid problems with unsigned int warnings.
(sighandler) [defined SA_NOCLDSTOP]:
Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
(sighandler) [!defined SA_NOCLDSTOP]: Reset signal
handler to self, not to SIG_IGN, since SIGTSTP can be received more than once.
(main): Use SA_RESTART, as that is simpler than checking for EINTR
failures all over the place.
Jim Meyering [Wed, 21 Apr 2004 12:25:18 +0000 (12:25 +0000)]
install -s failed on System V if SIGCHLD was ignored.
Include <signal.h>.
(main) [defined SIGCHLD]: Set SIGCHLD handler to the default,
if -s is given, since System V fork+wait does not work if SIGCHLD
is ignored.
Jim Meyering [Tue, 20 Apr 2004 18:13:54 +0000 (18:13 +0000)]
*** empty log message ***
Jim Meyering [Tue, 20 Apr 2004 18:13:43 +0000 (18:13 +0000)]
(is_empty_dir): Clarify comment.
Jim Meyering [Tue, 20 Apr 2004 15:10:07 +0000 (15:10 +0000)]
(main) [!defined _POSIX_SOURCE]:
Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
Jim Meyering [Tue, 20 Apr 2004 15:08:57 +0000 (15:08 +0000)]
(main): Rewrite signal-catching code to make it
similar to other coreutils programs. When processing signals,
block all signals that we catch, but do not block signals that we
don't catch. Avoid problems with unsigned int warnings.
(sighandler) [defined SA_NOCLDSTOP]:
Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
Jim Meyering [Tue, 20 Apr 2004 15:05:40 +0000 (15:05 +0000)]
(sigill_handler, isaac_seed_machdep): Use void, not (obsolete) RETSIGTYPE.
Jim Meyering [Tue, 20 Apr 2004 10:44:42 +0000 (10:44 +0000)]
(main) [!defined _POSIX_SOURCE]:
Use simpler "signal (sig, SIG_IGN)" rather than sigaction equivalent.
Jim Meyering [Tue, 20 Apr 2004 10:41:40 +0000 (10:41 +0000)]
*** empty log message ***
Jim Meyering [Tue, 20 Apr 2004 10:41:36 +0000 (10:41 +0000)]
(suspended): Change its type from int to sig_atomic_t volatile.
(first_call): Make it private to rpl_nanosleep, and have it
be zero initially as that's a bit faster.
(my_usleep): Round up fractional times instead of truncating them,
as this is the usual meaning for 'sleep'.
Jim Meyering [Tue, 20 Apr 2004 10:18:48 +0000 (10:18 +0000)]
.