Jim Meyering
d12ca9764b
rm: do not resort to stat'ing very long names even on deficient systems
...
This change affects only systems that have neither *at function support
nor the /proc/self/fd support required to emulate those *at functions.
* src/remove.c (write_protected_non_symlink): Call faccessat
unconditionally. Thus we no longer need euidaccess_stat, which was
the sole function used here to operate on a full relative file name.
Remove full_name parameter and update caller.
* lib/euidaccess-stat.h: Remove file.
* lib/euidaccess-stat.c: Likewise.
* m4/euidaccess-stat.m4: Likewise.
* po/POTFILES.in: Remove lib/euidaccess-stat.c.
* m4/prereq.m4 (gl_PREREQ): Don't require gl_EUIDACCESS_STAT.
Prompted by a report from Bruno Haible that the rm/deep-2
test was failing on HP-UX 11.31.
See http://thread.gmane.org/gmane.comp.gnu.coreutils.general/1748
2011-10-09 19:04:35 +02:00
Jim Meyering
84d048002e
maint: use "const" and "pure" function attributes where possible
...
* configure.ac (WARN_CFLAGS): Add -Wsuggest-attribute=const,
-Wsuggest-attribute=pure and -Wsuggest-attribute=noreturn.
(GNULIB_WARN_CFLAGS): But do not add them here... yet.
* src/chown-core.h (chopt_free, uid_to_name): Add function attribute(s).
* src/copy.c (is_ancestor, valid_options): Likewise.
* src/copy.h (chown_failure_ok): Likewise.
* src/dd.c (operand_matches, operand_is): Likewise.
* src/df.c (selected_fstype, excluded_fstype): Likewise.
* src/expr.c (null looks_like_integer): Likewise.
* src/md5sum.c (hex_digits): Likewise.
* src/od.c (get_lcm): Likewise.
* src/pathchk.c (component_start, component_len): Likewise.
* src/pinky.c (count_ampersands): Likewise.
* src/pr.c (cols_ready_to_print): Likewise.
* src/ptx.c (search_table): Likewise.
* src/sort.c (find_unit_order): Likewise.
* src/stty.c (mode_type_flag, string_to_baud, baud_to_value): Likewise.
* src/system.h (gcd, lcm): Likewise.
* src/tr.c (is_char_class_member, look_up_char_class): Likewise.
(star_digits_closebracket): Likewise.
* src/uniq.c (find_field): Likewise.
* src/wc.c (compute_number_width): Likewise.
* lib/xfts.h (cycle_warning_required): Likewise.
* gl/lib/randint.h (randint_get_source): Likewise.
* gl/lib/randperm.c (ceil_lg): Likewise.
* gl/lib/randperm.h (randperm_bound): Likewise.
* lib/strnumcmp.h (strintcmp): Likewise.
2011-07-02 12:35:06 +02:00
Jim Meyering
76d8e9abe1
buffer_lcm: declare with _GL_ATTRIBUTE_CONST
...
* lib/buffer-lcm.h (buffer_lcm): Use _GL_ATTRIBUTE_CONST.
* lib/buffer-lcm.c: Include <config.h>.
2011-07-02 12:35:06 +02:00
Jim Meyering
6bc73ee56e
maint: use <unistd.h>, not "group-member.h"
...
gnulib's group-member module now ensures that the group_member
function is declared in <unistd.h>, just like it is glibc.
* lib/euidaccess-stat.c: Remove inclusion of "group-member.h".
* src/chgrp.c: Likewise.
2011-05-12 08:23:52 +02:00
Jim Meyering
9d6231ef2a
maint: update all copyright year number ranges
...
Run "make update-copyright".
2011-01-01 22:16:47 +01:00
Paul Eggert
2b49b140cc
sort: -R now uses less memory on long lines with internal NULs
...
* lib/Makefile.am (libcoreutils_a_SOURCES): Remove xmemxfrm.c,
xmemxfrm.h.
* lib/memxfrm.c, lib/memxfrm.h, lib/xmemxfrm.c, lib/xmemxfrm.h: Remove.
* m4/memxfrm.m4: Likewise.
* m4/prereq.m4 (gl_PREREQ): Remove gl_MEMXFRM.
* po/POTFILES.in: Remove lib/xmemxfrm.c.
* src/sort.c: Don't include xmemxfrm.h.
(cmp_hashes): Remove.
(xstrxfrm): New function.
(compare_random): If a line contains NULs, don't create a big
buffer that contains the strxfrm output of each string in the line.
Instead, accumulate checksums and differences as we go, so that
at any one time we have to store at most the output of a single
strxfrm call when processing the line. This removes the need for
an memxfrm function.
2010-08-04 16:10:59 -07:00
Jim Meyering
1aa17dc89b
maint: update all FSF copyright year lists to include 2010
...
Use this command:
git ls-files | grep -v COPYING \
| xargs env UPDATE_COPYRIGHT_USE_INTERVALS=1 \
build-aux/update-copyright
2010-01-01 14:06:47 +01:00
Jim Meyering
0dc1f4c6f3
rm: fix empty-name bug introduced with conversion to use fts
...
While "rm ''" would properly fail, "rm F1 '' F2" would fail
to remove F1 and F2, due to the empty string argument.
This bug was introduced on 2009-07-12, via commit 4f73ecaf ,
"rm: rewrite to use fts".
* gnulib: Update to latest, for fixed fts.c.
* NEWS (Bug fixes): Describe it.
* tests/rm/empty-name: Adjust for changed diagnostic.
(mk_file): Define, copied from misc/ls-misc.
(empty-name-2): New test, for today's fix.
* lib/xfts.c (xfts_open): Reflect the change in fts_open, now that
it no longer fails immediately when one argument is the empty string.
Assert that the bit flags were not the cause of failure.
* po/POTFILES.in: Remove xfts.c.
* THANKS: Update.
Reported by Ladislav Hagara.
2009-12-01 14:38:39 +01:00
Jim Meyering
d9dbbb9a45
chcon, chgrp, chmod and chown now diagnose a directory cycle
...
* lib/xfts.c (cycle_warning_required): New function.
* lib/xfts.h: Declare it.
* src/chown-core.c (change_file_owner): Diagnose a cycle.
* src/chmod.c (process_file): Likewise.
* src/chcon.c (process_file): Likewise.
* NEWS (Bug fixes): Mention this.
2009-11-07 08:43:00 +01:00
Eric Blake
17b7d09bf2
maint: avoid exiting with magic number
...
Cope with gnulib's new sc_prohibit_magic_number_exit rule.
* .x-sc_prohibit_magic_number_exit: New file, to add exemptions.
* Makefile.am (syntax_check_exceptions): Distribute it.
* lib/euidaccess-stat.c (main): Fix culprits.
* src/chcon.c (main): Likewise.
* src/runcon.c (main): Likewise.
* src/setuidgid.c (main): Likewise.
2009-10-29 07:31:23 -06:00
Jim Meyering
f2859424cb
build (--enable-gcc-warnings): enable gcc's -Werror also in lib/
...
* configure.ac (GNULIB_WARN_CFLAGS): Define.
* lib/Makefile.am (AM_CFLAGS): Use $(GNULIB_WARN_CFLAGS)
rather than $(WARN_CFLAGS) and add $(WERROR_CFLAGS).
* gl/lib/regcomp.c.diff: New file.
* gl/lib/regex_internal.c.diff: New file.
* gl/lib/regexec.c.diff: New file.
2009-10-29 08:14:42 +01:00
Eric Blake
e5dba03d2f
euidaccess-stat: remove unnecessary macros
...
* lib/euidaccess-stat.c (F_OK, R_OK, W_OK, X_OK): Delete; now
guaranteed by gnulib.
2009-09-11 14:08:58 +02:00
Jim Meyering
af054f80b2
maint: remove unused file: lib/fdopendir-glibc.c
...
* lib/fdopendir-glibc.c: Remove unused file.
2009-09-05 Jim Meyering <meyering@redhat.com >
2009-09-05 19:52:16 +02:00
Jim Meyering
5e778f7c8d
global: convert indentation-TABs to spaces
...
Transformed via this shell code:
t=$'\t'
git ls-files \
| grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \
| grep -vE 'tests/pr/|help2man' \
| xargs grep -lE "^ *$t" \
| xargs perl -MText::Tabs -ni -le \
'$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
2009-08-25 09:21:00 +02:00
Jim Meyering
2232b4d08f
maint: update all Copyright year lists to include 2009
2009-06-23 22:33:15 +02:00
Jim Meyering
ec00727a72
maint: remove old TODO files
...
* lib/TODO: Remove file.
* tests/join/TODO: Likewise.
2009-06-23 22:30:29 +02:00
Eric Blake
875cae47a9
stdopen: remove unused code
...
* m4/stdopen.m4: Delete now-unused file.
* lib/stdopen.h: Likewise.
* lib/stdopen.c: Likewise.
2009-04-30 16:47:13 -06:00
Jim Meyering
8e8b025c90
maint: clean up Makefile.am, rename remaining ChangeLog files
...
* Makefile.am (changelog_etc, syntax_check_exceptions): Define.
(EXTRA_DIST): Use. Remove names that are now automatically
included: build-aux/git-version-gen, build-aux/vc-list-files.
* build-aux/ChangeLog-2007: Rename from */ChangeLog.
* doc/ChangeLog-2007: Likewise.
* lib/ChangeLog-2007: Likewise.
* m4/ChangeLog-2007: Likewise.
* po/ChangeLog-2007: Likewise.
2009-04-04 12:40:58 +02:00
Jim Meyering
4f526d2d64
build: avoid "multiply defined..." warning from automake
...
* Makefile.am (AM_CFLAGS): Add $(WARN_CFLAGS) via +=, not =, to
avoid "multiply defined..." warning from automake.
2009-03-07 13:28:20 +01:00
Jim Meyering
22a2a43021
build: add configure-time --enable-gcc-warnings option; avoid warnings
...
* bootstrap.conf (gnulib_modules): Add "warnings" module.
* configure.ac: Add --enable-gcc-warnings, derived from code in bison.
* src/Makefile.am (AM_CFLAGS): Set to $(WARN_CFLAGS) # $(WERROR_CFLAGS)
* lib/Makefile.am (AM_CFLAGS): Change spelling to $(WARN_CFLAGS)
Don't use $(WERROR_CFLAGS), yet.
* src/system.h (usage): Declare.
* src/base64.c (usage): Declare to be global, for consistency.
* src/timeout.c (usage): Likewise.
* src/truncate.c (usage): Likewise.
* src/getlimits.c (usage): Likewise.
* src/pinky.c (ttyname): Declare with prototype, rather than an
empty argument list.
* src/who.c (ttyname): Likewise.
* src/su.c (crypt, getusershell, setusershell, endusershell): Likewise.
2008-12-21 17:49:58 +01:00
Bo Borgerson
6eec737ade
standardize some error messages
...
* maint.mk: (sc_error_message_warn_fatal, sc_error_message_uppercase):
(sc_error_message_period): Add automatic checks for non-standard error
messages.
* .x-sc_error_message_uppercase: explicit exclusion for this check
* src/cp.c: Standardize some error messages.
* src/date.c: Likewise.
* src/dircolors.c: Likewise.
* src/du.c: Likewise.
* src/expr.c: Likewise.
* src/install.c: Likewise.
* src/join.c: Likewise.
* src/ln.c: Likewise.
* src/mv.c: Likewise.
* src/od.c: Likewise.
* src/pr.c: Likewise.
* src/split.c: Likewise.
* src/truncate.c: Likewise.
* src/wc.c: Likewise.
* tests/du/files0-from: Expect new error message.
* tests/misc/join: Likewise.
* tests/misc/split-a: Likewise.
* tests/misc/wc-files0-from: Likewise.
* tests/misc/xstrtol: Likewise.
* lib/xmemxfrm.c: Likewise.
2008-06-08 12:11:47 +02:00
Paul Eggert
e373bb1933
dd bug fix: accept e.g., if=/dev/stdin and of=/dev/stdout
...
* lib/fd-reopen.c: Work even if FILE is "/dev/stdin".
Problem reported by Geoffrey Lee in <http://bugs.debian.org/290727 >.
* tests/dd/misc: Check for this bug.
2008-03-31 08:37:58 +02:00
Jim Meyering
f33599c144
Create sha256 and sha512 modules and move files into gl/.
...
* bootstrap.conf (gnulib_modules): Add sha256 and sha512.
* m4/prereq.m4: Don't require gl_SHA256 or gl_SHA512.
* gl/modules/sha512: New file.
* gl/modules/sha256: New file.
* m4/sha256.m4: Move to ...
* gl/m4/sha256.m4: ...here, removing use of AC_SOURCES.
* m4/sha512.m4: Move to ...
* gl/m4/sha512.m4: ...here, removing use of AC_SOURCES.
* lib/sha256.c, lib/sha256.h: Move to ...
* gl/lib/sha256.c, gl/lib/sha256.h: ...here.
* lib/sha512.c, lib/sha512.h: Move to ...
* gl/lib/sha512.c, gl/lib/sha512.h: ...here.
* lib/u64.h: Move to ...
* gl/lib/u64.h: ...here.
2008-03-02 12:16:49 +01:00
Jim Meyering
1d6931a643
Remove alignment constraint from the sha*_read_ctx functions.
...
* lib/sha256.c (set_uint32): New function.
(sha256_read_ctx, sha224_read_ctx): Use it.
* lib/sha512.c (set_uint64): New function.
(sha512_read_ctx, sha384_read_ctx): Use it.
* lib/sha256.h: Remove warning about alignment constraint.
* lib/sha512.h: Likewise.
Prompted by similar changes in gnulib's sha1 and md[45] modules.
2008-01-31 14:45:02 +01:00
Jim Meyering
58a7ead41d
Convert coreutils' rand*.{c,h,m4} into modules.
...
First step: move these files to gl/lib:
* lib/rand-isaac.c, lib/rand-isaac.h
* lib/randint.c, lib/randint.h
* lib/randperm.c, lib/randperm.h
* lib/randread.c, lib/randread.h
Step 2: add modules/rand* and remove now-unneeded .m4 files.
* gl/modules/randint: New file.
* gl/modules/randperm: New file.
* gl/modules/randread: New file.
* m4/randint.m4: Remove file.
* m4/randperm.m4: Remove file.
* m4/randread.m4: Remove file.
Step 3: use the new modules
* bootstrap.conf (gnulib_modules): Add randint and randperm.
* m4/prereq.m4 (gl_RANDINT, gl_RANDREAD, gl_RANDPERM): Don't require;
These have been removed.
(gl_ROOT_DEV_INO): Don't require; already handled via bootstrap.conf.
2007-10-07 19:43:35 +02:00
Jim Meyering
a7acdf85e4
lib/search_.h: Remove unused file.
2007-10-04 12:20:46 +02:00
Jim Meyering
545cbc2cc8
Remove test program: lib/t-fpending.c.
...
* lib/t-fpending.c: Remove file. Now, this test is in gnulib.
* lib/Makefile.am: Remove associated rules.
* .gitignore: Remove lib/t-fpending.
2007-10-04 10:26:11 +02:00
Jim Meyering
eaa1c07fa1
Accommodate gnulib's renaming: __fpending.h -> fpending.h.
...
* lib/t-fpending.c: Include "fpending.h", not "__fpending.h".
2007-09-08 21:35:31 +02:00
Jim Meyering
ee84700f76
No longer version-control .???ignore files in lib/, m4/, and po/.
...
* .gitignore: Ignore a few files in lib/, m4/, and po/ that are not
picked up automatically.
* lib/.gitignore, lib/.cvsignore: Remove files.
* m4/.gitignore, m4/.cvsignore: Remove files.
* po/.gitignore, po/.cvsignore: Remove files.
2007-08-24 23:53:19 +02:00
Eric Blake
feed02af9d
Avoid consuming too much seekable input when yesno is used.
...
* bootstrap.conf (gnulib_modules): Grab closein.
* src/system.h (includes): Also include closein.h.
* src/mv.c (main): Use close_stdin, not close_stdout.
* src/cp.c (main): Likewise.
* src/ln.c (main): Likewise.
* src/rm.c (main): Likewise.
* src/install.c (main): Likewise.
* NEWS: Document the fix.
2007-08-20 17:03:45 +02:00
Jim Meyering
a05ae2f716
Use new "idcache.h" header.
...
* src/ls.c: Remove ancient declarations of getuser and getgroup.
Include "idcache.h", instead.
2007-08-18 08:59:17 +02:00
Paul Eggert
ed31c612c1
Accommodate more xstrtol changes.
...
* src/df.c (long_options): Don't bother prepending "--" to long
options that OPT_STR might decode, as that hack is no longer needed.
(main): Invoke xstrtol_fatal rather than STRTOL_FATAL_ERROR.
* src/du.c (long_options, main): Likewise.
* src/ls.c (decode_switches): Likewise.
* src/od.c (long_options, main): Likewise.
* src/pr.c (first_last_page, main): Likewise.
* src/sort.c (long_options, specify_sort_size): Likewise.
* src/pr.c (first_last_page): Accept option index and option char
instead of an assembled option string. All callers changed.
* src/sort.c (specify_sort_size): Likewise.
* src/system.h (OPT_STR, LONG_OPT_STR, short_opt_str, OPT_STR_INIT):
Remove.
2007-08-11 08:32:50 +02:00
Jim Meyering
71aa3ea880
Update all copyright notices to use the newer form.
2007-07-23 14:35:58 +02:00
Jim Meyering
33342c1a0a
Change "version 2" to "version 3" in all copyright notices.
2007-07-10 13:35:56 +02:00
Jim Meyering
432a7c21f0
Remove .gdb-history.
2007-07-08 19:12:48 +02:00
Jim Meyering
43d86d8c95
Add to .cvsignore and .gitignore files.
2007-07-08 17:25:05 +02:00
Jim Meyering
e0066f36c2
setuidgid: set all groups, not just the primary one; mgetgroups: new module
...
I wanted to use the xgetgroups function from id.c, so factored it out
and made it into a non-exiting function (hence the "m" prefix rather than "x").
* src/setuidgid.c (main): Use mgetgroups. Include "mgetgroups.h".
* src/id.c (xgetgroups): Remove function.
Include "mgetgroups.h".
(print_group_list): Use mgetgroups, not xgetgroups.
* gl/modules/mgetgroups: New module.
* gl/lib/mgetgroups.c: New file. mgetgroups is derived from
id.c's xgetgroups function.
* bootstrap.conf (gnulib_modules): Add mgetgroups.
* gl/m4/mgetgroups.m4: New file.
* gl/lib/mgetgroups.h: New file.
2007-07-06 07:44:39 +02:00
Jim Meyering
0adc02a086
Use mreadlink_with_size (doesn't exit), not xreadlink_with_size.
...
* bootstrap.conf (gnulib_modules): Add readlink-with-size.
Remove xreadlink and xreadlink-with-size.
* src/copy.c (copy_internal): Use mreadlink_with_size,
not xreadlink_with_size.
* src/ls.c (get_link_name): Likewise.
* src/readlink.c (main): Likewise.
* src/stat.c (print_stat): Likewise.
2007-06-18 15:19:34 +02:00
Jim Meyering
016af51031
Add to .cvsignore and .gitignore files.
2007-06-10 18:39:53 +02:00
Jim Meyering
6d8bb4df3d
Add to .cvsignore and .gitignore files.
2007-06-02 23:00:09 +02:00
Jim Meyering
536ac0ff6e
Pull printf-related code from gnulib, rather than using forked copy.
...
* bootstrap.conf (gnulib_modules): Don't avoid size_max and xsize
modules. While I dislike xsize-style overflow avoidance, maintaining
a forked version of e.g., vasnprintf.c was too much work.
* lib/printf-parse.c, lib/vasnprintf.c, lib/unicodeio.c: Remove local
copies, so we now get these files from gnulib.
2007-05-31 16:40:51 +02:00
Jim Meyering
8ab7f351a1
Add to .cvsignore and .gitignore files.
2007-05-26 06:30:30 +02:00
Paul Eggert
60f3c362f5
* src/nohup.c (usage): Describe how standard input and output are redirected.
2007-04-28 20:48:36 +02:00
Jim Meyering
74932c721b
Add to .cvsignore and .gitignore files.
2007-04-12 14:48:50 +02:00
Jim Meyering
c2bbd117f5
Regenerate .cvsignore and .gitignore files.
2007-03-29 21:37:06 +02:00
Jim Meyering
7e591c1009
.cvsignore, .gitignore: update
2007-03-29 21:37:05 +02:00
Jim Meyering
59312fa3f9
Add to .cvsignore and .gitignore files.
2007-03-28 08:46:01 +02:00
Jim Meyering
2e6e036896
Add to .cvsignore and .gitignore files.
2007-03-25 10:58:56 +02:00
Jim Meyering
a59975a3fd
Add to .cvsignore and .gitignore files.
2007-03-21 15:41:58 +01:00
Jim Meyering
13e4c87ff6
Fix a typo in the handling of %x and %X.
...
* vasnprintf.c (VASNPRINTF): When adding 2 to buffer length,
don't double it.
2007-03-20 15:21:08 +01:00