summaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
2007-02-03* NEWS: Document fix for cp --preserve=mode.Paul Eggert
* src/copy.c (copy_internal): Omit the group- or other-writeable permissions when creating a directory, to avoid a race condition if the special mode bits aren't right just after the directory is created. * src/cp.c (make_dir_parents_private): Likewise. * tests/cp/parent-perm-race: Test for the "cp --preserve=mode" race fix in copy.c.
2007-02-03* NEWS: Document fix for cp --parents.Paul Eggert
* src/cp.c (make_dir_parents_private): Report the error sooner with "cp --parents DIR/FILE DEST" when DIR is a non-directory, thus not creating the directory, DEST/DIR. * tests/cp/cp-parents: Test for the non-race-condition bug fixed by the above change.
2007-02-02* src/nl.c (proc_text): Use "NULL", not "(struct re_registers *) 0".Jim Meyering
2007-02-02* src/c99-to-c89.diff: Make shred.c Index: and a/b prefixesJim Meyering
consistent, so this can be applied with patch -p0. Reported by Matthew Woehlke. * Makefile.maint (patch-check): Use patch with its -p2 option, since that makes this check slightly more strict.
2007-01-29Plug a leak in ls.Jim Meyering
* src/ls.c (print_dir): Don't leak a "DIR"+fd upon failure to determine dev/inode or upon detecting a symlink loop.
2007-01-29* src/ls.c: Rename three global variables.Jim Meyering
(cwd_file): Rename from 'files'. (cwd_n_alloc): Rename from 'nfiles'. (cwd_n_used): Rename from 'files_index'.
2007-01-29Shave 8 bytes off the size of "struct fileinfo".Jim Meyering
* src/ls.c (fileinfo): Put all members of type "bool" together.
2007-01-29Modify "ls" to sort its data faster, using the new gnulib mpsortPaul Eggert
module rather than qsort. This is particularly a win in environments where strcoll is slow, since mpsort typically calls strcoll less often than qsort does. * bootstrap.conf (gnulib_modules): Add mpsort. * src/ls.c: Include mpsort.h. (sorted_file, sorted_file_alloc): New vars, for a new vector of pointers to the file info, for speed. (clear_files, extract_dirs_from_files, sort_files, print_current_files): (print_many_per_line, print_horizontal, print_with_commas): (calculate_columns): Set and use new vector. (initialize_ordering_vector): New function.
2007-01-26Adjust to today's change to gnulib, which added a module forPaul Eggert
string.h to replace the little include files like strcase.h. * src/dircolors.c: Don't include strcase.h. * src/system.h: Don't include mempcpy.h, memrchr.h, stpcpy.h, strpbrk.h.
2007-01-26* src/dd.c (advance_input_after_read_error): Change diagnostic toJim Meyering
say "invalid file offset" rather than "screwy file offset".
2007-01-26* .x-sc_cast_of_argument_to_free: Remove this file.Jim Meyering
* Makefile.am (EXTRA_DIST): Likewise.
2007-01-25* src/sort.c (create_temp): Remove superfluous access-X_OKDan Hipschman
check. find_in_path does this for us.
2007-01-24Remove usually-skipped test.Jim Meyering
* tests/cp/open-perm-race: Remove this file. It is subsumed by parent-perm-race. * tests/cp/Makefile.am (TESTS): Remove open-perm-race. * tests/sort/Makefile.am: Regenerate.
2007-01-24Pass "make distcheck" again.Jim Meyering
* src/sort.c (usage): Split a diagnostic that had grown to be longer than the C89 maximum of 509 bytes. * .x-sc_cast_of_argument_to_free: New file. Allow a cast in sort.c. FIXME: this is just temporary, while we wait to remove the offending access-calling code. * Makefile.am (EXTRA_DIST): Add .x-sc_cast_of_argument_to_free. * Makefile.maint (sc_cast_of_argument_to_free): Use the canonical, $$($(CVS_LIST_EXCEPT)). * m4/.gitignore, m4/.cvsignore, lib/.gitignore, lib/.cvsignore: Update.
2007-01-24* NEWS: New option sort -C, proposed by XCU ERN 127, which looksPaul Eggert
like it will be approved. Also add --check=quiet, --check=silent as long aliases, and --check=diagnose-first as an alias for -c. * doc/coreutils.texi (sort invocation): Document this. Also, mention that sort -c can take at most one file. * src/sort.c: Implement this. Include argmatch.h. (usage): Document the change. (CHECK_OPTION): New constant. (long_options): --check now takes an optional argument, and is now treated differently from 'c'. (check_args, check_types): New constant arrays. (check): New arg CHECKONLY, which suppresses diagnostic if -C. (main): Parse the new options. * tests/sort/Test.pm (02d, 02d, incompat5, incompat6): New tests for -C.
2007-01-24Fix a typo.Jim Meyering
* tests/misc/sort-compress: Use $abs_top_builddir, not $top_builddir. * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise.
2007-01-24Don't depend on "which".Jim Meyering
* tests/misc/sort-compress (SORT): Use $abs_builddir, now which. * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Export top_builddir.
2007-01-24Test sort compression.Dan Hipschman
* tests/misc/Makefile.am: Add the test. * tests/misc/sort-compress: New file containing the tests.
2007-01-24* NEWS: sort temp file compression: tweak wording.Jim Meyering
* src/sort.c (struct sortfile) [name]: Declare member to be const.
2007-01-24* src/sort.c (MAX_FORK_RETRIES_COMPRESS, MAX_FORK_RETRIES_DECOMPRESS):Dan Hipschman
In pipe_fork callers, use these named constants, not "2" and "8". (proctab, nprocs): Declare to be "static". (pipe_fork) [lint]: Initialize local, pid, to avoid unwarranted may-be-used-uninitialized warning. (create_temp): Use the active voice. Describe parameters, too. 2007-01-21 James Youngman <jay@gnu.org> Centralize all the uses of sigprocmask(). Don't restore an invalid saved mask. * src/sort.c (enter_cs, leave_cs): New functions for protecting code sequences against signal delivery. * (exit_cleanup): Use enter_cs and leave_cs instead of calling sigprocmask directly. (create_temp_file, pipe_fork, zaptemp): Likewise 2007-01-21 Dan Hipschman <dsh@linux.ucla.edu> Add compression of temp files to sort. * NEWS: Mention this. * bootstrap.conf: Import findprog. * configure.ac: Add AC_FUNC_FORK. * doc/coreutils.texi: Document GNUSORT_COMPRESSOR environment variable. * src/sort.c (compress_program): New global, holds the name of the external compression program. (struct sortfile): New type used by mergepfs and friends instead of filenames to hold PIDs of compressor processes. (proctab): New global, holds compressor PIDs on which to wait. (enum procstate, struct procnode): New types used by proctab. (proctab_hasher, proctab_comparator): New functions for proctab. (nprocs): New global, number of forked but unreaped children. (reap, reap_some): New function, wait for/cleanup forked processes. (register_proc, update_proc, wait_proc): New functions for adding, modifying and removing proctab entries. (create_temp_file): Change parameter type to pointer to file descriptor, and return type to pointer to struct tempnode. (dup2_or_die): New function used in create_temp and open_temp. (pipe_fork): New function, creates a pipe and child process. (create_temp): Creates a temp file and possibly a compression program to which we filter output. (open_temp): Opens a compressed temp file and creates a decompression process through which to filter the input. (mergefps): Change FILES parameter type to struct sortfile array and update access accordingly. Use open_temp and reap_some. (avoid_trashing_input, merge): Change FILES parameter like mergefps and call create_temp instead of create_temp_file. (sort): Call create_temp instead of create_temp_file. Use reap_some. (avoid_trashing_input, merge, sort, main): Adapt to mergefps.
2007-01-20* tests/misc/pwd-long: Work properly even when run from theJim Meyering
wrong one of two or more bind-mounted sibling directories. Suggestion from Mike Stone in <http://bugs.debian.org/380552>.
2007-01-20Standardize on list of signals when an app catches signals.Paul Eggert
* src/csplit.c (main): Also catch SIGALRM, SIGPIPE, SIGPOLL, SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ. * src/ls.c (main): Likewise (except SIGPIPE was already caught). Note that ls.c is special, as it also catches SIGTSTP. * src/sort.c (main): Likewise. Also catch SIGQUIT. More details in <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9510>.
2007-01-19* src/sort.c (cleanup): Clear temphead at the end.Dan Hipschman
(exit_cleanup): New function. (main): Don't invoke atexit until we're ready. Invoke it with exit_cleanup, not with cleanup and close_stdout, to avoid a race condition with cleanup and signal handling. More details: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9508
2007-01-18* src/c99-to-c89.diff: Adjust remove.c offsets.Jim Meyering
2007-01-17Make "rm --interactive=never ..." never prompt.Jim Meyering
* NEWS: Mention this. * src/remove.h (enum rm_interactive): New ternary type. (struct rm_options) [interactive]: Use it, here -- rather than bool. * src/remove.c (prompt): Reflect type change. * src/mv.c (rm_option_init): Initialize to RMI_NEVER now. * src/rm.c (main): Add a FIXME comment for '-d' option. Adapt to type change of rm_options.interactive. * tests/rm/i-never: New file. Test for the above fix. * tests/rm/Makefile.am (TESTS): Add i-never.
2007-01-15* bootstrap (gnulib_tool): When adding to .cvsignore and .gitignore,Jim Meyering
emit foo.h, for each foo_.h. This yields one false-positive, fts.h, but that's ok, since fts_.h will eventually be renamed.
2007-01-15* src/remove.c (remove_dir): Don't use errno in diagnostic.Jim Meyering
Root-only test failure reported by Alex van Hout and Jon Grosshart in <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9415/focus=9415>.
2007-01-15* bootstrap.conf (avoided_gnulib_modules): Fix my typo:Jim Meyering
s/--avoid=canonicalize-lgpl/--avoid=canonicalize-gpl/
2007-01-14Enable use of gnulib's new fchdir module.Bruno Haible
* bootstrap.conf (avoided_gnulib_modules): Avoid canonicalize-lgpl, since we use canonicalize. (gnulib_modules): Add fchdir. * m4/jm-macros.m4 (coreutils_MACROS): Remove fchdir-stub.
2007-01-13Put CU_TEST_NAME in the environment for each test run by "make check".Jim Meyering
* Transform all Makefile.am files so that when running "make check", CU_TEST_NAME is set to the name of the test. This is so that when I run valgrind-enabled (--log-file-qualifier=CU_TEST_NAME) "make check" on the entire package it is more convenient to map a leak or error found in a valgrind log file back to the offending test. Use this command: (echo tests/Makefile.am.in; find tests -name Makefile.am) \ |xargs perl -pi -e '/^(\s*)PATH=...VG_PATH_PREFIX/ and ' \ -e 'print $1,q|CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst |,"\\\n"'
2007-01-11Avoid a leak in expr's implementation of the ":" (match) operator.Jim Meyering
* src/expr.c (docolon): Free the regexp buffer using regfree, rather than doing it manually, being careful to set fastmap to NULL first. Free any re_regs.start and .end members, if necessary.
2007-01-11* tests/misc/test-diag: Work also when libc's error functionJim Meyering
reports the entire program name ("../../src/test"), rather than just the final component.
2007-01-11Merge branch 'master' of /cuJim Meyering
2007-01-11trivial mergeJim Meyering
2007-01-10Don't use fts_statp uninitialized for "chown -RLh --preserve-root ...".Jim Meyering
* src/chown-core.c (FTSENT_IS_DIRECTORY): New macro. (change_file_owner): Perform the ROOT_DEV_INO_CHECK only for a directory. Non-directory entries lack fts_statp data when using the FTS_NOSTAT option.
2007-01-07* tests/sample-test: Update copyright date to 2007.Jim Meyering
* Makefile.maint (copyright-check): Also check the copyright date in tests/sample-test.
2007-01-06* tests/fmt/basic (pfx-only, pfx-of-pfx): New tests,Jim Meyering
based on examples from G.P. Halkes in <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9388>.
2007-01-06* src/fmt.c (copy_rest): Correct prefix handling.G.P. Halkes
Don't elide a line with the prefix followed by only white space. (get_line): Move EOF-check to loop-termination condition. * tests/fmt/basic (pfx-1): Adjust test to expect desired result. (pfx-2): Remove test; its premise was contrary to the documentation.
2007-01-05Avoid a used-uninitialized bug for invalid input, i.e., when the sizeJim Meyering
of the input, not counting newlines, is 1 % 4. * gl/lib/base64.c (base64_decode): Don't hard-code inlen==4. It may be smaller when flushing.
2007-01-05* src/dircolors.hin: Add a TERM directive for cons25.Mike Frysinger
2007-01-04Use the release year, not the current year.Jim Meyering
* src/groups.sh (version): Use a better name: @RELEASE_YEAR@. * src/Makefile.am (RELEASE_YEAR): Define it. (.sh): Use it. Thanks to a prod from Eric Blake.
2007-01-04Ensure that "group --version" always prints the current year.Jim Meyering
* src/groups.sh (version): Use @CURRENT_YEAR@, rather than 2006. * src/Makefile.am (.sh): Also substitute for @CURRENT_YEAR@. Suggestion from Eric Blake.
2007-01-04* Makefile.cfg (local-checks-to-skip): Skip strftime-check, inJim Meyering
case you don't have convenient access to glibc info documentation.
2007-01-04[ChangeLog]Jim Meyering
When decoding, always allow newlines in input, with almost no performance impact. * src/base64.c (do_decode): Initialize decode context. Call base64_decode one more time, after all input is processed. (usage): When decoding, newlines are always accepted. * tests/misc/base64: Add a bunch of tests, for the above. * gl/lib/base64.c: Include <string.h>. (base64_decode_ctx_init, get_4, decode_4): New functions. (base64_decode): Efficiently handle interspersed newlines. (base64_decode_alloc): Update signature. * gl/lib/base64.h (struct base64_decode_context): Define. (base64_decode_ctx_init): Add prototype. (base64_decode, base64_decode_alloc): Update prototypes. [doc/ChangeLog] * coreutils.texi (base64 invocation): When decoding, newlines are always accepted.
2007-01-04* gl/lib/base64.c: Copied from gnulib.Jim Meyering
* gl/lib/base64.h: Likewise.
2007-01-03Document what the ".0" in e.g., "-k 2,3.0" means, and...Evan Hunt
* coreutils.texi (sort invocation): ... that it can be applied to the field-end spec, but not the field-start one. Patch from Evan Hunt. Signed-off-by: Jim Meyering <jim@meyering.net>
2007-01-03Avoid spurious test failures on MacOS X 10.3.9, in a German locale.Bruno Haible
* tests/chown/deref: Apply lang-default. * tests/misc/split-a: Likewise. * tests/mv/reply-no: Likewise. Signed-off-by: Jim Meyering <jim@meyering.net>
2007-01-03* src/copy.c (copy_internal): Use mkfifo as a fallback if mknod fails.Bruno Haible
Needed on MacOS X. Signed-off-by: Jim Meyering <jim@meyering.net>
2007-01-02Now, "ls -FRL" always follows symbolic links on Linux.Paul Eggert
* NEWS: Mention this bug fix. * src/ls.c (gobble_file): Fix bug reported by Nobuyuki Tsuchimura in http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00152.html where "ls -FRL" didn't follow a symbolic link in some cases on Linux. * tests/ls/follow-slink: Add a test for this case. Signed-off-by: Jim Meyering <jim@meyering.net>
2007-01-01* tests/rm/fail-eperm: Instead, simply transform the actual output diagnostic.Jim Meyering
Test failure reported by Bob Proulx.