Age | Commit message (Collapse) | Author |
|
when applied to files in /proc and /sys, even when the FIONREAD
ioctl produces nonsensical results. Before this change, cat would
produce no output (or truncated output), for some linux kernels.
* src/cat.c (write_pending): New function, factored out of cat.
(cat): Also interpret a negative ioctl/FIONREAD count as indicating
that there are bytes to read. Some versions of linux-2.6.16 do that.
Write any pending output before returning.
Reported by Dan Jacobson in <http://bugs.debian.org/370583>.
* NEWS: Mention this bug fix.
* tests/misc/cat-proc: New file. Test for the above.
* tests/misc/Makefile.am (TESTS): Add cat-proc.
|
|
|
|
|
|
(eval4, eval3): Check for integer overflow.
|
|
link system call cannot create a hard link to a symbolic link.
(copy_internal) [LINK_FOLLOWS_SYMLINKS]: Don't use
the link syscall on a symlink when it would do the wrong thing.
Based on the patch by Aurelien Jarno: <http://bugs.debian.org/329451>
|
|
From Justin Pryzby.
|
|
Somehow this program was skipped when those options were added to chown,
chmod, and rm. Reported by vaqflabuopac@spammotel.com in
<http://bugs.debian.org/365656>.
|
|
|
|
|
|
and arrange for -D to set fts' FTS_PHYSICAL bit as well as
FTS_COMFOLLOW. Spotted by Justin Pryzby.
|
|
FTS_TIGHT_CYCLE_CHECK directory traversal option.
Reported by Justin Pryzby in http://bugs.debian.org/367691
|
|
|
|
(copy_internal): Don't manually prohibit a move where
the destination is an existing directory. Sometimes doing that is
valid. Let the rename system call enforce the rules. That is
allowed only when the source is a directory and the destination
directory (to be replaced) is empty. Reported by Eric Blake.
|
|
when moving a symlink into the place of an existing non-directory.
Reported by Joshua Hudson.
|
|
|
|
|
|
|
|
Use better macro parameter names: s/basename/key_name/,
s/basefunc/key_cmp_func. Fix typo in comment.
|
|
implies format_needs_type, not format_needs_stat.
|
|
in arg list, from Eric Blake.
|
|
choosing sort function; added new sort_numtypes member for
compile-time check.
(time_type): Add new time_numtypes member for compile-time check.
(directories_first): New global variable.
(GROUP_DIRECTORIES_FIRST_OPTION): New enum.
(long_options): Add --directories-first.
(main): Support new option.
(is_directory): New function.
(extract_dirs_from_files): Use it.
(DIRFIRST_CHECK, DEFINE_SORT_FUNCTIONS)
(LIST_SORTFUNCTION_VARIANTS): New macros.
(sort_functions): New global variable.
(sort_files): Use it.
(usage): Document new option.
|
|
what must be a typo. Strengthen it to its intended value.
(dopass): Don't use alloca; it's not worth the aggravation here,
since it's used only to get a page-aligned buffer, and page
alignment doesn't buy us much here. I'm suspicious that alloca
causes problems on some hosts, due to a recent bug report by Adam
Waltman.
|
|
(old) mode_string, so that we get more file types right, at least
in theory. Adjust to filemode changes.
|
|
(print_long_format): Use (new) filemodestring rather than
(old) mode_string, so that we get more file types right, at least
in theory. Adjust to filemode changes.
|
|
|
|
ignore file. This has never been enabled. Reported by Eric Blake.
|
|
|
|
Include <sys/statvfs.h> and use statvfs only if USE_STATVFS.
(NAMEMAX_FORMAT): define a bit more clearly, now that the
statvfs-using code is a bit more regular.
|
|
|
|
bug in Interix. Just call symlink or link directly. All uses changed.
|
|
change from the old (Emacs) behavior, and POSIX allows us to treat [z-a]
as an empty range.
|
|
what POSIX requires. Also, don't let anchors match
newline; this fixes an incompatibility with tradition and with POSIX.
Don't warn about leading ^. POSIX says it is unspecified whether
^ is a special character, which means that implementations can
either treat it as special or not, but either way a warning is not
allowed (unless the regexp is otherwise invalid). Instead, anchor
the expression but treat ^ as an anchor; this is the traditional
behavior (e.g., Solaris 10).
(eval4, eval3, eval2): Treat non-numeric args, division by zero,
and the like as invalid expressions (exit status 2), not as
failure of 'expr' (exit status 3). This is more consistent with
how Solaris behaves.
|
|
with what POSIX requires.
|
|
value that is compatible with what POSIX requires.
|
|
(main): Use it. Don't bother allocating a buffer.
|
|
(context_regex, word_regex): New vars, replacing the above.
All uses changed.
(struct regex_data): New type.
(compile_regex): Renamed from alloc_and_compile_regex, since
we no longer allocate storage. Arg is now a struct regex_data *,
not a const char *. All uses changed. Don't allocate the fastmap;
instead, take it from the caller. Don't convert size_t to int,
to avoid arithmetic overflow problems. Don't bother freeing
storage afterwards; it's not worth the aggravation.
|
|
New vars.
(build_type_arg): New fastmap arg. All uses changed.
Don't bother allocating a buffer, but set a fastmap.
|
|
Don't bother allocating a buffer.
|
|
|
|
end, since it's large. Change regexpr member from char * to bool;
all uses changed. Add new member fastmap.
(extract_regexp): regexp arg is now char const *, not char *.
Don't bother duplicating the regular expression; it's not needed.
Set fastmap from new fastmap member. Don't bother allocating
a buffer, as the regexp code does a better job than we do.
|
|
Reported by Felix Rauch Valenti.
|
|
(main): Alias --copyright to --version plus a deprecation warning.
|
|
|
|
Tiny patch from Nickolai Zeldovich.
|
|
|
|
|
|
|
|
|
|
|
|
base_name.
|