📄 changelo.g
字号:
Remove all trailing slashes from all non-option args.
(main): Set new global var `stdin_not_tty'.
(copy): Use POSIX method of handling file overwriting and
prompting.
* dirlib.c (mkdir): Use chmod to set the directory mode after
successful creation, so set[ug]id and sticky bits are set
correctly.
Thu Mar 15 12:33:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* Makefile: Add commented out definitions for SCO Xenix.
* ls.c (print_type_indicator): Don't print a '*' next to
executable block or character special files.
* chmod.c (error): New function, replacing nonfatal_perror,
memory_out, and invalid_mode.
Global: Call error instead of the above functions.
(change_dir_mode): Make the new size of the path twice the
size of the name that was too long, rather than twice its old
size.
* rm.c: Move interactive query about whether to remove a
directory from remove_dir to clear_directory; only query for
directories that are not empty.
Wed Mar 14 10:48:40 1990 David J. MacKenzie (djm at rice-chex)
* system.h [USG]: Define X_OK.
* rm.c (main): Set new global var `stdin_not_tty'.
(rm): Most of code moved to two new functions, remove_file and
remove_dir.
(remove_file): Use POSIX method of determining whether to remove
non-directories.
(remove_dir): Use POSIX method of determining whether to
remove directories, almost.
(perror_with_name): Function removed.
(error): Simple version replaced with more powerful version.
Global: Change calls to fprintf, perror_with_name, and old
error to calls to new error.
* ln.c (main): Set new global var `stdin_not_tty'.
If force, turn off interactive.
(do_link): By default, don't allow hard links to symbolic links to
directories. Use POSIX method of determining whether to
overwrite destination.
(yesno): Function renamed from confirm, and arg removed.
(lisdir): Function removed.
* mv.c (main): Set new global var `stdin_not_tty'.
(yesno): Function renamed from yes.
(do_move): Use POSIX method of determining whether to
overwrite destination.
* Makefile: Make executables depend on .o files, not .c files,
to allow for parallel compilation.
* cmp.c (main, cmp, usage): Replace -q +quick option with -L
+show-chars option to add ASCII representation of bytes to -l format.
Tue Mar 13 00:50:14 1990 David J. MacKenzie (djm at rice-chex)
* rm.c (main): Disallow removal of paths that have '..' as the
final element.
(basename): New function.
* ls.c (print_type_indicator): Mark FIFOs with '|' and sockets
with '='.
(print_long_format): Print numbers as unsigned and add extra
space for POSIX flag.
* dd.c: Make the record counts unsigned.
(quit): Print them as unsigned.
* cmp.c (cmp): Change EOF message for POSIX compatibility.
For -l format, clear bits > FF.
* modechange.c (compile_mode): Only get umask value when needed.
If users are not given or are `a', affect set?id and sticky bits.
If memory is exhausted while allocating a new list element,
free the old elements before returning.
* Makefile (CC): Add comment noting that either fixincludes or
-traditional needs to be used for gcc to compile ioctl calls
correctly.
Mon Mar 12 16:25:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
* touch.c [UTIME_OF_NULL_MISSING]: Call lseek() before write().
* posixtime.y [__GNUC__]: Use __builtin_alloca.
Fri Mar 9 10:25:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* chmod.c (main): Recognize "a,+-=" as valid options.
* mv.c: Move the code to copy files across filesystems from
do_move to a new function, copy, which will eventually be
replaced with modules from cp and rm (POSIX requires mv to
move directories recursively across filesystems).
(do_move): Don't query about overriding a mode that prohibits
writing if interactive. Remove unneeded variable.
(copy): Unlink target if copy fails partway through.
Thu Mar 8 10:56:16 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* cp.c (copy): Don't remove a destination file of a different
type unless +force is given.
* ls.c (decode_switches, usage): Add -U (for "unsorted") as an
equivalent to +sort=none.
Mon Mar 5 17:21:00 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* tail.c: Move global `errors' into main instead of having
nonfatal_perror set it.
(tail, tail_chars, tail_file, tail_lines, pipe_chars, pipe_lines):
Return an error status.
(file_lines, start_chars, start_lines): Reverse the meaning of
the return value.
(tail_lines, tail_chars): Account for that reversal.
Mon Mar 5 16:31:14 1990 Torbj|rn Granlund (tege at echnaton)
* cp.c (copy): Test for temporarily modified permission mode
after the other test, so that `-p' work for files whose mode
needed a temporary mode change.
* cp.c (copy): Don't waste time calling unlink if we already
know that the destination doesn't exists.
* cp.c (comment before do_copy): Correct.
* cp.c (comment before copy): Describe all params.
* cp.c (copy): Only change permission mode for regular files
and directories.
* cp.c (copy): Unlink the destination file if its type is
different from the source. If the destination is a
directory, error.
Mon Mar 5 00:34:36 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* chmod.c (nonfatal_perror): Don't check for force_silent.
(change_file_mode, change_dir_mode): If force_silent, don't
print error messages.
* mv.c (main): If force, turn off interactive.
(do_move): Simplify check for query. Rename `stb' to
`to_stats' and `stbf' to `from_stats'.
Return error condition if original file could not be renamed or
unlinked.
* rm.c: Rename global `force_flag' to `ignore_errors' and change its
meaning so that it does not overlap with `override_mode'.
(main): Have -f +force set override_mode. If override_mode is
set, turn off interactive.
(rm): Simplify checks for whether to query the user, based on
the new relationship between override_mode and interactive.
* head.c: Move global `errors' into main and have the various
functions return an error status instead of setting it in
nonfatal_perror.
Sun Mar 4 23:39:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* ln.c (main): Reword an error message to be more like mv's.
* rmdir.c: Move global `errors' into main instead of having
error set it.
* mkdir.c: Move global `errors' into main and have make_path
return an error status instead of having error set it.
* chmod.c: Move global `errors' into main and have
change_file_mode and change_dir_mode return an error status
instead of setting it in nonfatal_perror.
Sat Mar 3 13:59:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* ln.c (main): Don't strip leading dirs from argv[0].
* ln.c (confirm), mv.c (yes, do_move),
cp-aux.c (user_confirm_overwriting), rm.c (rm, yesno, check_stack):
Print query messages to stderr instead of stdout, for POSIX.
Include program name in messages.
Sat Mar 3 11:27:27 1990 Torbj|rn Granlund (tege at echnaton)
* cmp.c (cmp): Call function bcmp_cnt for flag == 0 (i.e. no
options specified), to compare the two blocks and count
newlines simultaneously.
* cmp.c New function: bcmp_cnt.
* cmp.c (main): Test if output is redirected to /dev/null, and
assume `-s' if this is so.
* cp.c (copy): Don't unlink directories with flag_force
(`-f'). Also avoid using force when not necessary.
Always copy fifo's and symbolic links as themselves.
* cp.c (copy_reg): Make int scan first, char scan then, to
find frist non-zero byte. This to avoid false hole
creation.
Sat Mar 3 10:22:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* mv.c: Rename `pgm' to `program_name'. Move global `errors'
into main. Have do_move and movefile return an error status
instead having error set it. Remove global vars `args'
and `args_left'.
(main): Rename `ac' and `av' to `argc' and `argv' and use them
and `optind' instead of `args' and `args_left'.
* cp.c (copy): Don't ignore errors other than EPERM from chown.
Fri Mar 2 16:20:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* rm.c (main, usage): Allow -R as a synonym for -r, for POSIX.
* cp.c (copy): If flag_preserve, preserve the owner and group
if possible, as well as mode.
(main): Allow -R as a synonym for -r option, for POSIX.
* cp-aux.c (usage): Mention -R.
Tue Feb 27 11:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* cp.c (copy): If not recursive, copy special files and
symlinks like regular files and omit fifos.
Mon Feb 26 19:55:24 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
* ls.c (print_long_format): If time is in the future, print
the year.
Make the cutoff for old files 6 months not 300 days.
Mon Feb 26 13:31:07 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
* touch.c, Makefile: Use getdate.y instead of unctime.y.
* touch.c: Remove posixtime.
(main): Check for error from posixtime.
posixtime.y: New file.
* touch.c: Change a few cryptic error messages.
* touch.c: Include <errno.h> not <sys/errno.h>.
* touch.c: just_set_amtime: New variable.
(touch): Add if (just_set_amtime) code.
Mon Feb 26 15:03:29 1990 Torbj|rn Granlund (tege at echnaton)
* cp.c (copy): Test for recursive copy in DIR alternative in
the switch statement, so all file types are copied correctly
even in a non-recursive copy.
* cp.c (copy): Return after having created a symlink, since
chmod and utimes dereference, and would affect the symlink
target. Remove test for symlinks after switch.
Sun Feb 25 18:31:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* Makefile: Compile ls after vdir so systems with a cc that
can't do -c -o don't have to compile ls.c twice for ls.
* dd.c (usage): Add braces around alternatives.
* ls.c (print_long_format): Always print the group, for POSIX.
(decode_switches): Make -g option a no-op for BSD users.
(usage): Remove +group option.
* cat.c (main, usage): Add -c option, identical to -s, for
POSIX. Alphabetize short options.
Wed Feb 21 11:13:26 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* ln.c (error): New function.
(main, do_link): Call error instead of fprintf and exit.
(main): Recognize new -d +directory option to allow superuser to
make hard links to dirs, like the BSD ln -f option.
(do_link): Don't allow hard links to dirs (they are hard to
get rid of -- rmdir and unlink don't do it), unless -d was given.
(usage): Mention -d +directory option.
* rmdir.c (main): Remove trailing slashes from args (added by
shell file completion but the rmdir syscall can't handle them).
* mkdir.c (main): Remove trailing slashes from args, for
uniformity with rmdir (you can't do file completion on dirs
that haven't been made yet . . .).
* mv.c: Rename global var `nargs' to `args_left' to avoid
conflict with undocumented BSD libc function (the new name is
clearer, anyway).
Tue Feb 20 17:09:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* dd.c: Use new global var `program_name' in error messages
instead of hardcoded "dd".
(main): Set program_name from argv[0].
* chmod.c, head.c, tail.c (main): Don't strip leading dirs
from argv[0].
(basename): Function removed.
* rm.c (main): Don't strip leading dirs from argv[0].
* cat.c: Change `argbad' from a char to a short, so it will
work on machines with unsigned chars.
Mon Feb 19 14:34:18 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* rm.c (main): Strip trailing slashes from each arg.
Thu Feb 15 13:23:52 1990 David J. MacKenzie (djm at rice-chex)
* Makefile [HPUX CFLAGS]: Add -DUTIMES_MISSING.
Wed Feb 14 15:01:18 1990 David J. MacKenzie (djm at rice-chex)
* Makefile (dist): Don't make a non-compressed tar file.
* mv.c (do_move): Refuse to copy non-regular files across filesystems.
Tue Feb 13 15:06:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
* touch.c (getname): New function.
(main): Use it.
Mon Feb 12 11:30:45 1990 David J. MacKenzie (djm at rice-chex)
* ln.c (do_link): Check error return from unlink.
Include errno.h.
* du.c (main): Check error return from stat.
(str_copyc, str_concatc): Don't return a value, since it is
ignored.
* cp.c (copy): Check error return from unlink and chmod. Fix
typo in call to error.
* mv.c (do_move): Check error return of fchmod/chmod and utime[s].
(rename): Check error return of unlink.
* Makefile Definitions of preprocessor macros moved from
cp.c and mv.c. HAVE_FTRUNCATE changed to FTRUNCATE_MISSING.
* Makefile, dirlib.c: NEED_MKDIR changed to MKDIR_MISSING.
* mv.c, cp.c: Change USG ifdefs to UTIMES_MISSING.
Sun Feb 11 17:50:29 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* chmod.c (usage): Add yet another ellipsis.
Sun Feb 11 16:41:30 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
* cp.c (copy_reg): Use HAVE_FTRUNCATE to decide whether to
use ftruncate().
(main): Use GETGROUPS_MISSING to decide whether to use getgroups().
[hpux || !USG]: Define HAVE_FTRUNCATE.
[USG && !hpux]: Define GETGROUPS_MISSING.
mv.c (rename): Put in #ifdef RENAME_MISSING not #ifdef USG.
(do_move): Use FCHMOD_MISSING to decide whether to use fchmod().
[USG && !hpux]: Define FCHMOD_MISSING and RENAME_MISSING.
Sat Feb 10 02:16:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* cmp.c (cmp): Rename `r' to `first_diff', and `x' to `smaller'.
Remove unneccessary variable `c1'. If -l was given, increase
`char_number' by the number of bytes read, after producing output,
rather than by the offset of the first differing bytes, before
producing output.
Replace if-else-if constructions with case statements for clarity.
(bcmp2): Rename `n' to `nread'.
Fri Feb 9 10:25:03 1990 David J. MacKenzie (djm at rice-chex)
* mv.c (movefile): Remove trailing slashes from FROM (some
filename completion systems add them for dirs, and they cause
the rename syscall to fail).
Thu Feb 8 22:50:12 1990 Torbj|rn Granlund (tege at sics.se)
* cp.c (copy_reg): Change error handling after lseek, since
this is a fatal error. Also change error message to
something more generally understood.
* Handle files that end in a zero block on USG systems.
* cp-aux.c (error): Use FATAL to recog fatal errs.
Thu Feb 8 21:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* ln.c: Remove incorrect comment.
* cp.c, cp-aux.c (usage): Change +dereference option to
+no-dereference, since dereferencing is done by default and
the option turns it off.
Mon Feb 5 17:29:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* Version 1.0 released.
Local Variables:
mode: indented-text
left-margin: 8
version-control: never
End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -