Compare commits

...

6005 Commits

Author SHA1 Message Date
Jim Meyering
b2bbe32f13 . 2005-10-22 20:59:27 +00:00
Jim Meyering
67e7f7d858 . 2005-10-22 18:15:06 +00:00
Jim Meyering
14a27f617b *** empty log message *** 2005-10-22 18:13:04 +00:00
Jim Meyering
8aa50018a0 Remove -cvs suffix from version string. 2005-10-22 18:12:57 +00:00
Jim Meyering
27ad9d14e9 *** empty log message *** 2005-10-22 18:12:23 +00:00
Jim Meyering
d0df944db9 *** empty log message *** 2005-10-22 18:11:07 +00:00
Jim Meyering
c3d97a0aa6 . 2005-10-20 14:30:53 +00:00
Jim Meyering
971b478896 *** empty log message *** 2005-10-20 14:29:41 +00:00
Jim Meyering
23d83ccba1 Mention this chmod fix as well as the dircolors one. 2005-10-20 14:29:38 +00:00
Jim Meyering
d87b9dfa10 (TESTS): Add octal. 2005-10-20 14:27:03 +00:00
Jim Meyering
eaecbde30d New file, to exercise today's lib/modechange.c fix. 2005-10-20 14:24:29 +00:00
Jim Meyering
1e12a6ad1e *** empty log message *** 2005-10-20 14:20:41 +00:00
Jim Meyering
a4667affc0 (mode_compile): Reject an invalid mode string that
starts with an octal digit.  From Andreas Gruenbacher.
2005-10-20 14:20:34 +00:00
Jim Meyering
7aff553950 . 2005-10-19 07:37:10 +00:00
Jim Meyering
dee664c8bb (append_quoted): Quote ' correctly.
Problem reported by Eric Blake.
2005-10-19 07:32:14 +00:00
Jim Meyering
21735a5358 *** empty log message *** 2005-10-19 07:32:04 +00:00
Jim Meyering
36faf23911 *** empty log message *** 2005-10-19 07:30:58 +00:00
Jim Meyering
276ecc89de (quote): Add test for the above fix. 2005-10-19 07:30:48 +00:00
Jim Meyering
388bf87b8d *** empty log message *** 2005-10-18 09:20:32 +00:00
Jim Meyering
efad655ef4 Add a comment explaining (probably) why this
test fails on OpenBSD 3.2 when run in an NFS-mounted directory.
2005-10-18 09:14:36 +00:00
Jim Meyering
9353affeec *** empty log message *** 2005-10-17 15:23:21 +00:00
Jim Meyering
b09b33285a Use 5.92-cvs as the version string. 2005-10-17 15:23:17 +00:00
Jim Meyering
1f4f154e46 (my-distcheck): Depend on
$(release_archive_dir)/$(prev-tgz) here, so that if it's missing
we fail earlier.
2005-10-17 06:58:46 +00:00
Jim Meyering
b3665517eb . 2005-10-16 22:17:31 +00:00
Jim Meyering
9cfc53bf54 now it's the 17th 2005-10-16 22:07:00 +00:00
Jim Meyering
2bff118a36 typo 2005-10-16 21:01:48 +00:00
Jim Meyering
9c2e9b49d1 . 2005-10-16 12:28:06 +00:00
Jim Meyering
0652d12852 whoops. Don't put $$today inside single quotes. 2005-10-16 11:00:22 +00:00
Jim Meyering
8fe2b26799 *** empty log message *** 2005-10-16 10:58:02 +00:00
Jim Meyering
a7ffedd708 (VERSION_REGEXP): New variable.
(news-date-check, changelog-check): Use tighter regular expressions.
2005-10-16 10:57:58 +00:00
Jim Meyering
2487210cb4 remove -cvs suffix 2005-10-16 10:38:40 +00:00
Jim Meyering
f0e03c732d *** empty log message *** 2005-10-16 10:36:02 +00:00
Jim Meyering
7baaad040a . 2005-10-16 10:35:27 +00:00
Jim Meyering
284a97768e *** empty log message *** 2005-10-16 10:24:57 +00:00
Jim Meyering
dba603f83a Mention the `mkdir -p' bug fix. 2005-10-16 10:24:41 +00:00
Jim Meyering
2c12c963b1 Remove -cvs suffix from version string. For 5.91. 2005-10-16 09:51:04 +00:00
Jim Meyering
9385c40824 *** empty log message *** 2005-10-16 09:50:13 +00:00
Jim Meyering
d948c0308a (Top, General output formatting, dir invocation):
(vdir invocation): Don't document the old v and d commands.
2005-10-16 07:27:04 +00:00
Jim Meyering
13d8990203 *** empty log message *** 2005-10-16 07:26:42 +00:00
Jim Meyering
7fdc81ede5 *** empty log message *** 2005-10-15 15:23:36 +00:00
Jim Meyering
05da3cb908 *** empty log message *** 2005-10-15 15:01:28 +00:00
Jim Meyering
2fa2315d0c (usage): Undocument deprecated --idle (-i) option. 2005-10-15 15:01:22 +00:00
Jim Meyering
e418d03571 (who invocation): Remove documentation for deprecated --idle (-i). 2005-10-15 14:59:17 +00:00
Jim Meyering
c6ee1b3a32 . 2005-10-15 10:23:47 +00:00
Jim Meyering
b54de31c76 . 2005-10-15 10:21:39 +00:00
Jim Meyering
999a43859a *** empty log message *** 2005-10-15 10:15:56 +00:00
Jim Meyering
15e97882ff (main): Remove --link -l options.
You can use --dereference (-L) instead.
2005-10-15 10:15:48 +00:00
Jim Meyering
f90df192b4 (parse_options): Remove --allow-missing option.
You can use --retry instead.
2005-10-15 10:15:34 +00:00
Jim Meyering
69dc13717a (usage): Document -m, once again.
(main): Warn about use of deprecated long options: --kilobytes and --megabytes.
2005-10-15 10:14:13 +00:00
Jim Meyering
4ecdd8ce4c (decode_switches): Warn about the deprecated --kilobytes option. 2005-10-15 09:56:21 +00:00
Jim Meyering
9624dcd0ee (main): Warn about the deprecated --kilobytes option. 2005-10-15 09:56:03 +00:00
Jim Meyering
a7164e425a *** empty log message *** 2005-10-15 08:34:53 +00:00
Jim Meyering
22449f0d02 (du invocation): Document du's -m option, now that we've decided to keep it. 2005-10-15 08:34:48 +00:00
Jim Meyering
5e3bd56977 *** empty log message *** 2005-10-13 20:12:15 +00:00
Jim Meyering
03e3b41e75 Avoid a few overfull/underfull hboxes. 2005-10-13 20:12:10 +00:00
Jim Meyering
e08cff1ba5 *** empty log message *** 2005-10-13 20:06:11 +00:00
Jim Meyering
146465b816 Sync from gnulib. 2005-10-13 20:06:07 +00:00
Paul Eggert
2ec133706a (make_dir_parents): Don't report an error if an
intermediate directory is in a read-only file system.
2005-10-13 19:05:13 +00:00
Jim Meyering
71a4b4865c *** empty log message *** 2005-10-13 14:16:23 +00:00
Jim Meyering
757e44d875 Document dircolors change of 2005-09-05. 2005-10-13 14:16:19 +00:00
Jim Meyering
898e531c01 *** empty log message *** 2005-10-13 14:12:58 +00:00
Jim Meyering
74583cd9fb (.x.1): Remove temp directory first. 2005-10-13 14:12:51 +00:00
Jim Meyering
76890ff048 *** empty log message *** 2005-10-08 09:06:16 +00:00
Jim Meyering
40bf0efd47 (rpl_openat): Use the promoted type (int), not mode_t,
as second argument to va_arg.  Otherwise, some versions of gcc
warn that `if this code is reached, the program will abort'.
2005-10-08 09:05:08 +00:00
Jim Meyering
f754c25d4c *** empty log message *** 2005-10-07 22:07:36 +00:00
Jim Meyering
82ee4b140c Merge from gnulib.
(SIZE_MAX): New macro, if not already defined.
2005-10-07 22:07:27 +00:00
Jim Meyering
a9ede5e986 . 2005-10-07 19:42:03 +00:00
Jim Meyering
8f8a513667 *** empty log message *** 2005-10-07 19:30:26 +00:00
Jim Meyering
cb16682ede revert last change 2005-10-07 19:29:44 +00:00
Paul Eggert
bff08feb9b * stdbool.m4 (AC_HEADER_STDBOOL): Add an "#ifdef __xlc__" test. 2005-10-07 18:53:41 +00:00
Paul Eggert
25041cf0f9 (AC_HEADER_STDBOOL): Add an "#ifdef __xlc__" test,
since yesterday's attempt didn't work.
2005-10-07 18:53:20 +00:00
Paul Eggert
b17333e415 Redo previous change to sort.c. 2005-10-07 18:48:55 +00:00
Paul Eggert
4778617abc (sortlines_temp): Redo previous change, since I'm no longer confident
that the m4/stdbool.m4 patch suffices.
2005-10-07 18:48:28 +00:00
Paul Eggert
a0d42f7861 Generalize the patch for the AIX bool bug. 2005-10-06 16:42:22 +00:00
Paul Eggert
cb797070ce (AC_HEADER_STDBOOL): Check that bool
promotes to int, not unsigned int, to catch the AIX 5.3
compiler bug.
2005-10-06 16:40:36 +00:00
Paul Eggert
38ffebe4ac (sortlines_temp): Undo previous change, since
today's change to m4/stdbool.m4 should catch it.
2005-10-06 16:40:13 +00:00
Jim Meyering
028b5117d4 *** empty log message *** 2005-10-06 14:12:52 +00:00
Jim Meyering
e1cd990287 *** empty log message *** 2005-10-06 14:06:54 +00:00
Jim Meyering
84f1db3726 rm: add support for a -I option, like that from FreeBSD's rm. 2005-10-06 14:06:51 +00:00
Jim Meyering
132aaa2eac Add a comment to go with the last change. 2005-10-05 18:56:29 +00:00
Jim Meyering
b185a8b904 *** empty log message *** 2005-10-05 18:53:59 +00:00
Jim Meyering
111bac9943 (sortlines_temp): Declare temporary as `int' rather
than `bool' to work around AIX 5.3 compiler bug in 64-bit mode.
2005-10-05 18:53:55 +00:00
Jim Meyering
3614c42902 *** empty log message *** 2005-10-05 14:54:20 +00:00
Jim Meyering
05e1975d08 (libcoreutils_a_DEPENDENCIES): Remove definition.
Once it's gone, automake generates an equivalent one.
2005-10-05 14:54:17 +00:00
Jim Meyering
d3b8165328 Merge from gnulib. 2005-10-05 09:09:33 +00:00
Jim Meyering
df2b4d3451 *** empty log message *** 2005-10-05 09:09:27 +00:00
Jim Meyering
ed558df65b *** empty log message *** 2005-10-04 15:51:25 +00:00
Jim Meyering
4dffc10f08 Merge from gnulib.
Include sys/types.h before other headers.
2005-10-04 15:51:20 +00:00
Jim Meyering
2928a59fe5 . 2005-10-03 16:13:06 +00:00
Jim Meyering
70a7e357d6 *** empty log message *** 2005-10-03 12:12:21 +00:00
Jim Meyering
c7676c0b6b (MAX_N_FACTORS): Define in terms of sizeof (uintmax_t)
rather than hard-coding to 128.  From Thomas M.Ott.
2005-10-03 12:12:14 +00:00
Jim Meyering
314397e7c5 *** empty log message *** 2005-10-03 12:11:49 +00:00
Paul Eggert
ca7be84526 Import getdelim.c from gnulib (to fix unused var warnings) then
apply the following fixes:
Include getdelim.h first.  Include <limits.h>.
(SSIZE_MAX): New macro, if not already defined.
(getdelim): Fix buffer overrun on 64-bit hosts with lines longer
than 2 GiB.
2005-10-02 22:49:49 +00:00
Jim Meyering
fbc02ac784 *** empty log message *** 2005-10-02 10:09:18 +00:00
Jim Meyering
1cf46dda93 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
against `yes', rather than just testing for nonempty.
2005-10-02 10:09:14 +00:00
Jim Meyering
e7d6dd7451 *** empty log message *** 2005-10-02 06:29:31 +00:00
Jim Meyering
b0dcbf34a5 (sc_unmarked_diagnostics): Search only cvs-controlled files. 2005-10-02 06:29:26 +00:00
Jim Meyering
286411fd74 *** empty log message *** 2005-10-02 06:28:15 +00:00
Jim Meyering
8653e104a3 Add lib/euidaccess-stat.c. 2005-10-02 06:28:12 +00:00
Jim Meyering
994ae8ed47 Add .x-sc_unmarked_diagnostics. 2005-10-02 06:27:32 +00:00
Jim Meyering
e470936662 *** empty log message *** 2005-10-02 06:27:09 +00:00
Jim Meyering
e102280994 . 2005-10-02 06:22:00 +00:00
Jim Meyering
1f022b6b96 Include sys/types.h for sys/socket.h, on FreeBSD and Darwin. 2005-10-01 11:59:08 +00:00
Jim Meyering
a2a3fc0ac7 *** empty log message *** 2005-10-01 11:58:50 +00:00
Jim Meyering
adcbbb9946 . 2005-10-01 09:51:00 +00:00
Jim Meyering
22c2d2efaf *** empty log message *** 2005-10-01 09:50:09 +00:00
Jim Meyering
4a6b465285 *** empty log message *** 2005-10-01 09:49:40 +00:00
Jim Meyering
8050751a86 Protect #include's of sys/socket.h and netdb.h.
Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
AI_* and EAI_* definitions.  Protect function declarations.
2005-10-01 09:49:36 +00:00
Jim Meyering
e1170f4d9e *** empty log message *** 2005-10-01 09:49:14 +00:00
Jim Meyering
614623a670 (gl_PREREQ_GETADDRINFO): Use AC_GNU_SOURCE,
GNU declares only getaddrinfo as an (POSIX) extension.
Check for sys/types.h, sys/socket.h, and netdb.h too,
needed by getaddrinfo.h.
Check if getaddrinfo, freeaddrinfo and gai_strerror are
declared by the POSIX headers.
Check if struct addrinfo is declared.
2005-10-01 09:49:09 +00:00
Jim Meyering
5c8ecd2831 Add a test for this:
(main): Don't stop processing arguments upon the first invalid one.
2005-10-01 08:02:09 +00:00
Jim Meyering
9c06ae5cff *** empty log message *** 2005-10-01 08:01:40 +00:00
Jim Meyering
46f0e13d5b *** empty log message *** 2005-10-01 08:01:30 +00:00
Jim Meyering
157712c3cb (main): Don't stop processing arguments upon the first invalid one. 2005-10-01 08:01:25 +00:00
Jim Meyering
5664caead1 . 2005-10-01 07:44:04 +00:00
Jim Meyering
18794c7464 *** empty log message *** 2005-10-01 06:54:15 +00:00
Jim Meyering
b364a72c6b (gl_GETADDRINFO): Look for getservbyname in these
libraries [inet nsl socket xnet].  Nelson Beebe reported that with
native cc on Solaris 7, getaddrinfo.c requires -lsocket.
2005-10-01 06:54:11 +00:00
Jim Meyering
f9c10dab98 *** empty log message *** 2005-09-30 15:21:26 +00:00
Jim Meyering
9b1facc61f (gl_FUNC_OPENAT): Check for fdopendir. 2005-09-30 15:21:19 +00:00
Jim Meyering
03866dcfb9 (fdopendir): Do not define if HAVE_FDOPENDIR. 2005-09-30 15:19:47 +00:00
Jim Meyering
5230885d13 (fdopendir): Do not define if HAVE_FDOPENDIR.
Remove AT_FDCWD test.
Do not consume the fd unless successful.
2005-09-30 15:19:24 +00:00
Jim Meyering
e94c88d4a2 Use 5.91-cvs as the version string. 2005-09-30 05:46:48 +00:00
Paul Eggert
85f86d456d * src/dd.c (main): Don't assume size_t has the same width as unsigned long. 2005-09-30 05:07:49 +00:00
Paul Eggert
86b4df4f0d (main): Don't assume size_t has the same width
as unsigned long.  Problem reported by Eric Blake.
2005-09-30 05:07:11 +00:00
Paul Eggert
a93720f8ac Clarify "tail - f" example. 2005-09-30 04:50:48 +00:00
Jim Meyering
89e6ed115f . 2005-09-29 18:10:25 +00:00
Jim Meyering
a28944042e . 2005-09-29 17:26:44 +00:00
Paul Eggert
c683e67618 "they wants" -> "they want" 2005-09-29 17:24:21 +00:00
Paul Eggert
63e88f7cef Rely on gettimeofday failure too. 2005-09-29 17:22:19 +00:00
Paul Eggert
37016136c9 (settime): If settimeofday fails, give up right away. 2005-09-29 17:21:44 +00:00
Paul Eggert
346afb38ab * settime.c (settime): Fix { typo in previous patch. Also, don't
bother returning ENOSYS; just let stime return whatever errno it
wants to return.
2005-09-29 17:19:58 +00:00
Paul Eggert
8c871e2391 (settime): Fix { typo in previous patch. Also, don't
boether returning ENOSYS; just let stime return whatever errno it
wants to return.
2005-09-29 17:19:30 +00:00
Jim Meyering
abeaf74fcb . 2005-09-29 17:17:28 +00:00
Jim Meyering
6fd4cff540 *** empty log message *** 2005-09-29 17:12:28 +00:00
Jim Meyering
ecb80e4add Version 5.90.
Add today's date.
2005-09-29 17:12:16 +00:00
Jim Meyering
032ca6e791 Remove -cvs suffix from version string. 2005-09-29 17:11:58 +00:00
Jim Meyering
9ac64b8013 . 2005-09-29 17:10:23 +00:00
Paul Eggert
96e3593902 * xtime.h (XTIME_PRECISION): Now of type int, not long long int. 2005-09-29 16:51:58 +00:00
Paul Eggert
970dc8e4a8 (XTIME_PRECISION): Now of type int, not long long int,
so that the code works even with ancient cpp.  Portability problem
with GCC 2.7.2.1 reported by Thomas M.Ott.
2005-09-29 16:51:40 +00:00
Jim Meyering
c060bb702a . 2005-09-29 13:14:33 +00:00
Jim Meyering
6204a2d1bd *** empty log message *** 2005-09-29 13:13:53 +00:00
Jim Meyering
33b113c638 (settime): Move the HAVE_STIME block `up' into an #elif
block, so that we don't even try to compile it if settimeofday is
available.  This works around a compilation failure on OSF1 V5.1,
due to stime requiring a `long int*' while tv_sec is `int'.
2005-09-29 13:13:49 +00:00
Jim Meyering
21e670cb0d *** empty log message *** 2005-09-29 06:32:30 +00:00
Jim Meyering
abab5e5812 mention stat bug fix 2005-09-29 06:32:25 +00:00
Jim Meyering
bb0cdc99f2 . 2005-09-28 22:26:26 +00:00
Paul Eggert
d6897a1553 * src/system.h (LONGEST_MODIFIER): Use ULONG_MAX_LT_ULLONG_MAX
instead of ULLONG_MAX, as the latter doesn't work with GCC 2.7.2.1.
2005-09-28 22:11:06 +00:00
Jim Meyering
3f2693ee63 . 2005-09-28 22:10:51 +00:00
Paul Eggert
6f8ed252b4 (gl_ULLONG_MAX): Simplify so that it merely
defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
ULLONG_MAX doesn't work with 2.7.2.1.
2005-09-28 22:08:46 +00:00
Jim Meyering
6e212cc850 *** empty log message *** 2005-09-28 21:48:05 +00:00
Jim Meyering
9d1978df97 Use 5.90-cvs as the version string. 2005-09-28 21:47:30 +00:00
Jim Meyering
f78ad95853 *** empty log message *** 2005-09-28 18:34:37 +00:00
Jim Meyering
8607248c90 remove note about FreeBSD make test failure. 2005-09-28 18:34:26 +00:00
Jim Meyering
bfb5ed16a2 Work around a bug in FreeBSD 5.0. 2005-09-28 18:33:11 +00:00
Jim Meyering
3a14fbb06a *** empty log message *** 2005-09-28 08:27:04 +00:00
Jim Meyering
a71e238667 *** empty log message *** 2005-09-28 08:21:33 +00:00
Jim Meyering
f1f4e1ada3 add a FIXME comment 2005-09-27 09:40:39 +00:00
Jim Meyering
b2d2351330 *** empty log message *** 2005-09-27 08:59:54 +00:00
Jim Meyering
4e8e195401 *** empty log message *** 2005-09-27 08:59:04 +00:00
Jim Meyering
0ffc4a7d84 [HAVE_CONFIG_H]: Include <config.h>. 2005-09-27 08:58:55 +00:00
Jim Meyering
52e05089cc [HAVE_CONFIG_H]: Include <config.h> conditionally,
to be consistent with gnulib.
2005-09-27 08:44:07 +00:00
Jim Meyering
3cf3a44bbd Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef HAVE_CONFIG_H. 2005-09-27 08:33:47 +00:00
Jim Meyering
9346282a5d *** empty log message *** 2005-09-27 08:21:35 +00:00
Jim Meyering
2d7c20c891 Include <config.h> here, now that strnumcmp-in.h no longer includes it. 2005-09-27 08:21:28 +00:00
Jim Meyering
e247f4874c *** empty log message *** 2005-09-27 06:56:44 +00:00
Paul Eggert
b115bf4d44 Test "touch -" too, and change "touch -c - >&-" so that it does not
report an error, since that's more logical.
2005-09-26 23:03:53 +00:00
Paul Eggert
4b2dd7730a Test "touch -" too. 2005-09-26 23:02:34 +00:00
Paul Eggert
2f897e7258 (touch): Handle "touch -c - >&-" by checking for EBADF
and ENOSYS.
Do not pass "-" to futimens; pass NULL instead.
If close (STDIN_FILENO) fails, report the error separately instead
of letting the 'close' pollute errno.
2005-09-26 23:02:14 +00:00
Paul Eggert
80065b498b utimens.c portability fixes. 2005-09-26 23:01:25 +00:00
Paul Eggert
a6c8a8e6d4 Include unistd.h, for dup2.
(futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
(futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
2005-09-26 23:01:00 +00:00
Jim Meyering
a49740f33b *** empty log message *** 2005-09-26 09:10:54 +00:00
Jim Meyering
99fa7a0e8e (gl_FUNC_UTIMES): Detect the version of utimes
from glibc-2.2.5 that fails for read-only files.
2005-09-26 09:10:50 +00:00
Jim Meyering
8149b5a566 . 2005-09-26 07:34:41 +00:00
Jim Meyering
43bdd9709a *** empty log message *** 2005-09-26 07:33:53 +00:00
Jim Meyering
7019fe1a9a *** empty log message *** 2005-09-26 07:32:14 +00:00
Jim Meyering
e3ce1ce8f7 (TESTS): Add read-only. 2005-09-26 07:32:08 +00:00
Jim Meyering
8507dc0375 New test, for root of chmod/usage failure. 2005-09-26 07:31:57 +00:00
Jim Meyering
012c33d39c *** empty log message *** 2005-09-26 07:25:29 +00:00
Jim Meyering
6540422861 Work around the root cause of alpha-linux-1.sf.net test failure.
Remove all files in inner loop.
Otherwise, with a touch program that fails on unwritable files,
(this happens at least on linux-2.2.20) a -w file left behind
from a previous iteration could cause a spurious test failure.
2005-09-26 07:25:23 +00:00
Jim Meyering
c5e9d78786 Undo the s/files/file/ change, but add
comments about why the old version was desired.
2005-09-26 07:20:22 +00:00
Jim Meyering
31b44eef6e *** empty log message *** 2005-09-25 20:46:34 +00:00
Jim Meyering
b1e97405b2 (setuid-etc): Work around output mismatch when
a just-created test file cannot be made set-group-ID.
2005-09-25 20:46:30 +00:00
Jim Meyering
2c5def0462 . 2005-09-25 17:01:54 +00:00
Jim Meyering
0e5662fd54 . 2005-09-25 12:54:04 +00:00
Jim Meyering
3d9687a4e0 *** empty log message *** 2005-09-25 09:59:30 +00:00
Jim Meyering
e080496968 *** empty log message *** 2005-09-25 09:59:23 +00:00
Jim Meyering
4f8eb86b55 *** empty log message *** 2005-09-25 09:58:04 +00:00
Jim Meyering
ae296eb195 Use newer trap and tmpdir-creation framework.
Fix apparent typos (s/files/file/) in inner loop.
2005-09-25 09:58:00 +00:00
Jim Meyering
23b9299247 Protect against multiple inclusion. 2005-09-25 06:14:33 +00:00
Paul Eggert
e3513e1895 (touch): "touch -" now touches standard output.
(usage): Document this.
2005-09-25 06:12:21 +00:00
Paul Eggert
17ccbf8844 "touch -" now touches standard output. 2005-09-25 06:11:45 +00:00
Paul Eggert
124cc0e9e6 "touch -" now touches standard output. 2005-09-25 06:09:51 +00:00
Paul Eggert
7ee48d8ffb Support having a null PATH if the file descriptor is nonnegative. 2005-09-25 06:09:22 +00:00
Paul Eggert
4f001e7a13 (ENOSYS): Define if not already defined.
(ftimens): Support having a null PATH if the file descriptor
is nonnegative.
2005-09-25 06:08:45 +00:00
Paul Eggert
add931ac28 (touch invocation): "touch -" now touches standard output. 2005-09-25 06:08:17 +00:00
Paul Eggert
4f688f0b3f "touch -" now touches standard output. 2005-09-25 06:07:48 +00:00
Paul Eggert
443ddc13e6 Upgrade regex_internal.h patch. 2005-09-25 04:18:54 +00:00
Paul Eggert
793ffcaac0 (__GNUC_PREREQ, always_inline, inline, pure):
Remove.
(__attribute): Define to empty unless GCC 3.1 or later.
This works around a core dump on OpenBSD 3.4, which has GCC
2.95.3, which dumps core when given __attribute__(()).  It also
simplifies other tests, since we really don't want to bother with
worrying about which ancient version of GCC supported what.
Original problem reported by Yoann Vandoorselaere, with part of
the fix suggested by Derek Price.
2005-09-25 04:18:39 +00:00
Paul Eggert
1e32f96bf2 Prefer fchown to chown and fchmod to chmod when copying regular files. 2005-09-25 03:08:40 +00:00
Paul Eggert
aa5f98288a * jm-macros.m4 (gl_MACROS): Check for fchmod and fchown. 2005-09-25 03:08:15 +00:00
Paul Eggert
33247c7169 (gl_MACROS): Check for fchmod and fchown. 2005-09-25 03:07:53 +00:00
Paul Eggert
7fc308db7e (HAVE_FCHMOD, HAVE_FCHOWN): Define to 0 if not defined.
(copy_reg): New args CHOWN_SUCCEDED and DST_SB.  All callers changed.
Add a "goto close_src_and_dst_desc;" that was missing in the
previous patch.
(copy_reg) [HAVE_FCHOWN]: Prefer fchown to chown.
(copy_reg) [HAVE_FCHMOD]: Prefer fchmod to chmod.
(copy_internal): Don't invoke chown if fchown worked,
and likewise for chmod and fchmod.
2005-09-25 03:07:33 +00:00
Paul Eggert
545dd954d9 * Makefile.am (libcoreutils_a_SOURCES): Remove mbchar.c. 2005-09-24 23:14:21 +00:00
Paul Eggert
944e020290 (libcoreutils_a_SOURCES): Remove mbchar.c, since
it doesn't build in OpenBSD 3.4.  See
<http://lists.gnu.org/archive/html/bug-gnulib/2005-09/msg00242.html>.
2005-09-24 23:14:04 +00:00
Paul Eggert
6c3d9ae4c4 * mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. 2005-09-24 23:13:42 +00:00
Paul Eggert
a9d12230c8 (gl_MBCHAR): Check for wchar.h and wctype.h, and
don't compile mbchar.c unless both headers exist.  See
<http://lists.gnu.org/archive/html/bug-gnulib/2005-09/msg00242.html>.
2005-09-24 23:13:19 +00:00
Paul Eggert
fd02208ad2 * regex_internal.h (__attribute): Define to nothing for GCC 2. 2005-09-24 22:59:22 +00:00
Paul Eggert
5a29d2d430 (__attribute): Define to nothing for GCC 2.
This works around a core dump on OpenBSD 3.4, which has GCC
2.95.3, which dumps core when given __attribute__(()).
2005-09-24 22:59:06 +00:00
Jim Meyering
ed3a66aa5e . 2005-09-24 13:42:39 +00:00
Jim Meyering
d3ddaff1a5 *** empty log message *** 2005-09-24 13:42:30 +00:00
Jim Meyering
0f6f7b428e (EXTRA_DIST): Add .x-sc_no_if_have_config_h. 2005-09-24 13:41:48 +00:00
Jim Meyering
eae3fa54bf (sc_no_if_have_config_h): New rule.
(syntax-check-rules): Add it.
2005-09-24 13:41:20 +00:00
Jim Meyering
26ddff0c17 *** empty log message *** 2005-09-24 13:41:01 +00:00
Jim Meyering
8daf4759f4 Use #ifdef HAVE_CONFIG_H', not #if HAVE_CONFIG_H', for consistency with gnulib. 2005-09-24 13:40:37 +00:00
Jim Meyering
26405733e9 . 2005-09-24 13:36:20 +00:00
Jim Meyering
5e6117b9ec *** empty log message *** 2005-09-24 13:32:36 +00:00
Jim Meyering
58e399c289 Use #ifdef HAVE_CONFIG_H', not #if HAVE_CONFIG_H', for consistency with gnulib. 2005-09-24 13:32:31 +00:00
Jim Meyering
7bf8267334 *** empty log message *** 2005-09-24 13:27:41 +00:00
Jim Meyering
f6dbf542b4 Include <config.h> from strintcmp.c, not from here. 2005-09-24 13:27:34 +00:00
Jim Meyering
d447dba13d Include <config.h> here, not from strnumcmp-in.h. 2005-09-24 13:26:41 +00:00
Jim Meyering
a14fc71370 *** empty log message *** 2005-09-24 10:44:33 +00:00
Jim Meyering
7a2163735e (gl_GETADDRINFO): Check for gethostbyname
in the inet and nsl libraries.  Required on Solaris 5.7.
2005-09-24 10:44:30 +00:00
Jim Meyering
b1ae384b23 *** empty log message *** 2005-09-24 10:06:36 +00:00
Jim Meyering
78e2e5d5a5 (eq-wid-1, eq-wid-2): Disable these tests for now.
They fail with non-gcc compilers and some combinations
of options and libraries on Solaris systems.
2005-09-24 10:06:29 +00:00
Jim Meyering
e122fe5ae9 *** empty log message *** 2005-09-24 07:57:42 +00:00
Jim Meyering
01b7701a24 (uninit-64): Restore this test.
Add start-up code to detect, and work around, the cases in
which the test might fail.
2005-09-24 07:57:36 +00:00
Paul Eggert
2cb5253b1f * tests/misc/date (uninit-64): Remove this test. 2005-09-24 07:05:52 +00:00
Paul Eggert
0c42a4951b (uninit-64): Remove this test. It wasn't
portable in theory (it doesn't work on hosts where 'int' is 64
bits, example) or in practice (Solaris 8 localtime returns garbage
in tm_year for the specified date, but that's not coreutils's
fault).
2005-09-24 07:05:27 +00:00
Jim Meyering
0f31fc1440 . 2005-09-24 06:53:27 +00:00
Jim Meyering
8f4700c9e1 *** empty log message *** 2005-09-23 23:05:44 +00:00
Jim Meyering
8dbb507ee8 (verify_type__): Use `unsigned int' as the bitfield type
so we can once again use a positive bitfield width of 1 -- now we
don't have to explain why we were using a bitfield width of 2.
2005-09-23 23:05:39 +00:00
Jim Meyering
6d8b96f653 *** empty log message *** 2005-09-23 23:05:16 +00:00
Jim Meyering
b610709f70 *** empty log message *** 2005-09-23 22:49:10 +00:00
Jim Meyering
3e2b8d355e Add lib/gai_strerror.c. 2005-09-23 22:49:05 +00:00
Paul Eggert
ebca458e8e Use 2, not 1, for bitfield size in verify.h. 2005-09-23 21:49:59 +00:00
Paul Eggert
45079da973 (verify_type__): Use 2, not 1, for bitfield size, to avoid
a warning with Irix 6.5 cc.
2005-09-23 21:49:31 +00:00
Paul Eggert
28475f652b Log recent changes. 2005-09-23 21:40:12 +00:00
Paul Eggert
7ba23f15c4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
and similarly for the other external symbols.  Problem reported
by James Gallager.
2005-09-23 21:17:57 +00:00
Jim Meyering
0fc8cac57d *** empty log message *** 2005-09-23 20:56:54 +00:00
Paul Eggert
8e4680db2f (install_file_in_file): Be more conservative about the previous patch:
set time stamps on all non-regular files.
2005-09-23 20:50:49 +00:00
Paul Eggert
63b77aac44 (change_timestamps): First arg is source
struct stat, not file name.  All uses changed.
(install_file_in_file): Stat the source file if necessary.
Don't try to change time stamps if copy_file did it.
2005-09-23 20:39:04 +00:00
Paul Eggert
35044438af (copy_reg): Preserve time stamps if
x->preserve_timestamps is set, using futimens so that
we needn't resolve the path again.
(copy_internal): Don't preserve time stamps if copy_reg did it
already.
2005-09-23 20:38:34 +00:00
Paul Eggert
2c4a088886 Don't include utime.h; not needed.
(struct utimbuf) [!defined HAVE_STRUCT_UTIMBUF]: Remove; not needed.
2005-09-23 20:35:41 +00:00
Paul Eggert
cf37a8b41a (gl_MACROS): Don't require gl_CHECK_TYPE_STRUCT_UTIMBUF.
(gl_CHECK_ALL_HEADERS): Don't check for utime.h.
2005-09-23 20:35:14 +00:00
Paul Eggert
061601cdd7 Update copyright. 2005-09-23 20:26:09 +00:00
Paul Eggert
588034d101 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
bug reported by Jim Meyering.
2005-09-23 20:23:59 +00:00
Jim Meyering
a40376f4c5 . 2005-09-23 20:14:20 +00:00
Jim Meyering
886979b6fc *** empty log message *** 2005-09-23 20:14:01 +00:00
Jim Meyering
d3e8a40be3 Use `verify' to ensure that our hard-coded
bytes_to_*_digits arrays are long enough.  Of course, 17+-byte
integral types aren't on the near horizon, but just in case...
(MAX_INTEGRAL_TYPE_SIZE): Move definition to precede new first use.
(bytes_to_oct_digits, bytes_to_signed_dec_digits):
(bytes_to_unsigned_dec_digits, bytes_to_hex_digits): Change base
type from `char' to the clearer `unsigned int'.
2005-09-23 20:13:49 +00:00
Jim Meyering
b726021672 *** empty log message *** 2005-09-23 20:00:19 +00:00
Jim Meyering
4b17e15531 (gl_MACROS): AC_REQUIRE([gl_SOCKLEN_T]) here,
now that it's no longer required by getaddrinfo.m4.
2005-09-23 19:59:07 +00:00
Paul Eggert
a169837d87 not needed, since socklen is a prerequisite module. 2005-09-23 19:40:04 +00:00
Paul Eggert
b9830cafa1 * lib/utimens.c (futimens): Use futimesat if available.
Prefer it to futimes since it doesn't have the futimes bug.
* m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
2005-09-23 19:18:27 +00:00
Paul Eggert
d6ed244c5a Fix typo in comment. 2005-09-23 17:52:22 +00:00
Paul Eggert
ef999bc74a (GL_CONCAT0, GL_CONCAT): Remove.
(verify): Don't use the __LINE__ trick, as it doesn't work in general.
Instead, declare a function that returns a pointer to an array,
and use verify_type__ to declare the size of the array.
Problem and germ of a solution reported by Bruno Haible.
2005-09-23 17:47:15 +00:00
Jim Meyering
6137da3427 *** empty log message *** 2005-09-23 14:50:22 +00:00
Jim Meyering
185069538b *** empty log message *** 2005-09-23 14:48:21 +00:00
Jim Meyering
434de88614 from gnulib 2005-09-23 14:48:14 +00:00
Jim Meyering
ee0d6b604c (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T. 2005-09-23 14:47:58 +00:00
Jim Meyering
a6821efce3 *** empty log message *** 2005-09-23 12:44:07 +00:00
Jim Meyering
81d380e377 Include <config.h>. Otherwise builds with strict
C89 (e.g., Sun's /opt/SUNWspro/bin/c89) would fail due to the use
of `inline'.
2005-09-23 12:42:45 +00:00
Paul Eggert
769a736867 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h. 2005-09-23 05:13:15 +00:00
Paul Eggert
9fd31b8beb * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
Problem reported by Eric Blake.
(getaddrinfo): Initialize se so that it's not garbage.
Redo internal storage allocation so that it doesn't make unportable
assumptions about alignment.
Fix a memory leak.
2005-09-23 05:12:50 +00:00
Jim Meyering
fc6f1f7f9c . 2005-09-22 09:47:36 +00:00
Jim Meyering
3117f633cc *** empty log message *** 2005-09-22 07:10:17 +00:00
Paul Eggert
9bbbf30543 Regenerate. 2005-09-22 07:07:36 +00:00
Paul Eggert
ca9acc01a6 Sync from gnulib. 2005-09-22 07:06:16 +00:00
Paul Eggert
211a8d5cb0 Include canon-host.h rather than declaring canon_host ourselves. 2005-09-22 07:01:24 +00:00
Paul Eggert
144c6536d0 Include canon-host.h rather than declaring
canon_host ourselves.
2005-09-22 07:01:07 +00:00
Paul Eggert
3779124b3f Include strcase.h. 2005-09-22 07:00:49 +00:00
Paul Eggert
b58dc08a58 (gl_PREREQ): Require gl_FUNC_GETLINE rather than
AM_FUNC_GETLINE.  Require gl_FUNC_GETPASS_GNU rather than
gl_FUNC_GETPASS.  Require gl_MBCHAR and gl_MBITER.
2005-09-22 07:00:24 +00:00
Paul Eggert
e5801001a3 no longer needed.
(gl_CHECK_ALL_HEADERS): Don't check for memory.h, mntent.h, mnttab.h,
netdb.h, stdlib.h, stdint.h, string.h, sys/filsys.h, sys/fs/s5param.h,
sys/fs_types.h, sys/fstyp.h, sys/mntent.h, sys/socket.h, sys/stafs.h,
sys/timeb.h, unistd.h.  No longer needed.
2005-09-22 06:59:55 +00:00
Paul Eggert
5a02b1d907 (_gl_DECL_HEADERS): Don't bother checking for
standard C headers, or for headers we no longer use.
2005-09-22 06:59:24 +00:00
Paul Eggert
cab86383b8 (libcoreutils_a_SOURCES): Add getaddrinfo.h,
mbchar.c, mbchar.h, mbuiter.h, strcase.h, strlen1.c, strnlen1.h,
strstr.h.
2005-09-22 06:58:56 +00:00
Paul Eggert
b52d569ca1 (EEXIST, ENOTEMPTY): Remove unused macros. 2005-09-22 06:56:21 +00:00
Paul Eggert
eba2793d11 Nontrivial sync from gnulib. 2005-09-22 06:44:26 +00:00
Paul Eggert
da6ced8651 Add getline.h, getpass.c 2005-09-22 06:43:48 +00:00
Paul Eggert
75b92233d8 (GL_CONCAT): Remove.
Include "verify.h" instead.
(ARGMATCH_CONSTRAINT, ARGMATCH_ASSERT): Remove.
(ARGMATCH_VERIFY): Rewrite in terms of new verify macros.
2005-09-22 06:39:14 +00:00
Paul Eggert
99eda9943e (X2NREALLOC, X2REALLOC): Moved here from
../lib/xalloc.h, with args properly parenthesized, and using
verify_expr rather than the old VERIFY_EXPR.
2005-09-22 06:33:40 +00:00
Paul Eggert
fe4ed6c408 (VERIFY_EXPR, X2NREALLOC, X2REALLOC): Remove.
The latter two macros are moving to ../src/system.h for now.
This reverts this file to the gnulib version.
2005-09-22 06:32:52 +00:00
Paul Eggert
8cec6716df Remove; no longer used. 2005-09-22 06:26:54 +00:00
Paul Eggert
3833e2bc34 New file, from gnulib. 2005-09-22 06:22:44 +00:00
Paul Eggert
0ed6bb9a65 Add getaddrinfo.h, getdelim.h, mbchar.h,
mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
2005-09-22 06:22:31 +00:00
Paul Eggert
2d0c5eefd0 Sync from gnulib. 2005-09-22 06:05:39 +00:00
Paul Eggert
5a43b499b1 Sort. 2005-09-22 05:47:40 +00:00
Paul Eggert
0adb008b03 (ENOSYS): Define to EEXIST if not defined.
(make_dir_parents): Treat ENOSYS like EEXIST.
2005-09-22 05:42:26 +00:00
Jim Meyering
08c07f2a1c . 2005-09-21 17:07:09 +00:00
Jim Meyering
3ed1ba12da . 2005-09-21 16:43:17 +00:00
Jim Meyering
cfda132680 *** empty log message *** 2005-09-21 14:05:50 +00:00
Jim Meyering
a559a19405 Require that this test be run as non-root.
Otherwise, it fails due to the fact that the chmod 0 . doesn't
affect root.
2005-09-21 14:05:45 +00:00
Jim Meyering
7ac0294e28 *** empty log message *** 2005-09-20 17:48:07 +00:00
Jim Meyering
d6b83b2f9b (write_protected_non_symlink): Change comment to agree with the code. 2005-09-20 17:48:02 +00:00
Jim Meyering
b0ecfaf324 *** empty log message *** 2005-09-20 13:51:20 +00:00
Jim Meyering
5205b73810 (fdopendir): Be sure to close the supplied
file descriptor before returning.  This makes our replacement
implementation a little closer to Solaris's, where fdopendir
ties the file descriptor to the returned DIR* pointer.
2005-09-20 13:51:01 +00:00
Jim Meyering
3fcdbfdfda tweak 2005-09-20 13:24:29 +00:00
Jim Meyering
ea66df2090 *** empty log message *** 2005-09-19 15:45:09 +00:00
Jim Meyering
ee8931ea8e (unlinkat): New function. 2005-09-19 15:45:05 +00:00
Jim Meyering
a1052bb3d9 (unlinkat): Add prototype. 2005-09-19 15:44:57 +00:00
Jim Meyering
fa3f61611b *** empty log message *** 2005-09-19 13:34:51 +00:00
Jim Meyering
a9d57e3f26 (remove_dir): Return RM_ERROR, not `1',
when attempting to remove `/' with --preserve-root.
2005-09-19 13:34:47 +00:00
Jim Meyering
bcf48ff8a1 *** empty log message *** 2005-09-19 06:48:06 +00:00
Jim Meyering
f721f10682 (remove_cwd_entries): Syntactic tweak: move an
assignment out of an if-expression.
2005-09-19 06:47:47 +00:00
Jim Meyering
864947764d *** empty log message *** 2005-09-17 09:14:52 +00:00
Jim Meyering
609d835a06 (usage): Request that additions be sent to bug-coreutils@gnu.org, too. 2005-09-17 09:14:48 +00:00
Paul Eggert
772dc5bcd0 coreutils.texi (who invocation): Remove a stray '+'. 2005-09-17 07:45:02 +00:00
Paul Eggert
25b89569c1 (who invocation): Remove a stray '+'. 2005-09-17 07:44:42 +00:00
Paul Eggert
90306bc508 (set_stat_atime, set_stat_ctime, set_stat_mtime): Remove; they were
buggy in the HAVE_STRUCT_STAT_ST_SPARE1 case, and they were dubious
anyway.  I rewrote 'tar' to not use them any more.
2005-09-17 06:54:22 +00:00
Jim Meyering
f9b7acd5a2 *** empty log message *** 2005-09-16 18:19:57 +00:00
Jim Meyering
941882cd1c *** empty log message *** 2005-09-16 18:07:50 +00:00
Jim Meyering
105ae85e38 (rfc822-1): Compensate for Solaris 5.9's /bin/sh,
which emits a diagnostic to stderr when this test's LC_ALL=de_DE
cannot be honored.
2005-09-16 18:07:46 +00:00
Jim Meyering
525faa8a75 *** empty log message *** 2005-09-16 17:54:56 +00:00
Jim Meyering
d43700c169 whoops. Update expected output, too. 2005-09-16 17:54:34 +00:00
Jim Meyering
b02c170d2f (subfmt-up1): Put quotes around format string
to protect `^' from interpretation by some shells.
Add a use of OUT_SUBST to compensate for Solaris strftime's slightly
different formatting of %c.
2005-09-16 17:53:40 +00:00
Jim Meyering
7dd6db69af *** empty log message *** 2005-09-16 09:36:04 +00:00
Jim Meyering
27747f4a66 (main): When failing to truncate, mention both the seek block count
and the block size, in case the block size is very large.
2005-09-16 09:35:47 +00:00
Jim Meyering
31fc497b9a *** empty log message *** 2005-09-16 08:19:00 +00:00
Jim Meyering
dda1650e4a *** empty log message *** 2005-09-16 08:10:15 +00:00
Jim Meyering
d5eda08be3 Include fprintftime.h.
Don't include strftime.h or xanstrftime.h -- no longer needed.
(show_date): Use new fprintftime function rather than xanstrftime.
Correct comment: this function no longer handles a NULL format string.
2005-09-16 08:08:32 +00:00
Jim Meyering
4fdd25e012 (show_date): Correct comment: this function no longer handles a
NULL format string.
2005-09-16 08:08:00 +00:00
Jim Meyering
d5763af839 (show_date): Remove now-spurious braces. 2005-09-16 07:59:20 +00:00
Paul Eggert
96971b59be Regenerate. 2005-09-16 07:58:03 +00:00
Paul Eggert
555bbf598d Import file time stamp resolution improvements from gnulib. 2005-09-16 07:55:12 +00:00
Jim Meyering
60da98e144 . 2005-09-16 07:53:31 +00:00
Paul Eggert
158d982669 Include stat-time.h, and use its functions instead of the obsolete
TIMESPEC_NS macro.
2005-09-16 07:50:33 +00:00
Paul Eggert
3ecd35f56f Include stat-time.h, and use its functions instead of the obsolete
TIMESPEC_NS macro.
(get_mtime): Renamed from age_of.  All uses changed.
2005-09-16 07:42:56 +00:00
Paul Eggert
b95a4ed1ce Remove; no longer needed. 2005-09-16 07:41:10 +00:00
Paul Eggert
5926f89242 (gl_TIMESPEC): Require AC_C_INLINE.
Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
2005-09-16 07:40:48 +00:00
Paul Eggert
0bc67e2851 (gl_PREREQ): Require gl_STAT_TIME. 2005-09-16 07:40:19 +00:00
Paul Eggert
b946f4c96b (gl_CHECK_ALL_TYPES): Do not require
AC_STRUCT_ST_MTIM_NSEC; it's obsolete.
2005-09-16 07:40:02 +00:00
Paul Eggert
e9f5a9b719 Include stat-time.h.
(SYSCALL_RESOLUTION): Depend on whether various struct stat
members exist, not on the obsolescent ST_MTIM_NSEC.
(utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
2005-09-16 07:39:41 +00:00
Paul Eggert
b5a377a22b (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
(MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
in a different way.
(timespec_cmp): New function.
2005-09-16 07:39:18 +00:00
Jim Meyering
27d4959a08 *** empty log message *** 2005-09-16 07:39:08 +00:00
Paul Eggert
0877688dc8 New file. 2005-09-16 07:38:17 +00:00
Paul Eggert
24e27d10f9 New file. 2005-09-16 07:36:48 +00:00
Paul Eggert
2bc8e10316 Add stat-time.h. 2005-09-16 07:36:35 +00:00
Jim Meyering
3da8b9a6d8 *** empty log message *** 2005-09-16 07:35:32 +00:00
Jim Meyering
1e7fb2186b *** empty log message *** 2005-09-16 07:33:41 +00:00
Jim Meyering
d514933c67 Include fprintftime.h.
Don't include strftime.h or xanstrftime.h -- no longer needed.
(show_date): Use fprintftime rather than xanstrftime.
2005-09-16 07:33:36 +00:00
Jim Meyering
4fa029bd7d (libcoreutils_a_SOURCES): Add fprintftime.c and fprintftime.h. 2005-09-16 07:32:13 +00:00
Jim Meyering
5d8614cf2f *** empty log message *** 2005-09-16 07:31:34 +00:00
Jim Meyering
0277ce3913 [FPRINTFTIME] (fprintftime): Provide a new interface:
size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
		    int utc, int nanoseconds);
Background:
date should not have to allocate a megabyte of virtual memory to
handle a format argument like +%1048575T.  When implemented with
strftime, it must allocate such a buffer, use strftime to fill it
in, print it, then free it.

With fprintftime, it simply prints everything and exits.
With no need for memory allocation, that's one fewer way to fail.
2005-09-16 07:31:29 +00:00
Jim Meyering
ab526003e4 *** empty log message *** 2005-09-16 07:01:00 +00:00
Jim Meyering
f7711ee699 *** empty log message *** 2005-09-16 06:54:26 +00:00
Jim Meyering
8a11d99e7d (subfmt-up1): Test the combination of the
to-upper-case modifier (^) and a conversion specifier that
expands to a string containing lower case characters.
2005-09-16 06:54:19 +00:00
Paul Eggert
d2fa6df35e (usage, main): uname -a no longer generates the -p and -i outputs if
they are unknown.
2005-09-15 19:57:04 +00:00
Paul Eggert
a2365f2d84 uname -a no longer generates the -p and -i outputs if they are unknown. 2005-09-15 19:56:35 +00:00
Paul Eggert
0144e1ae89 Rewrite previous strftime change slightly. 2005-09-15 18:48:13 +00:00
Paul Eggert
a08b44ea30 (my_strftime): Rewrite the previous change slightly,
to make it a bit faster and (I hope) clearer.
2005-09-15 18:47:56 +00:00
Jim Meyering
5185512286 *** empty log message *** 2005-09-14 16:10:41 +00:00
Jim Meyering
cc4800dd1b (my_strftime): Be sure to use L_('x') for literals. 2005-09-14 16:10:38 +00:00
Jim Meyering
9d55b89d59 *** empty log message *** 2005-09-14 10:02:57 +00:00
Jim Meyering
ad98202690 (my_strftime): Parse the colons of %:::z *after* the
optional field width, not before, so we accept %9:z, not %:9z.
2005-09-14 10:02:54 +00:00
Jim Meyering
4da7283547 *** empty log message *** 2005-09-14 09:54:27 +00:00
Jim Meyering
f6198493b8 (tz-5w, tz-5wf): Test new %:z format with a field width. 2005-09-14 09:54:15 +00:00
Paul Eggert
e386e5642d Fix typos noted by Eric Blake. 2005-09-14 06:59:17 +00:00
Paul Eggert
20b858a1e6 Add tz-1 through tz-5. 2005-09-14 06:58:44 +00:00
Paul Eggert
33b49b7cac (my_strftime): Fix typo in octal number introduced in last change. 2005-09-14 06:58:08 +00:00
Paul Eggert
a487dcee70 du and pr also have +:z etc. 2005-09-14 06:57:35 +00:00
Paul Eggert
5b0ca7f5c1 Merge md5 from libc, and clean up some sha1 glitches. 2005-09-13 23:32:50 +00:00
Paul Eggert
bf0cc9f753 (SWAP): Renamed from NOTSWAP, to avoid a horrible misnaming.
All uses changed.  Remove the old SWAP.
Remove obvious comment about BLOCKSIZE.
(rol): New macro, moved here from md5.h.
(sha1_process_block): Remove an incoherent FIXME comment.
2005-09-13 23:32:35 +00:00
Paul Eggert
9a5d4089bc (struct sha1_ctx): Mark buffer as being aligned. 2005-09-13 23:32:15 +00:00
Paul Eggert
14d1fdaec1 (CYCLIC): New macro. All uses of rol changed to use CYCLIC.
Redo comment to minimize changes from libc.
2005-09-13 23:32:01 +00:00
Paul Eggert
a19c71988b (__GNUC_PREREQ, __THROW, __attribute__): New macros.
(__md5_buffer): Renamed from md5_buffer.  Add a macro undoing this
if _LIBC is not defined.  Add __THROW.
(__md5_finish_ctx, __md5_init_ctx, __md5_process_block):
(__md5_process_bytes, __md5_read_ctx, __md5_stream): Likewise.
(struct md5_ctx): Mark buffer as being aligned.
(rol): Remove; all uses changed to CYCLIC.
2005-09-13 23:31:37 +00:00
Paul Eggert
9e64eb8369 Fix wording in previous patch. 2005-09-13 23:01:59 +00:00
Paul Eggert
f4e071662d (uname invocation): Mention that Linux outputs "unknown" for -i and -p. 2005-09-13 22:57:25 +00:00
Paul Eggert
36081fa635 * src/dd.c: Detect some very unlikely buffer overflows.
(INPUT_BLOCK_SLOP, OUTPUT_BLOCK_SLOP): New macros.
(MAX_BLOCKSIZE): Now accepts an arg.  All uses changed.
(page_size): New var.
(scanargs, skip, main): Use more-straightforward way to detect overflow.
(dd_copy): Use page_size rather than invoking getpagesize.
Use INPUT_BLOCK_SLOP, OUTPUT_BLOCK_SLOP.
(main): Set page_size.
Avoid a call to stat in the usual case where ftruncate succeeds.
2005-09-13 22:43:11 +00:00
Paul Eggert
360b98042f (docolon): Add IF_LINT check to avoid GCC warning. 2005-09-13 22:30:56 +00:00
Paul Eggert
24cae62c93 * configure.ac: Don't invoke AC_CONFIGURE_HOST directly. 2005-09-13 22:20:25 +00:00
Paul Eggert
b673eeb49c Add date --rfc-3339. 2005-09-13 22:09:25 +00:00
Paul Eggert
7cc7ac0574 Add tests for --rfc-3339. 2005-09-13 22:09:03 +00:00
Paul Eggert
2c29ba03ac (TIME_SPEC_DATE): No longer needs to be nonzero, so
remove the "=1".
(TIME_SOEC_HOURS, TIME_SPEC_MINUTES): Must be at end now, so put
them there.
(time_spec_string, time_spec): Hours and minutes must be at
start now, so put them there.
(rfc_2822_format): Now a string constant, not a boolean.  All uses
changed.
(iso_8601_format, rfc_format): Remove.
(RFC_3339_OPTION): New constant.
(long_options): Add --rfc-3339.
(usage): Add --rfc-3339.  Don't mention --iso-8601.
Mention %:z, %::z, %:::z.
(main): Simplify calculation of 'format'; it was getting too hairy
to follow.  Add --rfc-3339.
(show_date): Assume format arg is not NULL, which is the case
now.  The default code is moved to 'main'.  This simplifies things
and allows the default to be calculated just once.
2005-09-13 22:08:41 +00:00
Paul Eggert
7846768c6c (my_strftime): Add support for %:z, %::z, %:::z.
Fix bug in formats like %2N.
2005-09-13 22:08:18 +00:00
Paul Eggert
602043e0b8 (Time conversion specifiers, Options for date):
Document date --rfc-3339 and new specifiers %:z, %::z, %:::z.  Use
"date and time" consistently; the old version sometimes said "time
and date".  Fix a minor bug in the documentation for --rfc-2822:
it claimed day-of-month < 10 had leading space, not leading zero.
Use a consistent format for terms like "RFC".
2005-09-13 22:07:58 +00:00
Paul Eggert
a6a9495c14 date has a new --rfc-3339 option, and the old --iso-8601
option is deprecated.  date and ls also have new time format
specifiers %:z, %::z, %:::z.
2005-09-13 22:07:34 +00:00
Jim Meyering
2859e85770 tweak comment 2005-09-13 21:25:21 +00:00
Jim Meyering
3e4d8edce9 *** empty log message *** 2005-09-13 21:11:29 +00:00
Jim Meyering
8fc8f946c4 Revert unintended change that removed definitions
of X2REALLOC and X2NREALLOC.
2005-09-13 21:11:25 +00:00
Jim Meyering
700395d652 mostly update copyrights 2005-09-13 15:46:12 +00:00
Jim Meyering
37cf570cb8 *** empty log message *** 2005-09-13 15:43:51 +00:00
Jim Meyering
fcbf217aa5 escape a $ in a diagnostic 2005-09-13 15:42:45 +00:00
Jim Meyering
0fafb6d2f1 don't check for HAVE_UNISTD_H 2005-09-13 14:58:56 +00:00
Jim Meyering
d632b63cc3 *** empty log message *** 2005-09-13 14:14:46 +00:00
Jim Meyering
4c7c6d6e78 (GZIP_ENV): Add --rsyncable option. 2005-09-13 14:14:41 +00:00
Jim Meyering
82d96eac2e *** empty log message *** 2005-09-13 13:54:01 +00:00
Jim Meyering
5ac066ae80 Use AB_INIT (from autobuild). 2005-09-13 13:53:55 +00:00
Jim Meyering
54f2d33cff *** empty log message *** 2005-09-13 13:52:27 +00:00
Jim Meyering
59e9d0b604 . 2005-09-13 13:52:16 +00:00
Jim Meyering
5452065818 *** empty log message *** 2005-09-13 12:12:44 +00:00
Jim Meyering
2922ae7380 Use ARGMATCH_VERIFY, just in case. 2005-09-13 12:12:36 +00:00
Jim Meyering
4034cf6ad5 *** empty log message *** 2005-09-11 07:42:48 +00:00
Jim Meyering
68b1902041 (usage): Remove leading spaces in 2-line
description, so that help2man doesn't mangle it.
2005-09-11 07:42:43 +00:00
Jim Meyering
8890d86818 *** empty log message *** 2005-09-11 07:41:56 +00:00
Jim Meyering
bcadcf23a9 . 2005-09-10 14:27:00 +00:00
Jim Meyering
aadcf5b2e4 . 2005-09-10 14:16:53 +00:00
Jim Meyering
8650ea82a4 . 2005-09-10 14:07:59 +00:00
Jim Meyering
5c2d345121 Add test for the bug fixed today. 2005-09-10 14:06:29 +00:00
Jim Meyering
0fca40dd6c *** empty log message *** 2005-09-10 14:06:01 +00:00
Jim Meyering
5791c43f91 *** empty log message *** 2005-09-10 13:56:56 +00:00
Jim Meyering
2729563f6b csplit could produce corrupt output, given input lines longer than 8KB
(load_buffer): Don't read from free'd memory
when handling lines longer than the initial buffer length.
(save_to_hold_area): Don't leak the previous hold_area buffer.
Reported by Tristan Miller and Luke Kendall.
* NEWS: Mention this.

(load_buffer): Avoid integer overflow in buffer
size calculations for very long lines.
2005-09-10 13:56:45 +00:00
Jim Meyering
d4595fdae9 *** empty log message *** 2005-09-10 07:48:40 +00:00
Paul Eggert
c991c0e9f8 Insert missing paren. 2005-09-10 00:08:28 +00:00
Paul Eggert
97f9677790 Regenerate. 2005-09-09 21:21:16 +00:00
Paul Eggert
330bb6eeee Fix typo in previous patch: @command{POSIX} -> @acronym{POSIX}. 2005-09-09 21:16:49 +00:00
Paul Eggert
916bce3a7c (tac_seekable): Store match length in regoff_t, not int. Assume that
negative return values less than -2 represent regoff_t overflow.
2005-09-09 21:11:36 +00:00
Paul Eggert
fe041980c8 (SKIP_SOMETHING, find_occurs_in_text):
Store match length in regoff_t,
not int.  Assume that negative return values less than -2
represent regoff_t overflow.
(matcher_error): New function.
(SKIP_SOMETHING, find_occurs_in_text): Use it to report matcher errors.
(alloc_and_compile_regex): No longer any need to worry about
int versus size_t mismatch.
2005-09-09 21:11:07 +00:00
Paul Eggert
0d11284c9e (proc_text): Store match length in regoff_t,
not int.  Assume that negative return values less than -2
represent regoff_t overflow.
(build_type_arg): Check for size_t overflow.
2005-09-09 21:09:48 +00:00
Paul Eggert
35155485bb * src/expr.c (docolon): 64-bit regex fixes. 2005-09-09 21:08:51 +00:00
Paul Eggert
1bd916412d (process_regexp): Store match length in regoff_t,
not int.  Assume that negative return values less than -2
represent regoff_t overflow.
2005-09-09 21:08:19 +00:00
Paul Eggert
3301671de9 Import latest regex module from gnulib, to fix some 64-bit bugs. 2005-09-09 21:07:50 +00:00
Paul Eggert
fd4a5b1b53 More nice fixes. 2005-09-09 20:51:55 +00:00
Paul Eggert
263672792f (nice invocation): Document "niceness" versus
"nice value" versus "scheduling priority".
2005-09-09 20:50:51 +00:00
Paul Eggert
3de440458d (main): Hoist errno=0 outside the ifdef. 2005-09-09 20:47:46 +00:00
Paul Eggert
590a4f3a55 (utils_cv_func_setpriority): Simplify the tests.
Define HAVE_NICE rather than NICE_PRIORITY (since a niceness is
not a priority); all uses changed.
2005-09-09 20:47:29 +00:00
Paul Eggert
159fad8d3a Document "niceness" vs "nice value". 2005-09-09 20:46:54 +00:00
Jim Meyering
c0b692d232 *** empty log message *** 2005-09-09 07:30:01 +00:00
Jim Meyering
da31244e99 (neg-secs2, fill-1, fill-2): Add new tests. 2005-09-09 07:22:27 +00:00
Paul Eggert
09575c108c Use the phrase "niceness" instead of "nice value" to describe
the biased nice value that can go negative.  This corrects
a discrepancy with POSIX, which states that nice values are
nonnegative.
2005-09-08 06:52:09 +00:00
Jim Meyering
fdf404cc1e *** empty log message *** 2005-09-07 06:11:11 +00:00
Jim Meyering
b962737080 (time_args): Use NULL in place of 0. 2005-09-07 06:08:01 +00:00
Paul Eggert
2aeb8c7fa9 * verify.h: Use a bit-field instead. 2005-09-06 08:21:20 +00:00
Paul Eggert
fd03e5ddc5 (__builtin_constant_p): Remove, undoing previous change.
(verify_type__): Solve the problem by using a bit-field rather
than an array.
2005-09-06 08:20:56 +00:00
Jim Meyering
9288303f01 . 2005-09-05 17:17:47 +00:00
Jim Meyering
3dce0fc85c *** empty log message *** 2005-09-05 17:13:21 +00:00
Jim Meyering
ae14879ab9 (setuid-etc): New test, for today's addition of colorization for
setuid, setgid files and sticky, other-writable, sticky-and-other-writable
directories.
2005-09-05 17:13:09 +00:00
Jim Meyering
ac46781470 Colorize set-user-ID and set-group-ID files and sticky,
other-writable, and sticky-and-other-writable directories.

(indicator_no[]): Add new symbols.
(indicator_name[]): Add corresponding mode strings.
(color_indicator[]): Add an entry for each new mode string.
(print_color_indicator): Honor new types.

From Mike Frysinger, based on a patch from Fedora.
2005-09-05 17:12:07 +00:00
Jim Meyering
bd30058179 Colorize set-user-ID and set-group-ID files and sticky,
other-writable, and sticky-and-other-writable directories.

Document the default colors for the new strings.
From Mike Frysinger, based on a patch from Fedora.
2005-09-05 17:11:39 +00:00
Jim Meyering
200572872f Colorize set-user-ID and set-group-ID files and sticky,
other-writable, and sticky-and-other-writable directories.

(slack_codes): Add new dircolors mode names.
(ls_codes): Add corresponding two-letter ls mode strings.
From Mike Frysinger, based on a patch from Fedora.
2005-09-05 17:11:15 +00:00
Jim Meyering
22322e0d9b *** empty log message *** 2005-09-05 16:57:46 +00:00
Jim Meyering
c862959a9d (__builtin_constant_p) [__GNUC__ <= 2]: Define to 1.
(verify_type__) [verify_error_if_non_const__]: New member/test,
to help detect when verify or verify_expr is mistakenly passed
a non-constant argument within a function.
2005-09-05 16:57:40 +00:00
Jim Meyering
2b661b0366 Don't omit comments until there is better documentation. 2005-09-05 15:06:37 +00:00
Jim Meyering
bbd6e2ef20 . 2005-09-04 20:08:25 +00:00
Jim Meyering
b11babcb6b . 2005-09-04 20:06:36 +00:00
Paul Eggert
4e8b2dca77 Clarify comment about size bounds. 2005-09-01 19:31:10 +00:00
Jim Meyering
b8e2e0208f Require gl_STAT_MACROS 2005-09-01 18:10:34 +00:00
Jim Meyering
44bca24e16 *** empty log message *** 2005-09-01 18:10:12 +00:00
Jim Meyering
68aaaf5ca0 Require gl_FUNC_CHOWN, for the definition of
CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
2005-09-01 18:06:54 +00:00
Jim Meyering
7a998d1011 *** empty log message *** 2005-08-31 07:51:07 +00:00
Jim Meyering
db875eadae (quotearg_n_options): Change code to be suboptimal, in
order to avoid an unsuppressible warning from gcc on 64-bit systems.
2005-08-31 07:51:04 +00:00
Jim Meyering
30a8d137dd *** empty log message *** 2005-08-31 07:20:21 +00:00
Jim Meyering
b2678575aa (get_charset_aliases): Add `void' in parameter list
to placate gcc's -Wstrict-prototypes.
2005-08-31 07:19:26 +00:00
Paul Eggert
b23625f623 "rm -FOO" now suggests "rm ./-FOO" if the file "-FOO"
exists and "-FOO" is not a valid option.
2005-08-29 21:14:06 +00:00
Paul Eggert
6334db91d3 Include lstat.h, quotearg.h.
(diagnose_leading_hyphen): New function.
(main): Use it.
2005-08-29 21:13:32 +00:00
Jim Meyering
8cb5f87f68 update from gnulib 2005-08-28 09:18:33 +00:00
Jim Meyering
0b7a9db3fd New file 2005-08-27 20:50:42 +00:00
Jim Meyering
1cd6d2b83b Include <sys/types.h> and declare creat_safer. 2005-08-27 20:43:26 +00:00
Jim Meyering
b484d0e717 *** empty log message *** 2005-08-27 20:42:53 +00:00
Jim Meyering
80664cc6a5 sync from gnulib 2005-08-27 20:40:31 +00:00
Jim Meyering
c4bb860e0f *** empty log message *** 2005-08-27 19:05:28 +00:00
Jim Meyering
e2ea930478 Go ahead and leave the patch in (i.e., revert
today's change).  It doesn't cause a problem after all, since
--exclude-from=- is always handled before --files0-from=F.
2005-08-27 19:05:24 +00:00
Jim Meyering
1cf9fe2981 *** empty log message *** 2005-08-27 18:12:58 +00:00
Jim Meyering
509e46c548 Revert the du.c part of the change from 2005-07-02:
That change (to reopen stdin on F for --files0-from=F) made it so
--exclude-from=- and --files0-from=F would not work together.
2005-08-27 18:12:54 +00:00
Jim Meyering
21e8dcda49 *** empty log message *** 2005-08-27 16:12:25 +00:00
Jim Meyering
dbe6e77865 *** empty log message *** 2005-08-27 16:12:16 +00:00
Jim Meyering
bd17f9b9e1 Use `#error' rather than a string literal to provoke failure. 2005-08-27 16:11:43 +00:00
Jim Meyering
4157054167 *** empty log message *** 2005-08-25 16:28:21 +00:00
Jim Meyering
dd03b039e8 Include <config.h>.
Otherwise, we'd lose LARGEFILE support in any file using e.g. "fcntl--.h"
2005-08-25 16:28:18 +00:00
Jim Meyering
1d6e649c83 *** empty log message *** 2005-08-24 15:25:33 +00:00
Jim Meyering
f80cc28124 (stdopen): Revert to iterating over descriptors, but
rather than using fstat, use fcntl with its F_GETFD flag, which
is more efficient.  Unlike the 2-syscall dup-close approach,
this one doesn't apply any unnecessary pressure on the file
descriptor pool -- thus there is one fewer way to fail.
2005-08-24 15:25:29 +00:00
Jim Meyering
55fb58f426 adjust prototype
Include stdbool.h.
2005-08-24 13:01:31 +00:00
Jim Meyering
2f8742484d *** empty log message *** 2005-08-23 19:42:08 +00:00
Jim Meyering
6cd08ed8ea Update from gnulib. 2005-08-23 19:41:09 +00:00
Jim Meyering
88b1cd5a53 . 2005-08-23 16:58:04 +00:00
Jim Meyering
00fecaac80 *** empty log message *** 2005-08-23 16:57:42 +00:00
Jim Meyering
048d2e424b *** empty log message *** 2005-08-23 16:52:13 +00:00
Jim Meyering
a60996e13c (sc_useless_cpp_parens): New rule.
(syntax-check-rules): Add it.
2005-08-23 16:52:09 +00:00
Jim Meyering
fce7aff711 *** empty log message *** 2005-08-23 16:51:07 +00:00
Jim Meyering
b9400a2bc6 . 2005-08-23 16:48:07 +00:00
Jim Meyering
70dfc132e5 * .x-sc_useless_cpp_parens: New empty file.
* Makefile.am (EXTRA_DIST): Add it.
2005-08-23 16:46:04 +00:00
Jim Meyering
f03cb421a9 *** empty log message *** 2005-08-23 16:39:25 +00:00
Jim Meyering
8e3ee19215 Use `5.3.1-cvs' as the version string. 2005-08-23 16:38:45 +00:00
Jim Meyering
1d35b2cc3d *** empty log message *** 2005-08-23 15:28:30 +00:00
Jim Meyering
6ce9ea95f5 Remove unnecessary parens in `#if defined (SYMBOL)' expressions. 2005-08-23 15:28:22 +00:00
Jim Meyering
64d4675c75 *** empty log message *** 2005-08-23 15:09:23 +00:00
Jim Meyering
be16d0eac0 Remove unnecessary parens in `#if defined (SYMBOL)' expressions. 2005-08-23 15:09:13 +00:00
Jim Meyering
61f9e01475 Remove unnecessary parens in `#if defined (SYMBOL)' expressions. 2005-08-23 15:06:55 +00:00
Jim Meyering
5c86145a1d *** empty log message *** 2005-08-23 15:06:50 +00:00
Jim Meyering
8de5019cf5 Remove unnecessary parens in `#if defined (SYMBOL)' expressions. 2005-08-23 15:05:54 +00:00
Jim Meyering
4fb8e0f3c4 Include <float.h> unconditionally. 2005-08-23 15:05:01 +00:00
Jim Meyering
68c6c7db8e (print_uptime): Remove unnecessary parens in `#if defined (SYMBOL)' expressions. 2005-08-23 15:03:48 +00:00
Jim Meyering
b5e741091d (do_link): If ln is invoked with --interactive (-i),
encounters an existing destination file, and gets an affirmative
response, then first try to unlink the destination file rather
than simply failing.  Suggestion from Karl Berry.
2005-08-22 10:31:55 +00:00
Jim Meyering
a0037fae22 *** empty log message *** 2005-08-22 10:31:34 +00:00
Jim Meyering
3ee86c1b49 (xwrite_stdout): Rename from xwrite. Remove always-equal-to-STDOUT_FILENO
parameter and associated assertion.  Adjust all callers.
2005-08-22 10:31:17 +00:00
Jim Meyering
2fe90443cf *** empty log message *** 2005-08-21 16:08:57 +00:00
Jim Meyering
258e75ecb6 (main): Declare `target_directory' with const attribute. 2005-08-21 16:08:53 +00:00
Jim Meyering
ecd05fa0fd *** empty log message *** 2005-08-21 16:06:16 +00:00
Jim Meyering
3d540878ff (time_style): Add `const' attribute.
(tot_dui): Remove unnecessary (and too-short) initializer list.
2005-08-21 16:06:06 +00:00
Paul Eggert
ff2fecfbe9 Import from gnulib.
(__restrict_arr): Don't define to __restrict if __cplusplus is defined.
2005-08-19 21:14:12 +00:00
Jim Meyering
2e4d4691b0 *** empty log message *** 2005-08-19 17:18:08 +00:00
Jim Meyering
cc6d255ed5 (stdopen): Return `bool' so caller can detect failure. 2005-08-19 17:18:04 +00:00
Jim Meyering
159c7aa02c *** empty log message *** 2005-08-18 22:29:43 +00:00
Jim Meyering
834d8e96c7 (usage) [-b,-t]: Ensure that there are at least two
spaces between each option and the corresponding description -- this
lets help2man format entries properly.  Reported by Edward Welbourne.
2005-08-18 22:26:42 +00:00
Jim Meyering
12513039fc *** empty log message *** 2005-08-17 20:50:21 +00:00
Jim Meyering
6a8b452b32 (usage): Fix typo s/POS 2/POS2/. 2005-08-17 20:50:17 +00:00
Jim Meyering
edf0536c24 *** empty log message *** 2005-08-17 20:49:48 +00:00
Jim Meyering
57727f39bb sync from gnulib 2005-08-17 20:29:37 +00:00
Jim Meyering
38ca84bd9c *** empty log message *** 2005-08-17 20:20:37 +00:00
Jim Meyering
a8819700e1 Remove terminating "\n"s once again.
Automatically add them whenever EXIT != 0.
2005-08-17 20:20:33 +00:00
Jim Meyering
8305377e27 *** empty log message *** 2005-08-17 19:56:48 +00:00
Jim Meyering
df23c845d2 [neg-secs]: New test for today's strftime.c bug fix. 2005-08-17 19:56:44 +00:00
Jim Meyering
147d65828a *** empty log message *** 2005-08-17 19:55:57 +00:00
Jim Meyering
cb3da21f16 Make the %s format (seconds since the epoch) work for a negative
number and when used with a zero-padded field width, e.g. %015s.

(my_strftime): Move the `do_number_sign_and_padding'
label so that it precedes the code to set `digits'.  Otherwise,
%0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
print `00-22'.  Now, it prints `-0022', as it should.
2005-08-17 19:55:52 +00:00
Paul Eggert
6a18f2232d * src/df.c (show_dev): New arg STAT_FILE. 2005-08-16 20:33:57 +00:00
Paul Eggert
7b4c1ac12a (show_dev): New arg STAT_FILE. All uses changed.
This sometimes gives better results on networked file systems
that do not respect POSIX semantics.  Problem reported by
Bruno Haible.
2005-08-16 20:33:40 +00:00
Jim Meyering
c013687ab1 add comment 2005-08-15 13:05:58 +00:00
Jim Meyering
9d534aa492 use ERR_SUBST to get around fact that the diagnostic
you get on a system with 32-bit time_t is not the same as
the one you get for a system where it's 64 bits wide:
- date: time 72057594037927935 is out of range
+ date: invalid date `@72057594037927935'
2005-08-15 13:03:57 +00:00
Jim Meyering
4a78a30f89 (uninit-64): New test for today's date.c fix.
Rewrite all other OUT strings to include the terminating "\n".
2005-08-15 13:01:50 +00:00
Jim Meyering
c8624c2dcc *** empty log message *** 2005-08-15 12:16:58 +00:00
Jim Meyering
cb50fa3e87 Don't print uninitialized data (or anything else) to stdout
upon localtime failure.

(show_date): Remove stray `puts (buf);' (debugging?)
from the 2004-02-02 change.
2005-08-15 12:16:54 +00:00
Jim Meyering
ce10740dac make log entry more accurate 2005-08-15 09:11:17 +00:00
Jim Meyering
92f52ac5b5 *** empty log message *** 2005-08-15 08:41:24 +00:00
Jim Meyering
bcb18ed9c2 (join invocation): Itemize the defaults. 2005-08-15 08:41:21 +00:00
Jim Meyering
b851ea732e *** empty log message *** 2005-08-14 15:03:59 +00:00
Jim Meyering
11555e0b30 *** empty log message *** 2005-08-14 15:02:49 +00:00
Jim Meyering
8c6944b93f (usage): Fix typo s/formated/formatted/ reported by Norbert Kiesel 2005-08-14 15:02:45 +00:00
Jim Meyering
43ad2bb1f4 *** empty log message *** 2005-08-14 15:02:23 +00:00
Jim Meyering
b2e04be2fa . 2005-08-14 14:31:23 +00:00
Jim Meyering
71074cf49e *** empty log message *** 2005-08-14 14:29:28 +00:00
Jim Meyering
fd94ad4854 *** empty log message *** 2005-08-14 14:22:23 +00:00
Jim Meyering
6dc48762d8 Don't include "timespec.h". 2005-08-14 14:22:00 +00:00
Jim Meyering
4852a0460a *** empty log message *** 2005-08-14 14:20:53 +00:00
Jim Meyering
478bd8935b Use one fewer file descriptor in a common case.
Include "fd-reopen.h", rather than "fcntl--.h".
Use fd_reopen rather than open.
2005-08-14 14:18:07 +00:00
Jim Meyering
0ad5c9400b *** empty log message *** 2005-08-14 14:17:54 +00:00
Jim Meyering
c41d32149a Include "timespec.h".
(age_of): Return the nanoseconds part of the timestamp, if available.
(binary_operator) [-nt, -ot]: Use nanosecond values to break ties.
2005-08-14 14:17:48 +00:00
Jim Meyering
9d9ca33394 *** empty log message *** 2005-08-14 11:16:15 +00:00
Jim Meyering
006d08a85d (long_time_expected_width): Revert last change, just to
be paranoid, and add a comment explaining why.
Paul Eggert mentioned the possibility.
2005-08-14 08:30:25 +00:00
Jim Meyering
2a372ff7dc *** empty log message *** 2005-08-13 22:47:52 +00:00
Jim Meyering
f9a52f316a Don't define mbrtowc at all.
If mbstate_t is not defined, then AC_TYPE_MBSTATE_T will define
it to `int' for us.
2005-08-13 22:47:48 +00:00
Jim Meyering
9d66e1afee *** empty log message *** 2005-08-13 22:46:07 +00:00
Jim Meyering
4f47534c2a undo last change 2005-08-13 22:45:53 +00:00
Jim Meyering
6f29f55e7c *** empty log message *** 2005-08-13 22:26:36 +00:00
Jim Meyering
cb9cbee3bc [HAVE_WCTYPE_H]: Include <wctype.h>; this is
needed on HP-UX 11.23 in order to get a definition of mbstate_t.
2005-08-13 22:26:33 +00:00
Jim Meyering
2a775eb67d update from gnulib 2005-08-13 21:06:17 +00:00
Jim Meyering
24198ff680 update from gnulib 2005-08-13 21:04:02 +00:00
Jim Meyering
cac9f4ecd5 *** empty log message *** 2005-08-13 17:39:40 +00:00
Jim Meyering
9609435c35 . 2005-08-13 17:36:34 +00:00
Jim Meyering
ca2c2c49bf (AC_CONFIG_FILES): Remove tests/date/Makefile. 2005-08-13 17:34:22 +00:00
Jim Meyering
72c320dcb2 (SUBDIRS): Remove date. 2005-08-13 17:34:11 +00:00
Jim Meyering
d177820c9a convert last batch of tests 2005-08-13 15:43:40 +00:00
Jim Meyering
d0c7a455fb Use new ENV and ENV_DEL to support this latest batch of tests from
tests/date/Test.pm
2005-08-13 15:36:14 +00:00
Jim Meyering
0d7a17424c New keywords, ENV and ENV_DEL, to support tests/misc/date. 2005-08-13 15:34:52 +00:00
Jim Meyering
db209f6c24 move a bunch of tests to ../misc/date 2005-08-13 14:45:45 +00:00
Jim Meyering
3d7ea6356b more tests translated from ../date/Test.pm 2005-08-13 14:45:38 +00:00
Jim Meyering
9d610b26f8 move a bunch of tests to ../misc/date 2005-08-13 14:42:03 +00:00
Jim Meyering
9741a40764 add a bunch more tests 2005-08-13 14:41:39 +00:00
Jim Meyering
a6f5fa497d move a handful of tests to ../misc/date 2005-08-13 14:33:48 +00:00
Jim Meyering
75c40d536f more tests translated from ../date/Test.pm 2005-08-13 14:33:33 +00:00
Jim Meyering
1248f39fc8 *** empty log message *** 2005-08-13 14:08:29 +00:00
Jim Meyering
0b20b31116 (TESTS): Add date. 2005-08-13 14:08:26 +00:00
Jim Meyering
bb05ee39b8 With todays additions, the generated shell script,
tests/date/date-tests had becoming far too large (over 350KB),
so use the superior-but-perl-requiring framework instead.
* tests/date/Test.pm: Move new tests from here...
* tests/misc/date: ...to this new file.
2005-08-13 14:07:18 +00:00
Jim Meyering
a3bde3aa18 (test_vector): Add 364 more tests like the above.
Remove unused $sunos4 variable.
2005-08-13 13:16:29 +00:00
Jim Meyering
ca55c7bf7f *** empty log message *** 2005-08-13 13:07:49 +00:00
Jim Meyering
829444c02d (test_vector) [cross-dst]: New test for just-fixed getdate.y bug. 2005-08-13 13:07:45 +00:00
Jim Meyering
9d8e8ad521 *** empty log message *** 2005-08-13 12:10:22 +00:00
Jim Meyering
0971b8d8a9 (get_date): Undo part of the 2005-04-04 change, so that
the command "date -d'2005-03-27 +1 day'" succeeds once again, even
when run in a time zone for which daylight savings time is in effect
for the starting date.
2005-08-13 12:10:05 +00:00
Jim Meyering
04de70c8d2 *** empty log message *** 2005-08-12 13:17:05 +00:00
Jim Meyering
320b71c4d3 (re_string_realloc_buffers): Rename local-shadowed
variable: s/new_array/offsets/.
(re_acquire_state) [lint]: Set *err, to avoid warnings in caller.
2005-08-12 13:16:47 +00:00
Jim Meyering
2e24888889 (regexec, re_search_stub) [!_LIBC]: Omit declaration of unused local, dfa.
(proceed_next_node): Remove outer declaration and
unnecessary initialization of local-shadowed `dest_node'.
Declare it in inner scopes, nearer its uses instead.
2005-08-12 13:16:26 +00:00
Jim Meyering
d7d1532698 (duplicate_node) [lint]: Set *new_idx to -1, to avoid
warnings (unfounded) in caller that it may be used uninitialized.
2005-08-12 13:10:17 +00:00
Jim Meyering
39a33e5f64 *** empty log message *** 2005-08-12 13:02:23 +00:00
Jim Meyering
956fd9d0d1 Mention that with FTS_LOGICAL, we use FTS_TIGHT_CYCLE_CHECK. 2005-08-12 13:02:17 +00:00
Jim Meyering
fe90fa6a61 (setup_dir, enter_dir, leave_dir, free_dir):
Use the hash-table-based cycle-detection code not just when
FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
Reported by James Youngman in
<http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
2005-08-12 13:02:01 +00:00
Jim Meyering
6806c6a801 (fts_cross_check) [FTS_DEBUG]: s/active_dir_ht/fts_cycle.ht/. 2005-08-12 13:00:57 +00:00
Jim Meyering
fdaa1ce849 (IF_LINT): Define. 2005-08-12 12:41:56 +00:00
Jim Meyering
fa237b382f (RE_SYNTAX_POSIX_AWK): Remove useless space-before-TAB. 2005-08-12 12:41:41 +00:00
Jim Meyering
b73e873367 *** empty log message *** 2005-08-12 08:25:57 +00:00
Jim Meyering
1442403a5d (main): Explain why we reopen stdin for write-only access. 2005-08-12 08:25:52 +00:00
Jim Meyering
19b17d2ce6 *** empty log message *** 2005-08-12 08:22:50 +00:00
Jim Meyering
9a3ebcb54d (long_time_expected_width): Don't test for failed localtime.
That cannot happen when the result date's year is in range.
Add an assertion instead.
2005-08-12 08:22:47 +00:00
Jim Meyering
3623a168c4 *** empty log message *** 2005-08-12 08:18:25 +00:00
Jim Meyering
501d8ffe81 (sort_found_occurs, digest_word_file): Likewise.
(alloc_and_compile_regex): Likewise.
2005-08-12 08:18:18 +00:00
Jim Meyering
585c8e075b (sort_files): Use cleaner sizeof *VAR_NAME' rather than sizeof (TYPE_NAME)'. 2005-08-12 08:17:54 +00:00
Jim Meyering
bbef1a2f19 *** empty log message *** 2005-08-12 08:08:04 +00:00
Jim Meyering
53a9b25dc2 Test `!defined HAVE_MBSTATE_T' rather than
`defined mbstate_t' to detect missing support for mbstate_t.
The latter didn't work for HP-UX 11.23.
2005-08-12 08:08:00 +00:00
Jim Meyering
68b0358b66 *** empty log message *** 2005-08-12 08:06:56 +00:00
Jim Meyering
f6ab92093a Add bulletproofing in case stdin is closed.
(have_read_stdin): Remove global variable.
(dc_parse_stream): Always use stdin (freopen, if needed) rather
than sometimes using fopen to get a new file descriptor.
Call fclose unconditionally.
(main): Don't close stdin here.  If needed, now it's already done
by dc_parse_stream.
2005-08-12 08:06:28 +00:00
Jim Meyering
75ae174b6a *** empty log message *** 2005-08-12 07:57:16 +00:00
Jim Meyering
5f646f5315 (dc_parse_file): Remove comment about now-removed OPENOPTS. 2005-08-12 07:45:29 +00:00
Jim Meyering
c0c63502f0 *** empty log message *** 2005-08-12 07:29:59 +00:00
Jim Meyering
a370bc0aff (main): Cosmetic: use X2REALLOC rather than x2realloc. 2005-08-12 07:29:51 +00:00
Jim Meyering
8c418c480c (fold_file): Cosmetic: use X2REALLOC rather than x2realloc. 2005-08-12 07:29:38 +00:00
Jim Meyering
0b08c38152 Cosmetic: use X2NREALLOC (only two arguments) rather than x2nrealloc (with three). 2005-08-12 07:16:25 +00:00
Jim Meyering
6f7fd1a866 *** empty log message *** 2005-08-12 07:15:37 +00:00
Jim Meyering
aa830a0526 *** empty log message *** 2005-08-12 07:10:33 +00:00
Jim Meyering
e39102faca adjust long lines 2005-08-12 07:10:22 +00:00
Jim Meyering
bdb22d1235 (main): Cosmetic: use '\0' in place of 0. 2005-08-12 07:09:47 +00:00
Jim Meyering
a93af329ba . 2005-08-12 06:54:24 +00:00
Jim Meyering
dfc27ade53 *** empty log message *** 2005-08-12 06:50:29 +00:00
Jim Meyering
74b0f6edde (cp invocation, mv invocation): Remove square
brackets in --reply=[HOW].  Reported by Oscar Liljeblad.
2005-08-12 06:49:48 +00:00
Jim Meyering
0508157932 . 2005-08-02 21:15:19 +00:00
Jim Meyering
ef1fad923f Include "xanstrftime.h".
(show_date): Use xanstrftime instead of open-coding it.
2005-08-02 20:53:32 +00:00
Jim Meyering
a930898d64 *** empty log message *** 2005-08-02 20:52:49 +00:00
Jim Meyering
7a44d1f860 Include "xanstrftime.h".
(show_date): Use xanstrftime instead of open-coding it.
2005-08-02 20:52:44 +00:00
Jim Meyering
959af4cc75 *** empty log message *** 2005-08-02 20:49:08 +00:00
Jim Meyering
22f8ee8ad1 Require gl_FUNC_XANSTRFTIME. 2005-08-02 20:48:58 +00:00
Jim Meyering
309ee82143 *** empty log message *** 2005-08-02 20:48:15 +00:00
Jim Meyering
c5739dcf8e *** empty log message *** 2005-08-02 20:47:46 +00:00
Jim Meyering
8822b68f9e new files 2005-08-02 20:47:37 +00:00
Jim Meyering
e568ad3e45 *** empty log message *** 2005-08-02 20:44:46 +00:00
Jim Meyering
eed7b13805 (show_date): Remove now-unnecessary code that
treated an empty format string as a special case.
2005-08-02 20:44:38 +00:00
Jim Meyering
73ebfeb75a (empty-format): New test, for this case. 2005-08-02 20:44:09 +00:00
Paul Eggert
afc5f72438 Import regex.m4 from gnulib. 2005-07-25 19:29:51 +00:00
Paul Eggert
55a6eee63c (gl_INCLUDED_REGEX): Use AC_RUN_ELSE instead of the
obsolescent AC_TRY_RUN.  Include the default includes files, for 'exit'.
2005-07-25 19:29:34 +00:00
Paul Eggert
317a0f7a07 Fix getdate bug with relative times. 2005-07-21 22:00:55 +00:00
Paul Eggert
217cd893ef (relative_time): New type.
(RELATIVE_TIME_0): New constant.
(parser_control): Use relative_time instead of doing it ourselves.
(%union): Add new relative_time rel member.
(tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
Now typeless.
(relunit, relunit_snumber): Now of type rel.
(zone, rel, relunit, get_date): Adjust to above changes.
2005-07-21 22:00:34 +00:00
Paul Eggert
842bd54edb (gl_C_COMPOUND_LITERALS): New macro.
(gl_GETDATE): Use it.
2005-07-21 22:00:06 +00:00
Jim Meyering
f4980f5997 *** empty log message *** 2005-07-19 11:10:43 +00:00
Jim Meyering
27cc9e65d2 (usage): Adjust printf argument list to match new format string. 2005-07-19 11:10:35 +00:00
Paul Eggert
19f049e34c md5sum --check now accepts multiple input files. 2005-07-19 07:35:51 +00:00
Paul Eggert
eb3bd006a1 (usage, main): --check now accepts multiple input files. 2005-07-19 07:34:55 +00:00
Paul Eggert
b6bf239918 (md5sum invocation): --check now allows multiple FILE inputs. 2005-07-19 07:34:26 +00:00
Paul Eggert
cb0d1f9a60 md5sum --check now accepts multiple input files, and similarly for sha1sum. 2005-07-19 07:34:02 +00:00
Paul Eggert
62d9978140 Fix a problem noted by James Youngman: VPATH-style builds don't
work because of po file problems.
2005-07-18 08:03:56 +00:00
Paul Eggert
d58ce6b09c (EXIT_STATUS): New macro.
(PROGRAM_NAME, usage): Behave like "false" if EXIT_STATUS indicates.
(usage): Remove "These option names may not be abbreviated."
2005-07-18 07:53:05 +00:00
Paul Eggert
983ce81d94 Initial revision. 2005-07-18 07:52:37 +00:00
Paul Eggert
cc5f57603d (BUILT_SOURCES): Remove false.c.
(false.c): Remove; it's now a source file.
2005-07-18 07:52:18 +00:00
Paul Eggert
7eb112c43b Update true/false doc. 2005-07-18 07:51:49 +00:00
Paul Eggert
8445b707fd (false invocation):
Mention that false is often built-in, and that it exits
with status >1 on some hosts.
(true invocation): Remove now-incorrect "non-POSIX mode" reference.
2005-07-18 07:51:32 +00:00
Paul Eggert
829fcc0991 nohup no longer worries about POSIXLY_CORRECT. 2005-07-15 21:55:32 +00:00
Paul Eggert
ef5043084f (main): Don't worry about POSIXLY_CORRECT. 2005-07-15 21:55:13 +00:00
Paul Eggert
adbbc35f87 (nohup invocation): POSIXLY_CORRECT no longer
affects nohup's behavior.  Input is redirected from /dev/null.
2005-07-15 21:54:56 +00:00
Paul Eggert
738c09d59c nohup now ignores POSIXLY_CORRECT and redirects from /dev/null. 2005-07-15 21:54:38 +00:00
Paul Eggert
9cfc51e083 Remove FESETROUND_LIBM; no longer needed. 2005-07-14 00:03:08 +00:00
Jim Meyering
765f89353e *** empty log message *** 2005-07-12 18:34:45 +00:00
Jim Meyering
ad617951a6 (copyright-check): Reflect rearrangement in version-etc files. 2005-07-12 18:31:51 +00:00
Jim Meyering
f63845ae12 *** empty log message *** 2005-07-12 16:48:12 +00:00
Jim Meyering
40db6abec1 (X2NREALLOC): Define. 2005-07-12 16:47:37 +00:00
Jim Meyering
95550da8d3 . 2005-07-12 16:44:52 +00:00
Jim Meyering
eb3e6a0569 replace leading spaces with a TAB 2005-07-12 15:36:07 +00:00
Paul Eggert
7c97d643b9 (verify_expr): Use ((verify_type__ (R) *) 0), not
sizeof (verify_type__ (R)), to pacify C++ compilers.
2005-07-11 23:28:09 +00:00
Paul Eggert
6a406d5d8b Reword copyright notices to conform to current GNU coding standards. 2005-07-11 21:59:08 +00:00
Paul Eggert
51ae476ad8 Parameterize the copyright symbol and the year. 2005-07-11 21:58:50 +00:00
Paul Eggert
8fb97bd54a (COPYRIGHT_YEAR): New constant.
(version_etc_va): Use parameterized copyright notice.
Reword to conform to the current GNU coding standards.
2005-07-11 21:58:32 +00:00
Paul Eggert
b6f3f54730 Binary input and output are now implemented more consistently. 2005-07-11 18:31:36 +00:00
Paul Eggert
edfb9f5ba8 Updates for cat and md5sum, for text vs binary. 2005-07-11 18:31:10 +00:00
Paul Eggert
15a1aede78 (setmode, fileno): Remove; no longer needed, we think.
(SET_MODE, SET_BINARY, SET_BINARY2): Remove.
[defined __DJGPP__]: Don't include <io.h> or <sys/exceptn.h>.
2005-07-11 18:30:26 +00:00
Paul Eggert
bdc138f474 (wipefile): Always use binary mode. Clearly this
never worked right on DOS!
2005-07-11 18:30:02 +00:00
Paul Eggert
aa43a635c1 (usage): Clarify whether text or binary is the default.
(split_3, main): BINARY is now a 3-way value.  All uses changed.
(digest_file): Likewise.  Clear *BINARY if we determine the file
to be text.  All uses changed.
(main): Don't report a file to be binary if we actually read it
as text in MS-DOS, because it was a terminal.
2005-07-11 18:29:44 +00:00
Paul Eggert
d045e55b7c (unexpand): Always copy in text mode. POSIX says
the input and output must be text.
2005-07-11 18:29:21 +00:00
Paul Eggert
44f0501d4f (expand): Always copy in text mode. POSIX says
the input and output must be text.
2005-07-11 18:28:53 +00:00
Paul Eggert
8831c9589a (copy_reg): Always copy in binary mode. 2005-07-11 18:28:19 +00:00
Paul Eggert
f3946fbee9 (wc): Avoid setmode; use POSIX-specified routines instead.
(wc_file): FILE might be null now.
(main): Simplify code a bit, so that fewer places need the setmode fixes.
2005-07-11 18:27:49 +00:00
Paul Eggert
07fc234838 (main): Avoid setmode; use POSIX-specified routines instead. 2005-07-11 18:27:10 +00:00
Paul Eggert
a1170668ff (tee): Avoid setmode; use POSIX-specified routines instead. 2005-07-11 18:26:52 +00:00
Paul Eggert
9839325ad5 (tail_bytes, tail_lines, tail_file, main):
Avoid setmode; use POSIX-specified routines instead.
2005-07-11 18:26:28 +00:00
Paul Eggert
b91eec6bb2 (copy_to_temp, tac_file, main):
Avoid setmode; use POSIX-specified routines instead.
2005-07-11 18:25:56 +00:00
Paul Eggert
ed0dda33d5 (bsd_sum_file, sysv_sym_file):
Avoid setmode; use POSIX-specified routines instead.
2005-07-11 18:25:23 +00:00
Paul Eggert
b2b2956e01 (main): Avoid setmode; use POSIX-specified routines instead. 2005-07-11 18:24:42 +00:00
Paul Eggert
a40f69da68 (open_next_file): Avoid setmode; use POSIX-specified routines instead. 2005-07-11 18:24:14 +00:00
Paul Eggert
6560de0b04 (head_lines, head_file): Avoid setmode; use POSIX-specified routines instead.
(elide_tail_bytes_file, elide_tail_lines_file, head_bytes):
(head_lines, head_file): Always use binary mode except for std tty.
2005-07-11 18:23:23 +00:00
Paul Eggert
9824112cfa (cksum): Avoid setmode; use POSIX-specified routines instead. 2005-07-11 18:21:54 +00:00
Paul Eggert
8770c00ef4 (usage, main, long_options) [O_BINARY]:
Remove support for -B.  Use same rules as other programs to decide
whether to use binary I/O, except that the -bensAE options always
select text mode.
(main): Avoid setmode; use POSIX-specified routines instead.
2005-07-11 18:21:11 +00:00
Paul Eggert
bc4268f8d6 (cat invocation): Remove -B or --binary option
(available on MS-DOS-like platforms only).  Explain when text and
binary mode are used now.
(md5sum invocation): -b actually does have an effect on Unix: it
causes "*" to be output.  Explain when text and binary mode are
used now.
2005-07-11 18:20:34 +00:00
Paul Eggert
1ee7165eba Binary input and output are now implemented more consistently.
These changes affect only platforms like MS-DOS that distinguish
between binary and text files.
2005-07-11 18:20:05 +00:00
Paul Eggert
580d1e6d6d Don't include stdio.h; no longer needed. 2005-07-09 22:10:38 +00:00
Paul Eggert
531b803d83 Regenerate. 2005-07-09 07:40:15 +00:00
Paul Eggert
d94b54ec17 Use only HAVE_SYS_IOCTL_H to decide whether to include sys/ioctl.h.
stropt.h -> stropts.h
2005-07-09 07:39:04 +00:00
Paul Eggert
8d51efbab1 Use only HAVE_SYS_IOCTL_H to decide whether to include sys/ioctl.h.
stropt.h -> stropts.h
2005-07-09 07:38:28 +00:00
Paul Eggert
8bf75032ee Use only HAVE_SYS_IOCTL_H to decide whether to include sys/ioctl.h. 2005-07-09 07:37:58 +00:00
Paul Eggert
9e9532c8ff strtopt.h -> stropts.h 2005-07-09 07:37:19 +00:00
Paul Eggert
b4a47a0cf3 strtopt.h -> stropts.h 2005-07-09 07:36:54 +00:00
Paul Eggert
21def2abc0 Undo previous change, and remove AC_HEADER_TIOCGWINSZ. 2005-07-09 07:36:33 +00:00
Paul Eggert
d2cdd805c4 Update to Eric Blake porting problems. 2005-07-09 07:36:03 +00:00
Paul Eggert
d3fdc82a4e (getloadavg) [__CYGWIN__]: Port to cygwin.
[__linux__]: Allocate a big enough buffer for /proc/loadavg.
[!LDAV_DONE]: Avoid unused variable warning.
2005-07-08 23:41:43 +00:00
Paul Eggert
37c6631081 Regenerate. 2005-07-08 22:57:38 +00:00
Paul Eggert
1d0de4ba95 Fix porting problems reported by Eric Blake. 2005-07-08 22:57:09 +00:00
Paul Eggert
648e937e89 (gl_CHECK_ALL_HEADERS): Check for stropt.h. 2005-07-08 22:56:17 +00:00
Paul Eggert
6a0a1919c7 (print_user): Don't assume uid fits in unsigned int.
(print_group): Likewise, for gid.
2005-07-08 22:55:44 +00:00
Paul Eggert
137c1c2208 Include stropt.h if available. 2005-07-08 22:54:40 +00:00
Paul Eggert
db7d10bd9d Include stropt.h if available.
Use HAVE_FIONREAD_IN_SYS_IOCTL instead of _POSIX_SOURCE
to decide whether to include <sys/ioctl.h>.
2005-07-08 22:54:15 +00:00
Paul Eggert
cb59a7d3d0 Add check for HAVE_FIONREAD_IN_SYS_IOCTL. 2005-07-08 22:53:50 +00:00
Paul Eggert
64890758cf (init_dfa, build_range_exp): Store __btowc value
in wint_t, not wchar_t.  Remove now-unnecessary cast.
2005-07-08 17:58:35 +00:00
Paul Eggert
0e5aafc45a backupfile.m4, same.m4 cleanup. 2005-07-08 07:09:20 +00:00
Paul Eggert
63449616ae (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on pathconf. 2005-07-08 07:08:56 +00:00
Paul Eggert
0561231d58 (gl_SAME): Use AC_CHECK_FUNCS_ONCE on pathconf.
Require AC_SYS_LONG_FILE_NAMES.
2005-07-08 07:08:41 +00:00
Paul Eggert
060594db56 Regenerate. 2005-07-08 00:35:04 +00:00
Paul Eggert
ce3bb28d95 Switch to Isamu Hasegawa's implementation of regex, which is
now in gnulib.
2005-07-08 00:23:15 +00:00
Paul Eggert
36a263effc Add regcomp.c, regex_internal.c, regex_internal.h. 2005-07-08 00:22:14 +00:00
Paul Eggert
88ca28f3d7 (libcoreutils_a_SOURCES): Remove regex.h; gnulib
now does this automatically for us.
2005-07-08 00:14:05 +00:00
Jim Meyering
52c7a92b85 . 2005-07-07 17:59:05 +00:00
Jim Meyering
f68e25dc8f remove stray `=' from comment 2005-07-06 09:34:09 +00:00
Paul Eggert
fce3dd9870 (DECIMAL_DIGIT_ACCUMULATE): Generate a hard error
(not just a warning) if GCC is used and the types don't match.
2005-07-05 22:20:17 +00:00
Jim Meyering
e74c15dd5a fix typo in comment 2005-07-05 07:33:50 +00:00
Paul Eggert
a7a648d4d4 Remove the need for typeof. 2005-07-05 06:33:24 +00:00
Paul Eggert
3ca74b36f5 Adjust to the change to DECIMAL_DIGIT_ACCUMULATE: its last arg is now
a type, not a value.
2005-07-05 06:32:54 +00:00
Paul Eggert
413a45b973 (VERIFY_W_TYPEOF): Remove; no longer needed.
(DECIMAL_DIGIT_ACCUMULATE): Change last arg from T's maximum value
to T itself.  All callers changed.  Check that T is unsigned, and
that Accum is of type T.  This fixes a bug in the unlikely case
where SIZE_MAX <= INT_MAX, and it no longer requires typeof to do
the proper validity checks.
2005-07-05 06:31:46 +00:00
Paul Eggert
fed2b7273d Remove typeof test; no longer needed. 2005-07-05 06:30:57 +00:00
Paul Eggert
85eb851bef (gl_PREREQ): Don't require gl_TYPEOF; no longer needed. 2005-07-05 06:30:27 +00:00
Paul Eggert
971c8d4c1f Adjust to verify.h change. 2005-07-05 05:17:10 +00:00
Paul Eggert
aeecb8f89f (VERIFY_W_TYPEOF): Adjust to verify.h change. 2005-07-05 05:16:57 +00:00
Paul Eggert
6ef09ecf57 verify.h improvements. 2005-07-05 05:16:29 +00:00
Paul Eggert
5ad307bfc0 * verify.h (GL_CONCAT0, GL_CONCAT): Define unconditionally; don't
depend on whether verify_decl is defined.
(verify): Renamed from verify_decl.  All uses changed.
Use an extern function decl, as it can't possibly collide with other
decls.
(verify_expr): Renamed from verify.  All uses changed.
(verify_type__): New private macro.
(verify, verify_expr): Use it.
2005-07-05 05:16:08 +00:00
Jim Meyering
bd6ce95891 rename: s/verify_dcl/verify_decl/ 2005-07-04 17:40:37 +00:00
Jim Meyering
e2b7434615 rename: s/verify_dcl/verify_decl/ 2005-07-04 17:39:48 +00:00
Jim Meyering
14ad8a2da7 *** empty log message *** 2005-07-04 16:09:10 +00:00
Jim Meyering
302c7df271 (libcoreutils_a_SOURCES): Add verify.h here, temporarily.
Eventually, it'll be pulled in via AC_LIBSOURCES.
2005-07-04 16:09:03 +00:00
Jim Meyering
1fd49f4452 *** empty log message *** 2005-07-04 16:06:43 +00:00
Jim Meyering
3b0e00ba4e Include "verify.h". 2005-07-04 16:06:41 +00:00
Jim Meyering
979600d391 *** empty log message *** 2005-07-04 16:05:44 +00:00
Jim Meyering
cfdfe3e318 (verify, verify_dcl): New file/macros. 2005-07-04 16:05:41 +00:00
Jim Meyering
a54b48abe6 *** empty log message *** 2005-07-04 14:47:47 +00:00
Jim Meyering
13bda3c7c6 (verify_dcl): Rename from VERIFY. Update use. 2005-07-04 14:47:42 +00:00
Jim Meyering
87371803be *** empty log message *** 2005-07-04 14:00:03 +00:00
Jim Meyering
746f032f31 Reflect name change: s/VERIFY/verify_dcl/. 2005-07-04 13:59:54 +00:00
Jim Meyering
ab8dd2fabc *** empty log message *** 2005-07-04 13:56:21 +00:00
Jim Meyering
fbdee4c720 (verify): Rename from VERIFY_EXPR, to be lower case,
like assert.  Use sizeof, rather than equivalent ((...)0), for
it's slightly simpler syntax.  Suggestions from Paul Eggert.
(verify_decl): Rename from VERIFY.
2005-07-04 13:56:18 +00:00
Paul Eggert
9a00b08ea6 Remove the dependency of the strftime module on the tzset module. 2005-07-04 05:07:30 +00:00
Paul Eggert
d96382a5e9 (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
Copy the input structure, to work around some of the bug with
Solaris 2.5.1 and Solaris 2.6.
2005-07-04 05:06:44 +00:00
Paul Eggert
ca039b42dc (gl_FUNC_STRFTIME): Don't require gl_FUNC_TZSET_CLOBBER. 2005-07-04 05:06:11 +00:00
Paul Eggert
c10f8db2a8 (gl_PREREQ): Add gl_FUNC_TZSET_CLOBBER. 2005-07-04 05:05:55 +00:00
Jim Meyering
c719961a19 *** empty log message *** 2005-07-03 21:10:37 +00:00
Jim Meyering
035abbb7c6 (posixtime) [lint]: Initialize *all* of tm0, not just
the .tm_year member, since otherwise gcc-4.0 would now warn about
tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
2005-07-03 21:10:31 +00:00
Jim Meyering
052190e99c *** empty log message *** 2005-07-03 18:21:02 +00:00
Jim Meyering
ed8207cf4e *** empty log message *** 2005-07-03 16:58:52 +00:00
Jim Meyering
3e7b6a68b5 Adjust for new diagnostic. 2005-07-03 16:58:48 +00:00
Jim Meyering
98ce09d7d2 Adjust for new diagnostic. 2005-07-03 16:54:37 +00:00
Jim Meyering
9b12f5aa66 cp and mv: the --reply=X option is deprecated 2005-07-03 16:52:09 +00:00
Jim Meyering
d7d473a84f *** empty log message *** 2005-07-03 16:52:01 +00:00
Jim Meyering
fb4be2889d *** empty log message *** 2005-07-03 16:49:26 +00:00
Jim Meyering
5610a8734d (main): Using --reply now evokes a warning.
(usage): Remove description of --reply.
2005-07-03 16:49:15 +00:00
Jim Meyering
30b8e3a012 *** empty log message *** 2005-07-03 16:48:24 +00:00
Jim Meyering
a131d6d892 (cp invocation): Mark --reply as deprecated.
(mv invocation): Likewise.
2005-07-03 16:48:19 +00:00
Jim Meyering
33d0086bb2 *** empty log message *** 2005-07-03 15:30:01 +00:00
Jim Meyering
c95640a56e Remove obsolete comment. 2005-07-03 15:29:58 +00:00
Jim Meyering
685eb5f2c3 . 2005-07-03 13:47:39 +00:00
Jim Meyering
a7bcad0e5a *** empty log message *** 2005-07-03 13:44:58 +00:00
Jim Meyering
e24584b100 (gl_FUNC_LSTAT): Use AC_LIBSOURCES to require lstat.c and lstat.h. 2005-07-03 13:44:52 +00:00
Jim Meyering
85ddb64559 . 2005-07-03 11:58:11 +00:00
Jim Meyering
9caa96f10d *** empty log message *** 2005-07-03 11:55:51 +00:00
Jim Meyering
682e43e0e4 (gl_FUNC_LSTAT): New file, from gnulib. 2005-07-03 11:55:48 +00:00
Paul Eggert
15364e7a4e Log today's changes. 2005-07-03 09:37:52 +00:00
Paul Eggert
65bf9cd48f Minor fixes for port to Solaris 8. 2005-07-03 09:35:55 +00:00
Paul Eggert
c6a39d64c0 Minor fixes for port to Solaris 8. 2005-07-03 09:35:34 +00:00
Paul Eggert
0e11d335eb Undo previous change. 2005-07-03 09:35:02 +00:00
Paul Eggert
a6e5563cef Include "lstat.h" rather than rolling our own. 2005-07-03 09:31:19 +00:00
Paul Eggert
22b464a900 Don't require AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
module's job.
2005-07-03 09:30:00 +00:00
Paul Eggert
ac1f5e4f90 Remove (sync from gnulib). 2005-07-03 09:28:55 +00:00
Paul Eggert
e3f2ac8a0f New file, from gnulib. 2005-07-03 09:28:17 +00:00
Paul Eggert
067253007b Sync from gnulib. 2005-07-03 09:27:38 +00:00
Paul Eggert
7e58462337 [! _LIBC]: Include "lstat.h" rather than rolling our own. 2005-07-03 09:27:22 +00:00
Paul Eggert
a90f160a33 (libcoreutils_a_SOURCES): Add fcntl--.h, stdio--h,
stdlib--.h, unistd--.h.
2005-07-03 09:26:59 +00:00
Jim Meyering
a360edab7e *** empty log message *** 2005-07-03 09:14:58 +00:00
Jim Meyering
10047b6134 (gl_FCNTL_SAFER): Add fcntl--.h to the list. 2005-07-03 09:13:33 +00:00
Jim Meyering
cd4bfd42dc (gl_STDIO_SAFER): Add stdio--.h to the list. 2005-07-03 09:13:27 +00:00
Jim Meyering
1eae18b276 (gl_STDLIB_SAFER): Add stdlib--.h to the list. 2005-07-03 09:13:04 +00:00
Jim Meyering
512e0bae5a (gl_UNISTD_SAFER): Add unistd--.h to the list. 2005-07-03 09:12:57 +00:00
Jim Meyering
4f89ded6e2 *** empty log message *** 2005-07-03 09:07:28 +00:00
Jim Meyering
c1ef936462 Include <unistd.h> for declaration of close. 2005-07-03 09:07:22 +00:00
Jim Meyering
6dc3ffd8b6 (verify_numeric): Rename from verify.
Update caller.
2005-07-03 08:46:05 +00:00
Paul Eggert
de0cf8356f Regenerate. 2005-07-03 07:28:38 +00:00
Paul Eggert
e05ece2ced Cleanup to isolate "safer" functions to a small part of the code. 2005-07-03 07:27:05 +00:00
Paul Eggert
dd6f2c49db Include fcntl--.h, not unistd-safer.h.
(touch): Don't call fd_safer; no longer needed now that
we include fcntl--.h.
2005-07-03 07:23:18 +00:00
Paul Eggert
9509ae9a8c Include stdio--.h, not stdio-safer.h.
(tee): Don't call fopen_safer; no longer needed now that we
include stdio--.h.
2005-07-03 07:22:50 +00:00
Paul Eggert
4decb49032 Include fcntl--.h, not unistd-safer.h.
(recheck, tail_file): Don't call fd_safer; no longer needed
now that we include fcntl--.h.
2005-07-03 07:21:49 +00:00
Paul Eggert
7b1780d5cc Include stdlib--.h rather than unistd-safer.h.
(copy_to_temp): Don't call fd_safer; no longer needed now
that we include stdlib--.h.
2005-07-03 07:21:31 +00:00
Paul Eggert
b6be15eaca Include fd-reopen.h.
(display_all, display_settings, display_window_size, set_window_size):
Remove fd arg, since we now assume stdin.  All callers changed.
(main): Reuse stdin rather than opening a new one.  This
saves a file descriptor.
2005-07-03 07:21:03 +00:00
Paul Eggert
c030201e6d Include fcntl--.h rather than unistd-safer.h.
Include fd-reopen.h.
(input_desc): Remove.  All uses replaced by STDIN_FILENO.
(cwrite): Don't call fd_safer; no longer needed now that
we include fcntl--.h.
(main): Reuse stdin rather than opening a new one.  This
saves a file descriptor.
2005-07-03 07:20:33 +00:00
Paul Eggert
d0baad324d Include stdio--.h rather than stdio-safer.h.
Include stdlib--.h.  Do not include unistd-safer.h.
(create_temp_file): Don't call fd_safer; no longer needed
now that we include *--.h files.
(xfopen): Don't call fopen_safer, for similar reasons.
2005-07-03 07:20:04 +00:00
Paul Eggert
ce00cad00f Include fcntl--.h, not unistd-safer.h.
(wipename, wipe_file): Don't use fd_safer; no longer needed
now that we include fcntl--.h.
2005-07-03 07:19:29 +00:00
Paul Eggert
8359085a76 Include stdio--.h, not stdio-safer.h.
(open_file): Invoke fopen, not fopen_safer.
2005-07-03 07:19:06 +00:00
Paul Eggert
2eeccaacd9 Include fd-reopen.h.
Include unistd--.h, not unistd-safer.h.
(main): Use fd_reopen to simplify code.  When replacing stdin,
use "/dev/null" not "/", as that's less likely to go wrong these days.
(main): Use dup, not dup_safer.
2005-07-03 07:18:48 +00:00
Paul Eggert
3fff9c1441 Include stdio--.h.
(digest_check): Don't try to read both checksums and data from stdin.
2005-07-03 07:18:21 +00:00
Paul Eggert
e32032accf Include stdio--.h, not stdio-safer.h.
(main): Use fopen, not fopen_safer.
2005-07-03 07:17:58 +00:00
Paul Eggert
566d32f04c Include fd-reopen.h.
(open_fd): Remove.  All callers changed to use fd_reopen instead.
2005-07-03 07:17:36 +00:00
Paul Eggert
d54f92ab0d Include fd-reopen.h.
Include stdio--.h, not stdio-safer.h.
(input_desc): Remove.  All uses changed to STDIN_FILENO.
(set_input_file): Reopen stdin, to simplify code.
(create_output_file): Use fopen, not fopen_safer.
2005-07-03 07:17:12 +00:00
Paul Eggert
43ab391610 Include fcntl--.h, not unistd-safer.h.
(copy_reg): Don't call fd_safer; no longer needed
now that we include fcntl--.h.
2005-07-03 07:16:43 +00:00
Paul Eggert
5a62048846 Include stdio--.h, not stdio-safer.h.
(compare_files): Use fopen, not fopen_safer.
2005-07-03 07:16:23 +00:00
Paul Eggert
ffa06e1d94 (gl_PREREQ): Require gl_FCNTL_SAFER,
gl_FD_REOPEN, gl_STDLIB_SAFER.
2005-07-03 07:15:58 +00:00
Paul Eggert
9c34c16a06 Include fcntl--.h rather than fcntl.h.
Do not include unistd-safer.h.
(save_cwd): Don't call fd_safer; no longer needed
now that we include fcntl--.h.
2005-07-03 07:15:39 +00:00
Paul Eggert
6207fc885c Include stdio--.h rather than stdio.h
and stdio-safer.h.
(getusershell): Call fopen, not fopen_safer.
2005-07-03 07:15:09 +00:00
Paul Eggert
bd1806f708 Include fcntl--.h rather than fcntl.h.
Do not include unistd-safer.h.
(getloadavg): Don't call fd_safer; no longer needed
now that we include fcntl--.h.
2005-07-03 07:14:28 +00:00
Paul Eggert
f21950385b (fd_safer): Remove decl.
Include fcntl--.h rather than unistd-safer.h
(fts_safe_changedir): Don't call fd_safer; no longer needed
now that we include fcntl--.h.
2005-07-03 07:14:05 +00:00
Paul Eggert
98088e6a60 Include stdio-safer.h first, to check interface.
Don't bother including stdio.h, since stdio-safer.h does.
2005-07-03 07:13:31 +00:00
Paul Eggert
5eab57423e Initial revision. 2005-07-03 06:52:13 +00:00
Paul Eggert
8b0a2afe9f Add support for fcntl--.h, stdio--.h, stdlib--.h, unistd--.h, etc. 2005-07-03 06:43:07 +00:00
Paul Eggert
9c17ef9a81 Don't include stdio-safer.h; no longer needed.
(writeline): Remove stream arg; we now always output to stdout.
All callers changed.
(check_file): Reuse stdout rather than opening a new stream.
This saves a file descriptor.
2005-07-03 06:26:15 +00:00
Paul Eggert
6af6438b0a (main): Reuse stdin rather than opening a new stream.
This saves a file descriptor.
2005-07-03 06:25:42 +00:00
Jim Meyering
42f845ebc7 . 2005-07-02 14:33:56 +00:00
Jim Meyering
c402746d1c *** empty log message *** 2005-07-02 12:02:27 +00:00
Jim Meyering
6e0f9634aa (EXTRA_DIST): Add .x-sc_obsolete_symbols. 2005-07-02 12:02:21 +00:00
Jim Meyering
6f368f2f48 (sc_obsolete_symbols): New rule.
(syntax-check-rules): Add it to the list.
2005-07-02 11:58:22 +00:00
Jim Meyering
f6d8b10a1c *** empty log message *** 2005-07-02 11:57:54 +00:00
Jim Meyering
f0001d7346 *** empty log message *** 2005-07-02 11:56:56 +00:00
Jim Meyering
25ef400404 Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally. 2005-07-02 11:56:49 +00:00
Jim Meyering
06e5948dce *** empty log message *** 2005-07-02 10:26:00 +00:00
Jim Meyering
dd2b7c95ff Update from gnulib. 2005-07-02 10:25:58 +00:00
Jim Meyering
2f79e30906 Assume HAVE_UNISTD_H, i.e., that <unistd.h> works. 2005-07-02 08:54:13 +00:00
Jim Meyering
16b3553083 *** empty log message *** 2005-07-02 08:53:57 +00:00
Jim Meyering
410f98fc2b Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally. 2005-07-02 08:41:46 +00:00
Jim Meyering
b5dabfee20 *** empty log message *** 2005-07-01 21:26:27 +00:00
Jim Meyering
e62b441f50 Assume HAVE_UNISTD_H. 2005-07-01 21:26:24 +00:00
Jim Meyering
da1b612d11 . 2005-07-01 21:18:51 +00:00
Jim Meyering
89abeac2b8 Don't check for fcntl.h anymore. Now we assume it exists and is usable. 2005-07-01 21:06:08 +00:00
Jim Meyering
b82f33a06e *** empty log message *** 2005-07-01 21:05:44 +00:00
Jim Meyering
d0067bb947 *** empty log message *** 2005-07-01 20:57:39 +00:00
Jim Meyering
860691ec41 Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
and don't check for fcntl.h).
2005-07-01 20:57:34 +00:00
Jim Meyering
58076430c3 Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
and don't include <sys/file.h>).
2005-07-01 20:55:29 +00:00
Jim Meyering
ceaa11b643 *** empty log message *** 2005-07-01 20:53:36 +00:00
Jim Meyering
86cc58850a *** empty log message *** 2005-07-01 20:31:23 +00:00
Jim Meyering
e0331d4ce0 Assume HAVE_FCNTL_H (i.e., include <fcntl.h>
unconditionally, and don't include <sys/file.h>).
2005-07-01 20:31:16 +00:00
Jim Meyering
adeb8b26fb *** empty log message *** 2005-07-01 19:56:19 +00:00
Jim Meyering
05d541b622 update from gnulib 2005-07-01 19:54:48 +00:00
Paul Eggert
00fdbcc4af * xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
declares only 'struct timespec;' (!).
2005-07-01 17:25:56 +00:00
Jim Meyering
cfa2bfb98e *** empty log message *** 2005-06-30 20:33:55 +00:00
Jim Meyering
c44874f722 . 2005-06-30 20:32:46 +00:00
Jim Meyering
e457b0a9c9 Require gl_STDOPEN. 2005-06-30 20:24:45 +00:00
Jim Meyering
9c360d0540 (gl_STDOPEN): New file/macro. 2005-06-30 20:24:02 +00:00
Jim Meyering
d3f25798b9 Add copyright.
Include <fcntl.h> and <unistd.h> unconditionally --
it seems to be ok to do this, these days.
2005-06-30 20:23:09 +00:00
Jim Meyering
a3d8cfece3 *** empty log message *** 2005-06-30 20:23:00 +00:00
Jim Meyering
c17ae586bb *** empty log message *** 2005-06-30 20:16:01 +00:00
Jim Meyering
5754380c82 Rewritten by Paul Eggert.
Now, the minimum overhead is just two system calls: dup and close.
2005-06-30 20:13:40 +00:00
Jim Meyering
58000d181c New file. As yet unused. 2005-06-30 20:10:39 +00:00
Jim Meyering
0f4b63f1ac *** empty log message *** 2005-06-30 16:48:02 +00:00
Jim Meyering
8665927afc Add uses of ARGMATCH_VERIFY to ensure that
corresponding option string and value arrays are consistent.
2005-06-30 16:47:54 +00:00
Jim Meyering
7078d7a5b8 Add uses of ARGMATCH_VERIFY to ensure that
corresponding option string and value arrays are consistent.
Remove a harmless trailing `, 0' from a value list.
2005-06-30 16:47:38 +00:00
Jim Meyering
779a89cdb4 Add uses of ARGMATCH_VERIFY to ensure that
corresponding option string and value arrays are consistent.
Remove a harmless trailing `, 0' from a value list.
2005-06-30 16:47:00 +00:00
Jim Meyering
f2daebf810 *** empty log message *** 2005-06-30 16:41:04 +00:00
Jim Meyering
a9129f0786 (VERIFY): Guard definition with #ifndef.
(VERIFY_EXPR): Undef before defining.
2005-06-30 16:40:59 +00:00
Jim Meyering
36835110b6 *** empty log message *** 2005-06-30 16:40:08 +00:00
Jim Meyering
c25ccafa30 *** empty log message *** 2005-06-30 16:39:46 +00:00
Jim Meyering
5aa46e285c [!VERIFY] (VERIFY): Define.
(ARGMATCH_VERIFY): Use it, so this macro may be used more than
once in any given scope.
2005-06-30 16:39:41 +00:00
Jim Meyering
4ff07ebe3c (VERIFY_EXPR): Undef and add a comment. 2005-06-30 15:46:05 +00:00
Jim Meyering
b2915239d7 *** empty log message *** 2005-06-29 21:24:48 +00:00
Jim Meyering
eb231be3d6 (getuser, getuidbyname, getgroup, getgidbyname): Likewise. 2005-06-29 21:24:44 +00:00
Jim Meyering
2639d24e52 *** empty log message *** 2005-06-29 21:22:31 +00:00
Jim Meyering
dc59bb5133 (make_dir_parents): Don't apply sizeof to a hard-coded type name.
Use the variable name instead.
2005-06-29 21:22:06 +00:00
Jim Meyering
412a83b11b *** empty log message *** 2005-06-29 17:11:02 +00:00
Jim Meyering
98f3ba52df Use one fewer helper macro. 2005-06-29 17:10:44 +00:00
Jim Meyering
a9b919bde8 *** empty log message *** 2005-06-29 16:33:27 +00:00
Jim Meyering
22326600be (VERIFY_EXPR): Define.
(X2REALLOC): New macro, to make using x2realloc a little safer.
2005-06-29 16:33:17 +00:00
Jim Meyering
e574d209f6 *** empty log message *** 2005-06-29 16:29:19 +00:00
Jim Meyering
fdbdfd5b62 (main): Use X2REALLOC rather than x2realloc. 2005-06-29 16:27:37 +00:00
Jim Meyering
e68eeff682 (fillbuf): Use X2REALLOC rather than x2realloc. 2005-06-29 16:26:20 +00:00
Jim Meyering
fd98517183 (show_date): Use X2REALLOC rather than x2realloc. 2005-06-29 16:26:01 +00:00
Jim Meyering
9bdffe1137 (main, store_char): Use X2REALLOC rather than x2realloc. 2005-06-29 16:25:50 +00:00
Jim Meyering
bea7e93fde Update sole use of VERIFY.
Use X2REALLOC, rather than x2realloc.
2005-06-29 16:23:31 +00:00
Jim Meyering
87f543aea5 (VERIFY): Rewrite to use string-concatenation
and __LINE__ so as not to require a struct name parameter.
(GL_CONCAT, GL_CONCAT2, GL_LINE_CONCAT): Define helper macros.
2005-06-29 16:23:15 +00:00
Jim Meyering
e4d87dd573 *** empty log message *** 2005-06-29 10:43:19 +00:00
Jim Meyering
4ffd486ec7 *** empty log message *** 2005-06-29 10:07:45 +00:00
Jim Meyering
9b050191c5 (gobble_file): Use stat.st_author, not stat.st_uid
when computing the --author column width.  This bug might have
resulted in misaligned columns when using the --author option
on the Hurd.  Spotted by Arnold Robbins.

The bug was introduced on 2003-12-03.
2005-06-29 10:03:10 +00:00
Jim Meyering
df46e29284 split long line in copyright comment 2005-06-28 17:50:01 +00:00
Jim Meyering
9ea337f843 *** empty log message *** 2005-06-28 16:33:25 +00:00
Jim Meyering
cdedc0925c (fillbuf): Use x2realloc on 1-byte base types, not x2nrealloc. 2005-06-28 16:33:20 +00:00
Jim Meyering
dec00b5930 (dump_strings): Use x2realloc on 1-byte base types, not x2nrealloc. 2005-06-28 16:31:31 +00:00
Jim Meyering
b64058f69e (show_date): Use x2realloc on 1-byte base types, not x2nrealloc. 2005-06-28 16:29:42 +00:00
Jim Meyering
783a13af77 *** empty log message *** 2005-06-28 16:22:44 +00:00
Jim Meyering
2f955ff766 (main, store_char): Use x2realloc on 1-byte base types, not x2nrealloc. 2005-06-28 16:22:36 +00:00
Jim Meyering
f05347d1ee . 2005-06-27 11:13:43 +00:00
Jim Meyering
7f7acc20fd . 2005-06-27 08:50:22 +00:00
Jim Meyering
72408a0e16 *** empty log message *** 2005-06-26 13:32:23 +00:00
Jim Meyering
ab264ea51b Require gl_DIACRIT. 2005-06-26 13:32:17 +00:00
Jim Meyering
722379be04 (libcoreutils_a_SOURCES): Remove diacrit.c and diacrit.h. 2005-06-26 13:31:16 +00:00
Jim Meyering
92337e781a Whoops. Add this, too:
AC_LIBOBJ([version-etc-fsf])
2005-06-25 22:01:49 +00:00
Jim Meyering
88fc20a633 *** empty log message *** 2005-06-25 21:32:05 +00:00
Jim Meyering
a2013a21e1 (libcoreutils_a_SOURCES): Remove version-etc.c version-etc.h
and version-etc-fsf.c.
2005-06-25 21:31:59 +00:00
Jim Meyering
3ba810e671 *** empty log message *** 2005-06-25 21:31:44 +00:00
Jim Meyering
2e783c6e7e *** empty log message *** 2005-06-25 21:29:46 +00:00
Jim Meyering
655564c62e (gl_VERSION_ETC): New file/macro. 2005-06-25 21:29:40 +00:00
Jim Meyering
cfc521b8fb Require gl_VERSION_ETC. 2005-06-25 21:29:31 +00:00
Jim Meyering
98172e8ab1 (libcoreutils_a_SOURCES): Remove dev-ino.h too, now that we
get it via root-dev-ino.m4
2005-06-25 21:25:42 +00:00
Jim Meyering
49d976e156 Remove dev-ino.h, now that we get it via root-dev-ino.m4 2005-06-25 21:25:29 +00:00
Jim Meyering
031076e031 *** empty log message *** 2005-06-25 12:38:44 +00:00
Jim Meyering
c5d1db79fe Require gl_ROOT_DEV_INO. 2005-06-25 12:38:40 +00:00
Jim Meyering
cfee4d7d5e Also require dev-ino.h. 2005-06-25 12:37:51 +00:00
Jim Meyering
8ee198f675 Add this:
AC_REQUIRE([AC_FUNC_LSTAT])
2005-06-25 12:36:58 +00:00
Jim Meyering
e0b32d3cb8 (gl_ROOT_DEV_INO): New file/macro. 2005-06-25 12:35:49 +00:00
Jim Meyering
ef0790fc1c *** empty log message *** 2005-06-25 12:35:23 +00:00
Jim Meyering
40a9612ec4 (libcoreutils_a_SOURCES): Remove root-dev-ino.c and root-dev-ino.h. 2005-06-25 12:35:13 +00:00
Paul Eggert
406929bb9d (canon_host) [HAVE_GETADDRINFO]: Use = { 0, };' to initialize local hint'. 2005-06-24 17:33:58 +00:00
Jim Meyering
534ccf18c2 . 2005-06-24 08:06:28 +00:00
Jim Meyering
36bcf322ce *** empty log message *** 2005-06-24 08:05:54 +00:00
Jim Meyering
a8249aba92 (cp invocation): Clarify how --reply=no works. 2005-06-24 08:05:51 +00:00
Jim Meyering
a345498d97 (usage): Clarify how --reply=no works. 2005-06-24 08:02:36 +00:00
Paul Eggert
5b87f6a271 Address some "du" issues. 2005-06-23 22:38:43 +00:00
Paul Eggert
42cee9216b Do not include hard-locale.h.
(struct duinfo): Remove 'valid' member.  All uses changed to use
negative nsec instead.
(DUIINFO_INI, DUINFO_SET, DUINFO_ADD): Remove.
(duinfo_init, duinfo_set, duinfo_add): New functions, taking the
role of the removed macros.
(opt_time): Renamed from opt_last_time.  All uses changed.
(TIME_OPTION): Renamed from LAST_TIME_OPTION.  All uses changed.
(long_options, usage): Rename --last-time to --time.
(locale_time_style): Remove.
(time_style_args, time_style_types, usage): Remove support for
--time-style=locale.
(show_date): Now returns void, since nobody looked at the result.
Assume FORMAT is not null.  An empty FORMAT now outputs an empty time.
Simplify nstrftime invocation.
(main): Put in ls compatibility workarounds only for TIME_STYLE,
not for --time-style.  Omit unnecessary space in iso time style.
2005-06-23 22:38:28 +00:00
Paul Eggert
7461cd03b5 (ls invocation): Fix typo: --time=use is
equivalent to --time=atime, not --time=ctime.
(ls invocation, du invocation): Fix typo: --time-style=long-iso
is equivalent to a time style with a leading "+".
(du invocation): --last-time is now --time.
--time-style no longer implies --time.
The locale and posix- stuff now works only for TIME_STYLE, not
for --time-style.  Give equivalent format for --time-style=iso.
2005-06-23 22:37:58 +00:00
Paul Eggert
638e81b537 du's --last-time option is now --time. 2005-06-23 22:37:33 +00:00
Jim Meyering
54efcebd94 Use AC_LIBSOURCES and AC_LIBOBJ. 2005-06-23 18:42:29 +00:00
Jim Meyering
a0e12540f5 *** empty log message *** 2005-06-23 18:41:55 +00:00
Jim Meyering
8ddb95f66c (libcoreutils_a_SOURCES): Remove xstrtod.c and xstrtod.h. 2005-06-23 18:41:48 +00:00
Jim Meyering
029c3a3d44 Use AC_LIBSOURCES and AC_LIBOBJ. 2005-06-23 18:41:17 +00:00
Jim Meyering
d9f5ecdf62 *** empty log message *** 2005-06-23 16:56:58 +00:00
Jim Meyering
5c215ef2ad . 2005-06-23 16:34:18 +00:00
Jim Meyering
a2b5c6c00e (libcoreutils_a_SOURCES): Remove xreadlink.c and xreadlink.h. 2005-06-23 16:24:32 +00:00
Jim Meyering
47237c979f Use AC_LIBSOURCES and AC_LIBOBJ. 2005-06-23 16:24:06 +00:00
Jim Meyering
d8ff99062d *** empty log message *** 2005-06-23 15:35:09 +00:00
Jim Meyering
75b33a5620 whoops: use puts, not fputs 2005-06-23 15:34:52 +00:00
Jim Meyering
98138b6b3f *** empty log message *** 2005-06-23 15:28:07 +00:00
Jim Meyering
d6b20d71f7 (time_format): Add `const' attribute. 2005-06-23 15:27:55 +00:00
Jim Meyering
c8c1251a7b *** empty log message *** 2005-06-23 15:20:11 +00:00
Jim Meyering
a912688f5c (show_date): Use fputs rather than printf ("%s\n",. 2005-06-23 15:20:05 +00:00
Jim Meyering
38eca4e977 (show_date): Add a FIXME comment. 2005-06-23 15:18:40 +00:00
Jim Meyering
c8e4886304 (show_date): Rename local `time_format' so as not to
shadow the file-scoped global by that name.
2005-06-23 15:16:38 +00:00
Jim Meyering
ae08ebecae . 2005-06-23 15:07:45 +00:00
Jim Meyering
b111ca4885 *** empty log message *** 2005-06-23 15:00:35 +00:00
Jim Meyering
05b7592ab7 (du invocation): New options --last-time and --time-style. 2005-06-23 15:00:29 +00:00
Jim Meyering
80bceac4ea *** empty log message *** 2005-06-23 14:47:27 +00:00
Jim Meyering
888d47b2b2 *** empty log message *** 2005-06-23 14:41:27 +00:00
Jim Meyering
89b0b72ca3 (usage): Tweak formatting to maintain more or less constant indentation. 2005-06-23 14:40:00 +00:00
Jim Meyering
6e48308e16 Include hard-locale.h and strftime.h.
(DUINFO_INI, DUINFO_SET, DUINFO_ADD):
Enclose body in `do {...} while (0)', not just `{...}'.
Adjust uses (add semicolons).
Adjust formatting, indentation.
2005-06-23 14:32:29 +00:00
Jim Meyering
d345f75d50 *** empty log message *** 2005-06-23 14:20:29 +00:00
Jim Meyering
3cd6ee7518 2005-06-14 William Brendling <wbrendling@gmail.com>
* src/du.c: Add --last-time and --time-style options.
2005-06-23 14:20:16 +00:00
Jim Meyering
fba73bf741 *** empty log message *** 2005-06-23 13:26:20 +00:00
Jim Meyering
5fd26561cb (backup_args): Change a `0' to NULL. 2005-06-23 13:26:15 +00:00
Paul Eggert
a13627ac2e mktime fix to avoid a diagnostic. 2005-06-22 19:08:21 +00:00
Paul Eggert
8834b57877 Include <string.h> even if !DEBUG. (From glibc.)
(ranged_convert): Don't save conversion in a temporary struct.
This causes a warning with GCC 4.0.0, and anyway in the typical
case it's not worth the extra 100 bytes or so of code.
(ranged_convert, __mktime_internal): When calling a function via a
pointer P, use P () rather than (*P) (), as we now assume C89 or better.
2005-06-22 19:07:41 +00:00
Paul Eggert
956daabfc6 (desirable_utmp_entry): Fix bug where "who -b" and "who -r"
failed to give output.
2005-06-22 18:26:22 +00:00
Paul Eggert
070e3b1280 New file umask-check to test for umask problems during tests. 2005-06-22 18:10:16 +00:00
Paul Eggert
a240b41236 Use umask-check instead of chmod. 2005-06-22 18:08:35 +00:00
Paul Eggert
5750ad83c8 Use umask-check. 2005-06-22 18:08:13 +00:00
Paul Eggert
904012a974 (EXTRA_DIST): Add umask-check. 2005-06-22 18:07:55 +00:00
Paul Eggert
06c4f8e242 Initial revision. 2005-06-22 18:07:36 +00:00
Jim Meyering
7be9c3e317 *** empty log message *** 2005-06-22 15:30:16 +00:00
Jim Meyering
67c719c84c *** empty log message *** 2005-06-22 15:29:51 +00:00
Jim Meyering
dac2329d5e *** empty log message *** 2005-06-22 15:25:29 +00:00
Jim Meyering
4ae6914356 Include "quotearg.h", not "quote.h".
(remove_parents, main): Use quotearg_colon, not quote.
2005-06-22 15:25:23 +00:00
Jim Meyering
fd78e66067 From gnulib:
(HAVE_GNU_CALLOC): New constant.
  (xcalloc): Use it to avoid needless tests.
2005-06-22 11:55:38 +00:00
Jim Meyering
fb33aea31f *** empty log message *** 2005-06-22 11:52:24 +00:00
Paul Eggert
d114087468 * tests/cp/cp-parents: Use chmod to work around some hosts with
ACL problems.
2005-06-22 07:38:06 +00:00
Jim Meyering
84abcc3480 *** empty log message *** 2005-06-21 12:46:40 +00:00
Jim Meyering
90ed8e90a4 *** empty log message *** 2005-06-21 08:59:55 +00:00
Jim Meyering
b1b3478d50 *** empty log message *** 2005-06-21 08:45:58 +00:00
Jim Meyering
faae396f21 Use --apparent-size to avoid the vagaries
of counting blocks.  Kevin Mudrick reported that this test would
fail on an nfs-mounted directory where attribute-caching is
turned on.
2005-06-21 08:45:19 +00:00
Jim Meyering
7cb0b72a2c . 2005-06-20 07:13:36 +00:00
Jim Meyering
15b998e0d0 Allow the two existing types of uses of PATH:
@vindex PATH
  @env{PATH}
2005-06-19 13:43:50 +00:00
Jim Meyering
e4bd8ce5ab *** empty log message *** 2005-06-19 13:39:54 +00:00
Jim Meyering
e828977ada (ln invocation): Change a few paths' to file names'. 2005-06-19 13:39:51 +00:00
Jim Meyering
acb16ca45c *** empty log message *** 2005-06-19 13:37:41 +00:00
Jim Meyering
09d77f4ac1 Also catch uses of path, pathname. 2005-06-19 13:37:39 +00:00
Jim Meyering
82dddb9c38 (tac_mem, tac_stdin_to_mem): Remove #if-0'd functions. 2005-06-19 09:10:28 +00:00
Jim Meyering
fc8a42d646 *** empty log message *** 2005-06-19 09:08:53 +00:00
Jim Meyering
171c56e927 *** empty log message *** 2005-06-19 08:34:56 +00:00
Jim Meyering
980b9fc893 (usage): Use file system', not filesystem'. 2005-06-19 08:34:49 +00:00
Jim Meyering
c6f9b7c7c8 use file system', not filesystem' 2005-06-19 08:34:14 +00:00
Jim Meyering
b0e72c0a63 *** empty log message *** 2005-06-19 08:30:16 +00:00
Jim Meyering
2e862dc8a3 (gl_XGETCWD): Add `AC_LIBOBJ([xgetcwd])'.
Register xgetcwd.c and xgetcwd.h via AC_LIBSOURCES.
2005-06-19 08:30:08 +00:00
Jim Meyering
4eecbcd445 rename to gl_FUNC_XFTS 2005-06-19 08:27:47 +00:00
Jim Meyering
186d75c87e Require gl_FUNC_XFTS. 2005-06-19 08:27:28 +00:00
Jim Meyering
01baf7f071 (gl_XFTS): New file/macro. 2005-06-19 08:25:46 +00:00
Jim Meyering
2c4bb16c03 (libcoreutils_a_SOURCES): Remove xgetcwd.c, xgetcwd.h, xfts.c and xfts.h. 2005-06-19 08:25:21 +00:00
Jim Meyering
f5fb813d6b *** empty log message *** 2005-06-18 06:25:22 +00:00
Jim Meyering
2504feb8c3 (unquote): Remove unnecessary `' quotes from a diagnostic. 2005-06-18 06:25:09 +00:00
Jim Meyering
d96810b0cc Don't embed `this'-style quotes in format strings.
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-17 18:43:24 +00:00
Jim Meyering
bbe012433f *** empty log message *** 2005-06-17 13:16:07 +00:00
Jim Meyering
0a0ebe7a41 (usage): Clarify that shred works on an ext3 file
system as long as it's not in data=journal mode.
Tiny change by Mark Melahn.
2005-06-17 13:16:00 +00:00
Jim Meyering
fd684a32fd *** empty log message *** 2005-06-17 13:12:21 +00:00
Jim Meyering
e89b22a2e1 (shred invocation): Clarify that shred
works on ext3 as long as it's not in data=journal mode.
Patch from Mark Melahn.
2005-06-17 13:12:17 +00:00
Jim Meyering
d319227170 *** empty log message *** 2005-06-17 13:11:47 +00:00
Paul Eggert
4df2411290 * src/hostid.c (main): Don't print fewer than 8 digits, or spurious leading "f". 2005-06-16 23:46:27 +00:00
Jim Meyering
0812004419 *** empty log message *** 2005-06-16 21:49:22 +00:00
Jim Meyering
e13ab085ed *** empty log message *** 2005-06-16 21:47:19 +00:00
Jim Meyering
c95fdb8372 Don't embed `this'-style quotes in format strings.
Include "quote.h".
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:44:25 +00:00
Jim Meyering
f682977c0c whoops: Adding quote(...) isn't enough :)
remove quotes from the string, too.
2005-06-16 21:41:57 +00:00
Jim Meyering
0cda9b5eb8 Don't embed `this'-style quotes in format strings.
Include "quote.h".
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:40:43 +00:00
Jim Meyering
0919e29116 Don't embed `this'-style quotes in format strings.
Include "quote.h".
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:39:10 +00:00
Jim Meyering
a38ee1953f Don't embed `this'-style quotes in format strings.
Include "quote.h".
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:38:27 +00:00
Jim Meyering
f696c57a8e Don't embed `this'-style quotes in format strings.
Include "quote.h".
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:37:37 +00:00
Jim Meyering
f07a234d1d Don't embed `this'-style quotes in format strings.
Include "quote.h".
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:36:48 +00:00
Jim Meyering
4d2d749ee6 Don't embed `this'-style quotes in format strings.
Include "quote.h".
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:35:40 +00:00
Jim Meyering
3787d01a51 Don't embed `this'-style quotes in format strings.
Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:33:43 +00:00
Jim Meyering
0441b743b0 Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:28:41 +00:00
Jim Meyering
e50dc3f9fb Rather than this: error (..., "...`%s'...", arg);
do this:          error (..., "...%s...", quote (arg));
2005-06-16 21:28:12 +00:00
Jim Meyering
a5c9e15482 *** empty log message *** 2005-06-16 14:52:33 +00:00
Jim Meyering
5371690c7f (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
when either N or S is zero.
2005-06-16 14:52:29 +00:00
Jim Meyering
8236e056a0 *** empty log message *** 2005-06-16 09:16:25 +00:00
Jim Meyering
27a8fa0664 (Backup options): Undocument --version-control=S (-V). 2005-06-16 09:16:16 +00:00
Jim Meyering
4e0c954244 *** empty log message *** 2005-06-16 09:15:45 +00:00
Jim Meyering
74f54dae78 Finally remove support for --version-control=S (-V).
It was deprecated nearly 6 years ago and has been warning
users to switch to --backup=S since fileutils-4.0j.
2005-06-16 09:15:23 +00:00
Jim Meyering
154e1cc930 . 2005-06-15 09:53:34 +00:00
Jim Meyering
7dd05aa715 Reflect s/_die/_fail/ renaming. 2005-06-15 09:38:12 +00:00
Jim Meyering
e2dba23e1a *** empty log message *** 2005-06-15 09:31:20 +00:00
Jim Meyering
e18177dfbe Ensure that rel-named dirs are not created when chdir($PWD) fails. 2005-06-15 09:31:16 +00:00
Jim Meyering
39b87363ae Ensure that each `-d'-specified directory is created. 2005-06-15 09:04:21 +00:00
Jim Meyering
ec5b4733d8 (main): Fix my typo: s/argv[optind]/file[i]/. 2005-06-15 08:54:21 +00:00
Jim Meyering
8add4ac9cb *** empty log message *** 2005-06-15 08:32:14 +00:00
Jim Meyering
88a7148929 Add a test for just-fixed bug in mkdir-p.c. 2005-06-15 08:32:11 +00:00
Jim Meyering
d4145e48ed (make_dir_parents): Don't let a failed chdir($PWD)
stop us from restricting permissions of just-created absolute-named
directories.
2005-06-15 08:31:44 +00:00
Paul Eggert
1c4348d7e8 Fix typo in previous checkin. 2005-06-15 00:06:34 +00:00
Paul Eggert
1fc9a26bdd install -D had a problem similar to mkdir -p. 2005-06-15 00:05:20 +00:00
Paul Eggert
f2c653e8df Improve diagnostics for restore_cwd failure. 2005-06-14 23:58:00 +00:00
Paul Eggert
153854cc31 (make_dir): Remove. All uses replaced by mkdir.
(make_dir_parents): Last arg is now int * (for errno), not bool *.
Rewrite "mkdir -p" algorithm to avoid the need for "stat"
each time through the loop.  Do not diagnose restore_cwd failure;
that is the caller's job (and perhaps the caller does not care).
2005-06-14 23:56:49 +00:00
Paul Eggert
616a6e5146 (make_dir): Remove. All uses replaced by mkdir.
(make_dir_parents): Last arg is now int * (for errno), not bool *.
2005-06-14 23:56:17 +00:00
Paul Eggert
0b2ac253e7 (create_parents): Remove static var (now local to 'main').
(main): Standardize on a diagnostic for restore_cwd failure,
and report errno.
Don't bother to check cwd_errno unless create_parents.
Use mkdir rather than make_dir; it's simpler.
2005-06-14 23:55:47 +00:00
Paul Eggert
3f47e8458a (main): Standardize on a diagnostic for
restore_cwd failure, and report errno.
(install_file_in_file_parents): Fail if restore_cwd fails and
one of the files is relative.  This fixes a bug (albeit unlikely).
2005-06-14 23:55:24 +00:00
Paul Eggert
d203fc19ae mkdir-p cleanup. 2005-06-14 18:36:44 +00:00
Paul Eggert
9c0241d8e2 Adjust to new make_dir_parents convention. 2005-06-14 18:36:25 +00:00
Paul Eggert
7cc0d42200 (main): Adjust to new make_dir_parents convention. 2005-06-14 18:35:58 +00:00
Paul Eggert
f7bbc5d1a2 (CLEANUP_CWD, CLEANUP): Remove.
(make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
If the file already exists but is not a directory, don't bother
to try to make its parents.
Close potential file descriptor leak if we can't chdir("/") (!).
Don't always return true if chdir($PWD) fails; return true only
if the requested action was done successfully (except for the
chdir($PWD)).
Don't log final directory unless we actually made it.
Refactor to avoid duplicate code to fix up permissions.
Don't attempt to fix up parent permissions if chdir($PWD) fails.
2005-06-14 18:35:38 +00:00
Jim Meyering
5c3c5b0586 *** empty log message *** 2005-06-14 09:46:39 +00:00
Jim Meyering
b95fca684c Reflect s/_die/_fail/ renaming. 2005-06-14 09:46:24 +00:00
Jim Meyering
f23e1c18a8 (openat_save_fail): Rename from openat_save_die.
(openat_restore_fail): Rename from openat_restore_die.
2005-06-14 09:44:54 +00:00
Jim Meyering
e6b19a2245 *** empty log message *** 2005-06-14 09:00:05 +00:00
Jim Meyering
dbc8afd399 Ensure mkdir succeeds if the following argument is an absolute directory name. 2005-06-14 09:00:00 +00:00
Jim Meyering
cb7512d04d clarify comment 2005-06-14 08:55:37 +00:00
Jim Meyering
cb3b87f4d7 *** empty log message *** 2005-06-14 08:53:11 +00:00
Jim Meyering
1fbdda3dc2 (CLEANUP_CWD): Return *true*, not false when failing
to restore initial working directory.
2005-06-14 08:48:13 +00:00
Jim Meyering
3b6523f00a *** empty log message *** 2005-06-14 08:26:43 +00:00
Jim Meyering
4fb9497455 Change openat.c to openat-die.c. 2005-06-14 08:26:37 +00:00
Jim Meyering
5507a4a721 *** empty log message *** 2005-06-14 08:25:56 +00:00
Jim Meyering
c89c93ecf6 (my-distcheck): Add -Wall to the list of options that
are used with -Werror.  This target is not intended for general use.
2005-06-14 08:25:53 +00:00
Jim Meyering
a0e071d050 . 2005-06-14 08:19:18 +00:00
Jim Meyering
19c47583a2 tweak diagnostic wording: Use `... return to working directory', rather
than `... restore working directory'.
2005-06-14 08:18:43 +00:00
Jim Meyering
bf684a6106 whoops.
redirect stderr to dev/null
2005-06-14 08:16:18 +00:00
Jim Meyering
a35d3cb4f8 . 2005-06-14 08:00:46 +00:00
Jim Meyering
27a8731d4e *** empty log message *** 2005-06-14 08:00:16 +00:00
Jim Meyering
d9b86c6156 (TESTS): Add p-3. 2005-06-14 07:59:59 +00:00
Jim Meyering
6000585c85 remove obsolete FIXME 2005-06-14 07:55:32 +00:00
Jim Meyering
018984aae7 *** empty log message *** 2005-06-14 07:47:57 +00:00
Jim Meyering
ba4a12e58d (gl_FUNC_OPENAT): Add openat-die.c. 2005-06-14 07:47:52 +00:00
Jim Meyering
30b65617ac *** empty log message *** 2005-06-14 06:55:32 +00:00
Jim Meyering
3e915a8263 (openat_save_die, openat_restore_die): New file. 2005-06-14 06:55:24 +00:00
Jim Meyering
5985c9991b (openat_save_die, openat_restore_die): Declare and define. 2005-06-14 06:54:57 +00:00
Jim Meyering
8c98346f6f Provide an alternative to exiting immediately upon save_cwd or
restore_cwd failure.  Now, an application can arrange e.g.,
to perform a longjump in that case.
* openat.c: Include dirname.h.
Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
(rpl_openat, fdopendir, fstatat): Call openat_save_die
and openat_restore_die rather than calling error directly.
Don't include "error.h" or "exitfail.h"; they're no longer needed.

* openat-die.c (openat_save_die, openat_restore_die): New file.
* openat.h (openat_save_die, openat_restore_die): Declare and define.
2005-06-14 06:54:39 +00:00
Jim Meyering
57f2a7090c *** empty log message *** 2005-06-13 10:22:29 +00:00
Jim Meyering
15de627dec (make_dir_parents): Update prototype. 2005-06-13 10:22:26 +00:00
Jim Meyering
1cd524bfb2 *** empty log message *** 2005-06-13 10:21:32 +00:00
Jim Meyering
069175c396 *** empty log message *** 2005-06-13 10:20:39 +00:00
Jim Meyering
fd49083b38 *** empty log message *** 2005-06-13 10:19:23 +00:00
Jim Meyering
736dfd391d (main): When make_dir_parents changes the current working
directory, give a diagnostic about each subsequent failure to create
a dot-relative directory.
(install_file_in_file_parents): Update make_dir_parents caller.
2005-06-13 10:19:18 +00:00
Jim Meyering
4063f9696c (main): When make_dir_parents changes the current working
directory, give a diagnostic about each subsequent failure to create
a dot-relative directory.
2005-06-13 10:17:36 +00:00
Jim Meyering
ecd375b64a (make_dir_parents): New parameter: different_working_dir,
to tell caller if/when we change the working directory and are
unable to return to the initial one.
2005-06-13 10:15:19 +00:00
Jim Meyering
26438e44cd *** empty log message *** 2005-06-12 19:56:42 +00:00
Jim Meyering
78c87e1292 (CLEANUP_CWD): Change one more return 1' to return false'.
This fixes a bug introduced on 2004-07-30.
2005-06-12 19:56:37 +00:00
Paul Eggert
d30b64a98e Act on the Austin Group's response yesterday to XCU ERN 63. 2005-06-10 19:32:04 +00:00
Paul Eggert
9756cac52f (any_has_acl): New var.
(clear_files): Clear it.
(gobble_file): Set it if a file has an ACL.
(print_long_format): Omit needless space unless some file has an ACL.
2005-06-10 19:31:45 +00:00
Paul Eggert
2de803d91b Remove the extra spaces in "ls -l" output. 2005-06-10 19:31:24 +00:00
Paul Eggert
a53809b3df ls no longer outputs an extra space between mode and link count. 2005-06-10 19:30:51 +00:00
Jim Meyering
939f88af26 *** empty log message *** 2005-06-10 16:42:33 +00:00
Jim Meyering
4fb3780059 (VERIFY_W_TYPEOF): Add parentheses. 2005-06-10 16:42:28 +00:00
Jim Meyering
5dc5bef865 Change filesystems to `file systems'. 2005-06-09 09:22:27 +00:00
Jim Meyering
42ded2fdf9 *** empty log message *** 2005-06-07 06:41:18 +00:00
Jim Meyering
52e93d5701 (ln invocation): Examples, from Bob Proulx. 2005-06-07 06:40:40 +00:00
Paul Eggert
33adc501ab Fix typo in comment. 2005-06-03 04:49:30 +00:00
Paul Eggert
3b75dfcba1 Regenerate. 2005-06-02 19:54:02 +00:00
Paul Eggert
e963a34f93 Sync from gnulib. 2005-06-02 19:49:27 +00:00
Jim Meyering
96d05b2618 *** empty log message *** 2005-06-02 11:38:49 +00:00
Jim Meyering
2b91002054 Change makepath.c to mkdir-p.c here, too. 2005-06-02 11:38:46 +00:00
Jim Meyering
0d800566cb *** empty log message *** 2005-06-02 10:04:32 +00:00
Jim Meyering
9c66558d8e (usage): Put `Ordering options:' line where it belongs. 2005-06-02 10:02:29 +00:00
Paul Eggert
2bc139bf8f Regenerate. 2005-06-02 05:19:46 +00:00
Paul Eggert
df58076416 Use "file name" when talking about file names, instead of "filename"
or "path", as per the GNU coding standards.
2005-06-02 05:19:03 +00:00
Paul Eggert
97603a5d2a Don't use "path" or "filename". 2005-06-02 05:17:24 +00:00
Paul Eggert
6a3bde8957 Don't use "path" or "filename".
(struct file_name): Renamed from struct Path.  All uses changed.
(file_name_free): Renamed from path_free.  All uses changed.
(file_name_init): Renamed from path_init.  All uses changed.
(file_name_prepend): Renamed from path_prepend.  All uses changed.
2005-06-02 05:15:07 +00:00
Paul Eggert
d86f0f9921 Don't use "path" or "filename".
(make_link_name): Renamed from make_link_path.  All uses changed.
2005-06-02 05:14:32 +00:00
Paul Eggert
af455f0340 (FILE_BASENAME_CONCAT): Renamed from PATH_BASENAME_CONCAT.
All uses changed.
2005-06-02 05:13:57 +00:00
Paul Eggert
55b579a133 Don't use "path" or "filename".
(install_file_in_file_parents): Renamed from
install_file_to_path.  All uses changed.
2005-06-02 05:13:29 +00:00
Paul Eggert
83ed78d646 Don't use "path" or "filename".
Don't include "path-concat.h"; not needed.
2005-06-02 05:12:59 +00:00
Paul Eggert
816572d867 Don't use "path" or "filename".
(usage): Don't use "path" to describe a file name.
(remove_empty_parents): Renamed from empty_paths.
All uses changed.
(longopts): Add comment that --path is deprecated.
2005-06-02 05:12:17 +00:00
Paul Eggert
e911bc54b5 (usage): Don't use "path" to describe a file name. 2005-06-02 05:11:32 +00:00
Paul Eggert
1745d7ec99 Don't use "path" or "filename".
(parents_option): Renamed from flag_path.  All uses changed.
(make_dir_parents_private): Renamed from make_path_private.
All uses changed.
(usage): Don't use "path" to describe a file name.
2005-06-02 05:11:01 +00:00
Paul Eggert
4c0486daa4 Don't use "path" or "filename" to mean "file name".
Hence, rename makepath.m4 to mkdir-p.m4, and rename path-concat.m4
to filenamecat.m4.
2005-06-02 05:09:44 +00:00
Paul Eggert
f3afac1d9d Don't use "path" or "filename" to mean "file name". 2005-06-02 05:08:51 +00:00
Paul Eggert
ef12d7fb52 Use "file name" when talking about file names, instead of "filename"
or "path", as per the GNU coding standards.  As part of this,
rename makepath.c to mkdir-p.c, and path-concat.c to filenamecat.c,
and likewise for the .h files.
2005-06-02 05:06:56 +00:00
Paul Eggert
ab2edb9e33 Don't use "path" or "filename" to mean "file name"
in comments or local variable names.
2005-06-02 05:05:29 +00:00
Paul Eggert
1e6b9bd047 (excluded_file_name): Renamed from excluded_filename.
All uses changed.
2005-06-02 05:02:38 +00:00
Paul Eggert
d91f01988d Don't use "path" or "filename" to mean "file name"
in comments or local variable names.

(excluded_file_name): Renamed from excluded_filename.
All uses changed.
2005-06-02 05:02:14 +00:00
Paul Eggert
4425cc8a08 Use "file name" when talking about file names, instead of "filename"
or "path", as per the GNU coding standards.
2005-06-02 05:00:50 +00:00
Paul Eggert
fa2ce4d932 (readlink invocation): "path component" ->
"component", since we don't use the POSIX "path" nomenclature.
2005-06-02 05:00:24 +00:00
Paul Eggert
034501ddef Renamed from path-concat.m4.
(gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
Rename files from path-concat.c to filenamecat.c,
and from path-concat.h to filenamecat.h.
2005-06-02 04:59:51 +00:00
Paul Eggert
1885506f1e Renamed from path-concat.c.
(file_name_concat): Renamed from path_concat.  All callers changed.
[TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
2005-06-02 04:59:10 +00:00
Paul Eggert
3a0841772c Renamed from path-concat.h. All includers changed.
(file_name_concat): Renamed from path_concat.  All callers changed.
2005-06-02 04:58:26 +00:00
Paul Eggert
0402bc1136 Renamed from makepath.m4.
(gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
Rename files from makepath.c to mkdir-p.c, and from
makepath.h to mkdir-p.h.
2005-06-02 04:57:31 +00:00
Paul Eggert
6499782f2e Renamed from makepath.h. All includers changed.
(make_dir_parents): Renamed from make_path.  All callers changed.
2005-06-02 04:56:41 +00:00
Paul Eggert
78cd5b80f6 Renamed from makepath.c.
(make_dir_parents): Renamed from make_path.  All callers changed.
2005-06-02 04:55:35 +00:00
Jim Meyering
b45e05bce2 *** empty log message *** 2005-05-31 07:06:26 +00:00
Jim Meyering
55076fb51f (chown_privileges, chown_failure_ok): Mark as `extern'.
This is a crutch so that `make distcheck's sc_tight_scope rule
knows that they really are deliberately declared that way.
2005-05-31 07:06:23 +00:00
Paul Eggert
f707eb199e Port to Solaris 10's rules for whether programs can chown files. 2005-05-31 06:16:51 +00:00
Paul Eggert
fe34f6c28d (cp_options_init): Use chown_privileges rather than geteuid. 2005-05-31 06:16:09 +00:00
Paul Eggert
1b3bf65c51 (re_protect): Remove unnecessary call to geteuid.
Use chown_failure_ok rather than our own code.
(cp_options_init): Use chown_privileges rather than getuid.
2005-05-31 06:15:48 +00:00
Paul Eggert
d8ce6bf143 Add copyright notice.
(struct cp_options): Remove myeuid member.  Add chown_privileges
member.
(chown_privileges, chown_failure_ok): New function decls.
2005-05-31 06:15:18 +00:00
Paul Eggert
e6a9bbce56 Port to Solaris 10's rules for whether programs can chown files.
[HAVE_PRIV_H]: Include <priv.h>.
(DO_CHOWN): Remove.  Replaced by chown_failure_ok.  All callers
changed.
(copy_internal): If chown failed, don't worry about what happened
to the mode bits; they can't have changed.
(chown_privileges, chown_failure_ok): New functions.
2005-05-31 06:14:24 +00:00
Paul Eggert
ff3775ea5b * jm-macros.m4 (gl_CHECK_ALL_HEADERS): Check for priv.h. 2005-05-31 06:13:44 +00:00
Paul Eggert
3809452e3e (gl_CHECK_ALL_HEADERS): Check for priv.h. 2005-05-31 06:13:25 +00:00
Jim Meyering
275c4eb298 . 2005-05-30 09:04:13 +00:00
Paul Eggert
ff57f59217 Regenerate. 2005-05-30 07:41:32 +00:00
Paul Eggert
53d6509846 _POSIX_VERSION cleanup 2005-05-30 07:37:02 +00:00
Paul Eggert
3ada325679 Include sys/param.h if it exists, not if _POSIX_VERSION
isn't defined.
Don't include <sys/file.h>; no longer needed.
(getegid, geteuid): Remove no-longer-necessary decls.
2005-05-30 07:34:23 +00:00
Paul Eggert
21c907252b Don't bother mentioning _POSIX_VERSION in comment. 2005-05-30 07:33:55 +00:00
Paul Eggert
3068ea6b4d (OPENOPTS, TEXT1T01, TEXTCNVT): Remove.
(digest_file): Use O_BINARY-using expr instead of OPENOPTS.
2005-05-30 07:33:38 +00:00
Paul Eggert
003510fda2 (getpwnam, getgrnam): Remove decl.
(getuid, getgid) [!defined _POSIX_VERSION]: Remove decls.
2005-05-30 07:33:16 +00:00
Paul Eggert
db3e479ab3 (getpwuid, getgrgid, getuid, getgid, geteuid, getegid)
[!defined _POSIX_VERSION]: Remove decls.
2005-05-30 07:33:00 +00:00
Paul Eggert
f071607aa1 (geteuid) [!defined _POSIX_VERSION]: Remove decl. 2005-05-30 07:32:16 +00:00
Paul Eggert
6a9173f43e (getgrnam, getgrgid) [!defined _POSIX_VERSION]:
Remove decls.
2005-05-30 07:31:51 +00:00
Paul Eggert
739904ab06 (getgrnam) [!defined _POSIX_VERSION]: Remove decl. 2005-05-30 07:31:31 +00:00
Paul Eggert
4ab39ecf75 (getpwnam, getgrnam, getgrgid)
[!defined _POSIX_VERSION]: Remove decls; not needed these days.
2005-05-30 07:31:12 +00:00
Paul Eggert
c86717d0dd Include <limits.h> unconditionally, since other
files have been getting away with it for years (MORE/BSD 4.3
is extinct now).
2005-05-30 07:30:51 +00:00
Paul Eggert
fcb5c87adb (getpwuid, getpwnam, getgrgid, getgrnam)
[!defined _POSIX_VERSION]: Remove decls; not needed these days.
2005-05-30 07:30:31 +00:00
Paul Eggert
241ed9e339 (getuid, getgid, getuid, getegid)
[!defined _POSIX_VERSION]: Remove decls; not needed these days.
2005-05-30 07:30:01 +00:00
Paul Eggert
b224f94761 (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
Define to 256, not 255, as per modern POSIX.
2005-05-30 07:05:07 +00:00
Paul Eggert
47db304b3c dd seek=N now conforms to POSIX if the output isn't seekable. 2005-05-28 04:24:14 +00:00
Paul Eggert
5923469a3c dd seek=N now conforms to POSIX if the output isn't seekable. 2005-05-28 04:22:43 +00:00
Paul Eggert
8f10bd11cf (skip): Return the number of records that were not
skipped due to encountering EOF.
(dd_copy): If the file wasn't seekable and EOF was encountered,
write zeros past EOF until the desired offset is reached.
2005-05-28 04:22:26 +00:00
Paul Eggert
c3dc98bb5e * fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
and don't require gt_INTTYPES_PRI.
2005-05-28 00:01:15 +00:00
Paul Eggert
abe28983a6 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
and don't require gt_INTTYPES_PRI.
2005-05-28 00:01:00 +00:00
Paul Eggert
a73860cb2f fts.c: Don't worry about debugging on pre-C99-comopatible hosts. 2005-05-28 00:00:38 +00:00
Paul Eggert
644cca3ead Don't worry about debugging on pre-C99-comopatible hosts;
the configuration hassle isn't worth it.
Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
(LONGEST_MODIFIER, PRIuMAX): Remove.
2005-05-28 00:00:06 +00:00
Paul Eggert
42a4ba9143 expr and test now correctly compare integers of unlimited size. 2005-05-27 20:37:14 +00:00
Paul Eggert
a2b86be295 Include inttostr.h, strnumcmp.h.
(whitespace, digit, digit_value, integer_expected_error): Remove.
(is_int): Remove; replaced by...
(find_int): New function.
(binary_operator): Don't let integers overflow in comparisons;
return the correct answer instead.  Simplify the code.
(unary_operator): Convert the integer ourself, since find_int
no longer does so.
2005-05-27 20:36:58 +00:00
Paul Eggert
58aa95b54b Refactor so that others can use large-integer
comparison functions.
Include "strnumcmp.h".
(NEGATION_SIGN, NUMERIC_ZERO, fraccompare):
Remove; moved to strnumcmp.
(decimal_point): Now int, to simplify converison overhead with
new API.  All uses changed.
(thousands_sep): Now -1 if there isn't one, as per new API.
All uses changed.
(numcompare): Move contents to strnumcmp module, except for
skipping blanks.
2005-05-27 20:36:40 +00:00
Paul Eggert
6d740fd9ee Include strnumcmp.h, xstrtol.h.
(looks_like_integer): New function.
(toarith): Use it.  Also, use xstrtoimax rather than rolling our
own diagnostics.
(eval2): Don't look for trouble if !evaluate; this simplifies things.
Compare numbers using string comparison, so that overflow is
not possible.
2005-05-27 20:36:20 +00:00
Paul Eggert
1ef7a75fa8 Break integer-in-string comparison code out from src/sort. 2005-05-27 20:35:33 +00:00
Paul Eggert
dc0465e9c7 (gl_PREREQ): Require gl_STRINTCMP, gl_STRNUMCMP. 2005-05-27 20:35:07 +00:00
Paul Eggert
e277ba010e Compare numeric strings. 2005-05-27 20:34:48 +00:00
Paul Eggert
606321fa32 Break integer-in-string comparison code out from src/sort. 2005-05-27 20:34:03 +00:00
Paul Eggert
8cb4f7039d (eq-6, gt-5, lt-5): New tests. 2005-05-27 20:32:43 +00:00
Paul Eggert
9b4b372182 (bigcmp): New test. 2005-05-27 20:32:28 +00:00
Paul Eggert
08338cd87f expr and test now correctly compare integers of unlimited size.
(Also, correct a comment that claimed that expr detects integer
overflow; it does so only when converting from strings.)
2005-05-27 20:31:59 +00:00
Paul Eggert
3a662c37cd Fix typo in comment. 2005-05-26 19:30:04 +00:00
Paul Eggert
8597e1fd2d nohup now redirects a tty stdin to an unreadable fd instead of closing it. 2005-05-26 19:27:50 +00:00
Jim Meyering
3d8bc90af3 *** empty log message *** 2005-05-26 18:35:59 +00:00
Jim Meyering
239409b480 *** empty log message *** 2005-05-26 18:35:33 +00:00
Jim Meyering
607d3de687 . 2005-05-26 18:34:18 +00:00
Jim Meyering
45a1996268 *** empty log message *** 2005-05-26 16:09:43 +00:00
Jim Meyering
6fc0ccf717 (toarith): Fix a sign error introduced on 2005-01-14. 2005-05-26 16:09:38 +00:00
Jim Meyering
f3dfdff460 Add tests using arithmetic on negative integers. 2005-05-26 16:09:29 +00:00
Paul Eggert
a7102ac430 (fd_safer) [_LGPL_PACKAGE]: New static function,
so that unistd-safer.h (GPL'ed code) need not be included.
2005-05-22 17:29:46 +00:00
Jim Meyering
b72d60e7a4 *** empty log message *** 2005-05-21 06:44:36 +00:00
Jim Meyering
716ad689e0 fix typo in a comment 2005-05-21 06:42:41 +00:00
Paul Eggert
c84d7e1cb0 Import chown fixes from gnulib. 2005-05-20 22:48:40 +00:00
Paul Eggert
be7a96a273 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs of -1. 2005-05-20 22:48:25 +00:00
Paul Eggert
7a905c6ecc (rpl_chown): Return -1 on failure. 2005-05-20 22:48:08 +00:00
Paul Eggert
e8ddf93a19 Regenerate. 2005-05-20 22:38:38 +00:00
Paul Eggert
e4afa11074 * config.guess: Sync from gnulib. 2005-05-20 22:37:58 +00:00
Paul Eggert
bf8be6caa9 Sync from gnulib. 2005-05-20 22:37:45 +00:00
Paul Eggert
8cc757279d Split fts into LGPL'ed and GPL'ed parts. 2005-05-20 22:34:44 +00:00
Paul Eggert
6ee2045428 Don't include "cycle-check.h" or "hash.h".
(setup_dir, free_dir): New functions.
(enter_dir, leave_dir): Define trivial
alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
(HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
(LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
(struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
Move to fts-cycle.c.
(fts_open): Use setup_dir.
(fts_close): Use free_dir.
(fts_read): Have just one copy of the ENTER_DIR code rather than three.
This adds a label and some gotos, but the alternatives were messier.
Check for memory allocation failure when entering a dir.
(fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
2005-05-20 22:34:19 +00:00
Paul Eggert
fea1ba2d14 (_LGPL_PACKAGE) [defined _LIBC]: New macro.
(FTS): New member fts_cycle, that is a union that contains the
old active_dir_ht and cycle_state.  All uses changed to mention
fts_cycle.ht and fts_cycle.state.
2005-05-20 22:33:59 +00:00
Paul Eggert
eea59b706d * fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
(gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
2005-05-20 22:33:32 +00:00
Paul Eggert
ae2855ebc6 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
(gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
2005-05-20 22:33:12 +00:00
Paul Eggert
42aab6b2ae New file, containing GPL'ed code migrated out of
fts.c, with the following changes:
(setup_dir, free_dir): New functions.
(enter_dir): Now returns bool.  Return true if successful, false
if memory exhausted.  All callers changed.
Do not bother partly cleaning up on
memory allocation failure; that is free_dir's job.
However, free ad if hash_insert fails, to avoid memory leak.
(enter_dir, leave_dir): Accommodate change to FTS by inspecting
fts->fts_options to see which union member to use.
2005-05-20 22:32:50 +00:00
Jim Meyering
ca88d7c411 *** empty log message *** 2005-05-20 04:27:00 +00:00
Jim Meyering
1222461ca6 (fts_open): Remove useless but otherwise harmless malloc call.
Spotted by Paul Eggert.
2005-05-20 04:26:35 +00:00
Jim Meyering
ec4933bcee *** empty log message *** 2005-05-19 10:37:43 +00:00
Jim Meyering
b3e741d36c (AD_mark_helper, AD_mark_current_as_unremovable):
Remove inaccurate-but-harmless `const' attributes.
2005-05-19 10:37:40 +00:00
Jim Meyering
7f163f5ac7 *** empty log message *** 2005-05-19 10:34:52 +00:00
Jim Meyering
1dacfee21a (decode_field_spec): Add an abort after
`error (EXIT_FAILURE, ...' to avoid a gcc warning in caller,
about variables being used uninitialized.
2005-05-19 10:34:46 +00:00
Jim Meyering
2334353619 *** empty log message *** 2005-05-19 08:54:44 +00:00
Jim Meyering
276ae5c469 (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
Use #define rather than a static function, to avoid a warning
when the function was not used.
2005-05-19 08:54:40 +00:00
Jim Meyering
035c732c59 remove trailing blanks 2005-05-18 21:39:11 +00:00
Paul Eggert
666680ddaa Regenerate. 2005-05-18 19:36:47 +00:00
Paul Eggert
83890c76a4 Import localcharset.m4 from gnulib. 2005-05-18 19:34:04 +00:00
Paul Eggert
0b5dba9efb Remove some dependencies and old cruft from fts etc. 2005-05-18 19:32:57 +00:00
Paul Eggert
05218a8c7e Remove test for HAVE_LIMITS_H; we can assume
it's always true now.
2005-05-18 19:32:28 +00:00
Paul Eggert
0045b9321d Add copyright notice.
(factor_LDADD): Remove, as factor no longer needs sqrt.
2005-05-18 19:32:11 +00:00
Paul Eggert
c55596370d Add copyright notice.
(gl_PREREQ): Add gl_LOCALCHARSET.
2005-05-18 19:31:47 +00:00
Paul Eggert
58d6230525 lib-check.m4: Add copyright notice.
(cu_LIB_CHECK): Renamed from gl_LIB_CHECK.
Don't check for sqrt; factor no longer needs it.
Revamp tests for floor, modf, rint, to define SEQ_LIBM.
Redo tests for fesetround to act like the other wons.
Use "cu_saved_libs" for local var name, not "ac_su_saved_lib".
2005-05-18 19:31:20 +00:00
Paul Eggert
1575fd4adc (gl_MACROS): Require AC_FUNC_LSTAT.
Don't check for memcpy, strchr, strerror, strrchr, float.h.
Use AC_REQUIRE on AM_LANGINFO_CODESET and gl_GLIBC21 rather
than invoking them directly.
(gl_CHECK_ALL_HEADERS): Don't check for errno.h, float.h,
limits.h, stddef.h, since we assume C89 now.
2005-05-18 19:31:00 +00:00
Paul Eggert
30fd8394e1 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
2005-05-18 19:30:31 +00:00
Paul Eggert
85d0299334 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
don't use its results.
Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
since we include them unconditionally.  Don't require
AM_STDBOOL_H, since stdbool is a prerequisite.
Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
since we assume C89 or better.
Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
as we don't use their results.
Don't check for fchdir, memmove, memset, strrchr, as we use
them unconditionally.
2005-05-18 19:30:06 +00:00
Paul Eggert
4dcf2356b7 (AC_FUNC_CANONICALIZE_FILE_NAME]): Don't check for stddef.h. 2005-05-18 19:29:41 +00:00
Paul Eggert
ae2b26dd0d Do not include hash.h or cycle-check.h; no longer needed.
(FTS): Use struct hash_table * instead of Hash_table, so that
we no longer need to include hash.h here.
2005-05-18 19:29:11 +00:00
Paul Eggert
b569baa020 Include fts_.h first, to check interface.
Do not include intprops.h; no longer needed.
Include cycle-check.h and hash.h, since fts_.h no longer does.
Remove unnecessary casts of closedir to void.
(fts_build): Use a simpler method (not involving TYPE_SIGNED) to
decide whether to decrement nlinks.
2005-05-18 19:28:48 +00:00
Paul Eggert
0d3649e30d Include canonicalize.h first, to test interface.
Include <stddef.h> unconditionally, since we assume C89 now.
All uses of PTR_INT_TYPE replaced by ptrdiff_t.
2005-05-18 19:28:21 +00:00
Paul Eggert
d067c0cde3 Add copyright notice. gl_LIB_CHECK -> cu_LIB_CHECK. 2005-05-18 19:27:39 +00:00
Paul Eggert
0f10230a24 Fix Cygwin porting problem reported by Eric Blake. 2005-05-16 20:29:08 +00:00
Paul Eggert
002c26a153 Fix Cygwin porting problem reported by Eric Blake.
(DT_IS_DIR): Remove.
(DT_IS_KNOWN, DT_MUST_BE): New macros.
(remove_entry): Use them.
2005-05-16 20:28:53 +00:00
Jim Meyering
d3ea604602 *** empty log message *** 2005-05-16 13:11:04 +00:00
Jim Meyering
40cd9fdf30 (gl_FUNC_FTS): Don't require AC_FUNC_MALLOC or AC_FUNC_REALLOC.
They are not needed.
2005-05-16 13:10:53 +00:00
Paul Eggert
842c8c486f Sync from gnulib (scriptversion change only). 2005-05-15 07:03:04 +00:00
Paul Eggert
99ad01b0d5 Use geteuid, not getuid. Set "initialized" only if it was clear. 2005-05-15 05:57:31 +00:00
Paul Eggert
6517e41a01 Sync from gnulib. 2005-05-15 04:35:48 +00:00
Jim Meyering
53a152ff60 . 2005-05-14 19:13:51 +00:00
Jim Meyering
10f6a16c7b *** empty log message *** 2005-05-14 10:34:13 +00:00
Jim Meyering
4ecefdf18a Register unlinkdir.c and unlinkdir.h via AC_LIBSOURCES.
Add `AC_LIBOBJ([unlinkdir])'.
2005-05-14 10:34:00 +00:00
Paul Eggert
070140df89 Regenerate. 2005-05-14 08:17:38 +00:00
Jim Meyering
afae3029ef tweak cpp indentation on one line 2005-05-14 08:14:47 +00:00
Paul Eggert
676c76bee7 New unlinkdir module. 2005-05-14 08:12:17 +00:00
Paul Eggert
fe7b1c00b9 (gl_PREREQ): Require gl_UNLINKDIR. 2005-05-14 08:11:32 +00:00
Paul Eggert
7b18bf3811 * unlinkdir.c, unlinkdir.h: New files. 2005-05-14 08:09:23 +00:00
Paul Eggert
be13a1f653 * src/remove.c: Use new unlinkdir module. 2005-05-14 08:06:22 +00:00
Paul Eggert
0675749903 Include unlinkdir.h.
(UNLINK_CAN_UNLINK_DIRS): Remove.
(remove_entry): Use cannot_unlink_dirs () rather than
UNLINK_CAN_UNLINK_DIRS.
2005-05-14 08:05:35 +00:00
Jim Meyering
effcdb2647 remove recent temporary additions 2005-05-14 08:05:04 +00:00
Jim Meyering
8ac343fffa Correct cpp indentation 2005-05-14 08:03:44 +00:00
Paul Eggert
2e71ba4dd2 New unlinkdir module. 2005-05-14 08:01:17 +00:00
Jim Meyering
44d59bb168 Update FSF postal mail address. 2005-05-14 07:58:31 +00:00
Jim Meyering
116e6fb244 Update FSF postal mail address. 2005-05-14 07:58:06 +00:00
Jim Meyering
a5d7b5f8aa One more
gethrxtime.c
2005-05-14 07:57:58 +00:00
Jim Meyering
f9be76236b Add these temporarily:
unlocked-io.h
gethrxtime.h
mountlist.h
xtime.h
path-concat.c
2005-05-14 07:57:36 +00:00
Jim Meyering
c6db442aee unlocked-io.h 2005-05-14 07:56:31 +00:00
Jim Meyering
7e387bd78d . 2005-05-14 07:40:16 +00:00
Jim Meyering
979d7201a7 don't add gl_UNLINKDIR just yet :) 2005-05-14 07:36:16 +00:00
Jim Meyering
e4a2650e94 . 2005-05-14 07:34:36 +00:00
Jim Meyering
3788003d66 *** empty log message *** 2005-05-14 07:27:24 +00:00
Jim Meyering
3c0cce93e2 Don't require gl_FUNC_STAT or gl_FUNC_LSTAT. 2005-05-14 07:27:21 +00:00
Jim Meyering
54cd404524 Remove unnecessary file. 2005-05-14 07:27:06 +00:00
Jim Meyering
48cf66ad55 *** empty log message *** 2005-05-14 07:25:57 +00:00
Jim Meyering
661e61bac5 Update FSF postal mail address. 2005-05-14 07:25:26 +00:00
Jim Meyering
f096a0da75 *** empty log message *** 2005-05-14 06:58:11 +00:00
Jim Meyering
c0c815af8d Update FSF postal mail address. 2005-05-14 06:57:06 +00:00
Paul Eggert
4a3c27dd70 "bytes, words and lines" -> "lines, words, and bytes" in comment 2005-05-13 19:35:06 +00:00
Jim Meyering
909dd8df1c fix grammar typo in comment 2005-05-13 08:42:35 +00:00
Jim Meyering
a738692de4 . 2005-05-13 08:20:32 +00:00
Jim Meyering
fbb6084338 rm now performs run-time test to work around buggy readdir implementations 2005-05-13 08:16:53 +00:00
Jim Meyering
79c068deb3 *** empty log message *** 2005-05-13 07:53:57 +00:00
Jim Meyering
ac67bbc649 (gl_MACROS): Don't require GL_FUNC_READDIR. 2005-05-13 07:53:47 +00:00
Jim Meyering
94181613c3 (GL_FUNC_READDIR): Remove, now that remove.c no longer needs it. 2005-05-13 07:53:30 +00:00
Jim Meyering
7c01c060c2 *** empty log message *** 2005-05-13 07:39:56 +00:00
Jim Meyering
c176e34468 * NEWS: `rm -r' now removes all of the files it should, even on
systems with a buggy readdir affecting file systems inaccessible
at configure time.

In some unusual circumstances `rm -r' would fail to remove --
or even consider -- all entries in a directory with more than 254
(SunOS) or 338 (Darwin) entries.  This could cause trouble even on
other types of systems when using an affected file system via e.g.,
NFS.  The underlying cause was a bug in readdir on those systems.
Coreutils-5.2.1 and earlier used a configure-time test designed
to detect precisely those problem systems, but it would detect
the problem and enable remove.c's work-around code only when its
configure-time test was run on a losing file system.  Obviously,
it couldn't detect a problem if the offending file system wasn't
tested or even mounted at coreutils configure time.  Now, rm itself
performs a minimal-cost run-time test to detect the problem.

(CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Define.
(remove_cwd_entries):  When readdir returns NULL for a directory from
which we've removed more than CONSECUTIVE_READDIR_UNLINK_THRESHOLD
entries, call rewinddir and then resume the readdir/unlink loop.
(UNLINK_CAN_UNLINK_DIRS): Rename from ROOT_CAN_UNLINK_DIRS.
2005-05-13 07:39:50 +00:00
Paul Eggert
be5f7b36a1 nohup now closes stdin if it is a terminal, unless POSIXLY_CORRECT is set. 2005-05-12 09:25:16 +00:00
Paul Eggert
13620274ae (main): nohup now closes stdin if it is a terminal, unless
POSIXLY_CORRECT is set.
2005-05-12 09:24:56 +00:00
Paul Eggert
b24a3e8391 (nohup invocation): nohup now closes stdin if it is a terminal, unless
POSIXLY_CORRECT is set.
2005-05-12 09:24:27 +00:00
Paul Eggert
5a1ef0fd79 nohup now closes stdin if it is a terminal, unless POSIXLY_CORRECT is set. 2005-05-12 09:23:56 +00:00
Jim Meyering
83ef1d6911 *** empty log message *** 2005-05-12 08:24:03 +00:00
Jim Meyering
a5c650d56c Assume `free (NULL)' works. 2005-05-12 07:56:14 +00:00
Jim Meyering
55646e00b9 Assume `free (NULL)' works. 2005-05-12 07:55:15 +00:00
Jim Meyering
258fbb8860 Assume `free (NULL)' works. 2005-05-12 07:54:10 +00:00
Jim Meyering
c73cf11291 Assume `free (NULL)' works. 2005-05-12 07:53:37 +00:00
Paul Eggert
6242e3ebfd Update copyright date. 2005-05-11 20:27:11 +00:00
Paul Eggert
156bd843f1 * getdate.texi (General date syntax): Don't say that date
date --iso-8601=ns generates acceptable dates.
2005-05-11 20:25:01 +00:00
Paul Eggert
41e07fd117 (General date syntax): Don't say that date
date --iso-8601=ns generates acceptable dates; it doesn't yet.
2005-05-11 20:24:42 +00:00
Paul Eggert
4b1117eedf * getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when possible. 2005-05-10 19:10:23 +00:00
Paul Eggert
7a0461caab (gl_GETOPT): Check for Solaris 10 bug, not decl, when possible. 2005-05-10 19:09:23 +00:00
Jim Meyering
b323c05979 . 2005-05-10 13:46:21 +00:00
Jim Meyering
a79a5572e1 *** empty log message *** 2005-05-10 13:39:19 +00:00
Jim Meyering
87d6e640a1 Add Vietnamese (vi). 2005-05-10 13:39:15 +00:00
Jim Meyering
cf99eaf8e7 version: 5.3.0 2005-05-10 13:38:31 +00:00
Jim Meyering
2113d67f69 Skip this test if the user running it owns `/' or has write access to it. 2005-05-10 13:30:39 +00:00
Jim Meyering
cd6c5b7422 *** empty log message *** 2005-05-10 13:30:33 +00:00
Jim Meyering
f1934ed713 *** empty log message *** 2005-05-10 12:59:49 +00:00
Jim Meyering
c2666e4b18 Skip the test if the user running it has write access to `/'. 2005-05-10 12:59:44 +00:00
Jim Meyering
4c2413d79f . 2005-05-10 07:42:12 +00:00
Jim Meyering
d902ba0ad5 (TESTS): Add reply-no. 2005-05-10 07:42:01 +00:00
Jim Meyering
c4fa42049d *** empty log message *** 2005-05-10 07:38:20 +00:00
Jim Meyering
f81cd0f71b *** empty log message *** 2005-05-10 07:35:46 +00:00
Jim Meyering
6a23527114 (abandon_move): Remove erroneous UNWRITABLE check.
This makes `mv -i --reply=no f1 f2' work as expected (in not
performing the move operation).  But note that specifying `-i'
after `--reply=no' does *not* work.
Tiny patch from Vlada Macek.
2005-05-10 07:35:43 +00:00
Jim Meyering
6f1c1df83d *** empty log message *** 2005-05-10 07:28:10 +00:00
Jim Meyering
208bacc4b7 *** empty log message *** 2005-05-10 07:25:24 +00:00
Jim Meyering
7bbaee80e2 *** empty log message *** 2005-05-10 06:59:27 +00:00
Jim Meyering
49f3c23dad Don't print PATH to stderr. 2005-05-10 06:59:24 +00:00
Jim Meyering
1830033440 *** empty log message *** 2005-05-10 06:36:21 +00:00
Paul Eggert
d766c0a42a (fts_sort): Optimize the common case where all pointers smell the same. 2005-05-09 23:54:26 +00:00
Paul Eggert
a7864df9ba * fts_.h, fts.c: More C89 portability fixes. 2005-05-09 18:53:54 +00:00
Paul Eggert
3b3a3a9520 (__P): Remove. All uses rewritten to assume C89 or better.
(fts_open): Don't cast a function value in a possibly-unsafe way.
(fts_compar): New function.
(fts_sort): Use it.
2005-05-09 18:53:33 +00:00
Paul Eggert
3ed3fb2d81 (FTS): Use correct type for fts_compar member.
(FTSENT): New member fts_fts.  Remove members fts_ino, fts_dev,
fts_nlink; no longer needed now that fts_statp is always there.
All uses changed to use fts_statp instead.
2005-05-09 18:53:11 +00:00
Jim Meyering
ea345c5774 . 2005-05-08 18:54:26 +00:00
Paul Eggert
cd8fce3088 cp, ln, mv, rm no longer discard white space when intepreting responses. 2005-05-08 16:52:43 +00:00
Jim Meyering
7f26e14e3a . 2005-05-08 16:52:38 +00:00
Paul Eggert
963e363388 * yesno.c: Include getline.h, not ctype.h.
(yesno): Don't remove leading white space; POSIX doesn't allow it.
Use getline to remove arbitrary restriction on response length.
2005-05-08 16:50:57 +00:00
Jim Meyering
3a1abe7485 remove trailing blanks 2005-05-06 21:08:39 +00:00
Paul Eggert
c0fd619103 dd has new iflag= and oflag= flags "binary" and "text". 2005-05-06 17:57:59 +00:00
Paul Eggert
b3f58e2acf * coreutils.texi (dd invocation): New flags "binary" and "text". 2005-05-06 17:57:45 +00:00
Paul Eggert
db028141f5 (dd invocation): New flags "binary" and "text". 2005-05-06 17:57:35 +00:00
Paul Eggert
026894fd09 (flags, usage): Add support for "binary" and "text". 2005-05-06 17:57:10 +00:00
Paul Eggert
d5f20ebe16 dd has new iflag= and oflag= flags "binary" and "text". 2005-05-06 17:56:49 +00:00
Paul Eggert
f9aa4b0e4b * getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
needless checks.
2005-05-06 00:59:46 +00:00
Paul Eggert
38c0488d28 (gl_GETOPT): Check for Solaris 10 getopt, and avoid needless checks. 2005-05-06 00:59:33 +00:00
Paul Eggert
3cccf50ce3 * makepath.c (make_path): chdir to "//", not "/", if the file name
starts with exactly two slashes.
2005-05-05 08:00:03 +00:00
Paul Eggert
280cc68071 (make_path): chdir to "//", not "/", if the file name
starts with exactly two slashes.
2005-05-05 07:59:48 +00:00
Paul Eggert
04d5428ad3 Regenerate. 2005-05-04 17:25:26 +00:00
Paul Eggert
441a46319c (chmod invocation): chmod -w complains if its
behavior differs from what chmod a-w would do.
2005-05-04 17:24:49 +00:00
Paul Eggert
918d8e5f31 chmod -w now complains if it differs from chmod a-w. 2005-05-04 17:23:38 +00:00
Paul Eggert
b9abf51d74 chmod -w now complains if it differs from chmod a-w. 2005-05-04 17:23:13 +00:00
Paul Eggert
a68066a0fb Initial version. 2005-05-04 17:22:54 +00:00
Paul Eggert
5147bacee1 (TESTS): Add umask-x 2005-05-04 17:22:41 +00:00
Paul Eggert
4432ecc7b5 Include quotearg.h.
(diagnose_surprises): New var.
(process_file): Diagnose surprises.  Simplify the logic a bit,
while we're at it.
(main): Prepare to diagnose surprises.  Remove useless code for
'-' option.
2005-05-04 17:22:25 +00:00
Paul Eggert
28bbebfb89 chmod -w now complains if it differs from chmod a-w. 2005-05-04 17:22:08 +00:00
Paul Eggert
6383922a13 ls --indicator-style=directory renamed to ls --indicator-style=slash. 2005-05-02 18:41:53 +00:00
Paul Eggert
967e54a1e1 (ls invocation): ls --indicator-style=directory
renamed to ls --indicator-style=slash, to avoid confusion with ls
--directory.
2005-05-02 18:41:12 +00:00
Paul Eggert
77be207a57 (usage): ls --indicator-style=directory renamed to ls
--indicator-style=slash, to avoid confusion with ls --directory.
(slash): Renamed from directory_only.  All uses changed.
2005-05-02 18:40:47 +00:00
Paul Eggert
9b1fc199cd ls --indicator-style=directory renamed to ls
--indicator-style=slash, to avoid confusion with ls --directory.
2005-05-02 18:40:20 +00:00
Paul Eggert
ecf4669714 Sync from gnulib. 2005-05-02 04:28:20 +00:00
Paul Eggert
e9d60320ab "chmod +1 foo" is now diagnosed. 2005-05-01 14:33:23 +00:00
Paul Eggert
dfdf88d425 * modechange.h (mode_free): Remove; all callers changed to invoke 'free'.
* modechange.c: Likewise.  Simplify internals a bit.  Prohibit "+0".
2005-05-01 14:28:38 +00:00
Paul Eggert
71a7e54b0d mode_free -> free 2005-05-01 14:27:51 +00:00
Paul Eggert
394b469369 (mode_free): Remove; all callers changed to invoke 'free'. 2005-05-01 14:27:09 +00:00
Paul Eggert
d4502755f4 (mode_free): Remove; all callers changed to invoke 'free'.
xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
(MODE_DONE): New constant.
(struct mode_change): Remove 'next' member.
(make_node_op_equals): New function; like the old one of the
same name, except it allocates an array.
(mode_compile, mode_create_from_ref): Use it.
(mode_compile): Allocate result as an array, not a linked list.
Parse octal string ourself, so that we catch mistakes like "+0".
(mode_adjust): Arg is an array, not a linked list.
2005-05-01 14:26:50 +00:00
Paul Eggert
67a19c8e42 Regenerate. 2005-04-30 00:07:30 +00:00
Paul Eggert
89a64c09ba Log yesterday's changes. 2005-04-30 00:06:06 +00:00
Paul Eggert
60eebc75c9 Document the last two days' worth of changes. 2005-04-30 00:05:46 +00:00
Paul Eggert
73c0749921 Fix typo in ls POSIX changes. 2005-04-29 23:53:39 +00:00
Paul Eggert
2ae6e04c14 (tv): Rename tests from obs to obs-plus
if they use file names starting with +.
(test_vector): Don't set _POSIX2_VERSION if obs but not obs-plus.
2005-04-29 23:51:33 +00:00
Paul Eggert
37b4097c76 (tv): Rename tests from obs to obs-plus
if they use file names starting with +.
(test_vector): Don't set _POSIX2_VERSION if obs but not obs-plus.
2005-04-29 23:51:11 +00:00
Paul Eggert
4dad901e78 Fix comment to match new behavior of "sort". 2005-04-29 23:50:52 +00:00
Paul Eggert
87aed84ff4 Don't set _POSIX2_VERSION; no longer needed. 2005-04-29 23:49:47 +00:00
Paul Eggert
8b4811a61b Don't use 'set -' 2005-04-29 21:49:59 +00:00
Paul Eggert
d62f87f164 Don't use 'set -'. 2005-04-29 21:49:20 +00:00
Paul Eggert
57b38dad6b Don't use 'set -'. Simplify test construction.
Work even if the underyling system attaches ACLs to new dirs.
2005-04-29 21:49:06 +00:00
Paul Eggert
b4dcd32039 Don't use 'set -'. Also, don't set _POSIX2_VERSION. 2005-04-29 21:48:48 +00:00
Paul Eggert
57f4da0a00 Test for new -p behavior. Omit -1 option.
The "ls --color" test wasn't being checked; add a check for
"ls --color=auto" instead.
2005-04-29 21:01:29 +00:00
Paul Eggert
483ad6b981 (enum indicator_style): New constant directory_only,
for -p.
(indicator_style_args, indicator_style_types): Set it appropriately.
(decode_switches, gobble_file, print_type_indicator):
(length_of_file_name_and_frills):
Implement the change described in NEWS.
(decode_switches): Quote ">", too.
(usage): Update to match the new behavior.  Describe ">".
2005-04-29 21:01:04 +00:00
Paul Eggert
7d06d88f7e (ls invocation): ls -p now marks only directories. New option
--indicator-style=directory equivalent to -p.
2005-04-29 21:00:01 +00:00
Paul Eggert
acb337ee55 ls -p now appends only directories. New option
--indicator-style=directory equivalent to -p.
2005-04-29 20:59:33 +00:00
Paul Eggert
93e157c519 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
(gl_PREREQ_RMDIR): Remove.
2005-04-29 05:37:52 +00:00
Paul Eggert
21947fea69 (gl_PREREQ): Require gl_STAT_MACROS. 2005-04-29 05:37:32 +00:00
Paul Eggert
42203a8afc (gl_PREREQ_TEMPNAME): Check stdint.h only once.
Don't require AC_HEADER_STAT.
2005-04-29 05:36:52 +00:00
Paul Eggert
3c1de34561 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
it.  Don't require AC_HEADER_STAT.
(gl_PREREQ_LSTAT): Remove.
2005-04-29 05:36:32 +00:00
Paul Eggert
4f3f76a4c3 (gl_FUNC_CHOWN): Don't require AC_HEADER_STAT. 2005-04-29 05:36:07 +00:00
Paul Eggert
ffbed026ca (gl_CHECK_ALL_TYPES): Don't require AC_HEADER_STAT. 2005-04-29 05:35:44 +00:00
Paul Eggert
591126eb65 (gl_PREREQ_EUIDACCESS): Don't require AC_HEADER_STAT. 2005-04-29 05:35:22 +00:00
Paul Eggert
a516ac8256 (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
[!_LIBC] Include "stat-macros.h" instead.
2005-04-29 05:34:55 +00:00
Paul Eggert
6cc5a55044 Don't mention stat-macros.h or AC_HEADER_STAT in other
m4 files, since we'll make the stat-macros module a prerequisite.
2005-04-28 16:55:43 +00:00
Paul Eggert
07f73eefb0 New file, from gnulib, except that gl_STAT_MACROS
also requires AC_HEADER_STAT.
2005-04-28 16:55:16 +00:00
Paul Eggert
9eb4658295 * file-type.c: Include file-type.h first.
* filetype.h: Don't assume <sys/stat.h> was included first.
2005-04-28 16:48:14 +00:00
Paul Eggert
142d83fcd6 Document recent modechange fixes. 2005-04-28 16:39:32 +00:00
Paul Eggert
e8b76516bf Check for ug+r and ug,+x bugs. 2005-04-28 16:32:06 +00:00
Paul Eggert
67f7a0936c Check for =u bug. 2005-04-28 16:31:49 +00:00
Paul Eggert
add32958fc Check for =xX bug. 2005-04-28 16:31:32 +00:00
Paul Eggert
b1fdaf5ac7 (main): Adjust to new modechange API.
Also, free the mode_change object when done.
2005-04-28 16:31:09 +00:00
Paul Eggert
30f5286c50 (change, umask_value): New static vars.
(reference_file): Move this static var to inside "main".
(process_file, process_files): Remove CHANGES arg; now taken from
static var.  All uses changed.
(usage): Fix incorrect description of MODE operand.
(main): For invalid mode usages, output a brief usage message.
Adjust to new modechange API.
2005-04-28 16:29:59 +00:00
Paul Eggert
5580780a37 (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
(struct mode_change): Move to modechange.c; callers don't
need to see this stuff.
(MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
(MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
(mode_change, mode_adjust): Reflect the new signatures noted above.
2005-04-28 16:29:22 +00:00
Paul Eggert
498bb2796f Include stat-macros.h, xalloc.h.
(S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
(S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
(S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
Remove.  This is now stat-macros.h's job.
(talloc): Remove.  All callers replaced by xalloc, so that
our invokers don't have to worry about reporting memory failures.
(make_node_op_equals): Remove.
(MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
New constants.
(struct mode_change): Moved here from modechange.h.
(mode_append_entry): Remove.
(mode_compile): Remove MASKED_OPS arg, since it encouraged
apps to have incorrect behavior.  Use simpler algorithm for head
and tail.  Don't futz with umask; that's now the job of mode_adjust.
Detect more invalid usages rather than having somewhat-random behavior.
Don't insert an "a=" action, as that leads to incorrect behavior.
(mode_compile, mode_create_from_ref): Return NULL on error instead
of an enum, since now there's only one way to have an error.  All
callers changed.
(mode_adjust): Accept new arg UMASK_VALUE, and interpret it
at the correct time.  Simplify calculation of "+u" and its ilk.
Don't mishandle "+X".
(mode_free): Remove "register" and localize decls.
2005-04-28 16:29:00 +00:00
Paul Eggert
3f4bb8e0c8 (Mode Structure, Changing Special Permissions):
(Conditional Executability, Numeric Modes):
These days the sticky bit is more often uses as the restricted
deletion flag, so modernize the discussion about this.
(Mode Structure): Linux/GNU -> GNU/Linux.
(Symbolic Modes): Don't imply that "+ur" or "u" is valid.
(Setting Permissions): Don't imply that "+t" is invalid.
Use "rwx" rather than the less-common "rxw" in an example.
(Copying Permissions): Say that ugo is a replacement for
a string of the other letters.  Add spaces around examples.
Use "set-user-ID" rather than "set user ID" to avoid ambiguity.
Use "+t" rather than "o+t", since POSIX doesn't specify the latter.
Mention which combinations are portable and which are GNU.
(Numeric Modes): Don't imply they aren't portable; they are
nowadays.
2005-04-28 16:28:27 +00:00
Paul Eggert
b151294523 Restore support for usages like "head -1" and "tail -1",
even when conforming to POSIX 1003.1-2001.
A few other bug fixes.
2005-04-26 16:45:12 +00:00
Paul Eggert
adcc738109 * coreutils.texi: Don't complain about head -10, etc. 2005-04-26 16:44:51 +00:00
Paul Eggert
6cb41db99f (Standards conformance): Do not mention head -10,
since it now works the same regardless of POSIX version.
(od invocation): -w N -> -w[N].
(pr invocation): -S STRING -> -SSTRING.
(fold invocation): -WIDTH works even when conforming to POSIX
1003.1-2001.
(head invocation, tail invocation): Likewise for -NUM.
(split invocation): Likewise for -LINES.
(uniq invocation): Likewise for -N.
(expand invocation, unexpand invocation): Likewise for -TAB.
(nice invocation): Likewise for -ADJUSTMENT.
(sort invocation): Clarify explanation of +N option.
(uniq invocation): Likewise.
(join invocation): Remove special case for --help, --version.
(touch invocation): Clarify explanation of date options.
(Options for date): -I timespec -> -I[timespec].
2005-04-26 16:44:24 +00:00
Paul Eggert
c906160906 (main): Don't complain about -NUM. 2005-04-26 16:43:45 +00:00
Paul Eggert
c360992faf Remove posixver.h and its uses.
(main): Don't complain about -TAB.
2005-04-26 16:43:33 +00:00
Paul Eggert
369458974f (parse_obsolete_option): Don't complain about -NUM. 2005-04-26 16:43:18 +00:00
Paul Eggert
1e63d9354d Remove posixver.h and its uses.
(main): Don't complain about -NUM option.
2005-04-26 16:43:03 +00:00
Paul Eggert
aa9faf52c4 Remove posixver.h and its uses.
(short_options): New constant, which always supports -y arg.
(COMMON_SHORT_OPTIONS): Remove.
2005-04-26 16:42:51 +00:00
Paul Eggert
8f7612bc5e Remove posixver.h and its uses.
(short_options): New constant, which always supports -S[string].
(COMMON_SHORT_OPTIONS): Remove.
2005-04-26 16:42:38 +00:00
Paul Eggert
d6ac4446c4 Remove posixver.h and its uses.
(short_options): New constant, which always supports -w[num].
(COMMON_SHORT_OPTIONS): Remove.
2005-04-26 16:42:26 +00:00
Paul Eggert
c631833814 Remove posixver.h and its uses.
(main): Always support -NUM option.
2005-04-26 16:41:59 +00:00
Paul Eggert
f9118c1c2e Remove posixver.h and its uses.
(obsolete_usage): Remove.
(join_field_1, join_field_2): Initialize to SIZE_MAX to indicate
they haven't been set yet.
(tab): Now int, not char.  Initialize to -1 to indicate white space
separates columns, so that we can use NUL as a separator.
All uses changed.
(OBSOLETE_LONG_OPTIONS, get_option): Remove.
(string_to_join_field): Remove ERR_MSG_FMT arg; a single format
suffices.  Use xstrtoul for sizes; it suffices.
(decode_field_spec): Report an error and exit on failure.  Return void,
not bool.
(add_field_list): Likewise.
(set_join_field): New function.
(enum operand_status): New enum.
(add_file_name): New args OPERAND_STATUS, JOPTION_COUNT,
PREV_OPTC_STATUS, OPTC_STATUS to handle the bewildering array of
possibilities with obsolete option parsing.
(main): Use it.  Do not depend on POSIX version.
Check for conflicting options.  Parse obsolete options -j1 and -j2
so that it is a pure extension to POSIX 1003.1-2001.
Allow '-t\0' to specify a NUL tab, stealing the code from 'sort'.
2005-04-26 16:41:45 +00:00
Paul Eggert
e8e6441094 Remove posixver.h and its uses.
(header_mode_option): Remove.
(main): Don't complain about obsolete -NUM args.
2005-04-26 16:41:29 +00:00
Paul Eggert
bcb5f0e6da Remove posixver.h and its uses.
(shortopts): New constant.  -DIGIT now always takes an optional arg.
(main): Don't preprocess arg list; that was buggy.  Use method
similar to expand.
2005-04-26 16:41:17 +00:00
Paul Eggert
cf8a5565cf Remove posixver.h and its uses.
(shortopts): New constant.  -DIGIT now always takes an optional arg.
(main): Revamp parsing of -DIGIT to let parse_tab_stops handle it.
Don't complain about -DIGIT.
2005-04-26 16:41:03 +00:00
Paul Eggert
3263435391 Remove posixver.h and its uses.
(COMMON_SHORT_OPTIONS): Remove.
(short_options): New constant.
(short_options, usage): -I now always takes an optional arg.
2005-04-26 16:40:43 +00:00
Paul Eggert
a1a83b43d4 Restore support for usages like "head -1" and "tail -1",
even when conforming to POSIX 1003.1-2001.
Fix bug with "POSIXLY_CORRECT=1 fold file -3".
join now supports a NUL field separator, e.g., "join -t '\0'".
join now detects and reports incompatible options, e.g.,
2005-04-26 16:40:16 +00:00
Paul Eggert
8e794ef5bd * coreutils.texi (install invocation): Use a= instead of 0 for
the point of departure for -m, and explain what it meeams.
(mkdir invocation, mkfifo invocation, mknod invocation):
The umask does not affect the point of departure.
2005-04-24 04:46:33 +00:00
Paul Eggert
4bc27aff4c nohup now exits with status 127 (not 1) when given an invalid option. 2005-04-23 06:01:50 +00:00
Paul Eggert
4e7d4dfd8d (main): If getopt fails, exit with status 127, not status 1. 2005-04-23 05:57:33 +00:00
Paul Eggert
39ecad7d9a * src/nice.c (main): Report proper program name when getopt finds trouble. 2005-04-23 05:41:16 +00:00
Paul Eggert
d3eadc9cbf (main): Report proper program name when getopt finds trouble. 2005-04-23 05:39:55 +00:00
Paul Eggert
db3f41ec77 Test for "mkdir -m =+x dir" bug. 2005-04-22 23:54:05 +00:00
Paul Eggert
fde1a93ab8 (main): Compile mode with MODE_MASK_ALL and initial umask. 2005-04-22 23:53:33 +00:00
Paul Eggert
18f6ab0228 (main): Compile mode with MODE_MASK_ALL and initial umask. 2005-04-22 23:53:13 +00:00
Paul Eggert
5ce302fba5 (main): Compile mode with MODE_MASK_ALL and initial umask. 2005-04-22 23:52:35 +00:00
Paul Eggert
e8feb9eaf5 Fix bug with "mkdir -m =+x dir"; the umask was being ignored
when the "+x" was being evaluated.
2005-04-22 23:52:05 +00:00
Paul Eggert
bd82be6ca9 "mkdir -m =+x dir" no longer ignores the umask when evaluating "+x",
and similarly for mkfifo and mknod.
2005-04-22 23:51:34 +00:00
Paul Eggert
406dac3861 Regenerate. 2005-04-21 00:34:47 +00:00
Paul Eggert
de80f585d6 Port test cases to Microsoft-Windows-related environments,
following suggestions from Eric Blake.
2005-04-21 00:30:51 +00:00
Paul Eggert
2d8996299e Undo previous change.
(sig): New var.  Use it insted of "trap '' CHLD".
Append $EXEEXT to executable name.
2005-04-21 00:30:35 +00:00
Paul Eggert
82e7b3c7ca Undo previous change.
(dd, dd2): New vars, which use $EXEEXT.  All uses of dd and dd2 changed.
2005-04-21 00:30:13 +00:00
Paul Eggert
516e0734b5 (TESTS_ENVIRONMENT): Add EXEEXT. 2005-04-21 00:29:50 +00:00
Paul Eggert
16ded268dd Fetish.pm renamed to Coreutils.pm. 2005-04-20 07:58:09 +00:00
Paul Eggert
42ff8eeaae "fetish" -> "coreutils" in more places. 2005-04-20 07:57:27 +00:00
Paul Eggert
9118673ca3 Renamed Fetish package to Coreutils. 2005-04-20 07:54:54 +00:00
Paul Eggert
6195b00513 (EXTRA_DIST): Add Coreutils.pm and remove Fetish.pm. 2005-04-20 07:53:53 +00:00
Paul Eggert
ee3fb6fadc (package Coreutils): Renamed from package Fetish. 2005-04-20 07:53:09 +00:00
Paul Eggert
50397b4278 * tests/mv/setup (dot_mount_point): Use stat -L. 2005-04-19 07:36:59 +00:00
Paul Eggert
e3f1529533 (dot_mount_point): Use stat -L, in case the
directory is actually a symbolic link.
2005-04-19 07:36:39 +00:00
Paul Eggert
f3a8588fd5 * tests/mv/mv-special-1: Use test -p to test for fifos. 2005-04-19 07:26:46 +00:00
Paul Eggert
a8f2520b15 Use test -p to test for fifos, rather
than the (incorrect) test -f and the (inadequate) ls.  ls is
inadequate because on some hosts a buggy mv will create a file of
the wrong type (problem reported by Eric Blake).  Skip this test
if test -p doesn't work.
2005-04-19 07:26:18 +00:00
Paul Eggert
f55ce3a2dc * tests/chmod/setgid: Use numeric group ids, not symbolic group names. 2005-04-19 07:08:28 +00:00
Paul Eggert
822c4d9a83 Use numeric group ids, not symbolic group names,
since the latter can have shell metacharacters in them (e.g., spaces).
2005-04-19 07:08:08 +00:00
Paul Eggert
08e7216b2c Regenerate. 2005-04-18 23:38:19 +00:00
Paul Eggert
441a757dc8 fetish -> coreutils in some more places 2005-04-18 23:33:55 +00:00
Paul Eggert
9f79304ead (FETISH_GROUP): Renamed from COREUTILS_GROUP. 2005-04-18 23:33:29 +00:00
Paul Eggert
a57516e20f (COREUTILS_GROUPS): Renamed from FETISH_GROUPS. 2005-04-18 23:33:10 +00:00
Paul Eggert
bb40c7aeca (LDADD, $(PROGRAMS)): fetish -> coreutils. 2005-04-18 23:32:49 +00:00
Paul Eggert
09e689caf6 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
variable prefixes.
2005-04-18 23:32:29 +00:00
Paul Eggert
bf9a432a16 (gl_MACROS): Use gl_ or coreutils_ rather than fetish_ for prefixes. 2005-04-18 23:32:12 +00:00
Paul Eggert
973039d61f (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
variable names.
2005-04-18 23:31:42 +00:00
Paul Eggert
d1f3b4fe16 fetish->coreutils in compilation command. 2005-04-18 23:31:22 +00:00
Paul Eggert
93e5749eea coreutils->fetish in comment. 2005-04-18 23:30:55 +00:00
Paul Eggert
8159d49a2a (noinst_LIBRARIES): fetish -> coreutils.
(libcoreutils_a_SOURCES): Renamed from libfetish_a_SOURCES.
All uses changed.
(libcoreutils_a_LIBADD): Renamed from libfetish_a_LIBADD.
All uses changed.
(libcoreutils_a_DEPENDENCIES): Renamed from libfetish_a_DEPENDENCIES.
All uses changed.
2005-04-18 23:30:41 +00:00
Paul Eggert
f6a798eeef (emit_upload_commands): Remove fetish.sf.net. 2005-04-18 23:30:19 +00:00
Paul Eggert
bfc7e64e41 (ftp): Remove fetish.sf.net. 2005-04-18 23:29:51 +00:00
Paul Eggert
9f6ffbac31 Fix typo in comment. 2005-04-18 18:48:22 +00:00
Paul Eggert
17d40155b4 Use "cat", not "test", to test for
../../src/dd.  Problem reported by Eric Blake.
2005-04-18 18:37:36 +00:00
Jim Meyering
60910381af *** empty log message *** 2005-04-18 07:05:11 +00:00
Jim Meyering
c64856e992 Don't include stat-macros.h directly. system.h does that. 2005-04-18 07:03:50 +00:00
Paul Eggert
9b55e54a58 Work around a couple of "make check" failures reported for Cygwin
and ash by Eric Blake.
2005-04-18 06:36:45 +00:00
Paul Eggert
1563f3241e Skip this test if "trap '' CHLD" doesn't work. 2005-04-18 06:35:22 +00:00
Paul Eggert
2cb82c08c6 Skip this test if ../../src/dd isn't readable. 2005-04-18 06:35:06 +00:00
Jim Meyering
d5cca2b3b2 *** empty log message *** 2005-04-16 06:38:22 +00:00
Jim Meyering
037421542d (S_TYPEISSHM): Remove definition.
Get the definition by including "stat-macros.h", instead.
2005-04-16 06:38:20 +00:00
Paul Eggert
776587cbea Fix test suite problems reported by Eric Blake on Cygwin. 2005-04-14 20:35:59 +00:00
Paul Eggert
9ca6f88366 (dot_mount_point): Use stat rather than df, as
it's more reliable.
(other_partition_tmpdir): Remove df from name as that would be
misleading now.
2005-04-14 20:35:34 +00:00
Paul Eggert
b6820a451d Ignore chatter about when files are removed,
since POSIX doesn't require rename to fail across file systems.
2005-04-14 20:35:14 +00:00
Jim Meyering
181e78b2d6 *** empty log message *** 2005-04-14 12:13:26 +00:00
Jim Meyering
22abf053ca Correct typo, fchmod -> fchown, in a comment. 2005-04-14 12:09:00 +00:00
Paul Eggert
5e54cfb18b * getdate.y (zone): Allow relunit_snumber after tZONE. 2005-04-13 18:42:13 +00:00
Paul Eggert
f3f4a9add0 (zone): Allow relunit_snumber after tZONE, so
that "UTC +1 second" continues to work.  Problem reported
by Dmitry V. Levin.
(relunit_snumber): New rule.
(relunit): Use it.
2005-04-13 18:42:00 +00:00
Paul Eggert
a3cdfd525c src/ls.c (usage): "uid" -> "user ID". 2005-04-12 07:41:42 +00:00
Paul Eggert
54ba3e1287 (usage): uid -> user ID 2005-04-12 07:39:38 +00:00
Paul Eggert
94e747e3ac * getdate.y: Fix problem with parsing GMT time stamps during London summers. 2005-04-12 07:21:48 +00:00
Paul Eggert
1d6ad9ddf2 (universal_time_zone_table): New constant.
(time_zone_table): Remove GMT, UT, UTC entries; they're now in
universal_time_zone_table.
(lookup_zone): Prefer universal_time_zone_table to
local_time_zone_table, so that "GMT" time stamps are allowed in
London during the summer.  Problem reported by Ian Abbott.
2005-04-12 07:21:18 +00:00
Jim Meyering
21e982ed81 *** empty log message *** 2005-04-12 06:47:49 +00:00
Jim Meyering
aa3d627011 (tsort): Use "%s" as the format string, rather than a diagnostic or a file name. 2005-04-12 06:47:44 +00:00
Jim Meyering
0510017888 (compare_files): Remove declaration of unused local. 2005-04-12 06:46:10 +00:00
Paul Eggert
19393fd886 For consistency, standardize on "user ID" rather than "uid". 2005-04-12 05:53:02 +00:00
Paul Eggert
7078f2f4bd Reword usage, man pages to use "user ID" rather than "uid" etc. 2005-04-12 05:52:37 +00:00
Paul Eggert
6fabf88aec (usage, main): Use "user ID", not "UID", and similarly for "group ID". 2005-04-12 05:44:47 +00:00
Paul Eggert
064c7a4273 (usage): Use "user ID", not "UID", and similarly
for "group ID".
2005-04-12 05:44:16 +00:00
Paul Eggert
369a314889 Reword to match coreutils.texi. 2005-04-12 05:43:36 +00:00
Paul Eggert
4b087b295a Reword to match user manual. 2005-04-12 05:43:19 +00:00
Paul Eggert
9149393134 For consistency, standardize on "user ID" rather
than "uid" or "UID" or "user id".  Similarly for "group ID".
2005-04-12 05:42:55 +00:00
Paul Eggert
3aeec3ceed Regenerate. 2005-04-11 20:21:07 +00:00
Paul Eggert
d233b6b31e Add bulletproofing for cases where stdin, stdout, or stderr are closed. 2005-04-11 20:15:45 +00:00
Paul Eggert
348dfa3987 Add bulletproofing for cases where stdin, stdout, or stderr are closed. 2005-04-11 20:13:42 +00:00
Paul Eggert
786ebb2cec Include stdio_safer.h.
(check_file): Don't assume fopen cannot return stdin or stdout.
2005-04-11 20:13:26 +00:00
Paul Eggert
45e6c262b9 (next_file): Don't assume fopen cannot return stdin. 2005-04-11 20:13:10 +00:00
Paul Eggert
8e8520b0ba (have_read_stdin): Remove; no longer needed. All uses
removed.
(tsort): Do not assume fopen can't return stdin.
Close stdin before returning.  All uses changed.
2005-04-11 20:12:51 +00:00
Paul Eggert
39d496f075 Include unistd-safer.h.
(touch): Use fd_safer.
2005-04-11 20:12:32 +00:00
Paul Eggert
857b9db0e0 Include stdio-safer.h.
(tee): Use fopen_safer.
2005-04-11 20:12:17 +00:00
Paul Eggert
99eb6d3a02 Include unistd-safer.h rather than fcntl-safer.h.
(recheck, tail_file): Use fd_safer rather than open_safer.
2005-04-11 20:12:01 +00:00
Paul Eggert
9db4c89700 Include unistd-safer.h.
(copy_to_temp): Use fd_safer.
(tac_file): Don't assume fopen cannot return stdin.
2005-04-11 20:11:45 +00:00
Paul Eggert
da5dc50751 (bsd_sum_file, sysv_sym_file):
Use same pattern as elsewhere for checking for stdin.
2005-04-11 20:11:27 +00:00
Paul Eggert
a498869855 Include unistd-safer.h.
(cwrite): Use fd_safer.  Replace mystery constant 0666 with symbolic
version, as POSIX requires.
2005-04-11 20:11:08 +00:00
Paul Eggert
66729cdcd3 Include unistd-safer.h.
(create_temp_file): Use fd_safer.
(xfclose): Don't assume fileno (stdin) == STDIN_FILENO, etc.
2005-04-11 20:10:52 +00:00
Paul Eggert
0d49dd9de2 Include unistd-safer.h.
(wipename): Use fd_safer on directory file descriptor.
(wipefile): Remove special case for /dev/fd/* on older hosts.
It didn't work in general, and wasn't documented.
Use fd_safer.
2005-04-11 20:10:23 +00:00
Paul Eggert
caca482cde (main): Don't assume fopen returns stdout after closing
stdout.  Use freopen instead.
2005-04-11 20:10:00 +00:00
Paul Eggert
02b7510866 Include stdio-safer.h.
(open_file): Use fopen_safer.
(close_file): Don't assume fopen does not return stdin.
2005-04-11 20:09:42 +00:00
Paul Eggert
c2377708ec (paste_serial): Don't assume fopen does not return stdin. 2005-04-11 20:09:22 +00:00
Paul Eggert
ab860aae65 (check_and_close): Don't assume fopen does not return stdin. 2005-04-11 20:09:01 +00:00
Paul Eggert
8e14d7ffbb Include unistd-safer.h.
(main): Don't dup stderr to stdin or stdout by mistake.
2005-04-11 20:08:30 +00:00
Paul Eggert
e972b27d05 (digest_file, digest_check):
Don't assume that fopen does not return stdin.
2005-04-11 20:08:11 +00:00
Paul Eggert
aba88afdce Include stdio-safer.h.
(main): Use fopen_safer.  Simplify the resulting code.
2005-04-11 20:07:54 +00:00
Paul Eggert
ea778b6463 (head_file): Don't assume open does not return 0. 2005-04-11 20:07:37 +00:00
Paul Eggert
cc4407f0fe (dc_parse_file): Don't assume fopen does not return stdin. 2005-04-11 20:07:22 +00:00
Paul Eggert
329448f75e Include stdio-safer.h.
(input_desc): Remove unnecessary static initialization.
(set_input_file): Use STDIN_FILENO, not 0.
(create_output_file): Use fopen_safer.
2005-04-11 20:07:00 +00:00
Paul Eggert
0b8c662cf2 Include unistd-safer.h.
(copy_reg): Use fd_safer.
2005-04-11 20:06:34 +00:00
Paul Eggert
fd48557688 Include stdio-safer.h.
(compare_files): Exit right away on I/O error rather than continuing
and producing confusing output and error messages.
Return void, not int; all callers changed.
Use fopen_safer to avoid confusion with file descriptors.
2005-04-11 20:06:13 +00:00
Paul Eggert
aaffac9b6a Add bulletproofing for cases where stdin, stdout, or stderr are closed. 2005-04-11 20:05:45 +00:00
Paul Eggert
791d815ca0 (gl_PREREQ): Don't require gl_FCNTL_SAFER. 2005-04-11 20:05:34 +00:00
Paul Eggert
366a942b4d (gl_UNISTD_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
Invoke gl_PREREQ_FD_SAFER.
(gl_PREREQ_FD_SAFER): New macro.
2005-04-11 20:05:20 +00:00
Paul Eggert
ed8af4543d (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ. 2005-04-11 20:04:57 +00:00
Paul Eggert
6a0400397d Add bulletproofing for cases where stdin, stdout, or stderr are closed. 2005-04-11 20:04:29 +00:00
Paul Eggert
5af96ecaf5 (libfetish_a_SOURCES): Remove dup-safer.c,
fcntl-safer.h, fopen-safer.c, open-safer.c, stdio-safer.h,
unistd-safer.h.
2005-04-11 20:03:40 +00:00
Paul Eggert
6d2aaeaa97 (fd_safer): New decl. 2005-04-11 20:03:22 +00:00
Paul Eggert
24560041a8 Include unistd-safer.h.
(save_cwd): Use fd_safer.
2005-04-11 20:03:04 +00:00
Paul Eggert
f4efb825d2 Include stdio-safer.h.
(getusershell): Use fopen_safer.
2005-04-11 20:02:43 +00:00
Paul Eggert
8bd8ca4bf3 Include unistd-safer.h.
(getloadavg): Use fd_safer.
2005-04-11 20:02:28 +00:00
Paul Eggert
01dbbdf612 Include unistd-safer.h.
(fts_safe_changedir): Use fd_safer.
2005-04-11 20:02:06 +00:00
Paul Eggert
74fdf19ae7 Include unistd-safer.h first, to test interface.
(dup_safer) [!deefined F_DUPD]: Use new fd_safer function instead of
rolling our own code.
2005-04-11 20:01:46 +00:00
Paul Eggert
10bcc8d795 Initial revision 2005-04-11 20:01:20 +00:00
Jim Meyering
faac042790 (chopt_free): Mark parameter as unused. 2005-04-10 13:44:45 +00:00
Jim Meyering
084e64d1b7 . 2005-04-10 13:41:44 +00:00
Jim Meyering
31d1fd1eef . 2005-04-09 17:29:20 +00:00
Jim Meyering
493aba2ae5 (close_stdout_wrapper): Likewise.
Don't close STDOUT_FILENO explicitly; close_stdout does it.
2005-04-09 16:29:29 +00:00
Jim Meyering
c06188c05c (__attribute__, ATTRIBUTE_UNUSED): Define.
Mark parameter `sp' with ATTRIBUTE_UNUSED.
2005-04-09 14:19:49 +00:00
Jim Meyering
e115c60a2a (quit): Define with ATTRIBUTE_NORETURN.
Now that close_stdout closes standard output unconditionally,
these workarounds for dd and cat are no longer necessary.
(close_stdout_wrapper): Remove function.
(main): Call atexit with close_stdout, instead.
2005-04-09 14:15:22 +00:00
Jim Meyering
58415b5d5d *** empty log message *** 2005-04-09 14:09:00 +00:00
Jim Meyering
c522a489df (__attribute__, ATTRIBUTE_UNUSED): Define.
(exit_failure_callback, fallback_failure_callback): Mark unused
parameters with ATTRIBUTE_UNUSED.
2005-04-09 14:08:57 +00:00
Jim Meyering
22210b83b4 (canon_host) [HAVE_GETADDRINFO]: Use memset
rather than `= { 0 };' to initialize local `hint'.
2005-04-09 14:08:30 +00:00
Jim Meyering
32e72c50cc *** empty log message *** 2005-04-09 13:57:56 +00:00
Jim Meyering
0eb83b6534 Readability nit:
Change this:
  #  define __attribute__(x)
  to this:
  #  define __attribute__(x) /* empty */
2005-04-09 13:57:51 +00:00
Jim Meyering
517ac833b0 *** empty log message *** 2005-04-09 13:29:01 +00:00
Jim Meyering
5fb6300448 (posixtime) [lint]: Avoid spurious warning from gcc-4's
-Wuninitialized: initialize tm0.tm_year.
2005-04-09 13:28:25 +00:00
Jim Meyering
71984394f3 *** empty log message *** 2005-04-09 12:35:44 +00:00
Jim Meyering
89e0ab6c9e (humblock): Set *options even when returning due to
xstrtoumax conversion failure.  Thanks to a used-uninitialized
warning from gcc-4.
2005-04-09 12:35:41 +00:00
Jim Meyering
56e6bb413f *** empty log message *** 2005-04-09 12:00:36 +00:00
Jim Meyering
3a270c871e *** empty log message *** 2005-04-09 11:57:02 +00:00
Jim Meyering
00e2488d87 (rm invocation): Say that --recursive removes
listed directories too, not just their contents.
2005-04-09 11:56:55 +00:00
Jim Meyering
113bb1ac7b (usage): Mention that --recursive removes listed
directories too, not just their contents.
Say that by default, rm does not remove directories.
2005-04-09 10:39:17 +00:00
Jim Meyering
80607d62d1 *** empty log message *** 2005-04-09 07:25:06 +00:00
Jim Meyering
29cb226323 (sc_system_h_headers): Propagate exit status through trap. 2005-04-09 07:24:49 +00:00
Jim Meyering
6cd4eed0ba Don't include "timespec.h". system.h does that. 2005-04-09 07:23:50 +00:00
Paul Eggert
8ae46b55b4 (iread, iwrite): Use char * buffer, not void *, so we can do pointer
arithmetic on it.
2005-04-09 06:16:14 +00:00
Paul Eggert
c69ead6596 Regenerate. 2005-04-09 05:03:01 +00:00
Paul Eggert
4c8c049f7a Signal-handling cleanup motivated by core dumps in dd. 2005-04-09 05:00:40 +00:00
Paul Eggert
ed74cc7c26 (SA_NOCLDSTOP): Define to 0 if not defined.
All uses changed.
(siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
(main) [! SA_NOCLDSTOP]: Use it.
2005-04-09 04:57:37 +00:00
Paul Eggert
9fd2c631bf Remove all uses of signals; modern hosts have
/dev/random and don't need this gorp.
Do not include signal.h.
(env, sigill_handler, isaac_seed_machdep): Remove.  All uses removed.
2005-04-09 04:57:15 +00:00
Paul Eggert
bc7c9f0ebc (SA_NOCLDSTOP): Define to 0 if not defined.
All uses changed.
(siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
(main) [! SA_NOCLDSTOP]: Use it.
2005-04-09 04:56:10 +00:00
Paul Eggert
4f0b9dbd17 Do not include safe-read.h or full-write; no longer needed.
(process_signals): Add forward decl.
(SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
New macros.
(siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
(SA_NODEFER) [!defined SA_NODEFER]: New macro.
(SA_RESETHAND) [!defined SA_RESETHAND]: New macro.
(caught_signals, interrupt_signal, info_signal_count, catch_siginfo):
New vars.
(usage): Mention -USR1 versus -INFO.
(cleanup): Don't invoke print_stats; the caller must do it now.
All callers changed.
(quit): Process signals just before exiting.
(interrupt_handler): Simply record the signal and return.
(siginfo_handler): Simply increment the signal counter and return.
(install_handler): Remove, replacing with:
(install_signal_handlers, process_signals, iread, iwrite):
New functions.  All callers to safe_read and full_write replaced
by iread and iwrite.  All callers to install_handler replaced by
install_handlers.

Do not include inttostr.h, no longer needed.
(print_stats, main): Rewrite and simplify formats to use PRIuMAX
instead of umaxtostr.
(print_stats): Work even in languages that have special
forms for two of things, for r_truncate and w_bytes.  We can't
fix delta_s in this way, since ngettext doesn't support floating-point.
(main): Rewrite to avoid casts.
2005-04-09 04:55:40 +00:00
Paul Eggert
f33b6dab82 (SA_NOCLDSTOP): Define to 0 if not defined.
All uses changed.
(siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
(delete_all_files): New arg IN_SIGNAL_HANDLER, to avoid undefined
behavior when called from a signal handler.  All uses changed.
(main) [!defined SA_NOCLDSTOP]:
Use siginterrupt to specify that system calls should be interrupted.
2005-04-09 04:55:05 +00:00
Paul Eggert
65d8e81ce7 (RETSIGTYPE): Remove; no longer needed. All uses replaced with void. 2005-04-09 04:54:23 +00:00
Paul Eggert
33a5790031 (gl_PREREQ_NANOSLEEP): Check for siginterrupt. 2005-04-09 04:53:53 +00:00
Paul Eggert
b1cbacc40c (gl_MACROS): Check for siginterrupt.
(gl_CHECK_ALL_TYPES): Do not require AC_TYPE_SIGNAL.
2005-04-09 04:52:54 +00:00
Paul Eggert
e4abcff12f (rpl_nanosleep): Include "timespec.h" before macros
that might redefine system include files.
(siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
(my_usleep): Use NULL rather than (void *) 0.
(rpl_nanosleep) [!defined SA_NOCLDSTOP]:
Use siginterrupt to specify that system calls should be interrupted.
(rpl_nanosleep): Move initialization of suspended closer to call of
my_usleep.
2005-04-09 04:52:25 +00:00
Paul Eggert
a3d3cf669c (dd invocation): Document the distinction between
INFO and USR1 for dd, and the effect of POSIXLY_CORRECT here.
2005-04-09 04:51:52 +00:00
Paul Eggert
c7eda8c16f Document that dd no longer treats QUIT or PIPE specially,
and when conforming to POSIX no longer treats USR1 specially.
Document that dd no longer dumps core when handling signals.
2005-04-09 04:51:11 +00:00
Jim Meyering
b57df8650a *** empty log message *** 2005-04-07 20:10:54 +00:00
Jim Meyering
3dcd2f2dc6 *** empty log message *** 2005-04-07 20:10:17 +00:00
Jim Meyering
66374c61ee (binary_operator) [LINT]: Initialize lt and rt to 0. 2005-04-07 20:10:03 +00:00
Jim Meyering
3bad149c95 (digest_check) [LINT]: Initialize hex_digest to NULL. 2005-04-07 20:09:46 +00:00
Jim Meyering
ed3d178804 *** empty log message *** 2005-04-07 17:14:45 +00:00
Jim Meyering
d736105221 (binop): Move function definition to precede first use so we can...
(binop): ...remove prototype.
2005-04-07 17:14:14 +00:00
Jim Meyering
6d2f006d8d *** empty log message *** 2005-04-07 17:12:32 +00:00
Jim Meyering
d55d4b6c81 (is_int, age_of, binop): Declare char *' parameters to be const'. 2005-04-07 17:12:27 +00:00
Jim Meyering
eb3520398b *** empty log message *** 2005-04-06 07:41:20 +00:00
Jim Meyering
eafdfb0b5e Remove rw. 2005-04-06 07:41:14 +00:00
Jim Meyering
e4b30a18d1 Remove file -- many invalid message strings. 2005-04-06 07:40:51 +00:00
Paul Eggert
594060f75e Regenerate. 2005-04-05 22:25:26 +00:00
Paul Eggert
d5c4857ed2 Add examples to basename, cat, chgrp, chown, dirname. 2005-04-05 22:23:29 +00:00
Paul Eggert
e8a0c946f5 (usage): Add examples. 2005-04-05 22:21:50 +00:00
Paul Eggert
10b4a29f64 (.x.1): Remove "COMMAND.td/" from examples. 2005-04-05 22:21:14 +00:00
Paul Eggert
26a6039e27 Add examples to cat, chown, chgrp, basename, dirname. Change ln examples
to match that format.
2005-04-05 22:20:31 +00:00
Paul Eggert
a07556afb1 (cat invocation, chown invocation)
(chgrp invocation, basename invocation, dirname invocation):
Add examples, which are copies of the examples newly added
to the usage messages.
(ln invocation): Use same format as other examples above,
for consistency.
2005-04-05 22:20:05 +00:00
Jim Meyering
a24580b5c4 *** empty log message *** 2005-04-05 11:53:59 +00:00
Jim Meyering
44ebdc8d01 (usage): Mention that some shells provide a built-in function by the same name. 2005-04-05 11:53:47 +00:00
Jim Meyering
e4a293284f (usage): Mention that some shells provide a
built-in function by the same name.
2005-04-05 11:53:38 +00:00
Jim Meyering
6d619b4ab7 . 2005-04-05 11:45:49 +00:00
Jim Meyering
41bc49115d *** empty log message *** 2005-04-05 11:45:06 +00:00
Jim Meyering
4c78f3da38 (SUBDIRS): Add tee. 2005-04-05 11:44:54 +00:00
Jim Meyering
a3f5d530ab (AC_CONFIG_FILES): Add tests/tee/Makefile. 2005-04-05 11:44:32 +00:00
Jim Meyering
7d2ad53db7 . 2005-04-05 11:43:03 +00:00
Jim Meyering
dce4a77a99 (tee): When closing files, do not close stdout,
leave this job to close_stdout() instead.
From Dmitry V. Levin.
2005-04-05 11:40:53 +00:00
Jim Meyering
78eefa7b18 *** empty log message *** 2005-04-05 08:56:15 +00:00
Jim Meyering
bc2c07f174 Add Kinyarwanda (rw). 2005-04-05 08:56:04 +00:00
Jim Meyering
f41b4a4bbf version: 5.3.0 2005-04-05 08:55:06 +00:00
Jim Meyering
e3cb2a0a05 (usage): Move USAGE_BUILTIN_WARNING to end of --help output. 2005-04-04 22:30:57 +00:00
Jim Meyering
ce1ecb48b7 (USAGE_BUILTIN_WARNING): remove trailing newline 2005-04-04 22:30:22 +00:00
Jim Meyering
8c3ce409f1 . 2005-04-04 22:29:37 +00:00
Jim Meyering
d09a97d9b5 *** empty log message *** 2005-04-04 22:00:11 +00:00
Jim Meyering
f790ad9dd0 Remove `DESCRIPTION' section, now that --help includes it. 2005-04-04 21:59:58 +00:00
Jim Meyering
fb57ce0811 *** empty log message *** 2005-04-04 21:58:09 +00:00
Jim Meyering
3905751383 (usage): Mention that some shells provide a built-in
function by the same name.
2005-04-04 21:57:45 +00:00
Jim Meyering
63a63316a1 *** empty log message *** 2005-04-04 21:57:32 +00:00
Jim Meyering
d3632f3571 (usage): Mention that some shells provide a built-in
function by the same name.
2005-04-04 21:57:04 +00:00
Jim Meyering
d209b0f75e (usage): Mention that some shells provide a built-in
function by the same name.
2005-04-04 21:56:01 +00:00
Jim Meyering
84812b110d (usage): Mention that some shells provide a built-in
function by the same name.
2005-04-04 21:55:06 +00:00
Jim Meyering
97cce6e83f (USAGE_BUILTIN_WARNING): New macro. 2005-04-04 21:51:30 +00:00
Paul Eggert
cf6866dd8b getdate patch for empty string near dst changes. 2005-04-04 19:52:07 +00:00
Paul Eggert
6be7cfe6d3 (parser_control): rels_seen is now a boolean, not a
count, since there's no maximum.  All uses changed.
Add member dsts_seen.
(local_zone): Accumulate dsts_seen rather than relying on tm_isdst
not being INT_MAX.
(get_date): Initialize dsts_seen, and check that it doesn't go over 1.
Use pc_rels_seen to decide whther a date is absolute.

(number): Don't overwrite year.
(get_date): Initialize pc.year.digits to 0, not 4, to enable above check.
2005-04-04 19:51:49 +00:00
Jim Meyering
7c7da0b74e *** empty log message *** 2005-04-03 13:13:06 +00:00
Jim Meyering
bb0eb686fc (main): Fix off-by-one error.
pr -$(perl -e 'print "0"x63 . 1') would write one byte beyond the
end of a malloc'd buffer.
2005-04-03 13:12:53 +00:00
Jim Meyering
05613505e5 Correct indentation of the two just-split lines. 2005-04-01 22:29:15 +00:00
Jim Meyering
91377273e6 split two longer-than-80-column lines 2005-04-01 20:06:22 +00:00
Jim Meyering
ae9d3a5ab4 *** empty log message *** 2005-04-01 20:05:37 +00:00
Jim Meyering
a76fbd821b (main): Free column_count_string when done with it. 2005-04-01 20:05:33 +00:00
Jim Meyering
0df327a7a9 . 2005-04-01 07:44:41 +00:00
Jim Meyering
04bef369f1 *** empty log message *** 2005-04-01 07:40:44 +00:00
Jim Meyering
9c9c4327e2 Don't let pr treat +1:-1 like +1:18446744073709551615.
(neg-page): Add a test for this.
2005-04-01 07:40:33 +00:00
Jim Meyering
361d16aba9 *** empty log message *** 2005-04-01 07:39:49 +00:00
Jim Meyering
a21d9a21de Don't let pr treat +1:-1 like +1:18446744073709551615.
(strtoumax): Remove declaration.
(first_last_page): Use xstrtoumax in place of strtoumax,
so we don't interpret a negative page number (e.g., in an option
like --pages=1:-1) as valid.
2005-04-01 07:39:45 +00:00
Paul Eggert
015edf8dc7 (gl_READUTMP): Restore the requirement for gl_FUNC_FREE. 2005-03-30 07:41:47 +00:00
Paul Eggert
c5401e922e * readutmp.m4 (gl_READUTMP): Restore requirement for gl_FUNC_FREE. 2005-03-30 07:41:18 +00:00
Paul Eggert
da54271e95 * readutmp.c (read_utmp) [!defined UTMP_NAME_FUNCTION]: Don't assume
utmp file is a regular file.
2005-03-30 07:40:17 +00:00
Paul Eggert
c315ff58b3 (read_utmp) [!defied UTMP_NAME_FUNCTION]: Add support for options.
Don't assume the file is a regular file.
2005-03-30 07:39:33 +00:00
Paul Eggert
bd3b936ce7 who, pinky, uptime, and users now check for valid PIDs in supposed login
sessions.
2005-03-30 05:25:10 +00:00
Paul Eggert
78abb1a757 (who): New arg OPTIONS. All uses changed.
(main): Check PIDs when invoked with zero or two arguments.
Omit duplicate code in 2-arg case.
(UT_PID): Moved to ../lib/readutmp.h.
2005-03-30 05:24:05 +00:00
Paul Eggert
08b5977867 (users): New arg OPTIONS. All uses changed.
(main): Check PIDs when invoked with zero arguments.
2005-03-30 05:23:17 +00:00
Paul Eggert
733abad3ed (uptime): New arg OPTIONS. All uses changed.
(main): Check PIDs when invoked with zero arguments.
2005-03-30 05:22:30 +00:00
Paul Eggert
6584af72c9 (short_pinky): Adjust to read_utmp signature change. 2005-03-30 05:21:31 +00:00
Paul Eggert
c769533ecd * readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
Remove duplicate call to AC_LIBOBJ(readutmp).
(gl_PREREQ_READUTMP): Remove.  All uses removed.  This module
no longer relies on free (NULL) working.
2005-03-30 05:20:57 +00:00
Paul Eggert
36b0e99418 (gl_READUTMP): Require AC_C_INLINE.
Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
Remove duplicate call to AC_LIBOBJ(readutmp).
(gl_PREREQ_READUTMP): Remove.  All uses removed.  This module
no longer relies on free (NULL) working.
2005-03-30 05:20:25 +00:00
Paul Eggert
3e5310af44 readutmp changes to allow checking for live pids 2005-03-30 05:19:48 +00:00
Paul Eggert
ec764b0a95 (read_utmp): New arg OPTIONS. All uses changed.
(UT_PID): Moved here from ../src/who.c.
(READ_UTMP_CHECK_PIDS): New constant.
2005-03-30 05:19:11 +00:00
Paul Eggert
196fb1bc5c (read_utmp): New arg OPTIONS. All uses changed.
Include signal.h, stdbool.h.
(desirable_utmp_entry): New function.
(read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
using x2nrealloc, to simplify logic.
(read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
size calculation.
2005-03-30 05:18:37 +00:00
Jim Meyering
a3710b1ef6 *** empty log message *** 2005-03-29 19:01:43 +00:00
Jim Meyering
68bc3503b8 (ptr_align): Declare `ptr' parameter to be a
`const' pointer, since this function never writes through it.
2005-03-29 19:01:34 +00:00
Jim Meyering
24e7f6c248 Remove #if-0'd-out code. 2005-03-29 14:09:35 +00:00
Jim Meyering
31927b4957 *** empty log message *** 2005-03-29 12:06:20 +00:00
Jim Meyering
4ae2c738d4 *** empty log message *** 2005-03-29 12:03:31 +00:00
Jim Meyering
363dc86fce (long_options): Use NULL, not `0'. 2005-03-29 11:56:10 +00:00
Jim Meyering
a2131c5559 *** empty log message *** 2005-03-29 08:19:25 +00:00
Jim Meyering
c34d598405 Indent cpp directives. 2005-03-29 08:19:20 +00:00
Jim Meyering
9f9012414f *** empty log message *** 2005-03-29 07:19:29 +00:00
Jim Meyering
0f7921b86f Return success on systems such as cygwin
where no absolute path name can be longer than PATH_MAX.
2005-03-29 07:18:58 +00:00
Jim Meyering
5537c89eb7 . 2005-03-28 21:58:07 +00:00
Jim Meyering
00fcde597c *** empty log message *** 2005-03-28 19:30:14 +00:00
Jim Meyering
129f0dca9d (print_sep_string):
Add `void' to make this an ANSI-style function declaration.
2005-03-28 19:29:54 +00:00
Jim Meyering
15669cf4e1 (ds_init): Add `void' to make this an ANSI-style function declaration. 2005-03-28 19:29:17 +00:00
Jim Meyering
f00c1cbeb8 (get_width_format) [HAVE_RINT && HAVE_MODF && HAVE_FLOOR]:
Add `void' to make this an ANSI-style function declaration.
2005-03-28 19:28:33 +00:00
Jim Meyering
3a14f69532 (sc_tight_scope): Adjust to catch any
new declarations like that of stty.c's `speeds'.
2005-03-28 19:22:36 +00:00
Jim Meyering
d7f7c39c11 (speeds): Declare this array to be static. 2005-03-28 18:41:09 +00:00
Jim Meyering
9ea824018a *** empty log message *** 2005-03-28 18:21:26 +00:00
Jim Meyering
734cf53a3c (long_options): Use NULL, not `0'. 2005-03-28 18:21:13 +00:00
Jim Meyering
1df790f540 *** empty log message *** 2005-03-28 18:18:35 +00:00
Jim Meyering
a73da0345c (follow_mode_string): Use NULL, not `0'. 2005-03-28 18:18:21 +00:00
Jim Meyering
3cae70f6e6 (long_options): Use NULL, not `0'. 2005-03-28 18:17:40 +00:00
Jim Meyering
eab72607cc (docolon): Use NULL, not `0'. 2005-03-28 18:17:02 +00:00
Jim Meyering
1c9ab7efaf *** empty log message *** 2005-03-28 18:16:26 +00:00
Jim Meyering
ce70c7bdc4 (print_user): Use NULL, not `0'. 2005-03-28 18:16:06 +00:00
Jim Meyering
79c88de2cc (print_uptime): Use NULL, not `0'. 2005-03-28 18:15:16 +00:00
Jim Meyering
31e6aa70e6 (delimit_method_string): Use NULL, not `0'. 2005-03-28 18:14:15 +00:00
Jim Meyering
5208f4b7ba (longopts, time_args): Use NULL, not `0'. 2005-03-28 18:13:40 +00:00
Jim Meyering
b0f4666d02 (main): Use NULL, not `0'. 2005-03-28 18:11:18 +00:00
Jim Meyering
77c6ac360f (long_options): Use NULL, not `0'. 2005-03-28 18:10:49 +00:00
Jim Meyering
8d90b78f17 (long_options, mergefps): Use NULL, not `0'. 2005-03-28 18:09:51 +00:00
Jim Meyering
dc9390825f (longopts): Use NULL, not `0'. 2005-03-28 18:08:45 +00:00
Jim Meyering
6a893f06a4 (long_options, format_args): Use NULL, not `0'. 2005-03-28 18:08:12 +00:00
Jim Meyering
63a7783403 (print_entry): Use NULL, not `0'. 2005-03-28 18:06:55 +00:00
Jim Meyering
7ae52d9af9 *** empty log message *** 2005-03-28 18:06:06 +00:00
Jim Meyering
9ac9a47b7f (longopts): Use NULL, not `0'. 2005-03-28 18:05:53 +00:00
Jim Meyering
e1a595d521 (long_options): Use NULL, not `0'. 2005-03-28 18:05:28 +00:00
Jim Meyering
3a9a4b335f (time_style_args, indicator_style_args, long_options)
(format_args, sort_args, time_args, decode_switches)
(gobble_file): Use NULL, not `0'.
2005-03-28 18:04:50 +00:00
Jim Meyering
94064e8436 (longopts): Use NULL, not `0'. 2005-03-28 18:01:04 +00:00
Jim Meyering
2d5fa94300 *** empty log message *** 2005-03-28 18:00:26 +00:00
Jim Meyering
6c816682e0 (time_spec_string): Use NULL, not `0'. 2005-03-28 18:00:16 +00:00
Jim Meyering
637eeea9bd (find_mount_point, show_point): Use NULL, not `0'. 2005-03-28 17:59:54 +00:00
Jim Meyering
d8c14fc15e (extract_regexp): Use NULL, not `0'. 2005-03-28 17:57:57 +00:00
Jim Meyering
3fbb037ff8 (copy_reg): Use NULL, not `0'. 2005-03-28 17:55:43 +00:00
Jim Meyering
87c01f7dcb (long_options): Use NULL, not `0'. 2005-03-28 17:54:13 +00:00
Jim Meyering
47f1cd0d8a (chopt_init): Use NULL, not `0'. 2005-03-28 17:50:54 +00:00
Jim Meyering
5f107875c5 (reply_args): Use NULL, not `0'. 2005-03-28 17:50:14 +00:00
Jim Meyering
b2edc18b20 (sparse_type_string, reply_args, decode_preserve_arg): Use NULL, not `0'. 2005-03-28 17:49:12 +00:00
Jim Meyering
6705c31311 (long_options): Use NULL, not `0'. 2005-03-28 17:47:48 +00:00
Jim Meyering
60d48be63c (long_options): Use NULL, not `0'. 2005-03-28 17:46:55 +00:00
Jim Meyering
aeff09196a *** empty log message *** 2005-03-28 17:37:13 +00:00
Jim Meyering
13f07e7893 (GETOPT_HELP_OPTION_DECL): Use NULL, not `0'.
(GETOPT_VERSION_OPTION_DECL): Likewise.
2005-03-28 17:37:07 +00:00
Jim Meyering
db632b64c4 *** empty log message *** 2005-03-27 16:40:43 +00:00
Jim Meyering
3cb5dca5ce (argmatch): Clarify comment: null-terminated -> NULL-terminated. 2005-03-27 16:40:02 +00:00
Jim Meyering
cc6387b7b2 *** empty log message *** 2005-03-27 08:40:38 +00:00
Jim Meyering
ae95bdc5e7 Use the same global destructor as dcgen. 2005-03-27 08:40:30 +00:00
Jim Meyering
e2b271d81d Simplify further, clean up. Require perl-5.002.
Add a standard-output-closing global destructor.
2005-03-27 08:35:16 +00:00
Paul Eggert
f01ef502f2 Clarify NUL vs null byte vs null character. 2005-03-26 18:43:30 +00:00
Paul Eggert
5bb064a261 Propagate intprops.h comment fixes to mktime.c and strftime.c. 2005-03-26 18:08:24 +00:00
Paul Eggert
759ae5e688 one's complement -> ones' complement 2005-03-26 17:55:33 +00:00
Paul Eggert
608c26a8fc one's complement -> ones' complement 2005-03-26 17:55:05 +00:00
Paul Eggert
e049d578cd Fix comment nits in intprops.h. 2005-03-26 17:49:37 +00:00
Paul Eggert
37a35280a4 Fix comment nits. 2005-03-26 17:49:22 +00:00
Paul Eggert
636fb1e3e7 Simplify dcgen and dircolors.c. 2005-03-26 17:41:26 +00:00
Paul Eggert
6f7e430f4b (parse_line): Use char *, not unsigned char *. This avoids casts.
(dc_parse_stream, main): Avoid casts.
Adjust to simpler data structure generated by new dcgen.
2005-03-26 17:39:17 +00:00
Paul Eggert
4e149db6d1 Squeeze multiple blanks into one. Output a simple
array of adjacent strings rather than a more complicated data
structure; this saves space in the dircolors executable.
2005-03-26 17:38:48 +00:00
Jim Meyering
7699025512 *** empty log message *** 2005-03-26 14:58:28 +00:00
Jim Meyering
4e9420afd2 (usage): Document usage of LS_COLORS. 2005-03-26 14:53:45 +00:00
Paul Eggert
9ada6aa316 * src/dircolors.hin: Add "TERM cygin". 2005-03-26 06:57:50 +00:00
Paul Eggert
80e5790de6 Add "TERM cygwin". 2005-03-26 06:56:01 +00:00
Jim Meyering
0c1819b8c0 *** empty log message *** 2005-03-25 21:00:25 +00:00
Jim Meyering
622816d41a (main): Update use of DECIMAL_DIGIT_ACCUMULATE. 2005-03-25 20:59:48 +00:00
Jim Meyering
3bf2d948e7 (parse_tab_stops, main): Update use of DECIMAL_DIGIT_ACCUMULATE. 2005-03-25 20:59:26 +00:00
Jim Meyering
0d22e40caf (set_fields): Update use of DECIMAL_DIGIT_ACCUMULATE. 2005-03-25 20:59:07 +00:00
Jim Meyering
c7f57f1750 (DECIMAL_DIGIT_ACCUMULATE): Reverse the sense of
the return value, and update callers:
2005-03-25 20:58:57 +00:00
Jim Meyering
65118a9226 *** empty log message *** 2005-03-23 12:47:54 +00:00
Jim Meyering
94155d37e8 Remove duplicate `#include "stat-macros.h"'. 2005-03-23 12:47:46 +00:00
Jim Meyering
be94ae38ee *** empty log message *** 2005-03-22 16:17:56 +00:00
Jim Meyering
c90ac2fad7 Reflect renaming: config -> build-aux. 2005-03-22 16:17:50 +00:00
Jim Meyering
0c7d9eda5c . 2005-03-22 16:17:25 +00:00
Jim Meyering
e56af571b0 Reflect renaming: config -> build-aux. 2005-03-22 16:17:07 +00:00
Jim Meyering
79b78d728d Reflect renaming: config -> build-aux. 2005-03-22 16:09:18 +00:00
Jim Meyering
121ae4951e Reflect renaming: config -> build-aux. 2005-03-22 15:38:40 +00:00
Jim Meyering
22bec77e4c moved to ../build-aux 2005-03-22 15:10:35 +00:00
Jim Meyering
2b7106427d *** empty log message *** 2005-03-22 15:09:58 +00:00
Jim Meyering
bc37fd41ec Reflect renaming: config -> build-aux. 2005-03-22 15:09:54 +00:00
Jim Meyering
538ef610be . 2005-03-22 15:08:26 +00:00
Jim Meyering
0039f4594b *** empty log message *** 2005-03-22 14:51:41 +00:00
Jim Meyering
e49f13c2cf (get_funky_string): Use '\a', rather than 7, for portability to EBCDIC hosts. 2005-03-22 14:51:34 +00:00
Paul Eggert
4986d56f23 Regenerate. 2005-03-21 22:32:29 +00:00
Paul Eggert
3db2fe2c9f * Makefile.am (libfetish_a_SOURCES): Remove stat-macros.h, xstrtoul.c,
as they are now done by Autoconf macros.
2005-03-21 22:31:18 +00:00
Paul Eggert
e829931bd6 (libfetish_a_SOURCES): Remove stat-macros.h, xstrtoul.c,
as they are now done by Autoconf macros.
2005-03-21 22:31:05 +00:00
Paul Eggert
671a8cf8e1 Import a few more changes from gnulib. 2005-03-21 22:28:15 +00:00
Paul Eggert
4f050cbe26 (gl_XSTRTOL): Add xstrtoul.c to AC_LIBSOURCES.
Add xstrtoul to AC_LIBOBJ.
2005-03-21 22:27:46 +00:00
Paul Eggert
327a29d3fb Add stat-macros.h to AC_LIBSOURCES. 2005-03-21 22:27:09 +00:00
Paul Eggert
78fa4b674d Regenerate. 2005-03-21 20:37:19 +00:00
Paul Eggert
ba6b28e2e8 Replace onceonly.m4 with onceonly_2_57.m4 to shrink "configure". 2005-03-21 20:33:48 +00:00
Paul Eggert
4f21d19987 Import memcasecmp.m4 change from gnulib. 2005-03-21 20:15:37 +00:00
Paul Eggert
0f4308d0f8 gl_FUNC_MEMCASECMP -> gl_MEMCASECMP 2005-03-21 20:15:18 +00:00
Paul Eggert
d658039387 Another change imported from gnulib.
(gl_MEMCASECMP): Renamed from gl_FUNC_MEMCASECMP.
All uses changed.  Require AC_HEADER_STDC instead of invoking it.
Remove check for stddef.h, size_t, const, since we now assume
C89 or better.
2005-03-21 20:14:56 +00:00
Jim Meyering
438cf50659 . 2005-03-21 10:15:27 +00:00
Paul Eggert
e0f53f4ecc Sync from gnulib. 2005-03-21 07:42:07 +00:00
Jim Meyering
3f6b9f946e *** empty log message *** 2005-03-20 19:53:44 +00:00
Jim Meyering
2168f7c7a1 (init_header): Use zero-filled .%09d' format, not space-filled .%9d'. 2005-03-20 19:53:30 +00:00
Jim Meyering
2597fc2497 *** empty log message *** 2005-03-20 19:25:31 +00:00
Jim Meyering
b8c473b62e (init_header): Add missing `%' in format string. 2005-03-20 19:25:15 +00:00
Jim Meyering
3feaa088bd (parse_column_count): Adjust comment to match the code. 2005-03-20 18:40:40 +00:00
Jim Meyering
33f2ed5c4d . 2005-03-19 14:20:47 +00:00
Jim Meyering
d27f65672e *** empty log message *** 2005-03-19 13:58:55 +00:00
Jim Meyering
bb425f2177 (pr_LDADD): Now that pr uses gettime, add
$(LIB_CLOCK_GETTIME) to get the required -lrt on newer Linux systems.
2005-03-19 13:58:51 +00:00
Paul Eggert
51fbbff306 pr -D "FORMAT" now accepts the same formats that date +"FORMAT" does. 2005-03-19 06:20:20 +00:00
Paul Eggert
b9307c430e "pr -D FORMAT" now accepts the same formats that "date +FORMAT" does. 2005-03-19 06:20:01 +00:00
Paul Eggert
2bad486665 Include strftime.h, timespec.h.
(init_header): Obtain and format nanosecond part of time stamp.
2005-03-19 06:18:19 +00:00
Paul Eggert
bd73d9d8b6 * strftime.c (my_strftime): If the underlying strftime returns 0
(which shouldn't happen), generate nothing instead of returning 0
immediately, so that nstrftime (NULL, ...) doesn't return 0.
2005-03-19 05:33:16 +00:00
Paul Eggert
18445fac86 (my_strftime): If the underlying strftime returns 0
(which shouldn't happen), generate nothing instead of returning 0
immediately, so that nstrftime (NULL, ...) doesn't return 0.
2005-03-19 05:33:01 +00:00
Paul Eggert
f89674dc6f nohup now ignores the umask when creating nohup.out.
nohup now closes stderr if it is a terminal and stdout is closed.
2005-03-19 00:46:47 +00:00
Paul Eggert
435f4c081f * coreutils.texi (nohup invocation): Clarify nohup.out creation. 2005-03-19 00:46:29 +00:00
Paul Eggert
f57d67630f (nohup invocation): Clarify nohup.out creation. 2005-03-19 00:46:16 +00:00
Paul Eggert
c8f3dc402b (main): nohup now ignores the umask when creating nohup.out.
nohup now closes stderr if it is a terminal and stdout is closed.
Be a little more paranoid about return values;
e.g., check for any negative return from open.
Assume free (NULL) works.
Close file descriptor leak when redirecting standard output to a file.
2005-03-19 00:45:48 +00:00
Paul Eggert
319ebff684 nohup now ignores the umask when creating nohup.out.
nohup now closes stderr if it is a terminal and stdout is closed.
2005-03-19 00:45:08 +00:00
Jim Meyering
0ef98b62fb comment tweak 2005-03-18 09:38:31 +00:00
Jim Meyering
500175daed Add comments for new macros. 2005-03-18 09:37:54 +00:00
Jim Meyering
aa450da526 fix typo 2005-03-18 06:51:40 +00:00
Jim Meyering
78929b11ca tweak comment 2005-03-17 20:50:50 +00:00
Jim Meyering
9001fbc0fd *** empty log message *** 2005-03-17 19:02:06 +00:00
Jim Meyering
e3a6890029 (gl_PREREQ): Require gl_TYPEOF. 2005-03-17 19:01:39 +00:00
Jim Meyering
9b9bda0ccf (gl_TYPEOF): New file/macro. 2005-03-17 19:01:15 +00:00
Jim Meyering
4ef7ce47dc Make __typeof__-using code depend on HAVE_TYPEOF, not __GNUC__,
since so many other C compilers also honor __typeof__.
2005-03-17 19:00:52 +00:00
Jim Meyering
e778babb00 spacing nit 2005-03-17 18:08:46 +00:00
Jim Meyering
cc391abad8 Fix typo. 2005-03-17 17:43:54 +00:00
Jim Meyering
6b0f94088c (DECIMAL_DIGIT_ACCUMULATE): The use of __typeof__ must be conditional. 2005-03-17 17:42:53 +00:00
Jim Meyering
b0a3db0a2f *** empty log message *** 2005-03-17 17:38:28 +00:00
Jim Meyering
308dd0d98c *** empty log message *** 2005-03-17 15:34:53 +00:00
Jim Meyering
9e1e48f018 (main): Use DECIMAL_DIGIT_ACCUMULATE macro in place of nearly-equivalent code. 2005-03-17 15:33:50 +00:00
Jim Meyering
f864f6df1c (parse_tab_stops, main): Use DECIMAL_DIGIT_ACCUMULATE macro in
place of nearly-equivalent code.
2005-03-17 15:32:53 +00:00
Jim Meyering
3bf5718c30 (main): Use DECIMAL_DIGIT_ACCUMULATE macro in place of nearly-equivalent code. 2005-03-17 15:32:10 +00:00
Jim Meyering
b90c3e4609 (parse_tab_stops, main): Use DECIMAL_DIGIT_ACCUMULATE macro in
place of nearly-equivalent code.
2005-03-17 15:30:00 +00:00
Jim Meyering
183cba6524 (set_fields): Use DECIMAL_DIGIT_ACCUMULATE macro in
place of nearly-equivalent code.
2005-03-17 14:35:42 +00:00
Jim Meyering
a26f414348 Use VERIFY macro in place of an equivalent open-coded declaration. 2005-03-17 14:34:23 +00:00
Jim Meyering
c74255c9b6 (VERIFY, VERIFY_EXPR, DECIMAL_DIGIT_ACCUMULATE): New macros. 2005-03-17 14:33:39 +00:00
Jim Meyering
cee4fe1969 Before, this command would make uniq skip 11 fields and print
only the first line.

  $ _POSIX2_VERSION=1 ./uniq -f1 -1 <(seq --format='1 %g' 2)
  1 1
  1 2

(main): Interpret `uniq -f1 -1' like `uniq -f1', not like `uniq -f11'.
2005-03-17 14:27:12 +00:00
Paul Eggert
581b437d32 * strftime.c (my_strftime): Prepend space to format. 2005-03-16 01:01:36 +00:00
Paul Eggert
23f7577282 (my_strftime): Prepend space to format so that we can
reliably distinguish strftime failure from empty output on POSIX
hosts.
2005-03-16 01:01:23 +00:00
Jim Meyering
331efbd2db . 2005-03-15 19:24:19 +00:00
Jim Meyering
2ecd300ec3 . 2005-03-15 18:10:50 +00:00
Jim Meyering
48d98ea22a *** empty log message *** 2005-03-15 18:10:26 +00:00
Jim Meyering
fd304f1e0e Both pr -0' and e.g., pr -03' would evoke `column count too large'.
`pr -0' should give a better diagnostic and `pr -03' should be
equivalent to `pr -3'.

(parse_column_count): Change return type to void.
Call error (EXIT_FAILURE, ... for an invalid string.
(main): Allocate space for column_count_string using malloc.
Accumulate all old-style column-count digits before converting.
When the number of columns is specified via both old-style,
(e.g., -3), and a long option (--columns=5), ensure that only
the last one specified takes effect.

Add tests for the above.
2005-03-15 18:09:05 +00:00
Jim Meyering
6d9f816b5c Both pr -0' and e.g., pr -03' evoke `column count too large'.
`pr -0' should give a better diagnostic and `pr -03' should be
equivalent to `pr -3'.

(parse_column_count): Change return type to void.
Call error (EXIT_FAILURE, ... for an invalid string.
(main): Allocate space for column_count_string using malloc.
Accumulate all old-style column-count digits before converting.
When the number of columns is specified via both old-style,
(e.g., -3), and a long option (--columns=5), ensure that only
the last one specified takes effect.
2005-03-15 18:05:13 +00:00
Jim Meyering
e2938a5d84 *** empty log message *** 2005-03-15 15:39:46 +00:00
Jim Meyering
d583b1ce69 (copy_reg): Copy regular files in binary mode. 2005-03-15 15:39:40 +00:00
Paul Eggert
f7e5bc2908 Fix comments and indenting. 2005-03-15 00:44:29 +00:00
Paul Eggert
53d430be4e Sync mktime.c and strtol.c macros from intprops.h. 2005-03-15 00:40:17 +00:00
Paul Eggert
2f82566ff2 * strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
&& HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[].
2005-03-14 23:23:25 +00:00
Paul Eggert
b6f7c33a38 * NEWS: Restate why ls limits time stamp lengths. 2005-03-14 18:38:05 +00:00
Paul Eggert
b3021f1d18 Reword ls time-stamp limit issue. 2005-03-14 18:36:31 +00:00
Jim Meyering
fed6d86b5d *** empty log message *** 2005-03-12 16:24:13 +00:00
Jim Meyering
9894d59925 *** empty log message *** 2005-03-12 10:59:38 +00:00
Jim Meyering
e1ba36b607 Add a little infrastructure to help prevent future bugs like the
one fixed today.

(xstrcat): New function.
(print_statfs, print_stat): Add buf_len parameter and convert all
uses of strcat to xstrcat.  Update callers.
(print_it): Call print_func with buf_len parameter.
2005-03-12 10:59:23 +00:00
Jim Meyering
d9d9836223 Invoking stat -c FMT with a lone format directive of %s, %f, %h, %s,
could cause a buffer overrun error.

(print_it): Allocate 2 more bytes, to accommodate our
conversion of the stat %s format string to the longer printf %llu one.
Patch from Guochun Shi.
2005-03-12 10:54:20 +00:00
Jim Meyering
2c84165280 *** empty log message *** 2005-03-12 10:51:06 +00:00
Paul Eggert
cc887eac73 "ls" now refuses to generate very long time stamps. 2005-03-11 23:14:31 +00:00
Paul Eggert
9d55554bf1 ls now refuses to generate time stamps containing more than 1000 bytes. 2005-03-11 23:13:58 +00:00
Paul Eggert
1aab3a0c90 * coreutils.texi (Formatting file timestamps): Very long timestamps
may be treated as errors.
2005-03-11 23:13:37 +00:00
Paul Eggert
8e80be2356 (Formatting file timestamps): Very long timestamps
may be treated as errors.
2005-03-11 23:13:19 +00:00
Paul Eggert
e8024715d7 (TIME_STAMP_LEN_MAXIMUM): New constant.
(long_time_expected_width, print_long_format): Use it, to avoid
some possible denial-of-service attacks.
2005-03-11 23:12:43 +00:00
Jim Meyering
e5d16d2b72 *** empty log message *** 2005-03-11 10:04:16 +00:00
Jim Meyering
5dd8c8ca32 Add tests for this:
Prompt once again for `mv -i A B' when A and B are hard links
	to the same file.  This fixes a bug introduced by my 2003-04-04
	(coreutils-5.0.1) change.
2005-03-11 09:37:15 +00:00
Jim Meyering
c2bd74fcea *** empty log message *** 2005-03-11 09:36:56 +00:00
Jim Meyering
d0f21b4a55 Prompt once again for `mv -i A B' when A and B are hard links
to the same file.  This fixes a bug introduced by my 2003-04-04
(coreutils-5.0.1) change.

(abandon_move): New function, factored out of
copy_internal, now that this code is being used from two places.
(copy_internal): Perform the same interactive-related test for
whether it's alright to proceed and (usually) overwrite the
destination file.
2005-03-11 09:36:52 +00:00
Jim Meyering
d1d993432f *** empty log message *** 2005-03-10 12:40:40 +00:00
Jim Meyering
62ae181b3f *** empty log message *** 2005-03-10 12:07:47 +00:00
Jim Meyering
5bb81adac0 (long_time_expected_width): Use x2nrealloc, not alloca,
so format string abuse cannot provoke stack overflow.
(print_long_format): Likewise.
2005-03-10 12:07:31 +00:00
Jim Meyering
ecab5d28df *** empty log message *** 2005-03-10 11:29:32 +00:00
Jim Meyering
9200b53afb *** empty log message *** 2005-03-10 10:01:23 +00:00
Jim Meyering
03252f614c *** empty log message *** 2005-03-10 08:56:00 +00:00
Jim Meyering
c06f2e3a5a (gl_SAVE_CWD): Check for fchdir. 2005-03-10 08:54:50 +00:00
Jim Meyering
aa7845aebb *** empty log message *** 2005-03-10 08:51:53 +00:00
Jim Meyering
82477b8efb Don't segfault for a long header date string, e.g.,
echo a|pr -D +%9999999A

(init_header): Use x2nrealloc, rather than alloca.
Don't bother with fixed-sized initial buffer;  always use x*alloc.
2005-03-10 08:51:49 +00:00
Jim Meyering
6eb7488b32 *** empty log message *** 2005-03-10 08:03:13 +00:00
Jim Meyering
f83e17f928 (tostring, printv): Use INT_BUFSIZE_BOUND in place of INT_STRLEN_BOUND + 1. 2005-03-10 08:02:24 +00:00
Jim Meyering
075a99ffcf (init_header): Use INT_BUFSIZE_BOUND in place of INT_STRLEN_BOUND + 1. 2005-03-10 07:58:34 +00:00
Paul Eggert
4d645f3053 Add TYPE_ONES_COMPLEMENT and TYPE_SIGNED_MAGNITUDE, and use
less-tricky TYPE_MINIMUM and TYPE_MAXIMUM.
2005-03-09 23:22:14 +00:00
Jim Meyering
f0f31b512f *** empty log message *** 2005-03-09 23:21:10 +00:00
Jim Meyering
9d0f3eeb6c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
so that this module works on systems without fchdir.
2005-03-09 23:21:00 +00:00
Jim Meyering
5ccd8ce31d . 2005-03-09 23:16:07 +00:00
Jim Meyering
4f07deaab6 *** empty log message *** 2005-03-09 23:12:48 +00:00
Jim Meyering
d828d15348 (libfetish_a_SOURCES): Remove xstrtol.c and xstrtol.h. 2005-03-09 23:11:19 +00:00
Jim Meyering
5bdf28cfaa *** empty log message *** 2005-03-09 23:10:46 +00:00
Jim Meyering
185b3fffbb (gl_XNANOSLEEP): Add intprops.h. 2005-03-09 23:06:55 +00:00
Jim Meyering
080aae6f46 (gl_UTIMECMP): Add intprops.h. 2005-03-09 23:06:16 +00:00
Jim Meyering
b143ebb28b (gl_USERSPEC): Add intprops.h. 2005-03-09 23:05:32 +00:00
Jim Meyering
0163eb5b63 (gl_FUNC_SIG2STR): Add intprops.h. 2005-03-09 23:04:47 +00:00
Jim Meyering
586d7113c3 (gl_INTTOSTR): Add intprops.h. 2005-03-09 23:03:42 +00:00
Jim Meyering
3b1f5253fd (gl_HUMAN): Add intprops.h. 2005-03-09 23:02:25 +00:00
Jim Meyering
2c60c397c8 (gl_XSTRTOL): Use AC_LIBSOURCES and AC_LIBOBJ to list the required files. 2005-03-09 23:01:36 +00:00
Paul Eggert
541acb39f7 * src/system.h: Include intprops.h instead of rolling our own. 2005-03-09 19:27:23 +00:00
Paul Eggert
87d42256b3 Include intprops.h.
(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_STRLEN_BOUND): Remove;
they are now defined in intprops.h.
2005-03-09 19:27:02 +00:00
Paul Eggert
707034f696 Factor int-properties macros into a single file, except for
glibc-related files.
2005-03-09 19:26:36 +00:00
Paul Eggert
f240872265 Include xstrtol.h first, to test interface.
Include intprops.h.
(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
2005-03-09 19:25:58 +00:00
Paul Eggert
09aa89fc35 Include intprops.h.
(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
2005-03-09 19:25:34 +00:00
Paul Eggert
d7506ef9cd Include intprops.h.
(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
(utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
instead of rolling our own expressions.
2005-03-09 19:25:14 +00:00
Paul Eggert
81e7c85bca Include intprops.h.
(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
2005-03-09 19:24:37 +00:00
Paul Eggert
6c5e34b431 Adjust comments to match intprops.h. 2005-03-09 19:24:15 +00:00
Paul Eggert
cb675ad062 (TYPE_SIGNED): Remove.
(INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
2005-03-09 19:23:59 +00:00
Paul Eggert
bdbdf51a00 Include <signal.h>, intprops.h.
(INT_STRLEN_BOUND): Remove.
2005-03-09 19:23:35 +00:00
Paul Eggert
5fd82cbf0d (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
for consistency with intprops.h.
(time_t_is_integer, twos_complement_arithmetic): Use them.
2005-03-09 19:23:05 +00:00
Paul Eggert
064157578c Include intprops.h instead of limits.h.
(INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
2005-03-09 19:22:48 +00:00
Paul Eggert
111fada0c3 (LONGEST_HUMAN_READABLE): Use 146/485 rather than 302/1000. 2005-03-09 19:22:21 +00:00
Paul Eggert
67f958c224 Include intprops.h.
(group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
2005-03-09 19:22:05 +00:00
Paul Eggert
0040b0209c Include intprops.h instead of limits.h.
(INT_STRLEN_BOUND): Remove.
2005-03-09 19:21:43 +00:00
Paul Eggert
b3c509e6ae * lib/fts.c: Include intprops.h.
(TYPE_SIGNED): Remove.
2005-03-09 19:21:20 +00:00
Paul Eggert
1c6661af1b Initial revision. 2005-03-09 19:20:59 +00:00
Jim Meyering
a699754592 *** empty log message *** 2005-03-09 10:27:16 +00:00
Jim Meyering
7b86ad1c37 Remove entry about named pipes. It was fixed in 5.3.0. 2005-03-09 10:26:52 +00:00
Jim Meyering
b0627f229c * argmatch.m4, cycle-check.m4: New files.
* prereq.m4: Require their macros.
2005-03-09 10:18:43 +00:00
Jim Meyering
72a21d8bfe . 2005-03-09 10:17:51 +00:00
Jim Meyering
c4ce40a9a3 . 2005-03-09 10:17:30 +00:00
Jim Meyering
fce0021622 More migration to AC_LIBSOURCES/AC_LIBOBJ.
(libfetish_a_SOURCES): Remove two more pairs of files:
cycle-check.c, cycle-check.h and argmatch.c, argmatch.h.
2005-03-09 09:41:58 +00:00
Jim Meyering
3dfc177f1a *** empty log message *** 2005-03-09 09:41:38 +00:00
Jim Meyering
24080cef1c *** empty log message *** 2005-03-09 09:41:17 +00:00
Jim Meyering
c8adb91412 *** empty log message *** 2005-03-09 09:40:56 +00:00
Jim Meyering
7c7007fb8a . 2005-03-09 08:56:50 +00:00
Jim Meyering
fed0306054 Don't include "xalloc.h". It's not used. 2005-03-09 08:54:48 +00:00
Paul Eggert
69d87e7bbc * src/date.c (usage): Redo to match recent documentation changes. 2005-03-08 22:20:24 +00:00
Paul Eggert
02019487ea (usage): Redo to match recent documentation changes.
Don't bother documenting which usages are GNU extensions; the list
wasn't correct, and is better left to the printed manual anyway.
2005-03-08 22:20:11 +00:00
Paul Eggert
2db098a3c3 Improve "date invocation" again. 2005-03-08 22:19:54 +00:00
Paul Eggert
e0113b0175 (date invocation): Use an example that makes it
clear tha the default date use space-padded day of month.
Replace "directive" with "conversion specifier" to be consistent
with POSIX.  All uses changed.
Fix menu RHS to match actual directive lists.
(Time conversion specifiers): Renamed from Time directives.
Use @samp consistently, sometimes instead of @code.
Consistently ention which specifiers are GNU extensions.
Give more examples (in some cases, instead of ranges).
Say why %F is preferred for dates.
(Date conversion specifiers): Renamed from Date directives.
Likewise for other changes.
(Padding and other flags): Correct the description.
Document #.  Give an example for %9B.
2005-03-08 22:19:39 +00:00
Jim Meyering
182e347d77 *** empty log message *** 2005-03-06 19:34:46 +00:00
Jim Meyering
048a5ce26c Factor out column-count processing.
Include "inttostr.h".
(parse_column_count): New function.
(main): Use the new function for both old-style, -9, and long,
--columns=-9, options.
2005-03-06 19:34:07 +00:00
Jim Meyering
825846682a *** empty log message *** 2005-03-06 16:34:40 +00:00
Jim Meyering
e098a29c75 Remove `register' keyword. 2005-03-06 16:34:01 +00:00
Jim Meyering
6eb01f34a6 Remove `register' keyword. 2005-03-06 16:33:20 +00:00
Jim Meyering
af20319737 Remove `register' keyword. 2005-03-06 16:31:51 +00:00
Jim Meyering
947457a331 Remove `register' keyword. 2005-03-06 16:30:45 +00:00
Jim Meyering
ea510d7e41 Remove `register' keyword. 2005-03-06 16:26:38 +00:00
Jim Meyering
bd2147af16 Remove `register' keyword. 2005-03-06 16:25:26 +00:00
Jim Meyering
2a005547b7 Remove register keyword. 2005-03-06 16:23:27 +00:00
Jim Meyering
5179365337 Remove register keyword. 2005-03-06 16:20:43 +00:00
Jim Meyering
74e3e13b3a Remove register keyword. 2005-03-06 16:19:44 +00:00
Paul Eggert
c747ee56a7 Remove workaround for nanosleep bug in Linux kernel 2.6.8 or thereabouts. 2005-03-04 06:43:08 +00:00
Jim Meyering
2153bad976 . 2005-03-01 20:50:35 +00:00
Jim Meyering
56553ab2e1 . 2005-03-01 20:27:24 +00:00
Paul Eggert
4fcd0a2251 * src/Makefile.am (nanosec_libs): Remove $(LIB_XANOSLEEP). 2005-03-01 17:29:12 +00:00
Paul Eggert
d8adc99dc1 (nanosec_libs): Remove $(LIB_XANOSLEEP); no longer needed. 2005-03-01 17:28:49 +00:00
Paul Eggert
8e7a9fff01 * xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
to detect nanosleep bug.
2005-03-01 17:26:29 +00:00
Paul Eggert
3ecf3fd1e8 (gl_XNANOSLEEP): Remove configuration attempting
to detect nanosleep bug.
2005-03-01 17:26:16 +00:00
Paul Eggert
23adaf0bed Don't include gethrxtime.h or xtime.h.
(NANOSLEEP_BUG_WORKAROUND): Remove.
(xnanosleep): Remove the workaround.
2005-03-01 17:25:53 +00:00
Jim Meyering
e9551e2d62 *** empty log message *** 2005-03-01 12:27:59 +00:00
Jim Meyering
4303f04545 (copy_internal): Change test of source type from !S_ISREG to S_ISLNK.
Reported by Paul Eggert in
http://lists.gnu.org/archive/html/bug-coreutils/2004-10/msg00050.html.
2005-03-01 12:27:47 +00:00
Jim Meyering
5b67698846 *** empty log message *** 2005-02-28 10:19:22 +00:00
Jim Meyering
9416c94648 *** empty log message *** 2005-02-28 10:18:32 +00:00
Jim Meyering
79ddee707c *** empty log message *** 2005-02-28 10:03:02 +00:00
Jim Meyering
db042d2022 (xnanosleep): Work around bug in Linux-2.6.8.1's
nanosleep whereby it fails without setting errno upon being resumed
after being suspended.
2005-02-28 10:02:58 +00:00
Paul Eggert
9ba7355604 Regenerate. 2005-02-26 07:42:19 +00:00
Paul Eggert
d37169d9c4 * vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Correct the test for
integer overflow again.
2005-02-26 07:38:14 +00:00
Paul Eggert
c8d8d339d3 (VASNPRINTF) [!USE_SNPRINTF]: Correct the test for
integer overflow again.  Actually, neither this nor the 2005-01-23
change fixes any bug on any plausible platform; it's more of a
code-clarity thing.
2005-02-26 07:37:49 +00:00
Paul Eggert
f93ba58756 Sync from gnulib. 2005-02-26 07:31:20 +00:00
Paul Eggert
641ef33fac * coreutils.texi: Adjust to match current strftime.c. 2005-02-24 00:28:16 +00:00
Paul Eggert
b2265ebeea (Time directives): Say that %k, %l, and %P are
GNU extensions.
For %p and %P, mention handling of noon and midnight.
For %s, use ISO 8601, and mention handling of leap seconds.
For %S, clarify mention of leap seconds.
For %T, say that it's the same as %H:%M:%S.
For %X, don't say that it must be the same as %H:%M:%S.
For %z and %Z, clarify which time zones are used.  These options
are now affected by --date, so don't claim that they're not.
(Date directives): %C is now all but the last two chars of %Y.
For %D, say that it's equivalent to %m/%d/%y.
For %e, use blank in example.
For %h, use @code for %b.
For %Y, mention what happens with outlandish years.
(Padding and other flags): Renamed from Padding.
Mention that the flags are GNU extensions.
Mention the 0 and ^ flags.
Mention field widths an modifiers.
(Examples of date): - is a flag, not a modifier.
2005-02-24 00:27:44 +00:00
Paul Eggert
157fdac571 strftime.c cleanup to handle outlandish years. 2005-02-24 00:27:17 +00:00
Paul Eggert
3477139eaa Include <stdbool.h>. Use bool where appropriate, instead of int.
(my_strftime): Do not mishandle years close to INT_MAX, by doing
the right thing even if adding 1900 would overflow.  Similarly
for tm_mon + 1 and tm_yday + 1.
Make %Y always equivalent to %C%y, and similarly for %G and %g.
(DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
(DO_SIGNED_NUMBER): New macro.
(my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
2005-02-24 00:26:55 +00:00
Jim Meyering
f49bb33cff (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's change. 2005-02-23 23:16:59 +00:00
Jim Meyering
3ef813f9bc *** empty log message *** 2005-02-23 13:53:22 +00:00
Jim Meyering
f0e6764404 *** empty log message *** 2005-02-22 14:31:29 +00:00
Jim Meyering
8574504447 (gl_USE_SYSTEM_EXTENSIONS): Fix typo: s/ifndef/ifdef/. 2005-02-22 14:31:26 +00:00
Jim Meyering
c3d9ba45f3 *** empty log message *** 2005-02-22 07:50:20 +00:00
Jim Meyering
8dc2142b92 (gl_PREREQ): Require gl_STRIPSLASH and gl_LINEBUFFER. 2005-02-22 07:50:16 +00:00
Paul Eggert
5677f3f7d9 Regenerate. 2005-02-22 07:21:57 +00:00
Paul Eggert
ff35a3ca2b Fix clock_gettime library access problem on recent GNU/Linux systems. 2005-02-22 07:19:43 +00:00
Paul Eggert
df066e2695 (dd_LDADD, shred_LDADD): Add $(LIB_GETHRXTIME).
(nanosec_libs): Add $(LIB_XNANOSLEEP).  Needed for newer GNU/Linux
hosts with clock_gettime.
2005-02-22 07:10:07 +00:00
Paul Eggert
dcf1114082 (gl_PREREQ): Require gl_XNANOSLEEP. 2005-02-22 07:09:37 +00:00
Paul Eggert
55c154ed7d (gl_PREREQ_GETHRXTIME): Require gl_CLOCK_TIME,
gl_USE_SYSTEM_EXTENSIONS.  Check whether CLOCK_MONOTONIC is
defined, and set LIB_GETHRXTIME accordingly.  This is needed
for newer GNU/Linux systems that have clock_gettime, so that they
link in the appropriate library for it when needed.
2005-02-22 07:09:13 +00:00
Paul Eggert
ba8ad9a1e6 (libfetish_a_SOURCES): Remove xnanosleep.c,
xnanosleep.h; now done by ../m4/xnanosleep.m4 automatically.
2005-02-22 07:08:43 +00:00
Paul Eggert
0e1b33afd3 Initial revision. 2005-02-22 07:06:47 +00:00
Paul Eggert
7244117ba2 Regenerate. 2005-02-21 08:26:21 +00:00
Paul Eggert
10ca18d561 Describe recent changes to use realtime clocks if available,
when appropriate; also, gettime now returns void.
2005-02-21 08:20:15 +00:00
Paul Eggert
3178b01865 (time): Remove obsolete decl.
(main): Gettime now returns void.
2005-02-21 08:17:00 +00:00
Paul Eggert
2ec39c3ada Include gethrxtime.h.
(isaac_seed): Use gethrxtime rather than a mishmash.
2005-02-21 08:15:45 +00:00
Paul Eggert
70c98ff92d (time): Remove obsolete decl.
(get_current_time): gettimeofday always returns 0, so don't
check its result.
2005-02-21 08:15:10 +00:00
Paul Eggert
c339d6843e Include gethrxtime.h, xtime.h.
(start_time): Now of type xtime_t, not struct timespec.
(print_stats, main): Use gethrxtime rather than gettime.
2005-02-21 08:14:40 +00:00
Paul Eggert
1b29344371 (main): gettime now returns void. 2005-02-21 08:14:13 +00:00
Paul Eggert
7fd8ef9cc1 (dd_LDADD, shred_LDADD, nanosec_libs):
Remove $(LIB_CLOCK_GETTIME).  These functions now use
gethrxtime instead.
2005-02-21 08:13:12 +00:00
Paul Eggert
e26599af0b (gl_PREREQ): Require gl_GETHRXTIME.
Require gl_STRIPSLASH and gl_LINEBUFFER.
2005-02-21 08:12:37 +00:00
Paul Eggert
d7da695796 (gl_MACROS): Don't check for gethrtime. 2005-02-21 08:11:54 +00:00
Paul Eggert
2d229b0a9e (gl_GETTIME): Check for nanotime. 2005-02-21 08:11:19 +00:00
Paul Eggert
13aa6d899c Include xtime.h and gethrxtime.h, not xalloc.h.
(timespec_subtract): Remove.
(NANOSLEEP_BUG_WORKAROUND): New constant.
(xnanosleep): Use gethrxtime rather than gettime; this simplifies
things considerably.  Use it only on GNU/Linux hosts, since the
workaround shouldn't be needed elsewhere.
2005-02-21 08:10:47 +00:00
Paul Eggert
14d0416864 (gettime): Return void, since it always
succeeds now.  All uses changed.
2005-02-21 08:10:11 +00:00
Paul Eggert
dfefe8e5de (gettime) Return void, since it always
succeeds now.  All uses changed.
[HAVE_NANOTIME]: Prefer nanotime.
Assume gettimeofday succeeds, as POSIX requires.
Assime time () succeeds, since other code already does.
2005-02-21 08:09:30 +00:00
Paul Eggert
fa5269cf6f (get_date): gettime now returns void, not int. 2005-02-21 08:08:38 +00:00
Paul Eggert
2df160349e dd now uses a real-time clock if available, for transfer statistics. 2005-02-21 08:07:28 +00:00
Paul Eggert
9df4b1d7e4 Initial revision. 2005-02-21 08:05:49 +00:00
Paul Eggert
80cc962bd5 Don't assume that the current host supports 64-bit integers. 2005-02-21 07:22:49 +00:00
Paul Eggert
17103c0976 Don't assume that the current host supports integers wider than 32
bits.  Fix comment typo.
2005-02-21 07:12:37 +00:00
Paul Eggert
e0cc736489 (enum RCH_status): Remove trailing comma,
as it's not valid in standard C89.
2005-02-21 06:57:45 +00:00
Jim Meyering
696a24b227 *** empty log message *** 2005-02-20 16:33:43 +00:00
Jim Meyering
2b972d584b *** empty log message *** 2005-02-20 16:33:11 +00:00
Jim Meyering
84c616fa90 (xgethostname): Check for ENOMEM, which is
returned by OSX/Darwin if the specified buffer is not large
enough for the hostname.
2005-02-20 16:33:03 +00:00
Jim Meyering
c922e787b4 update from gnulib 2005-02-20 14:10:28 +00:00
Jim Meyering
7849e2b8e0 *** empty log message *** 2005-02-20 12:25:52 +00:00
Jim Meyering
0acdf67e2d (libfetish_a_SOURCES): Remove linebuffer.[ch] and stripslash.c. 2005-02-20 12:25:43 +00:00
Jim Meyering
173bc2ea67 *** empty log message *** 2005-02-20 12:24:52 +00:00
Jim Meyering
f78bf85485 *** empty log message *** 2005-02-20 12:23:33 +00:00
Jim Meyering
384e3830bc . 2005-02-17 20:28:22 +00:00
Jim Meyering
b32308597f *** empty log message *** 2005-02-15 12:33:35 +00:00
Jim Meyering
bc9a87005f *** empty log message *** 2005-02-15 12:29:47 +00:00
Jim Meyering
4e49c3974f regenerate 2005-02-15 12:29:22 +00:00
Jim Meyering
3695d0212a (human_fstype): Add case/definition for S_MAGIC_JFS
so that file systems of type `jfs' are recognized as such.
2005-02-15 12:23:40 +00:00
Jim Meyering
b353489b18 regen for XFS 2005-02-15 09:01:34 +00:00
Jim Meyering
265fe832fe *** empty log message *** 2005-02-15 08:58:05 +00:00
Jim Meyering
9fea5777f3 (human_fstype): Add case/definition for S_MAGIC_XFS
so that file systems of type `xfs' are recognized as such.
2005-02-15 08:57:59 +00:00
Jim Meyering
df3411b4c3 *** empty log message *** 2005-02-15 08:56:43 +00:00
Jim Meyering
8edee9d8e5 *** empty log message *** 2005-02-15 08:20:55 +00:00
Jim Meyering
83f00235d7 (NZERO) [NZERO == 0]: Undefine and define to 20,
to work around the invalid definition from Darwin 7.7.0.
2005-02-15 08:20:49 +00:00
Jim Meyering
ad8ad412a5 *** empty log message *** 2005-02-15 08:18:26 +00:00
Paul Eggert
b6a2e5d39a Add James Lemley. 2005-02-14 18:15:41 +00:00
Paul Eggert
058e9af0e3 * src/sort.c (mergefps): Use binary search rather than linear. 2005-02-14 18:04:43 +00:00
Paul Eggert
47a3ba5c45 (mergefps): Use binary search rather than linear one
when comparing new line to lines already in main memory.
2005-02-14 18:04:22 +00:00
Jim Meyering
017b3436b8 . 2005-02-13 08:15:24 +00:00
Jim Meyering
eda701b536 (gl_INTTOSTR): Use AC_LIBSOURCES to list the required source files. 2005-02-11 20:27:16 +00:00
Jim Meyering
1beb06ed13 *** empty log message *** 2005-02-11 20:27:02 +00:00
Jim Meyering
9a564239f5 Remove names of files that are now mentioned in AC_LIBSOURCES
and AC_LIBOBJ uses in inttostr.m4.

(libfetish_a_SOURCES): Remove imaxtostr.c,
offtostr.c, and umaxtostr.c.
(EXTRA_DIST): Remove inttostr.c and inttostr.h.
2005-02-11 20:26:57 +00:00
Jim Meyering
199d3f7f87 *** empty log message *** 2005-02-09 09:59:57 +00:00
Jim Meyering
0f25baf061 (gl_FUNC_GETCWD_NULL): Use AC_LIBSOURCES to list the required source files. 2005-02-09 09:59:53 +00:00
Jim Meyering
4738975f66 . 2005-02-09 09:58:07 +00:00
Jim Meyering
5eaf6e280a *** empty log message *** 2005-02-09 09:01:48 +00:00
Jim Meyering
045fbb6d7c * src/copy.c (valid_options): Add an assertion that
not both hard_link and symbolic_link are set.
2005-02-09 09:01:44 +00:00
Paul Eggert
b068caba7b stat -f -c %S. 2005-02-08 21:39:23 +00:00
Paul Eggert
058d7358ed (STATFS_FRSIZE): New macro.
(print_statfs): Use it to implement %S.
(do_statfs): Change default formats to include %S.
(usage): Document %S (versus %s).
2005-02-08 21:38:53 +00:00
Paul Eggert
333b98170f (stat invocation): Document stat -f -c %S (versus %s). 2005-02-08 21:38:04 +00:00
Paul Eggert
57d4ab6674 Document stat -f -c %S, plus changes to default formats. 2005-02-08 21:37:26 +00:00
Paul Eggert
8388a2febc * doc/coreutils.texi (stat invocation): Match stat --usage better.
* src/stat.c (usage): Match doc better.
Say that %s is the "Fundamental block size".
2005-02-08 20:46:52 +00:00
Paul Eggert
9440e98dd4 (usage): Normalize terminology, capitalization, and sort order to
match manual.  Say that %s is the "Fundamental block size", since that
is what POSIX says.
2005-02-08 20:45:03 +00:00
Paul Eggert
6eb5971afe (stat invocation): Normalize terminology,
capitalization, and sort order to match --help output.  Mention %c
for file systems.  Say that %s is the "Fundamental block size",
since that is what POSIX says.
2005-02-08 20:44:28 +00:00
Jim Meyering
938fe6521f *** empty log message *** 2005-02-08 09:56:22 +00:00
Jim Meyering
e01c9a1b7a (libfetish_a_SOURCES): Remove memcasecmp.c and memcasecmp.h. 2005-02-08 09:56:15 +00:00
Jim Meyering
d9e9e816f1 Require gl_FUNC_MEMCASECMP. 2005-02-08 09:55:39 +00:00
Jim Meyering
57d7923de4 *** empty log message *** 2005-02-08 09:55:05 +00:00
Jim Meyering
243f1932a8 (gl_FUNC_MEMCASECMP): New file and macro. 2005-02-08 09:55:00 +00:00
Jim Meyering
b99bfaa9f8 remove vestigial `closeout' 2005-02-08 09:43:24 +00:00
Jim Meyering
38421d61de Use AC_REQUIRE where possible, and _ONCE-suffixed versions of macros. 2005-02-07 16:54:14 +00:00
Jim Meyering
a8826c6e63 (vasnprintf) [!USE_SNPRINTF]: Correct the test for integer overflow. 2005-02-07 16:49:58 +00:00
Jim Meyering
c0756a37d4 *** empty log message *** 2005-02-07 16:47:49 +00:00
Jim Meyering
5889debf40 (libfetish_a_SOURCES): Remove fts.c, fts_.h, and
getcwd.h now that they're mentioned in AC_LIBSOURCES and AC_LIBOBJ
uses in the corresponding ../m4/*.m4.
2005-02-07 16:47:39 +00:00
Jim Meyering
14e75538fa *** empty log message *** 2005-02-07 16:45:32 +00:00
Jim Meyering
fbd6608072 (gl_FUNC_FTS): New file and macro. 2005-02-07 16:45:27 +00:00
Jim Meyering
59b1c8cfd0 Require gl_FUNC_FTS. 2005-02-07 16:45:19 +00:00
Jim Meyering
e753c6db67 *** empty log message *** 2005-02-06 18:22:47 +00:00
Jim Meyering
51f856d9d5 (gl_PREREQ_CHDIR_LONG): Depend on gl_FUNC_MEMRCHR. 2005-02-06 18:22:42 +00:00
Jim Meyering
22a1a067f4 (gl_FUNC_MEMRCHR): Check for declaration of memrchr. 2005-02-06 18:22:19 +00:00
Jim Meyering
05132205af s/MD5 and SHA1 signatures/MD5 and SHA1 checksums/ 2005-02-06 18:19:17 +00:00
Paul Eggert
64e8691b46 Regenerate. 2005-02-03 21:55:40 +00:00
Paul Eggert
d6f9651aff Define and use new file memrchr.h. 2005-02-03 21:48:35 +00:00
Paul Eggert
13593ac228 * memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h. 2005-02-03 21:47:43 +00:00
Paul Eggert
d57e28c5f8 * src/system.h: Include "memrchr.h". 2005-02-03 21:46:31 +00:00
Paul Eggert
2b9a84b4dc Include "memrchr.h".
(memrchr) [!HAVE_DECL_MEMRCHR]: Remove decl.
2005-02-03 21:34:34 +00:00
Paul Eggert
c10a2c64d0 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h. 2005-02-03 21:34:06 +00:00
Paul Eggert
f045469c91 [!defined _LIBC]: Include "memrchr.h" rather than <string.h>.
Don't bother including stddef.h.
2005-02-03 21:33:40 +00:00
Paul Eggert
6dc84f8396 Include memrchr.h. 2005-02-03 21:33:02 +00:00
Paul Eggert
a68faae3a1 Initial revision 2005-02-03 21:32:34 +00:00
Jim Meyering
3815c126e1 *** empty log message *** 2005-02-02 14:14:36 +00:00
Jim Meyering
014e2c6ffb *** empty log message *** 2005-02-02 14:14:31 +00:00
Jim Meyering
8fecea5296 Check for $2 -ge 128, rather than $2 = 128, in case
there is a file system type that doesn't support sparse files,
	yet for which metadata takes up additional space.
2005-02-02 14:14:28 +00:00
Jim Meyering
0c453a0d11 Also adjust the test to detect systems that don't support sparse files. 2005-02-02 13:10:23 +00:00
Jim Meyering
806b788972 *** empty log message *** 2005-02-02 08:30:27 +00:00
Jim Meyering
5446b32584 Detect sparse files on NTFS under cygwin. 2005-02-02 08:30:08 +00:00
Paul Eggert
ae65663064 mountlist.h, mountlist.h cleanup, and add support for subfs. 2005-02-01 23:59:45 +00:00
Paul Eggert
52a43df1b1 (MOUNTLIST_H_): New macro, to protect against double inclusion.
Include <sys/types.h>, for dev_t.
(ME_DUMMY, ME_REMOTE): Move to mountlist.c.
2005-02-01 23:58:30 +00:00
Paul Eggert
c4a0cafe71 Include mountlist.h first, to test the interface.
(ME_DUMMY, ME_REMOTE): Moved here from mountlist.c.
(ME_DUMMY): Count "subfs" as a dummy.
2005-02-01 23:58:01 +00:00
Jim Meyering
da6844d3f6 update from gnulib 2005-01-31 13:09:38 +00:00
Jim Meyering
5a6bb969e5 *** empty log message *** 2005-01-30 17:58:04 +00:00
Jim Meyering
708cc3e146 (elide_tail_bytes_pipe): Correct wording in diagnostic. 2005-01-30 17:57:24 +00:00
Jim Meyering
84f0fef1c7 . 2005-01-30 17:41:06 +00:00
Jim Meyering
b601ec502a *** empty log message *** 2005-01-30 14:58:15 +00:00
Jim Meyering
f63d36ff61 Remove unnecessary parentheses in #if directives. 2005-01-30 14:58:11 +00:00
Jim Meyering
2d27dd4f04 *** empty log message *** 2005-01-30 14:50:35 +00:00
Jim Meyering
9c3cb2ad2e [VSWTCH]: Some systems, like Cygwin, use VSWTC
instead of VSWTCH, for use with CSWTCH.
2005-01-30 14:50:22 +00:00
Jim Meyering
b56b097b9a . 2005-01-30 14:44:30 +00:00
Jim Meyering
381cf604e2 *** empty log message *** 2005-01-30 14:31:24 +00:00
Jim Meyering
f13af5d424 Quote user and group names. 2005-01-30 14:31:19 +00:00
Jim Meyering
1ab0c93405 Ignore ACL designation. 2005-01-30 14:30:10 +00:00
Jim Meyering
110280e2ef Ignore ACL designation. 2005-01-30 14:29:03 +00:00
Jim Meyering
828850baaa (.PHONY): Add check-root and root-hint. 2005-01-30 14:28:36 +00:00
Jim Meyering
a13d89b58f . 2005-01-29 14:45:17 +00:00
Jim Meyering
8e65231494 *** empty log message *** 2005-01-29 00:24:08 +00:00
Jim Meyering
1f1da5a429 . 2005-01-29 00:21:24 +00:00
Jim Meyering
38a7e162cd * Makefile.am (libfetish_a_SOURCES): Remove many files from this
list, now that automake determines their names automatically,
thanks to the new AC_LIBSOURCES and AC_LIBOBJ uses in the
corresponding ../m4/*.m4 files.
(EXTRA_DIST): Add getdate.c here, so that we continue to distribute it.
2005-01-29 00:20:50 +00:00
Jim Meyering
dfc5ff02a0 Use AC_LIBSOURCES to list corresponding source (.c, .h, .y) files
so that automake automatically knows to distribute those files.
Use AC_LIBOBJ to ensure that automake automatically knows the
names of always-compiled source files.  Automake already knows
the names of conditionally compiled ones, e.g., due to preexisting
uses of AC_LIBOBJ and AC_REPLACE_FUNCS.
[This is a start.  Many still remain to be fixed...]
2005-01-29 00:16:39 +00:00
Jim Meyering
72d7b860db *** empty log message *** 2005-01-29 00:04:35 +00:00
Jim Meyering
3f74581e29 Require gl_HASH_PJW and gl_BASENAME. 2005-01-29 00:04:30 +00:00
Jim Meyering
9c9aa99232 *** empty log message *** 2005-01-29 00:03:58 +00:00
Jim Meyering
2039f732bb *** empty log message *** 2005-01-27 18:14:15 +00:00
Jim Meyering
20563023de (gl_BASENAME): New file/macro. 2005-01-27 18:10:25 +00:00
Jim Meyering
78931f3234 *** empty log message *** 2005-01-25 12:30:15 +00:00
Jim Meyering
aabf87bc83 Don't include assert.h.
(path_concat): Remove assertion that would have triggered
for ABASE starting with more than one slash.
Reported by Andreas Schwab.
2005-01-25 12:30:01 +00:00
Jim Meyering
313147e76a *** empty log message *** 2005-01-25 09:32:53 +00:00
Jim Meyering
c6449644bc *** empty log message *** 2005-01-25 09:09:09 +00:00
Jim Meyering
748946e773 (path_concat): Set *BASE_IN_RESULT
properly when ABASE is an absolute file name.
Correct the description of this function.
Include <assert.h>.
Add an assertion and a test driver.
This fixes a bug introduced on 2004-07-02.
2005-01-25 09:07:49 +00:00
Paul Eggert
14c329a60c Regenerate. 2005-01-25 00:51:05 +00:00
Paul Eggert
1d2ff68204 (usage): Add comma after "-P" to fix typo in previous patch. 2005-01-25 00:41:36 +00:00
Jim Meyering
69a4ce2497 *** empty log message *** 2005-01-24 08:27:37 +00:00
Jim Meyering
570fe7948b Use S_BLKSIZE value for ST_NBLOCKSIZE where available. 2005-01-24 08:27:15 +00:00
Jim Meyering
b46e3e42eb (all_programs.list): Strip $(EXEEXT) and remove duplicates. 2005-01-24 08:22:06 +00:00
Jim Meyering
6e946041de (all_programs): Revert previous patch; updated all_programs.list fixes this.
(.x.1): No need to add $(EXEEXT).
2005-01-24 08:21:39 +00:00
Jim Meyering
cce40280ea *** empty log message *** 2005-01-24 08:10:59 +00:00
Jim Meyering
c8b7f2bb9c (usage): Merge the descriptions of --no-dereference and -P. 2005-01-24 08:10:53 +00:00
Jim Meyering
96cfa71377 *** empty log message *** 2005-01-24 08:10:36 +00:00
Jim Meyering
597a83d82c *** empty log message *** 2005-01-23 20:38:11 +00:00
Jim Meyering
3131f40264 *** empty log message *** 2005-01-23 14:35:09 +00:00
Paul Eggert
65ef46a51c Use an all-permissive copyright notice, recommended by RMS. 2005-01-23 09:07:57 +00:00
Jim Meyering
908a461e32 (v_etc_file): The version string has moved to
version-etc-fsf.c, search that new file, not version-etc.c.
2005-01-22 09:05:09 +00:00
Paul Eggert
52bf4b2a25 Regenerate. 2005-01-22 06:30:33 +00:00
Paul Eggert
2d50382bd9 Remove "m4/" from listed file names. 2005-01-22 06:28:21 +00:00
Paul Eggert
15ac53209f Sync from gnulib. 2005-01-22 06:25:53 +00:00
Jim Meyering
9e09c422a2 *** empty log message *** 2005-01-21 12:46:36 +00:00
Paul Eggert
be0dc61d80 Add version-etc-fsf. 2005-01-21 00:21:37 +00:00
Paul Eggert
b80668c3f8 (libfetish_a_SOURCES): Add version-etc-fsf.c. 2005-01-21 00:21:01 +00:00
Paul Eggert
8dcf5bba94 Initial version. 2005-01-21 00:20:20 +00:00
Paul Eggert
94e9766114 (version_etc_copyright): Use [] instead of * in prototype. 2005-01-21 00:20:05 +00:00
Paul Eggert
450a7a1aff Remove version_etc_copyright. 2005-01-21 00:19:49 +00:00
Jim Meyering
e824a871b4 . 2005-01-20 22:57:36 +00:00
Paul Eggert
bd88d49b85 * save-cwd.c (save_cwd): Remove code to support non-fchdir case. 2005-01-20 22:17:47 +00:00
Paul Eggert
7e43a4e6c4 (save_cwd): Remove code to support the case
where fchdir is missing or flaky.
2005-01-20 22:17:26 +00:00
Paul Eggert
2b631e90a8 * save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume it. 2005-01-20 22:17:00 +00:00
Paul Eggert
1370cd8736 (gl_SAVE_CWD): Remove check for fcntl; we now assume it. 2005-01-20 22:16:44 +00:00
Jim Meyering
e989e603fa *** empty log message *** 2005-01-19 13:45:22 +00:00
Jim Meyering
2157aa8ba7 (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the same value as for Solaris 9. 2005-01-19 13:44:54 +00:00
Jim Meyering
f4af6f487c *** empty log message *** 2005-01-19 12:52:15 +00:00
Jim Meyering
dea0e69ce0 *** empty log message *** 2005-01-19 12:51:06 +00:00
Jim Meyering
5ff3a2e214 remove diff, in, out 2005-01-19 12:50:12 +00:00
Jim Meyering
3fc13d753c *** empty log message *** 2005-01-19 12:48:19 +00:00
Jim Meyering
d7267a635a A test harness to exercize chdir-long.c's sample main program. 2005-01-19 12:48:15 +00:00
Jim Meyering
b603dc3050 (chdir_long): Update prototype. 2005-01-19 10:22:02 +00:00
Jim Meyering
87f49a3885 *** empty log message *** 2005-01-19 10:21:49 +00:00
Jim Meyering
c2475f7874 (chdir_long): Rewrite to remove limitation on
component length.  This included changing the parameter to be
of type `char *' rather than `char const *'.
2005-01-19 10:21:43 +00:00
Jim Meyering
1c5199e9bf . 2005-01-19 09:59:08 +00:00
Jim Meyering
158377f794 (fdopendir, fstatat): New functions. 2005-01-19 09:58:01 +00:00
Jim Meyering
af5592710c Include headers required for use of DIR and struct stat.
[AT_SYMLINK_NOFOLLOW]: Define.
(fdopendir, fstatat): Add prototypes.
2005-01-19 09:57:49 +00:00
Paul Eggert
b10a836fa0 Use numeric group ids, not symbolic group names, to avoid shell quoting issues. 2005-01-17 22:40:57 +00:00
Jim Meyering
c994637901 . 2005-01-15 21:34:18 +00:00
Jim Meyering
a8e1f0bbe1 *** empty log message *** 2005-01-15 19:56:32 +00:00
Jim Meyering
db0ec0873c *** empty log message *** 2005-01-15 19:51:00 +00:00
Jim Meyering
5737627b41 *** empty log message *** 2005-01-15 17:24:58 +00:00
Jim Meyering
0771bddcb5 *** empty log message *** 2005-01-15 17:24:16 +00:00
Jim Meyering
6d1d7aede0 *** empty log message *** 2005-01-15 17:21:03 +00:00
Jim Meyering
6d003dd014 (isaac_seed) [HAVE_GETHRTIME]: #if-0 this block,
because just calling gethrtime evokes an `illegal instruction'
failure when compiled with Sun's c89 on Solaris 8 and 9.
2005-01-15 17:19:47 +00:00
Jim Meyering
6d638576d4 (isaac_seed) [HAVE_GETHRTIME]: Don't call ISAAC_SEED
twice with the same value of `t'.
Replace nested #if-#else blocks with #if-#elif-#elif chain.
2005-01-15 17:13:03 +00:00
Jim Meyering
244ce2fb1a *** empty log message *** 2005-01-14 16:34:56 +00:00
Jim Meyering
350a0ccc90 *** empty log message *** 2005-01-14 16:30:18 +00:00
Jim Meyering
85d111b3be The test, tests/tail/f-1, failed on powerpc-apple-darwin7.7.0.
(IS_TAILABLE_FILE_TYPE): Adjust definition also to include
sockets, since that's what you get when reading from a command-line-
supplied pipe on Darwin 7.7.
(IS_PIPE_LIKE_FILE_TYPE): Define.
(main): Use new IS_PIPE_LIKE_FILE_TYPE rather than simply S_ISFIFO.
This same change is also required on NetBSD/sparc-1.5.
Reported by Adrian Bunk.
2005-01-14 16:30:15 +00:00
Jim Meyering
6e46196ae9 . 2005-01-14 15:15:58 +00:00
Jim Meyering
5443fe149f *** empty log message *** 2005-01-14 14:16:10 +00:00
Jim Meyering
ffa7a7db3d *** empty log message *** 2005-01-14 14:15:31 +00:00
Jim Meyering
7eff5901c4 (toarith): Rewrite to detect/diagnose integer overflow,
rather than suffering silently.
Before, expr would silently overflow and wrap around:
  $ expr 9223372036854775808 = 0   # $(echo 2^63|bc)
  1
Now it detects the problem and exits nonzero:
  $ ./expr $(echo 2^63|bc) = 0
  ./expr: 9223372036854775808: integer is too large
2005-01-14 14:15:25 +00:00
Jim Meyering
9eea266563 *** empty log message *** 2005-01-14 13:39:51 +00:00
Jim Meyering
2e301f00f3 *** empty log message *** 2005-01-14 13:33:32 +00:00
Jim Meyering
14f7a72f5a Work around tests/touch/empty-file failure on a system
(sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
NULL-means-set-to-current-time semantics.
Remove temporary file immediately, rather than waiting
for configure's at-exit trap code to do it.
2005-01-14 13:33:26 +00:00
Jim Meyering
ec597a0f84 *** empty log message *** 2005-01-14 10:39:15 +00:00
Jim Meyering
6ad556a63c (id_gn): Exit 77, not 1, for a test-framework
failure, so that doesn't cause `make check' to stop.  Nelson Beebe
reported that this test would fail with this diagnostic
`cannot find name for group ID 10' on one of his systems.
2005-01-14 10:39:05 +00:00
Jim Meyering
bf9e735bbd *** empty log message *** 2005-01-13 23:33:22 +00:00
Jim Meyering
24158efbdf (is_int): Don't overflow when evaluating integer constants.
Before, ./test $(echo 2^64|bc) -eq 0 && echo FAIL would print `FAIL'.
2005-01-13 23:27:34 +00:00
Jim Meyering
b54fd550bd *** empty log message *** 2005-01-13 22:17:33 +00:00
Jim Meyering
d5a5cf8f9d (validate): Add code (if-0'd out) to detect
names of temporary files that would clash on 8.3 file systems.
2005-01-13 22:16:29 +00:00
Jim Meyering
c7efc489f3 *** empty log message *** 2005-01-13 22:14:03 +00:00
Jim Meyering
fe44a6d988 (run_tests): Add code (if-0'd out) to detect
names of temporary files that would clash on 8.3 file systems.
2005-01-13 22:13:53 +00:00
Jim Meyering
865844251f *** empty log message *** 2005-01-12 15:27:40 +00:00
Jim Meyering
10d9154380 (repeat-000): Rename to `repeat-zeros' for the same reason. 2005-01-12 15:27:28 +00:00
Jim Meyering
fc539da2b0 Shorten test names to accommodate 8.3 systems. 2005-01-12 15:18:54 +00:00
Jim Meyering
6d843c3bd5 Shorten test names to accommodate 8.3 systems. 2005-01-12 15:18:12 +00:00
Jim Meyering
e803f7bedb regenerate 2005-01-12 15:01:10 +00:00
Jim Meyering
dc339f4f80 (repeat-bigC): Change test name from
`repeat-Compl', to avoid 8.3 conflict with `repeat-compl'.
2005-01-12 15:00:51 +00:00
Jim Meyering
8cebee0f7e *** empty log message *** 2005-01-12 15:00:40 +00:00
Jim Meyering
fec07f5aef *** empty log message *** 2005-01-12 14:59:48 +00:00
Jim Meyering
6c639064c0 . 2005-01-11 21:40:36 +00:00
Jim Meyering
bec6c6cbd7 *** empty log message *** 2005-01-11 17:23:24 +00:00
Jim Meyering
1b1775b518 Update version to 5.3.1. 2005-01-11 17:22:42 +00:00
Jim Meyering
ee0c8162ab *** empty log message *** 2005-01-11 17:03:30 +00:00
Jim Meyering
2c2ab4fe77 *** empty log message *** 2005-01-11 17:02:57 +00:00
Jim Meyering
9be231e152 (obs-ovflo): New test for overflow. 2005-01-11 17:01:35 +00:00
Jim Meyering
c8756077c3 (main): Check for overflow in tabstop values
specified via the obsolete form.  E.g., now this command fails:
_POSIX2_VERSION=1 ./expand -$(echo '2^64+1'|bc)
Before it would act like `_POSIX2_VERSION=1 ./expand -1'.
2005-01-11 16:54:02 +00:00
Jim Meyering
c2fed1cc19 (main): Check for overflow in tabstop values
specified via the obsolete form.  E.g., now this command fails:
_POSIX2_VERSION=1 ./unexpand -$(echo '2^64+1'|bc)
Before it would act like `_POSIX2_VERSION=1 ./unexpand -1'.
2005-01-11 16:53:24 +00:00
Jim Meyering
1377220ccf (add_tab_stop): Properly diagnose a tabstop list with decreasing values. 2005-01-11 16:52:47 +00:00
Jim Meyering
0814364bbe *** empty log message *** 2005-01-11 16:51:08 +00:00
Jim Meyering
7b6aa4dea7 (all_programs): Account for $(EXEEXT). 2005-01-11 16:51:03 +00:00
Jim Meyering
d2360a394b (check-README, check-AUTHORS): Account for $(EXEEXT). 2005-01-11 16:50:27 +00:00
Paul Eggert
ff67f295e4 Update copyright date. 2005-01-10 18:12:35 +00:00
Paul Eggert
f0f5a2708a Update copyright date. 2005-01-10 18:11:57 +00:00
Paul Eggert
97409a37e8 Respond to POSIX interpretations about pathchk -p dated 2005-01-06. 2005-01-10 18:09:43 +00:00
Paul Eggert
c1b404410d Add tests for empty file names and pathchk -P. 2005-01-10 18:09:22 +00:00
Paul Eggert
b4e248dea9 (PORTABILITY_OPTION): New constant.
(longopts, usage, main, validate_file_name):
Add support for new -P option.
Reject empty file names (unless -p is not specified and the
current system allows empty file names).
Change --portability so that is now equivalent to -p -P.
Don't test whether file name is too long, if it is known to exist.
(no_leading_hyphen): New function.
2005-01-10 18:09:02 +00:00
Paul Eggert
23c6e3110e Document changes responding to POSIX interpretations about pathchk -p
dated 2005-01-06.
2005-01-10 18:08:12 +00:00
Paul Eggert
183dd5f707 Document changes responding to POSIX interpretations about pathchk -p
dated 2005-01-06.
2005-01-10 18:07:42 +00:00
Jim Meyering
2318511e2d *** empty log message *** 2005-01-09 19:45:00 +00:00
Jim Meyering
25c0a6aabf . 2005-01-08 20:45:23 +00:00
Jim Meyering
75e2e5c199 *** empty log message *** 2005-01-08 20:28:51 +00:00
Jim Meyering
f96846bd78 . 2005-01-08 20:28:32 +00:00
Jim Meyering
33b8d573f5 regenerate 2005-01-08 20:27:43 +00:00
Jim Meyering
91fefc7f0d pr --columns=N' was not equivalent to pr -N' when also using
either -s or -w.

(main): Set `explicit_columns' for --columns=N,
not just for -N.  This bug has existed since the introduction
of the --columns=N option on 1998-08-15.
2005-01-08 12:01:40 +00:00
Jim Meyering
aa7f16bda6 (main): Check for column count overflow with usages like "pr -2147483648". 2005-01-08 12:00:54 +00:00
Jim Meyering
d4833923f7 *** empty log message *** 2005-01-08 09:42:39 +00:00
Jim Meyering
55010ac438 *** empty log message *** 2005-01-08 09:42:06 +00:00
Jim Meyering
2205834c01 *** empty log message *** 2005-01-08 09:35:17 +00:00
Jim Meyering
08f451c3f4 (test_vector): For each -N test, automatically
create a new test vector using --columns=N.
2005-01-08 09:35:04 +00:00
Jim Meyering
8a7b0f32d3 *** empty log message *** 2005-01-08 09:00:08 +00:00
Jim Meyering
71b7fcc1a9 *** empty log message *** 2005-01-08 08:46:10 +00:00
Jim Meyering
9fcc9d7d42 . 2005-01-07 20:11:37 +00:00
Jim Meyering
4f9e5eda45 Correct last change: s/zero/no/ From Paul Jarc. 2005-01-07 20:10:15 +00:00
Jim Meyering
21437738fc *** empty log message *** 2005-01-07 18:25:47 +00:00
Jim Meyering
a9f66aa921 (sort invocation): Specify that a string of zero digits is interpreted as 0. 2005-01-07 18:24:23 +00:00
Jim Meyering
414dac9d50 *** empty log message *** 2005-01-07 18:23:57 +00:00
Jim Meyering
7536049fb0 (init_fps): Use xnmalloc, rather than xmalloc. 2005-01-07 17:16:50 +00:00
Jim Meyering
f9da135faf . 2005-01-07 10:15:55 +00:00
Jim Meyering
30cd59096a Include today's date. 2005-01-07 09:57:45 +00:00
Jim Meyering
1c0bbd6eee Remove suppression-related options.
Add --track-fds=yes.
2005-01-07 09:54:52 +00:00
Jim Meyering
0c209234c3 *** empty log message *** 2005-01-06 16:44:02 +00:00
Jim Meyering
ff1b923744 List the precise HP-UX version numbers that are affected. 2005-01-06 16:44:00 +00:00
Jim Meyering
a1d40bb7d1 *** empty log message *** 2005-01-06 08:12:32 +00:00
Jim Meyering
d1e65bfb48 (sc_changelog): Specify find's `-maxdepth 2'
predicate before `-name ChangeLog' to avoid a harmless warning
from find-4.2.10.
2005-01-06 08:12:28 +00:00
Jim Meyering
94ca29d7d7 *** empty log message *** 2005-01-05 22:08:53 +00:00
Jim Meyering
a2ac7d89b8 Punt on the uptime test, since it fails when
it can't get boot time, and I don't want that to stop `make check'.
2005-01-05 22:08:48 +00:00
Jim Meyering
e366fb25d0 *** empty log message *** 2005-01-05 08:26:58 +00:00
Jim Meyering
ee7a366a3d (sc_root_tests): New rule.
(syntax-check-rules): Add it to the list.
2005-01-05 08:25:51 +00:00
Jim Meyering
48910482b3 *** empty log message *** 2005-01-05 08:01:09 +00:00
Jim Meyering
309b385f53 *** empty log message *** 2005-01-05 07:56:58 +00:00
Jim Meyering
43ac091128 du --exclude=P now compares pattern P against the entire name
of each file, rather than just the final component.
2005-01-05 07:56:45 +00:00
Jim Meyering
3b6fd6a33c *** empty log message *** 2005-01-05 07:53:15 +00:00
Jim Meyering
78652e53f5 Add a test for today's fix:
(process_file): Evaluate exclusion rules against
  the entire file name, not just the last component.
2005-01-05 07:53:11 +00:00
Jim Meyering
abbddbe414 *** empty log message *** 2005-01-05 07:47:52 +00:00
Jim Meyering
0262163b13 (process_file): Evaluate exclusion rules against
the entire file name, not just the last component.
2005-01-05 07:47:45 +00:00
Jim Meyering
f4ba67d7d2 *** empty log message *** 2005-01-05 07:46:58 +00:00
Jim Meyering
d8035a9158 *** empty log message *** 2005-01-04 19:40:14 +00:00
Paul Eggert
364168a817 * human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
definitions to be after all include files, to avoid collisions.
2005-01-04 18:49:44 +00:00
Jim Meyering
215763dd17 *** empty log message *** 2005-01-04 18:29:42 +00:00
Jim Meyering
eefe4137fb * coreutils.texi (shred invocation): Clarify that shred works fine
with journaled file systems that are configured not to journal
	file system data.  Also mention BFS and NTFS.
2005-01-04 18:29:38 +00:00
Jim Meyering
0ef76f729d *** empty log message *** 2005-01-04 11:21:41 +00:00
Jim Meyering
5ff8c2dade Change one-line summary to reflect that shred does
not remove files by default.
2005-01-04 11:21:36 +00:00
Jim Meyering
4e819d5d74 *** empty log message *** 2005-01-04 11:21:08 +00:00
Jim Meyering
b7003f7595 . 2005-01-04 10:19:34 +00:00
Jim Meyering
c0cb2607c7 *** empty log message *** 2005-01-04 10:02:27 +00:00
Jim Meyering
98bd93adc5 * README: Request VERBOSE=yes output when reporting test failures.
Other minor changes.
2005-01-04 10:01:24 +00:00
Jim Meyering
7c2875706d . 2005-01-04 09:43:18 +00:00
Jim Meyering
1ed5b431f5 (check-root): Update. 2005-01-04 09:41:14 +00:00
Jim Meyering
46bf568ec1 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
is sane and DOES follow symlinks.  Besides, testing 20 different
systems found no broken chown implementations.
2005-01-04 09:40:23 +00:00
Jim Meyering
00b81a8761 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
is sane and DOES follow symlinks.  Besides, testing 20 different
systems found no broken chown implementations.
2005-01-04 09:39:04 +00:00
Jim Meyering
abf1b78b6b remove FIXME comments 2005-01-04 09:00:35 +00:00
Jim Meyering
b43fd5c4de remove FIXME comments 2005-01-04 08:59:35 +00:00
Jim Meyering
c5503bf7ff *** empty log message *** 2005-01-04 08:51:23 +00:00
Jim Meyering
4dc772da91 [DEFAULT_ALIGNMENT]: Use an intermediate type to simplify
offsetof() macro construct to avoid compile failure with native HP-UX
11.0 ANSI C compiler.
2005-01-04 08:51:18 +00:00
Paul Eggert
a9626a5d81 Regenerate. 2005-01-03 23:50:12 +00:00
Paul Eggert
3edb411b4a Update serial number and copyright date. 2005-01-03 23:45:48 +00:00
Paul Eggert
30fa7301bc * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
* m4/ullong_max.m4: New file.
* src/system.h: Undo previous change; we now use Autoconf.
2005-01-03 23:43:39 +00:00
Jim Meyering
b93b030de6 *** empty log message *** 2005-01-03 21:25:21 +00:00
Jim Meyering
3402774325 Don't set rows or columns to zero, to avoid
a bug in the TIOCGWINSZ ioctl on at least Solaris5.9 systems.  Setting
either (or both) to zero would succeed, but subsequent `stty size'
would say `no size information for this device' due to the ioctl
failing with EINVAL.
2005-01-03 21:25:13 +00:00
Paul Eggert
8ca6bb6254 * utimens.c (futimens): Robustify the previous patch. 2005-01-03 19:55:36 +00:00
Paul Eggert
dfe280e907 (futimens): Robustify the previous patch, by checking
for known valid error numbers rather than observed invalid ones.
2005-01-03 19:54:54 +00:00
Jim Meyering
8eb95b5cc0 *** empty log message *** 2005-01-03 19:23:14 +00:00
Jim Meyering
e0a94d174b (futimens): Account for the fact that futimes
can also fail with errno == ENOSYS in that case.
Patch from Dmitry V. Levin.
2005-01-03 19:23:09 +00:00
Jim Meyering
8084ea1924 *** empty log message *** 2005-01-03 18:43:13 +00:00
Jim Meyering
7f6d0aeb3a If PRIdMAX, PRIoMAX, PRIuMAX, and PRIxMAX are
not all defined and either ULONG_MAX or ULLONG_MAX is not defined,
then fail at compile-time rather than let tools like od produce
invalid results at run time.
2005-01-03 18:43:09 +00:00
Jim Meyering
5e37309f7a . 2005-01-03 18:07:26 +00:00
Jim Meyering
b0455f9d24 *** empty log message *** 2005-01-03 18:01:32 +00:00
Jim Meyering
be23469207 Remove `.tmp' suffix; mkstemp requires that XXXXXX be a suffix. 2005-01-03 18:01:22 +00:00
Jim Meyering
77abd81977 *** empty log message *** 2005-01-03 17:26:32 +00:00
Jim Meyering
302b283180 (gl_FUNC_MKSTEMP): Don't `cd' into the temporary
subdirectory.  That would make the subsequent AC_TRY_RUN macro fail,
for lack of the ./confdefs.h file.  Instead, use the temporary
directory name as a prefix on the template string.
Include <unistd.h> for the declaration of close.
2005-01-03 17:26:28 +00:00
Paul Eggert
9c453b2a95 * utimens.c (futimens) [HAVE_FUTIMES]: Fall back on utimes if
futimes fails with errno == ENOENT.
2005-01-03 08:52:18 +00:00
Paul Eggert
e75249bf8c futimens) [HAVE_FUTIMES]: Fall back on utimes if futimes fails with
errno == ENOENT.
2005-01-03 08:51:59 +00:00
Jim Meyering
a672333a19 *** empty log message *** 2005-01-02 17:16:05 +00:00
Jim Meyering
6e89884edd (version_etc_copyright): Update copyright date. 2005-01-02 17:15:56 +00:00
Jim Meyering
47697f718d *** empty log message *** 2004-12-31 10:06:48 +00:00
Jim Meyering
0a872de7cd (rpl_openat): Correct comment.
Call free_cwd, to avoid leaking a file descriptor.
2004-12-31 10:06:43 +00:00
Paul Eggert
53ed4aabb6 * getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA. 2004-12-24 06:03:57 +00:00
Paul Eggert
de949da785 (gl_GETDATE): Remove AC_FUNC_ALLOCA. 2004-12-24 06:03:45 +00:00
Paul Eggert
3136cae7dd Change getdate to not use alloca. Shrink initial stack. 2004-12-24 05:28:19 +00:00
Paul Eggert
6a9179a556 (YYSTACK_USE_ALLOCA): Define to 0, since there's no
need to extend the stack.
(YYINITDEPTH): New macro, so that the initial stack isn't overly
large.
2004-12-24 05:27:07 +00:00
Jim Meyering
9a98a6c402 . 2004-12-21 21:56:47 +00:00
Jim Meyering
331f6aa987 *** empty log message *** 2004-12-21 21:46:33 +00:00
Jim Meyering
6f9ea4bd22 (gl_FUNC_MKSTEMP): Remove temporary directory right
away, rather than waiting for configure's at-exit trap code to do it.
Suggestion from Stepan Kasal.
2004-12-21 21:46:27 +00:00
Jim Meyering
71f15c4c41 adjust indentation 2004-12-21 21:43:36 +00:00
Jim Meyering
e27c569715 . 2004-12-21 21:12:44 +00:00
Jim Meyering
2ecd3aaeb1 tweak comment 2004-12-21 21:11:58 +00:00
Jim Meyering
fc270e7a2e . 2004-12-21 21:11:11 +00:00
Jim Meyering
68244d7def *** empty log message *** 2004-12-21 09:58:46 +00:00
Jim Meyering
e03c1883fc (usage): Say the default names are xx00, xx01, ...', not xx01, xx02, ...'.
Reported by Matt Kraai in http://bugs.debian.org/286605
2004-12-21 09:58:38 +00:00
Jim Meyering
b4ed401820 *** empty log message *** 2004-12-21 09:57:31 +00:00
Jim Meyering
238dc09157 *** empty log message *** 2004-12-21 09:55:28 +00:00
Jim Meyering
2d3c7c9b43 Avoid spurious failure on x86 solaris2.9 when using c89. 2004-12-21 09:55:14 +00:00
Paul Eggert
cc344eeace * src/split.c (usage): Mention default size. Suggested by Dan Jacobson. 2004-12-20 20:01:05 +00:00
Paul Eggert
7e68c7ad96 (usage): Mention default size. 2004-12-20 20:00:44 +00:00
Jim Meyering
d183e87cbc *** empty log message *** 2004-12-20 16:39:44 +00:00
Jim Meyering
5cedef6a3e *** empty log message *** 2004-12-20 16:39:30 +00:00
Jim Meyering
8d240b9d74 Do the `cd' in a subshell. 2004-12-20 16:39:24 +00:00
Jim Meyering
26ae196f5b s/SPACE/TAB 2004-12-20 15:38:46 +00:00
Jim Meyering
63908580ad *** empty log message *** 2004-12-20 15:31:53 +00:00
Jim Meyering
93e3e8be0b Rather than using "conftestXXXXXX" as the mkstemp
template, use a temporary directory and an 8.3-friendly template
to avoid trouble on systems like DJGPP.
2004-12-20 15:31:47 +00:00
Jim Meyering
d0df6ec17d *** empty log message *** 2004-12-20 15:31:18 +00:00
Paul Eggert
6e65d3c781 Fix typo in comment. 2004-12-20 08:09:42 +00:00
Paul Eggert
96742fffc4 Regenerate. 2004-12-20 08:02:53 +00:00
Paul Eggert
5e4bb18f61 * c-strtod.m4 (gl_C99_STRTOLD): New macro. 2004-12-20 07:57:44 +00:00
Paul Eggert
c03b93f75a * c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not HAVE_DECL_STRTOLD. 2004-12-20 07:57:26 +00:00
Paul Eggert
1606c6584c (STRTOD): Depend on HAVE_C99_STRTOLD, not HAVE_DECL_STRTOLD. 2004-12-20 07:57:12 +00:00
Paul Eggert
8fd72ab7e4 (gl_C99_STRTOLD): New macro.
(gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
2004-12-20 07:56:51 +00:00
Paul Eggert
7bb6fb4250 Fix alloca problems with getdate. 2004-12-19 13:42:55 +00:00
Paul Eggert
13389908dd Include <alloca.h> only if HAVE_ALLOCA.
(YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
(YYMAXDEPTH): New macro.
2004-12-19 13:42:26 +00:00
Paul Eggert
e4561f4baf Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
Remove now-obsolete comment about AIX.
2004-12-19 13:42:03 +00:00
Paul Eggert
1837fcdaf5 * NEWS: Mention that one should eval "dircolors" rather than dircolors. 2004-12-19 13:32:12 +00:00
Paul Eggert
07f592d78f * NEWS: Mention that one should eval "dircolors" rather than
`dircolors`.
2004-12-19 13:31:45 +00:00
Jim Meyering
dea10fefbc *** empty log message *** 2004-12-17 08:59:00 +00:00
Jim Meyering
397d0a6baa * tests/mv/hard-link-1: Rearrange to use newer trap-handling code,
so temporary directories aren't left behind upon e.g., interrupt.
2004-12-17 08:58:56 +00:00
Jim Meyering
d67104d0cd *** empty log message *** 2004-12-17 08:48:19 +00:00
Jim Meyering
7e1fdd4615 update from gnulib 2004-12-17 08:40:35 +00:00
Paul Eggert
9528eb9e73 Sync mdate-sh from gnulib. 2004-12-17 05:23:44 +00:00
Paul Eggert
c12d53f5cb * src/ls.c (print_dir): Use "%s: not listing already-listed directory". 2004-12-17 05:09:05 +00:00
Paul Eggert
c4e4091ea4 (print_dir): Use "%s: not listing already-listed
directory", not "not listing already-listed directory: %s", to
format already-listed directories, to be consistent with other
diagnostics involving file names and colons.
2004-12-17 05:08:40 +00:00
Paul Eggert
4d2bb0f15f * coreutils.texi: Fix minor problems in "ls" and "dircolors". 2004-12-15 22:08:29 +00:00
Paul Eggert
6627d41367 (ls invocation): Change minor problem to be
"subdirectory not found", since top-level trouble is now serious.
(dircolors invocation): Quote argument to eval.  Problem reported
by Stephane Chazelas.
2004-12-15 22:08:07 +00:00
Jim Meyering
645c39078d *** empty log message *** 2004-12-15 16:15:16 +00:00
Jim Meyering
c3fd921063 mention tac bug fix 2004-12-15 16:03:12 +00:00
Jim Meyering
3ca5e74d7d . 2004-12-15 16:02:35 +00:00
Jim Meyering
1e7ea4b296 *** empty log message *** 2004-12-14 23:53:55 +00:00
Jim Meyering
a957600333 (__LDADD): Define, so that building `[' on
Solaris still uses the -lgen library that it requires in order
to get a definition of eaccess.
2004-12-14 23:53:48 +00:00
Jim Meyering
0b69561a53 *** empty log message *** 2004-12-14 22:16:44 +00:00
Jim Meyering
029d4e08eb Add Bulgarian (bg). 2004-12-14 22:16:39 +00:00
Jim Meyering
01ea33e1c7 version: 5.2.1 2004-12-14 22:15:59 +00:00
Jim Meyering
0a956f54d1 *** empty log message *** 2004-12-14 10:43:11 +00:00
Jim Meyering
cb227e6230 *** empty log message *** 2004-12-14 10:43:05 +00:00
Jim Meyering
86a23aebf8 Add a few more tests. 2004-12-14 10:42:58 +00:00
Jim Meyering
d1d6f6e13b . 2004-12-14 10:41:00 +00:00
Jim Meyering
4386c3b146 *** empty log message *** 2004-12-14 10:40:18 +00:00
Jim Meyering
1cc8ed65ad *** empty log message *** 2004-12-14 10:36:08 +00:00
Jim Meyering
6f4d4a7a52 (TESTS): Add tac-continue. 2004-12-14 10:36:04 +00:00
Jim Meyering
300369d75c Ensure that tac processes all command line arguments, even
when it encounters an error with say the first one.
2004-12-14 10:35:35 +00:00
Jim Meyering
9a13cce9ec [DONT_UNLINK_WHILE_OPEN]: Add a FIXME comment explaining that
using atexit like this is wrong.
2004-12-14 10:28:03 +00:00
Jim Meyering
b4062c8a22 *** empty log message *** 2004-12-14 09:54:16 +00:00
Jim Meyering
ab8392641b (tac_nonseekable): Return false also if copy_to_temp fails. 2004-12-14 09:52:58 +00:00
Jim Meyering
7f44c8d24e *** empty log message *** 2004-12-14 08:51:00 +00:00
Jim Meyering
4c42cf3fdb Include quotearg.h.
Use quotearg_colon in most diagnostics.
(copy_to_temp): Rewrite not to exit upon I/O or temp-file-creation
failure.  Before, this command (with /full/tmp being a full partition)
  TMPDIR=/full/tmp ./tac /proc/modules tac.c
would exit immediately upon the write error while trying to copy
non-seekable /proc/modules to the full partition.  Now it still
reports the failure but continues on with the remaining file.
2004-12-14 08:50:52 +00:00
Paul Eggert
5d528360ff Cause top-level failures to exit with status 2 with "ls". 2004-12-14 00:43:20 +00:00
Paul Eggert
ad58599404 (no-a-isdir-b): This now exits with status 2,
not status 1.
2004-12-14 00:42:46 +00:00
Paul Eggert
b58dea554e (gobble_file): Change arg name to be command_line_arg
rather than explicit_arg, for consistency with copy.c.
(extract_dirs_from_files): Remove ignore_dot_and_dot_dot arg, since
it is deducible from dirname arg.  All callers changed.
(extract_dirs_from_files, print_dir, queue_directory):
Add command_line_arg arg.  All callers changed.
(struct pending): Add command_line_arg member.
(main): Use NULL rather than 0 when appropriate.
(set_exit_status, file_failure): New functions.
(queue_directory): Store command_line_arg into new structure.
(print_dir, gobble_file, get_link_name):
Use file_failure to report problems in accessing files,
so that the exit status is set consistently.
(print_dir): Simplify readdir failure code yet again.
If closedir fails, report "closing directory" rather than "reading
directory" failure.
(xstrcoll): Use set_exit_status to set status on failure.
2004-12-14 00:42:19 +00:00
Paul Eggert
206ec55a41 * coreutils.texi (join invocation): Blank separators need quoting. 2004-12-12 07:25:01 +00:00
Paul Eggert
e31480005a (join invocation): Mention that blank separators
in the -o option need to be quoted.
2004-12-12 07:24:31 +00:00
Jim Meyering
ec61e1b8fe *** empty log message *** 2004-12-11 11:21:48 +00:00
Jim Meyering
19c959bd50 adjust wording of #error message 2004-12-11 11:19:27 +00:00
Jim Meyering
c3ccae892f Fail via #error if PATH_MAX is not defined, since
this file is now compiled only on systems that define PATH_MAX.
2004-12-11 11:18:53 +00:00
Jim Meyering
86e1787721 chown race fix 2004-12-11 10:28:58 +00:00
Jim Meyering
5e0cc47437 *** empty log message *** 2004-12-11 10:28:49 +00:00
Jim Meyering
051f13f135 *** empty log message *** 2004-12-11 10:24:15 +00:00
Jim Meyering
cbff85ac09 Avoid a race condition vulnerability in chown, when used with
--from=O:G and without the (-h) --no-dereference option.

(restricted_chown): New function.
(change_file_owner): Call it.
Reported by Ulrich Drepper.
2004-12-11 10:24:12 +00:00
Paul Eggert
9278bc44cd * coreutils.texi (id invocation): -G also prints main group. 2004-12-11 00:09:29 +00:00
Paul Eggert
d34fd3ed23 (id invocation): -G also prints main group. 2004-12-11 00:09:07 +00:00
Jim Meyering
dca77596d5 *** empty log message *** 2004-12-10 00:02:26 +00:00
Jim Meyering
1d2622852b (gl_FUNC_CHDIR_LONG): Arrange to compile chdir-long.c only on systems
that define PATH_MAX.
2004-12-10 00:02:08 +00:00
Paul Eggert
5ff0e88866 ls now exits with status 1 if minor problem, 2 on serious trouble. 2004-12-09 17:51:23 +00:00
Paul Eggert
1782c40176 (ls invocation): Document new "ls" exit status. 2004-12-09 17:50:54 +00:00
Paul Eggert
c3b2c15cfe ls now exits with status 1 on minor problems, 2 if serious trouble. 2004-12-09 17:49:45 +00:00
Paul Eggert
a64afdee8b ls and variants now exit with status 2 on serious trouble. 2004-12-09 17:49:18 +00:00
Paul Eggert
310ef64346 (LS_MINOR_PROBLEM, LS_FAILURE): New constants.
All uses of EXIT_FAILURE replaced with LS_FAILURE, unless
specified below.
(main): Initialize exit failure to LS_FAILURE.
(print_dir, gobble_file, get_link_name, xstrcoll):
Set exit status to LS_MINOR_PROBLEM if the failure is minor.
(print_dir): Do not give up on entire directory merely because readdir
returns EOVERFLOW.
(usage): Explain exit status.
2004-12-09 17:48:57 +00:00
Paul Eggert
73eca3827e Undo previous change. 2004-12-08 23:05:42 +00:00
Paul Eggert
394d21a31e Undo previous change; it's already there. 2004-12-08 23:05:13 +00:00
Paul Eggert
0f504f3f36 * src/join.c (usage): Mention that input files should be sorted. 2004-12-08 23:03:02 +00:00
Paul Eggert
98fe5b67ac (usage): Mention that input files should be sorted. 2004-12-08 23:02:45 +00:00
Paul Eggert
7a0a0d4e7c * NEWS: Document new UTC+HH:MM date syntax, and put date changes together. 2004-12-08 22:38:26 +00:00
Paul Eggert
05af1b4f11 Document new UTC+HH:MM date syntax, and put date changes together. 2004-12-08 22:38:10 +00:00
Paul Eggert
a00580a677 (Time of day items, Time zone items):
Describe new formats +00:00, UTC+00:00.
2004-12-08 22:27:12 +00:00
Paul Eggert
9d683a1b65 Add support for time zones like +HH:MM and UTC+HH:MM. 2004-12-08 22:26:37 +00:00
Paul Eggert
50c9e0509c (textint): New member "negative".
(time_zone_hhmm): New function.
Expect 14 shift-reduce conflicts, not 13.
(o_colon_minutes): New rule.
(time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
(yylex): Set the "negative" member of signed numbers.
2004-12-08 22:26:07 +00:00
Paul Eggert
ba5a97696f * src/factor.c (factor): Don't list 1 as a factor of 1. 2004-12-07 21:12:40 +00:00
Paul Eggert
f84a6e71fe (factor): Don't list 1 as a factor of 1.
Problem reported by Thomas Folz-Donahue.
2004-12-07 21:11:59 +00:00
Paul Eggert
29a74f8a30 * ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change: spurious "-l"s. 2004-12-07 18:44:22 +00:00
Paul Eggert
c2f3ca32d2 (AC_FUNC_GETMNTENT): Fix typo in previous change:
spurious "-l"s.
2004-12-07 18:44:07 +00:00
Jim Meyering
1a55542a7c *** empty log message *** 2004-12-06 22:45:41 +00:00
Jim Meyering
0170a262f5 *** empty log message *** 2004-12-06 22:44:39 +00:00
Jim Meyering
d28eb0923b Sanitize environment.
Otherwise, e.g., BLOCKSIZE=k would cause a failure.
2004-12-06 22:42:47 +00:00
Jim Meyering
31ae5dcf85 . 2004-12-06 22:25:12 +00:00
Paul Eggert
e4b102af0e * ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
in Autoconf 2.59.
2004-12-06 21:56:21 +00:00
Jim Meyering
97af685a66 . 2004-12-06 11:52:00 +00:00
Jim Meyering
ff2b33dcae *** empty log message *** 2004-12-06 11:50:04 +00:00
Jim Meyering
c1d66f31cf Use AC_LIBOBJ(save-cwd). 2004-12-06 10:35:27 +00:00
Jim Meyering
760cfaf4d3 Use AC_LIBOBJ(chdir-long). 2004-12-06 10:35:19 +00:00
Jim Meyering
d4579825bc (libfetish_a_SOURCES): Begin removing .c and .h file names, as they
are added to AC_LIBSOURCES directives in the corresponding m4/*.m4 files.
2004-12-06 10:10:19 +00:00
Jim Meyering
27d14caedd *** empty log message *** 2004-12-06 10:06:49 +00:00
Jim Meyering
6ec428b7f7 (gl_SAVE_CWD): Use AC_LIBSOURCES. 2004-12-06 10:06:23 +00:00
Jim Meyering
e90702fd4b *** empty log message *** 2004-12-06 10:03:46 +00:00
Jim Meyering
f005eb317b (gl_FUNC_MEMPCPY): Use AC_LIBSOURCES. 2004-12-06 10:03:39 +00:00
Jim Meyering
3d1e6484f5 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES. 2004-12-06 10:02:18 +00:00
Jim Meyering
6cfc09f125 *** empty log message *** 2004-12-06 10:01:39 +00:00
Jim Meyering
5a36ddca47 (gl_FUNC_CHDIR_LONG): Use AC_LIBSOURCES. 2004-12-06 10:01:34 +00:00
Jim Meyering
1de56a5dc3 . 2004-12-06 10:00:43 +00:00
Jim Meyering
1cded77e7e (gl_FUNC_OPENAT): Use AC_LIBSOURCES.
(gl_PREREQ_GETCWD): Use AC_REQUIRE.
2004-12-06 10:00:14 +00:00
Jim Meyering
b272341d19 . 2004-12-05 23:15:01 +00:00
Jim Meyering
9e373e5a86 *** empty log message *** 2004-12-05 23:01:57 +00:00
Jim Meyering
6d96f41e1a (test_vector): Avoid test failure when
_POSIX2_VERSION=199209 is in the environment, or when building on
e.g., OpenBSD 3.2.
2004-12-05 23:01:53 +00:00
Jim Meyering
39a1adb375 *** empty log message *** 2004-12-05 21:11:56 +00:00
Jim Meyering
22dd0ce5f2 (unit-test): Depend on t-fpending.
Make the target .PHONY.
2004-12-05 21:11:48 +00:00
Jim Meyering
9390aecd60 *** empty log message *** 2004-12-05 20:17:08 +00:00
Jim Meyering
35dc3847ac . 2004-12-05 20:03:06 +00:00
Jim Meyering
f31e5e6def *** empty log message *** 2004-12-05 20:02:28 +00:00
Jim Meyering
89647b7451 (LDADD): Define. 2004-12-05 20:02:23 +00:00
Jim Meyering
55ec26651c . 2004-12-05 19:50:46 +00:00
Jim Meyering
fbd9c5dc91 *** empty log message *** 2004-12-05 19:38:32 +00:00
Jim Meyering
8bd2bc6d00 *** empty log message *** 2004-12-05 19:37:56 +00:00
Jim Meyering
334c1b1801 (unit-test): New target.
(check): Depend on it.
(noinst_PROGRAMS): Define.
2004-12-05 19:37:49 +00:00
Jim Meyering
ff13a286c7 Test the __fpending function.
This ensures that if there is an error in the definition of the
PENDING_OUTPUT_N_BYTES expression, we'll find about it right away;
that value is used only in the rare event that close_stdout's
fclose fails with EBADF.
2004-12-05 19:28:15 +00:00
Jim Meyering
a2b300f156 revert to 1.8, now that we test the offending
condition externally (via new t-fpending.c program)
2004-12-05 19:27:47 +00:00
Jim Meyering
9df080cfc5 *** empty log message *** 2004-12-05 18:53:40 +00:00
Jim Meyering
2edd4a3769 *** empty log message *** 2004-12-05 18:52:37 +00:00
Jim Meyering
210212143b Include <stdlib.h>.
(__fpending): Abort if PENDING_OUTPUT_N_BYTES is negative.
This ensures that if there is an error in the definition of the
PENDING_OUTPUT_N_BYTES expression, we'll find about it right away;
this value is used only in the rare event that close_stdout's
fclose fails with EBADF.
2004-12-05 18:52:33 +00:00
Jim Meyering
821a730797 *** empty log message *** 2004-12-04 14:23:51 +00:00
Jim Meyering
b4c28f911e (cut invocation): Say when --complement is useful. 2004-12-04 14:23:48 +00:00
Jim Meyering
7d4bd07095 *** empty log message *** 2004-12-04 14:15:54 +00:00
Jim Meyering
fca9a76e83 Mention cut's new --complement option. 2004-12-04 14:15:46 +00:00
Jim Meyering
046287ab0f *** empty log message *** 2004-12-04 13:37:59 +00:00
Jim Meyering
f049ac4acc *** empty log message *** 2004-12-04 13:33:11 +00:00
Jim Meyering
ba23d0aa8d *** empty log message *** 2004-12-04 13:32:53 +00:00
Jim Meyering
7380cf792a (complement, COMPLEMENT_OPTION): New.
(longopts): Add --complement.
(usage): Say not that -b, -c, and -f `print' fields,
but rather that they `select' fields for printing.
Describe the new --complement option.
(mark_range_start): Extracted from set_fields.
(print_kth): Support --complement.
(compare_ranges): New function.
(set_fields): Rewrite the part that populates range_start_ht,
merging it with the part that populates printable_field.
(main): Handle --complement.

From Paolo Bonzini.
2004-12-04 13:32:48 +00:00
Paul Eggert
4dd208a372 * src/tail.c (tail_file): Set errnum to -1 if the initial "tail" failed. 2004-12-04 07:03:11 +00:00
Paul Eggert
cd9d7fd2bd (tail_file): Set errnum to -1 if the initial "tail" failed. 2004-12-04 07:02:35 +00:00
Paul Eggert
fcf9cad088 Mention copyright notice in latest checkin. 2004-12-03 07:34:40 +00:00
Paul Eggert
fcf37d8842 Recent changes to save-cwd, openat. 2004-12-03 07:13:31 +00:00
Paul Eggert
f85b7c2b0c Regenerate. 2004-12-03 07:12:46 +00:00
Paul Eggert
f125837030 Import from gnulib. 2004-12-03 07:10:19 +00:00
Paul Eggert
5a6d8bdbb4 Add copyright notice.
(gl_FUNC_OPENAT): Require gl_USE_SYSTEM_EXTENSIONS, since Solaris
requires __EXTENSIONS__ to be defined when compiling pedantically.
2004-12-03 07:01:35 +00:00
Paul Eggert
dddbfd198a Add copyright and authorship notice.
(AT_FDCWD): Use the same value Solaris 9 uses.
2004-12-03 06:44:30 +00:00
Paul Eggert
d2117d918c Include "openat.h" before other include files.
Include "exitfail.h".
(openat): Remove #undef; no longer needed now that we include openat.h first.
(rpl_openat): Add comment about mode_t promotion.  Simplify
code a bit by moving initializations around.  Use exit_failure
rather than EXIT_FAILURE.
2004-12-03 06:43:59 +00:00
Paul Eggert
f2173447ba save-cwd.c: Include "save-cwd.h" before other include files.
(O_DIRECTORY): Remove; not needed here, since "." must be
a directory.  All uses removed.
(save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
universal on Suns, and we also need to test for IRIX.
Revamp code to use 'if' rather than '#if'.
Avoid unnecessary comparison of cwd->desc to 0.
2004-12-03 06:25:03 +00:00
Jim Meyering
2da62dbe9a *** empty log message *** 2004-12-02 07:47:18 +00:00
Jim Meyering
d6fed8d35e With using --color and with LS_COLORS saying not to color
executables, don't stat every file.

(is_colored): New function.
(gobble_file): Use it.
(main): Use it here, in place of too-strict tests against NULL:
if either ORPHAN or MISSING was set to 0 from LS_COLORS, the
old test would fail.
2004-12-02 07:47:14 +00:00
Paul Eggert
a7c9d8dae8 Assume setlocale, locale.h, and localeconv exist and work. 2004-12-02 06:57:05 +00:00
Paul Eggert
c82d4cf0b5 (different): Assume setlocale exists. 2004-12-02 06:56:28 +00:00
Paul Eggert
bba741d6c2 Assume locale.h exists.
(HAVE_SETLOCALE): Remove.
2004-12-02 06:56:08 +00:00
Paul Eggert
543696d559 (C_DECIMAL_POINT): Remove. Use changed to '.'.
Assume setlocale exists.
(thousands_sep): Renamed from th_sep.
(IS_THOUSANDS_SEP): Remove.  All uses replaced by comparisons.
(NONZERO): Parenthesize use of arg.
(numcompare): Avoid duplicate loads.  Use ISDIGIT as boolean, for
consistency.  Avoid unnecessary negation by reversing
fraccompare args.
(main): Rewrite localeconv call to match seq.c.
2004-12-02 06:55:31 +00:00
Paul Eggert
d153646bbc (decimal_point): Treat like sort. Now char.
All uses changed.
2004-12-02 06:55:08 +00:00
Paul Eggert
037268041b (keycmp): Assume setlocale exists. 2004-12-02 06:54:40 +00:00
Paul Eggert
a0a9d4c6f4 (compare_files): Assume setlocale exists. 2004-12-02 06:54:16 +00:00
Paul Eggert
1cdb15c44c (gl_MACROS): Assume localeconv exists. 2004-12-02 06:53:49 +00:00
Paul Eggert
7e01484e7f (gl_HUMAN): Assume locale.h and localeconv exist. 2004-12-02 06:53:29 +00:00
Paul Eggert
98902d4bfb (gl_HARD_LOCALE): Assume locale.h and setlocale exist. 2004-12-02 06:53:00 +00:00
Paul Eggert
08da1bb439 Assume <locale.h> exists.
(human_readable): Assume localeconv exists.
2004-12-02 06:52:10 +00:00
Paul Eggert
2dea4ec8b0 Assume <locale.h> exists.
Include "strdup.h".
(GLIBC_VERSION): New macro.
(hard_locale): Assume setlocale exists.
Rewrite to avoid #ifdef.
Use strdup rather than malloc + strcpy.
2004-12-02 06:51:46 +00:00
Paul Eggert
c98d52c34a * src/ls.c (sort_files): Minor cleanup. 2004-12-02 00:32:00 +00:00
Paul Eggert
29f4f8aff6 (sort_files): Minor cleanup. Remove an unnecessary
'volatile' on a local variable.  Rewrite to avoid unnecessary
double-assignment to 'func' in the usual case where strcoll does
not fail.
2004-12-02 00:31:43 +00:00
Paul Eggert
782bb54c6b Regenerate. 2004-12-01 07:16:36 +00:00
Paul Eggert
02496d03b5 * getcwd.c: Use system getcwd first, if appropriate. 2004-12-01 07:13:35 +00:00
Paul Eggert
2e9a7b5621 * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
2004-12-01 07:13:11 +00:00
Paul Eggert
d35469d4f4 (gl_FUNC_GETCWD_PATH_MAX):
Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
2004-12-01 07:12:46 +00:00
Paul Eggert
3b8fa2ba33 (is_ENAMETOOLONG): New macro.
(__getcwd.c): Don't restore errno; glibc doesn't.
[HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
first, falling back to our code only if its results look suspicious.
Ensure that the resulting buffer is only as large as necessary.
2004-12-01 07:12:14 +00:00
Paul Eggert
52a0364803 Go back to including <sys/types.h> rather than <stddef.h>; this is
needed on OpenBSD since its <utmp.h> needs time_t without making sure
that time_t is defined.
2004-12-01 07:07:38 +00:00
Paul Eggert
5528311c08 * readutmp.m4 (gl_READUTMP): Don't check for sys/param.h. 2004-11-30 21:48:33 +00:00
Paul Eggert
761241d981 (gl_READUTMP): Don't check for sys/param.h. 2004-11-30 21:48:23 +00:00
Paul Eggert
525e6c12c3 Make readutmp more consistent among its client code. 2004-11-30 21:41:31 +00:00
Paul Eggert
3b3530057a (USER_PROCESS, RUN_LVL, INIT_PROCESS, LOGIN_PROCESS,
DEAD_PROCESS, BOOT_TIME, NEW_TIME, UT_TYPE_UNDEF, UT_TYPE): Remove.
(IS_USER_PROCESS): Move to ../lib/readutmp.h.
(UT_TYPE_RUN_LVL, UT_TYPE_INIT_PROCESS, UT_TYPE_LOGIN_PROCESS,
UT_TYPE_DEAD_PROCESS, UT_TYPE_NEW_TIME): New macros.
(gethostname): Remove decl.
(list_entries_who, scan_entries): Use the new macros defined above,
for consistency with pinky, uptime, and users.
2004-11-30 21:41:09 +00:00
Paul Eggert
a0d8525938 (list_entries_users): Use IS_USER_PROCESS
instead of by-hand code.
2004-11-30 21:40:52 +00:00
Paul Eggert
78a436fb0b (print_uptime): Use IS_USER_PROCESS and
UT_TYPE_BOOT_TIME instead of by-hand code.
2004-11-30 21:40:29 +00:00
Paul Eggert
76d1b4a434 (gethostname): Remove decl.
(scan_entries): Use IS_USER_PROCESS instead of by-hand code.
* src/uptime.c (print_uptime): Use IS_USER_PROCESS and
UT_TYPE_BOOT_TIME instead of by-hand code.
2004-11-30 21:40:12 +00:00
Paul Eggert
fa60e4cb6f Don't include <sys/types.h>, <errno.h>,
<sys/param.h>, <time.h>; not needed to establish interface.
Include <stddef.h> instead.
(errno): Remove decl.
(HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
(UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
2004-11-30 21:39:46 +00:00
Paul Eggert
8f7cca3d72 Include readutmp.h first.
Include <errno.h>, since readutmp.h no longer does that.
2004-11-30 21:39:26 +00:00
Jim Meyering
16fbc3a5eb tweak temp file name to be more consistent 2004-11-30 15:01:01 +00:00
Jim Meyering
4ed96077e8 . 2004-11-30 14:58:46 +00:00
Jim Meyering
81e7557423 . 2004-11-30 14:53:34 +00:00
Jim Meyering
28ad853219 *** empty log message *** 2004-11-30 14:53:26 +00:00
Jim Meyering
05a4f05eb5 *** empty log message *** 2004-11-30 14:53:17 +00:00
Jim Meyering
e98803ca48 rename from chdir.m4 2004-11-30 14:52:34 +00:00
Jim Meyering
2f024a1430 rename to chdir-long.m4 2004-11-30 14:52:21 +00:00
Jim Meyering
943f676c01 . 2004-11-30 14:48:02 +00:00
Jim Meyering
e9725a701a renamed to chdir-long.[ch] 2004-11-30 14:47:47 +00:00
Jim Meyering
a4304d4187 *** empty log message *** 2004-11-30 14:47:16 +00:00
Jim Meyering
de39e47a40 (libfetish_a_SOURCES): Reflect name changes: chdir.[ch] -> chdir-long.[ch] 2004-11-30 14:47:08 +00:00
Jim Meyering
e7acb8d8dd Include chdir-long.h rather than chdir.h.
(restore_cwd): Use chdir_long, not chdir.
2004-11-30 14:46:25 +00:00
Jim Meyering
34a8030d36 *** empty log message *** 2004-11-30 14:46:09 +00:00
Jim Meyering
8f3175736e [!defined PATH_MAX]: Define chdir_long to chdir on systems like the Hurd. 2004-11-30 14:45:28 +00:00
Jim Meyering
86c716db61 Renamed from chdir.h. 2004-11-30 14:35:46 +00:00
Jim Meyering
036728c2e8 Renamed from chdir.c. 2004-11-30 14:35:33 +00:00
Jim Meyering
2a807da972 *** empty log message *** 2004-11-30 14:24:55 +00:00
Jim Meyering
d70691fc4b (O_DIRECTORY): Define, if necessary.
(memchrcspn): Tiny wrapper around memchr.
(rpl_chdir): Use memchrcspn rather than strcspn.
2004-11-30 14:24:40 +00:00
Jim Meyering
f76c6fa030 *** empty log message *** 2004-11-28 22:43:11 +00:00
Jim Meyering
98be5b6685 (rpl_openat): Also accept optional mode parameter.
Adjust prototype
2004-11-28 22:42:08 +00:00
Jim Meyering
26b53ffffe (rpl_openat): Also accept optional mode parameter. 2004-11-28 22:41:57 +00:00
Jim Meyering
fd6af25d9a Don't let error uses in #if-0'd code trigger `make distcheck' failure. 2004-11-28 22:24:38 +00:00
Jim Meyering
c272386d5d (main): Appease the gods. 2004-11-28 21:29:16 +00:00
Jim Meyering
2fadd0587d . 2004-11-28 21:26:17 +00:00
Jim Meyering
62b271974b *** empty log message *** 2004-11-28 21:26:06 +00:00
Jim Meyering
ee222ef744 Add lib/openat.c. 2004-11-28 21:26:02 +00:00
Jim Meyering
b69fc7b949 *** empty log message *** 2004-11-28 21:13:59 +00:00
Jim Meyering
bb4833e756 *** empty log message *** 2004-11-28 21:03:13 +00:00
Jim Meyering
f039b8f8bf Include "chdir.h", so that if save_cwd/getcwd
saves a name longer than PATH_MAX, restore_cwd's chdir can use it.
2004-11-28 21:03:08 +00:00
Jim Meyering
b174e49170 . 2004-11-28 21:01:03 +00:00
Jim Meyering
1fe6097208 *** empty log message *** 2004-11-28 20:55:38 +00:00
Jim Meyering
45eac4b408 *** empty log message *** 2004-11-28 20:55:05 +00:00
Jim Meyering
72dcf681bc (gl_MACROS): Require gl_FUNC_CHDIR. 2004-11-28 20:54:54 +00:00
Jim Meyering
a67e741070 . 2004-11-28 20:52:04 +00:00
Jim Meyering
77eb2b6b8a *** empty log message *** 2004-11-28 20:51:57 +00:00
Jim Meyering
d91b876d72 (libfetish_a_SOURCES): Add chdir.h and openat.h. 2004-11-28 20:51:46 +00:00
Jim Meyering
fa871415f9 *** empty log message *** 2004-11-28 20:51:05 +00:00
Jim Meyering
79e2f2c1f9 *** empty log message *** 2004-11-28 20:50:26 +00:00
Jim Meyering
30df68dfe2 This is a robust version of chdir, in that it can handle directory
names longer than PATH_MAX.
2004-11-28 20:49:14 +00:00
Jim Meyering
c373cdcf61 add another FIXME, to make it obvious 2004-11-28 20:49:04 +00:00
Jim Meyering
72287ac271 This is a robust version of chdir, in that it can handle directory
names longer than PATH_MAX.
2004-11-28 20:48:29 +00:00
Paul Eggert
1c42e10a79 * coreutils.texi (du invocation): Minor cleanups. 2004-11-27 09:37:42 +00:00
Paul Eggert
57fbaa8a74 (du invocation): Use if=/dev/null rather
than :|.  Problem reported by Dan Jacobson.
Use "seek=2GiB" rather than the wordier "seek=`echo '2^31'|bc`".
Say "KiB" not the (inaccurate) "kilobytes".
Similarly for "GiB" and "gigabytes".
2004-11-27 09:37:22 +00:00
Paul Eggert
6942c45d50 Regenerate. 2004-11-26 08:11:52 +00:00
Paul Eggert
06123d8639 Fix problem reported by Scott S. Tinsley for HP-UX 11.11 using
HP's ANSI C compiler.
2004-11-26 07:41:22 +00:00
Paul Eggert
03a690ddca Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
HP's ANSI C compiler.
2004-11-26 07:40:56 +00:00
Paul Eggert
da741f89bd (MIN) [defined MIN]: Don't define, since it's already defined. 2004-11-26 07:40:41 +00:00
Paul Eggert
cc08c826e9 (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
Declaring int functions causes warnings on some modern systems and
shouldn't be needed to compile on ancient ones.
2004-11-26 07:40:23 +00:00
Paul Eggert
d45902c31b (link, symlink): Remove decls. 2004-11-26 07:39:57 +00:00
Paul Eggert
cef32c7c86 (stat): Remove decl. 2004-11-26 07:39:32 +00:00
Paul Eggert
2a3e586dee (stat, lstat, rename): Remove decls. 2004-11-26 07:39:14 +00:00
Paul Eggert
9c8b155e38 filesystems -> file systems 2004-11-26 07:27:45 +00:00
Jim Meyering
38bcbe928b remove SPACEs before TABs 2004-11-25 22:17:55 +00:00
Paul Eggert
a7fab534e4 Recent getcwd fixes. 2004-11-25 20:05:15 +00:00
Paul Eggert
178c469a29 Recent getcwd fixes. 2004-11-25 20:04:39 +00:00
Paul Eggert
bae2ff5ac8 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
that's all we need now.
2004-11-25 20:02:20 +00:00
Paul Eggert
549aae50d2 (gl_PREREQ): Add gl_FUNC_MEMPCPY. 2004-11-25 20:01:08 +00:00
Paul Eggert
52e6017887 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX. 2004-11-25 19:29:36 +00:00
Paul Eggert
fb95865e11 (gl_FUNC_GETCWD_NULL): Renamed from
AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
name accordingly.
(gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
accommodate new getcwd.c.
2004-11-25 19:28:28 +00:00
Paul Eggert
22c4a7e5c2 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
Use the _ONCE methods, for efficiency.
Check for fcntl.h.  In test program, include <errno.h>
and <fcntl.h> if available.  Remove old K&R cruft from
test program.  Check for common errors in GNU/Linux,
OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
don't do AC_LIBOBJ, as that's getcwd.m4's job.
2004-11-25 19:26:50 +00:00
Paul Eggert
639d4a42b7 David MacKenzie's old code was removed, so give
credit only to Jim Meyering and adjust the copyright dates.
Do not include <limits.h>, <stdio.h>, <sys/types.h>,
<stdlib.h>, <unistd.h>, "pathmax.h".
Instead, include "xgetcwd.h" (first) and "getcwd.h".
(INITIAL_BUFFER_SIZE): Remove.
(xgetcwd): Rely on getcwd, since we now depend on a reliable one.
2004-11-25 19:25:07 +00:00
Paul Eggert
69790900a4 Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
with the following changes.
(__set_errno): Parenthesize properly.
Include <stdbool.h>.
(MIN, MAX, MATCHING_INO): New macros.
(__getcwd): Define with prototype, not K&R form.
Use heuristics to allocate default buffer on stack if possible.
If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
behavior, and to avoid the PATH_MAX limit when computing
../../../../...
Use MATCHING_INO to compare inode number to file.
Check for arithmetic overflow in size calculations.
Fix bug in reallocation of dot array that caused getcwd to fail
on directories nested deeper than 75.
Be more careful about saving errno on error.
Do not use realloc; use only free+malloc, as this is a bit
more flexible and avoids a needless copy operation.
Do not inspect st_dev and st_ino for symbolic links; POSIX
doesn't specify the latter.
Check for closedir errors.
Avoid needless casts.
Use "#ifdef weak_alias" around weak_alias, to be like other
glibc code.
The following changes to getcwd.c have effect only when used in
gnulib; they have no effect inside glibc proper.
(#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
as alloca isn't used.
(alloca, __alloca): Likewise.
[!_LIBC]: Include "getcwd.h", "mempcpy.h".
Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
unconditionally, as gnulib assumes C89 or better.
Do not include <sys/param.h>.
(errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
better.
(NULL) [!defined NULL]: Remove; we assume C89 or better.
Include <dirent.h> in a way that is compatible with modern Autoconf.
(_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
New macros, if not already defined.
Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
Use "_LIBC", not "defined _LIBC", for consistency.
(HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
a mempcpy module.
(__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
(GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
2004-11-25 19:23:32 +00:00
Paul Eggert
4396b05c13 (libfetish_a_SOURCES): Add getcwd.h, mempcpy.h. 2004-11-25 19:20:13 +00:00
Paul Eggert
2e1b2830be Initial revision. 2004-11-25 19:19:38 +00:00
Paul Eggert
0efae757fc Imported from gnulib. 2004-11-25 19:17:55 +00:00
Paul Eggert
73d62d67d0 Imported from gnulib. 2004-11-25 19:16:12 +00:00
Jim Meyering
63ca304e54 . 2004-11-25 12:44:01 +00:00
Jim Meyering
d2edfe4f83 (.x.1): Remove now-unnecessary use of
locally-added --program-name=NAME option.  Now, help2man gets
the name from the [NAME] section (i.e. from our .x file).
2004-11-25 12:43:53 +00:00
Jim Meyering
e599921d04 *** empty log message *** 2004-11-25 12:42:10 +00:00
Jim Meyering
21baebf122 Import help2man-1.35.1. 2004-11-25 12:37:11 +00:00
Jim Meyering
6c69127c83 *** empty log message *** 2004-11-25 12:36:34 +00:00
Jim Meyering
b93a105e99 Use sha1sum', not shasum'. 2004-11-25 12:36:26 +00:00
Jim Meyering
6f0e498ccd Use install', not ginstall' in the one-line
description.  Reported by Brendan O'Dea.
2004-11-25 12:30:03 +00:00
Jim Meyering
253012e531 *** empty log message *** 2004-11-24 21:30:22 +00:00
Jim Meyering
3475a2d993 Since the changes of 2004-05-22, the u.saved_cwd member at
the bottom of the active-directory stack was no longer
strictly necessary.  This change removes that member and uses
the newer cwd_state parameter for the final restore_cwd.

(struct AD_ent) [u]: Remove now-unnecessary union.
[dev_ino]: Rename from `a'.
(AD_pop_and_chdir): Add a parameter to play the role of just-removed
bottom-of-stack cwd-state member.
(AD_pop_and_chdir): No longer return boolean.  Adjust caller.
(AD_push_initial): Remove CWD parameter.  Adjust caller.
2004-11-24 21:30:18 +00:00
Jim Meyering
c2a8340977 remove trailing blanks 2004-11-23 21:39:21 +00:00
Paul Eggert
8e9bd23013 Sync from gnulib. 2004-11-23 21:03:45 +00:00
Paul Eggert
398491f381 Minor performance improvements and cleanups for "touch". 2004-11-23 20:44:13 +00:00
Paul Eggert
557bd55cd2 (posix_date): Remove; not needed as a static var.
All uses rewritten.
(touch): Use new futimens function to operate more efficiently
in some cases.  Don't stat/fstat existing file when
(!amtime_now && change_times == (CH_ATIME | CH_MTIME)); the
old time stamps aren't needed in that case.
(main): change_times is int, not bool.  Simplify test for
change_times.
2004-11-23 20:43:47 +00:00
Paul Eggert
93da1db297 (gl_UTIMENS): Check for futimes function. 2004-11-23 20:43:17 +00:00
Paul Eggert
e595badf4e utimens upgrade to support futimes. 2004-11-23 20:42:54 +00:00
Paul Eggert
e8c19bde9f * utimens.m4 (gl_UTIMENS): Check for futimes function. 2004-11-23 20:42:31 +00:00
Paul Eggert
22ea135643 (__attribute__, ATTRIBUTE_UNUSED): New macros.
(futimens): New function, which uses futimes if available.
(futimens, utimens): Support timespec==NULL, with same semantics
as utime and utimens.
2004-11-23 20:42:13 +00:00
Paul Eggert
8dacb336d6 (futimens): New decl. 2004-11-23 20:41:51 +00:00
Jim Meyering
d3c44694c2 add a comment 2004-11-23 11:02:03 +00:00
Jim Meyering
b90f1a4404 tweak comment 2004-11-23 09:44:17 +00:00
Jim Meyering
5035b7181d *** empty log message *** 2004-11-23 09:15:08 +00:00
Jim Meyering
7080ab9623 Revert last change, since it seems EBADF is always defined. 2004-11-23 09:15:05 +00:00
Jim Meyering
622e156501 *** empty log message *** 2004-11-22 14:24:11 +00:00
Jim Meyering
b2a9a7f986 (EBADF): Fail with `#error ...' if it's not defined,
asking the user to report the problem.
2004-11-22 14:24:04 +00:00
Jim Meyering
9f0568e81e *** empty log message *** 2004-11-21 21:02:49 +00:00
Paul Eggert
e62df8f031 * src/install.c (usage): Avoid usage that runs afoul of Docbook. 2004-11-21 07:29:50 +00:00
Paul Eggert
c0b70ba29b (usage): Avoid usage that runs afoul of Docbook
translation.  Problem reported by Eric S. Raymond.
2004-11-21 07:29:31 +00:00
Paul Eggert
270b5a9cb1 Restore dd's noctty flag, reverting the change of 2004-04-08. 2004-11-20 08:57:21 +00:00
Paul Eggert
e5526bf63c (flags, usage, main): Add noctty flag to dd. 2004-11-20 08:56:44 +00:00
Paul Eggert
2852d59d22 (dd invocation): Add noctty flag to dd. 2004-11-20 08:56:05 +00:00
Paul Eggert
8adf2bc638 Add noctty flag to dd. 2004-11-20 08:55:22 +00:00
Jim Meyering
79fc6d94b6 (usage): Clarified description of --no-group (-G),
--human-readable (-h), --inode (-i), --size (-s), --time,
and --time-style.
2004-11-19 21:41:00 +00:00
Jim Meyering
5e0dcea162 *** empty log message *** 2004-11-19 21:40:51 +00:00
Jim Meyering
273e13d35b (find_dir_entry): Update comment to match reality. 2004-11-19 21:36:00 +00:00
Jim Meyering
d12ad92257 *** empty log message *** 2004-11-19 19:30:12 +00:00
Jim Meyering
148f896119 (usage): Clarify description of --author.
Tweak indentation so that help2man creates better nroff.
2004-11-19 19:29:55 +00:00
Jim Meyering
caf6c3459c *** empty log message *** 2004-11-19 18:57:05 +00:00
Jim Meyering
d766e90d4c (check_file): Don't check stdout for errors here. 2004-11-19 18:56:16 +00:00
Jim Meyering
ab955bd3f6 *** empty log message *** 2004-11-18 14:47:01 +00:00
Jim Meyering
e26c30aa38 (robust_getcwd): Correct the comment: this function constructs the
directory name.  The caller prints it.
2004-11-18 14:46:47 +00:00
Paul Eggert
90988bac82 Sync from gnulib. 2004-11-17 23:14:24 +00:00
Paul Eggert
0884570c4e Sync from gnulib. 2004-11-17 23:09:12 +00:00
Paul Eggert
a18a5093f8 Regenerate. 2004-11-17 03:50:34 +00:00
Paul Eggert
787605e540 * canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo. 2004-11-17 03:46:55 +00:00
Paul Eggert
d7209a2f7c * xgetcwd.c: Work around Solaris 9 bug. 2004-11-17 03:42:45 +00:00
Paul Eggert
2b88597a04 Include <limits.h>, for PATH_MAX.
(xgetcwd): Set errno correctly when failing.
Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
the failure is actually due to a PATH_MAX problem.
2004-11-17 03:41:16 +00:00
Paul Eggert
6ad1c2cfd7 stat portability fix for Solaris 9. 2004-11-17 03:12:56 +00:00
Paul Eggert
5bb58a71ad (STATFS): New macro, for portability to Solaris 9.
(do_statfs): Use it.
2004-11-17 03:12:06 +00:00
Paul Eggert
99e10817b0 Merge from gnulib. 2004-11-17 01:59:29 +00:00
Paul Eggert
b209e757d8 Recent checkins for getopt, canon-host. 2004-11-17 01:07:07 +00:00
Paul Eggert
2fb1ffff55 (_getopt_internal, _getopt_internal_r,
_getopt_long_r, _getopt_long_only_r): argv is char **,
not char *__getopt_argv_const *.
2004-11-17 01:06:02 +00:00
Paul Eggert
6fab3fdec9 (getopt_long, _getopt_long_r, getopt_long_only,
_getopt_long_only_r): Argv is now char**, not char *__getopt_argv_const*.
2004-11-17 01:04:52 +00:00
Paul Eggert
b7a4adc026 (getopt_long, _getopt_long_r, getopt_long_only,
_getopt_long_only_r): Argv is now char **, not char *__getopt_argv_const*.
2004-11-17 01:03:54 +00:00
Paul Eggert
b8790e71df (_getopt_initialize, _getopt_internal_r, _getopt_internal):
New arg POSIXLY_CORRECT.  All callers changed.
(getopt): Argv is now char * const *, as per standard.
(_getopt_internal_r, _getopt_internal): Argv is now char **,
not char *__getopt_argv_const *.
2004-11-17 01:02:47 +00:00
Paul Eggert
2efbed01c2 Getopt update and recent Debian fixes. 2004-11-17 00:58:19 +00:00
Paul Eggert
c68ae6252c (main): argv is not const. 2004-11-17 00:57:11 +00:00
Paul Eggert
d1bc398fa0 (main): Use getopt_long rather than getopt. 2004-11-17 00:56:25 +00:00
Paul Eggert
6fca9011e5 Add putty, screen-bce. 2004-11-16 20:49:17 +00:00
Paul Eggert
6d988bb20d (usage): Improve documentation along the lines suggested
by Debian 5.2.1-2.
2004-11-16 20:47:28 +00:00
Paul Eggert
ed2fcc6f9a Fix memory leak. 2004-11-16 20:44:34 +00:00
Paul Eggert
82a15eefa3 (gl_CANON_HOST): Check for getaddrinfo. 2004-11-16 20:39:19 +00:00
Paul Eggert
4ec053b59d Include "strdup.h".
(canon_host): Use getaddrinfo if available, so that IPv6 works.
Use strdup instead of malloc/strcpy to duplicate strings.
2004-11-16 20:38:33 +00:00
Paul Eggert
5f2cb6ee45 doc patches inspired by Debian coreutils 5.2.1-2. 2004-11-16 20:31:21 +00:00
Paul Eggert
4aaf33c29e (General output formatting): -x doesn't have
an operand.
(Formatting the file names): Warn that even with -N unprintable
chars are still printed as '?' some times.
(rm invocation): Reword rm -d to note that it's sometimes useful
on non-directories.
(logname invocation, users invocation, who invocation):
The utmp and wtmp file names vary from system to system.
2004-11-16 20:29:58 +00:00
Paul Eggert
871422ab9d * getdate.y (tORDINAL): New token. 2004-11-16 08:18:49 +00:00
Paul Eggert
511f4b4165 * getdate.texi (General date syntax): "next" is 1, not 2. 2004-11-16 08:18:05 +00:00
Paul Eggert
37c8b2b848 (General date syntax): "next" is 1, not 2.
Document that "second" isn't allowed as an ordinal number.
2004-11-16 08:16:57 +00:00
Paul Eggert
1a126a5899 (tORDINAL): New token.
(day, relunit): Allow it for relative times.
(relative_time_table): Use tORDINAL for ordinals.
2004-11-16 08:16:10 +00:00
Paul Eggert
13ebfcf5c2 Support for human_space_before_unit. 2004-11-16 07:54:07 +00:00
Paul Eggert
7ce1f197f3 (human_readable): Support human_space_before_unit. 2004-11-16 07:53:08 +00:00
Paul Eggert
c49c8d6fee (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
(human_space_before_unit): New constant.
2004-11-16 07:51:59 +00:00
Paul Eggert
bf45c74d3c New dd operand "status=noxfer". Change diagnostic wording slightly. 2004-11-16 07:50:07 +00:00
Paul Eggert
1855111a62 * coreutils.texi (dd invocation): Reword the new dd message. 2004-11-16 07:49:15 +00:00
Paul Eggert
ae5c7e83c6 (dd invocation): Reword the new dd message. 2004-11-16 07:48:36 +00:00
Paul Eggert
0c3a6880f4 (@Tests): Use status=noxfer to avoid
problems with regression testing.
2004-11-16 07:46:58 +00:00
Paul Eggert
586b8823f9 (C_ASCII, C_EBCDIC, C_IBM, C_BLOCK, C_UNBLOCK,
C_LCASE, C_UCASE, C_SWAB, C_NOERROR, C_NOTRUNC, C_SYNC, C_TWOBUFS,
C_NOCREAT, C_EXCL, C_FDATASYNC, C_FSYNC): Now constants, not
macros.
(STATUS_NOXFER, statuses): New constants.
(usage, print_stats, scanargs): Add support for status=noxfer.
(usage): Update status output to match new behavior.
(print_stats): Always output complete byte count.
Put space between numbers and units, as SI requires.
Use ngettext so that i18n can use plurals for "byte" and "second".
Don't multiply by 1e-9 (inexact); divide by 1e9 (which is exact).
(iflag_error_msgid, oflag_error_msgid): Remove; replace uses by
the string.
2004-11-16 07:46:08 +00:00
Paul Eggert
537acced26 New dd operand "status=noxfer". 2004-11-16 07:45:15 +00:00
Paul Eggert
f90de3d443 dd now outputs total bytes, seconds, and bytes per second. 2004-11-15 06:50:44 +00:00
Paul Eggert
9213ced1a7 (dd invocation): dd now outputs total bytes,
seconds, and bytes per second.
2004-11-15 06:50:23 +00:00
Paul Eggert
7d8f8967f3 Include "human.h".
(w_bytes, start_time): New vars.
(usage): Document new I/O statistics output
(print_stats): Output new I/O statistics.
(cleanup): Do statistics after closing stdin and stdout, so that
the times are more accurate.
(write_output, dd_copy): Count output bytes.
(main): Get initial value of clock.
2004-11-15 06:49:59 +00:00
Paul Eggert
c7169d726f (dd_LDADD): Add $(LIB_CLOCK_GETTIME). 2004-11-15 06:49:36 +00:00
Paul Eggert
07e17aad2a dd now outputs total bytes, seconds, and bytes per second. 2004-11-15 06:49:08 +00:00
Jim Meyering
e9dfe6f0d5 *** empty log message *** 2004-11-14 13:55:17 +00:00
Jim Meyering
484dcf4133 *** empty log message *** 2004-11-14 11:08:22 +00:00
Jim Meyering
99c79f5adc *** empty log message *** 2004-11-14 09:58:19 +00:00
Jim Meyering
2317cc3fe3 Backslash-escape `-'s in email addresses, so that they are
rendered properly in UTF-locales.

(escape_hyphens): New function.
(main): Call it on email addresses.
2004-11-14 09:48:05 +00:00
Jim Meyering
81720d306e (usage): Put the description of `[-n] STRING'
on two lines, one for `-n STRING' and one for `STRING' so that
help2man properly escapes the `-'.  Otherwise, the hyphen is
rendered inappropriately in UTF-8 locales.
2004-11-14 08:56:53 +00:00
Jim Meyering
cf53828748 restore file, now that closeout needs the function again 2004-11-14 08:49:46 +00:00
Jim Meyering
16fb1d072c *** empty log message *** 2004-11-14 08:36:43 +00:00
Jim Meyering
c5b7dbc58e (zaptemp): Mark new diagnostic for translation. 2004-11-14 08:36:30 +00:00
Jim Meyering
1dc343bb3a *** empty log message *** 2004-11-14 00:40:03 +00:00
Jim Meyering
efc10a4914 Do require gl_FUNC_FPENDING. 2004-11-14 00:34:04 +00:00
Jim Meyering
17b50219bd . 2004-11-14 00:33:27 +00:00
Jim Meyering
21bf149e86 . 2004-11-14 00:32:50 +00:00
Jim Meyering
d4ad5906ca . 2004-11-14 00:29:36 +00:00
Jim Meyering
fa83bf0b37 . 2004-11-14 00:20:33 +00:00
Jim Meyering
f094ac4413 (close_stdout): Don't fail just because stdout was
closed initially, since some programs don't write to stdout in the
normal course of operation (other than --version and --help), and
we don't want this function to make e.g. `cp 1 2 >&-' fail.
But do fail if it was closed and someone has tried to write to it.
E.g., printf 'foo' >&-
2004-11-14 00:20:01 +00:00
Jim Meyering
d417dd764f (libfetish_a_SOURCES): Add __fpending.h. 2004-11-14 00:19:28 +00:00
Jim Meyering
9406daed19 Restore these files. They're useful after all. 2004-11-14 00:19:01 +00:00
Jim Meyering
8ce39412c3 New file. Test today's closeout.c change. 2004-11-14 00:17:24 +00:00
Jim Meyering
545e8add4d (TESTS): Add close-stdout. 2004-11-14 00:17:10 +00:00
Paul Eggert
7e8e1db3d3 * src/sort.c (zaptemp): Warn if a temporary file is not removed. 2004-11-13 04:49:14 +00:00
Paul Eggert
af6bd870f4 (zaptemp): Warn if a temporary file is not removed.
Prune unnecessary accesses to volatile locations, and take some
code out of the critical section that didn't need to be in it.
2004-11-13 04:45:58 +00:00
Paul Eggert
1b2e96f830 Make the newly-introduced critical section a bit smaller. 2004-11-13 01:02:48 +00:00
Paul Eggert
fc19c2ddad * src/sort.c: Avoid O(N**2) behavior when there are many temporary files.
Fix a race condition.
2004-11-13 00:53:23 +00:00
Paul Eggert
54e862641b Document today's changes to "sort". 2004-11-13 00:52:32 +00:00
Paul Eggert
8aed6ea305 Avoid O(N**2) behavior when there are many temporary files.
(temptail): New variable, so that we can easily append to list.
(create_temp_file): Create new files at end of list, so that
searching the list has O(N**NMERGE) behavior instead of O(N**2).
(zaptemp): Update temptail if needed.
(mergefps, merge): Accept new arg that counts temp files, and keep it
up to date as we create and remove temporaries.  This is for
efficiency, so that we don't call zaptemp so often.
All callers changed.
(sort): Don't create array in reverse order, since the list of
temporaries is now in the correct order.

(zaptemp): Protect against race condition: if 'sort' is
interrupted in the middle of zaptemp, it might unlink the
temporary file twice, and the second time this happens the file
might already have been created by some other process.

(create_temp_file): Use offsetof for clarity.
(die): Move it up earlier, to clean up the code a bit.
2004-11-13 00:50:56 +00:00
Paul Eggert
0174a06214 Move "Version" to top. 2004-11-12 19:37:10 +00:00
Paul Eggert
222bd8934b Support longer page numbers in "pr", and allow most file names starting
with "+".
2004-11-12 19:36:51 +00:00
Paul Eggert
80877e6a38 Document recent changes to "pr". 2004-11-12 19:36:18 +00:00
Paul Eggert
48eaa73827 (strtoumax): Declare if not declared.
(skip_to_page, first_page_number, last_page_number, page_number,
first_last_page, print_header):
Use uintmax_t for page numbers.
(first_last_page): Remove unnecessary forward declaration.
Do not modify arg (it is now a const pointer).
Return a true if successful, false (without print a diagnostic)
otherwise.
(main): If +XXX does not specify a valid page range, treat it
as a file name.  This follows the response to Open Group XCU ERN 41
<http://www.opengroup.org/sophocles/show_mail.tpl?source=L&listname=austin-group-l&id=7717>,
which says the behavior is allowed.
(skip_to_page): When starting page number exceeds page count,
print both numbers in the diagnostic.
(print_header): Detect page number overflow.
2004-11-12 19:35:54 +00:00
Paul Eggert
3c530e63c5 Sync from gnulib and regenerate. 2004-11-12 06:00:01 +00:00
Jim Meyering
e5839b5b28 remove trailing blanks 2004-11-11 09:19:42 +00:00
Paul Eggert
9d8ce0f399 Sync from gnulib. 2004-11-11 06:07:57 +00:00
Paul Eggert
d2b4386d29 Sync from gnulib. 2004-11-11 05:02:14 +00:00
Jim Meyering
f0dd13bca8 *** empty log message *** 2004-11-10 08:24:58 +00:00
Paul Eggert
443e4a9026 Sync from gnulib. 2004-11-09 20:54:43 +00:00
Jim Meyering
3b9295c319 *** empty log message *** 2004-11-09 20:31:46 +00:00
Jim Meyering
594d5064c9 [__APPLE__]: Include <mach/machine.h> and <mach-o/arch.h>.
(main) [__APPLE__]: Get the processor type via syscall rather than
hard-coding "powerpc".  From toby@opendarwin.org.
2004-11-09 20:31:39 +00:00
Jim Meyering
15c10278a7 *** empty log message *** 2004-11-07 07:05:43 +00:00
Jim Meyering
4d223551d7 (merge): Remove declarations of now-unused variables. 2004-11-07 07:05:38 +00:00
Paul Eggert
faba9a39bc * src/sort.c: Avoid some silly merges. 2004-11-06 23:47:13 +00:00
Paul Eggert
a31bc04af0 (first_same_file): Remove. Move most of the code to....
(avoid_trashing_input): New function.
(merge): Avoid some silly merges, e.g., copying a single file to
a temporary file when there are exactly 17 input files to merge.
Take a count of temporary files rather than a max_merge arg.
All uses changed.
2004-11-06 23:46:47 +00:00
Jim Meyering
7d354a1286 . 2004-11-06 22:46:44 +00:00
Jim Meyering
eee82e1382 remove now-unused files 2004-11-06 22:46:21 +00:00
Jim Meyering
569ae8c54b . 2004-11-06 22:45:58 +00:00
Jim Meyering
37edf32068 (libfetish_a_SOURCES): Remove __fpending.h, now that it's no longer used. 2004-11-06 22:45:47 +00:00
Jim Meyering
b1635d809b . 2004-11-06 22:44:56 +00:00
Jim Meyering
65a7fb91ae remove now-unused file 2004-11-06 22:44:48 +00:00
Jim Meyering
23b19be323 Don't require gl_FUNC_FPENDING. 2004-11-06 22:44:14 +00:00
Jim Meyering
078c89bb76 *** empty log message *** 2004-11-06 22:37:28 +00:00
Jim Meyering
d77d7fe158 Ensure that no close failure goes unreported.
(close_stdout): Always close stdout.  I.e., don't
return early when it seems there's nothing to flush.
Don't include __fpending.h.
2004-11-06 22:37:23 +00:00
Jim Meyering
d73a00981c (xfclose): Don't close stdout here (just flush it),
since close_stdout now closes stdout unconditionally.
2004-11-06 22:37:02 +00:00
Paul Eggert
3e0f7c5dc3 * src/sort.c: Fixx size_t and alloca bugs. 2004-11-05 23:02:46 +00:00
Paul Eggert
8a0f42dff9 (inittables, sort_buffer_size, getmonth, mergefps,
first_same_file, merge, sort, main): Use size_t for indexes into arrays.
This fixes some unlikely havoc-wreaking bugs (e.g., more than INT_MAX
temporary files).
(getmonth, keycompare, compare): Rewrite to avoid need for alloca,
thus avoiding unchecked stack overflow in some cases.  As a side
effect this improve the performance of "sort -M" by a factor of 4
on my benchmarks.
2004-11-05 23:02:09 +00:00
Paul Eggert
5312181e5b Regenerate. 2004-11-04 00:02:19 +00:00
Jim Meyering
0753839f7a remove trailing spaces 2004-11-03 23:31:20 +00:00
Paul Eggert
3b39a3022a Log recent getdate-etc. related changes. 2004-11-03 23:25:32 +00:00
Paul Eggert
80b4895f7a Sync from gnulib. 2004-11-03 23:24:07 +00:00
Paul Eggert
2c0b64899b Include "vasprintf.h" since we use vasprintf now. 2004-11-03 23:17:29 +00:00
Paul Eggert
4b738e2f5d Sync from gnulib. 2004-11-03 23:15:44 +00:00
Paul Eggert
90d6db1fbb (check-AUTHORS): Don't assume \? works in a sed
expression; it's not portable.  Problem reported by Albert Chin.
Don't invoke a program more than once.
2004-11-03 23:12:55 +00:00
Paul Eggert
fe92cc42b2 (version): New variable, containing author info,
for benefit of AUTHORS check.  Use it when acting on --version option.
2004-11-03 23:11:45 +00:00
Paul Eggert
adff4ef93c Remove duplicate lines. Remove bogus "chroot:" in groups line. 2004-11-03 23:10:50 +00:00
Paul Eggert
61619a55a5 (libfetish_a_SOURCES): Remove setenv.c. 2004-11-03 23:05:47 +00:00
Paul Eggert
b0c285c9da New file, from gnulib. 2004-11-03 23:04:03 +00:00
Paul Eggert
abd8f84b4a (gl_PREREQ): Require gt_FUNC_SETENV. 2004-11-03 23:03:17 +00:00
Jim Meyering
36ed808afb . 2004-11-03 20:54:10 +00:00
Jim Meyering
fcd1aefe35 . 2004-11-03 20:53:32 +00:00
Paul Eggert
8655b4eabd Don't #define and #undef getopt around <stdlib.h>,
as this breaks the new regime that does "#define getopt rpl_getopt".
2004-11-03 18:44:33 +00:00
Paul Eggert
2dff6afdde * Makefile.am (_W, W_): New macros. 2004-11-03 17:39:23 +00:00
Paul Eggert
51bdc5fb8b (_W, W_): New macros.
(check-texinfo): Use them instead of assuming grep -w (which is not portable).
Problem reported by Albert Chin.
2004-11-03 17:39:00 +00:00
Jim Meyering
29f1f2906c (libfetish_a_SOURCES): Add setenv.c and setenv.h. 2004-11-03 09:20:23 +00:00
Jim Meyering
3c8d863cc6 remove trailing blanks 2004-11-03 08:54:51 +00:00
Jim Meyering
187d2d06e8 *** empty log message *** 2004-11-03 08:50:38 +00:00
Jim Meyering
9f6eecc987 quote(...) file names in diagnostics. 2004-11-03 08:50:11 +00:00
Paul Eggert
8d05798863 Import from gnulib. 2004-11-03 08:04:49 +00:00
Paul Eggert
da9f67dcf6 Regenerate. 2004-11-03 07:47:08 +00:00
Paul Eggert
5a5367474b Sync from gnulib. 2004-11-03 07:44:15 +00:00
Paul Eggert
47bcfc54da * NEWS: Document getdate changes. 2004-10-30 00:06:22 +00:00
Paul Eggert
a4f1136b52 Document getdate changes. 2004-10-30 00:05:00 +00:00
Paul Eggert
7babf896a7 Sync from gnulib (for getdate changes). 2004-10-29 23:46:23 +00:00
Paul Eggert
a4a87ad5bb Sync from gnulib. 2004-10-29 23:43:34 +00:00
Paul Eggert
df8ea7a4e8 Document TZ better, and adjust to new getdate.texi.
(Top): Update menu.
(pr invocation, Formatting file timestamps, touch invocation,
stat invocation, who invocation, date invocation, Options for date):
Mention TZ.
2004-10-29 23:22:09 +00:00
Jim Meyering
caf82de4ba `tac /proc/modules' would print nothing 2004-10-29 22:10:36 +00:00
Jim Meyering
dc3504e276 *** empty log message *** 2004-10-29 22:05:04 +00:00
Jim Meyering
404fe2a045 *** empty log message *** 2004-10-29 21:59:39 +00:00
Jim Meyering
0c1c5b483d * src/tac.c (tac_file): Remove temporary prototype and move this
function `down' so that it precedes definition of tac_nonseekable.
2004-10-29 21:59:33 +00:00
Jim Meyering
bbda05b8ee *** empty log message *** 2004-10-29 21:55:21 +00:00
Jim Meyering
259934f3a4 `tac /proc/modules' would print nothing
(copy_to_temp): Renamed from save_stdin, since
now it copies a general file descriptor, not just stdin.
(tac_nonseekable): Renamed/adapted from tac_stdin.
(tac_file): Get fd via `open' directly rather than via fopen/fileno,
since we never used the stream.  Perform "-" to stdin mapping here
rather than in main.  Determine whether a file is seekable,
by trying to `lseek' to its end, and dispatch to tac_seekable or
tac_nonseekable accordingly.
(main): Rewrite argument handling now that it uses only tac_file.
Reported by Harald Dunkel in http://bugs.debian.org/278604.
2004-10-29 21:55:15 +00:00
Jim Meyering
7230399d89 *** empty log message *** 2004-10-29 21:50:15 +00:00
Paul Eggert
d6ef01c78f * coreutils.texi (Standards conformance): Use "head -10" rather
than "head -1".
2004-10-28 07:51:25 +00:00
Paul Eggert
57ac7f5a02 (Standards conformance): Use "head -10" rather than "head -1" as
example of obsolete usage, since the POSIX consensus is that "head -1"
could be supported even if we don't yet have clear consensus on "head
-10".  See today's revision to the SUS FAQ
<http://www.opengroup.org/austin/papers/single_unix_faq.html>.
2004-10-28 07:50:51 +00:00
Paul Eggert
acdb9f592e * coreutils.texi (pathchk invocation): Options must precede operands. 2004-10-25 03:20:29 +00:00
Paul Eggert
ea75231962 (pathchk invocation): Options must precede operands. 2004-10-25 03:20:02 +00:00
Paul Eggert
3eb23529c5 * mktime.c (leapyear): Arg is long int, not int. 2004-10-24 23:25:18 +00:00
Paul Eggert
c707d3acbe (leapyear): Arg is long int, not int. Change imported from gnulib. 2004-10-24 23:24:47 +00:00
Jim Meyering
2168e06a9d . 2004-10-21 10:39:15 +00:00
Jim Meyering
0492f5ec4a *** empty log message *** 2004-10-21 10:38:56 +00:00
Jim Meyering
37c518aaf4 *** empty log message *** 2004-10-21 10:38:37 +00:00
Jim Meyering
90b7cc00d0 *** empty log message *** 2004-10-21 10:38:09 +00:00
Jim Meyering
2469a229d5 Correct my patch of 2004-10-18.
(rm): Destroy the saved_cwd here (via cwd_state),
if necessary, not in remove_dir.  Otherwise, removing multiple
`.'-relative nonempty directories no longer worked.
2004-10-21 10:37:18 +00:00
Jim Meyering
0f8445ab90 *** empty log message *** 2004-10-21 09:19:06 +00:00
Jim Meyering
c40c07b39b (TESTS): Add leak-fd. 2004-10-21 09:17:50 +00:00
Jim Meyering
61ae10db4e *** empty log message *** 2004-10-21 09:16:52 +00:00
Jim Meyering
7a6efe58da (TESTS): Add dot-rel. 2004-10-21 08:07:27 +00:00
Jim Meyering
cc66dd6e01 *** empty log message *** 2004-10-21 08:06:26 +00:00
Paul Eggert
a27ab616ed * src/fmt.c (usage): Improve description of --prefix. 2004-10-20 21:17:15 +00:00
Paul Eggert
a5929282a9 (usage): Improve description of --prefix.
Problem reported by Edward Welbourne.
2004-10-20 21:16:56 +00:00
Paul Eggert
a6976346b1 * man/uniq.x: Change summary. 2004-10-20 20:21:23 +00:00
Paul Eggert
caee2e567f Change summary so that it doesn't imply that uniq writes to its input file. 2004-10-20 20:19:28 +00:00
Jim Meyering
ba57edcd43 *** empty log message *** 2004-10-18 08:59:17 +00:00
Jim Meyering
e302d38421 Plug a leak that would cause rm or a cross-device mv to fail when
operating on too many command-line-specified nonempty directories.

(remove_dir): Destroy the `struct saved_cwd' on the
top of the stack before returning.  This usually closes the file
descriptor that was used to return to the original working directory.
Reported by Cyril Bouthors in
http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/3048
2004-10-18 08:59:12 +00:00
Jim Meyering
35abc478c6 rm (and mv when moving between partitions) no longer fails when
operating on too many command-line-specified nonempty directories.
2004-10-18 08:58:55 +00:00
Jim Meyering
e37a412052 *** empty log message *** 2004-10-18 08:56:19 +00:00
Jim Meyering
3d84ea7559 *** empty log message *** 2004-10-18 08:26:51 +00:00
Jim Meyering
f2f7e25dc4 *** empty log message *** 2004-10-18 08:19:41 +00:00
Jim Meyering
385f1ab2a0 (validate_file_name): Give a more descriptive
diagnostic when pathconf fails.  This also avoids an unwarranted
warning from gcc-3.3.5 about a format not being a string literal.
2004-10-18 08:19:26 +00:00
Jim Meyering
ccbf47a8e1 *** empty log message *** 2004-10-18 07:56:26 +00:00
Jim Meyering
41d58525e3 (main): Remove declaration of unused local, optc. 2004-10-18 07:54:01 +00:00
Jim Meyering
bc8a38f102 (main): Remove declaration of unused local, opt. 2004-10-18 07:53:45 +00:00
Jim Meyering
4e1cbbdb67 (main): Remove declaration of unused local, c. 2004-10-18 07:52:19 +00:00
Paul Eggert
d7ac96d586 Regenerate. 2004-10-18 06:34:20 +00:00
Paul Eggert
d0bc999e2f pathchk cleanups, gnulib merge 2004-10-18 06:33:20 +00:00
Paul Eggert
8d177f684a (AUTHORS): Add self.
Change "path" to "file name" whenever possible.
Remove usage comment, as it was a duplication of the code or doc.
Include <wchar.h> if available.
(mbrlen, mbstate_t) [! (HAVE_MBRLEN && HAVE_MBSTATE_T)]: Define.
(NEED_PATHCONF_WRAPPER, PATH_MAX, PATH_MAX_FOR, NAME_MAX,
pathconf_wrapper, portable_chars, dir_ok): Remove.
(NAME_MAX_MINIMUM, PATH_MAX_MINIMUM): New macros.
(pathconf, _PC_NAME_MAX, _PC_PATH_MAX): Define if nonexistent.
(portable_chars_only): New arg FILELEN.
Don't assume ASCII; we might be on an EBCDIC host.
Don't assume unibyte locale in diagnostic.
(component_start, component_len): New functions.
(validate_file_name): Renamed from validate_path.  All uses changed.
Pretty much a complete rewrite.
Don't make copy of file arg.  Always append trailing slash to
pathconf arg, just in case it's a symlink (this is pure paranoia;
we don't know of any hosts where the trailing slash is required).
Use size_t instead of long int when possible.
Avoid need to call pathconf in most practical cases.
Don't use euidaccess several times to test searchability;
just use lstat once.  Reword diagnostic to put the (often very long)
file names last.
2004-10-18 06:30:49 +00:00
Paul Eggert
765016e9e2 (gl_MACROS): Check for mbrlen, for pathchk.
(gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
2004-10-18 06:30:22 +00:00
Paul Eggert
91b17c0c82 (pathchk invocation): Overall lengths are
OS limits, not file system limits.  Component length checks
apply to all components, not merely to existing ones.  Say
that nonexistent names are not errors.  For -p, omit all
checks based on the underlying file system, not merely length
checks.  Explain what the portabile file name character set is.
2004-10-18 06:29:51 +00:00
Paul Eggert
586910ff61 Add self to pathchk. 2004-10-18 06:29:19 +00:00
Paul Eggert
0581f17dca Sync from gnulib. 2004-10-18 05:06:47 +00:00
Paul Eggert
3ae9ce3622 * src/printf.c (usage): Mention Unicode, and use H for hex digits. 2004-10-15 19:32:04 +00:00
Paul Eggert
c34c0ac31e (usage): Mention Unicode, and use H for hex digits. 2004-10-15 19:31:47 +00:00
Paul Eggert
7e20a09f8f (printf invocation): Mention ISO/IEC 10646 as well as Unicode. 2004-10-15 19:31:26 +00:00
Paul Eggert
235bae84e1 (printf invocation): Mention ISO/IEC 10646 as
well as Unicode.  Various minor formatting cleanups.
2004-10-15 19:31:08 +00:00
Jim Meyering
2d383a77c9 *** empty log message *** 2004-10-14 19:55:18 +00:00
Jim Meyering
bd98640cd8 *** empty log message *** 2004-10-14 19:22:50 +00:00
Paul Eggert
c16bd9bbb6 * tests/stty/row-col-1: Set LC_ALL=C. 2004-10-13 23:07:09 +00:00
Paul Eggert
681b457b55 *** empty log message *** 2004-10-13 23:06:57 +00:00
Paul Eggert
4ef7839e26 * coreutils.texi (sort invocation): Move LC_ALL, LC_COLLATE 2004-10-13 23:05:08 +00:00
Paul Eggert
71e1d43186 (sort invocation): Move LC_ALL, LC_COLLATE
index entries to proper paragraph.
2004-10-13 21:47:58 +00:00
Jim Meyering
3618fc84c3 *** empty log message *** 2004-10-13 19:25:34 +00:00
Jim Meyering
8be7fa2d6a (fts_read): When about to fail (by returning NULL) due
to a failed fchdir or failed fts_safe_changedir call, set
`sp->fts_cur = p'.  Do this by removing the explicit `return NULL;'
statements and setting p->fts_errno so execution falls through
to the common-case code below.  Otherwise, after such a failure,
calling fts_close would attempt to free an already-freed buffer.
Reported by Luis Lopez Lopez in http://bugs.debian.org/276352.
2004-10-13 19:25:30 +00:00
Jim Meyering
292abe4bf0 *** empty log message *** 2004-10-12 16:58:54 +00:00
Jim Meyering
3d19556081 Add .mpc as an audio suffix, too. 2004-10-12 16:58:51 +00:00
Jim Meyering
947f803833 *** empty log message *** 2004-10-12 16:54:28 +00:00
Jim Meyering
44ac21f970 Add .flac as an audio suffix. 2004-10-12 16:54:24 +00:00
Jim Meyering
a8580f3fa4 (check-texinfo): Add builtin' and builtins' to the list of words to avoid. 2004-10-12 09:14:56 +00:00
Jim Meyering
1ba2928bd0 (check-texinfo): Add builtin' and builtins' to
the list of words to avoid.
2004-10-12 07:58:47 +00:00
Paul Eggert
5e291def7c Add missing . 2004-10-11 23:47:20 +00:00
Paul Eggert
fa4568055b * coreutils.texi (Special built-in utilities): New node.
Warn about env variable spelling.
2004-10-11 23:44:18 +00:00
Paul Eggert
23b1a403d0 (Special built-in utilities): New node.
(printf invocation): builtin -> built-in, for consistency
with POSIX terminology.
(test invocation, pwd invocation):
Use specific rather than generic language to warn about
built-in commands.
(chroot invocation, env invocation, nice invocation, nohup invocation):
Warn that command must not be a special built-in.
(env invocation): Warn about environment variables with unusual
spellings, or duplicates.
2004-10-11 23:43:49 +00:00
Jim Meyering
8acb0278ec *** empty log message *** 2004-10-11 06:49:45 +00:00
Paul Eggert
3d795da10f * src/ls.c (ignore_mode): Renamed from ignore. 2004-10-05 17:38:35 +00:00
Paul Eggert
677c71d285 (ignore_mode): Renamed from ignore, to avoid shadowing
problems.  All uses changed.
2004-10-05 17:38:15 +00:00
Jim Meyering
100e5bc72d *** empty log message *** 2004-10-05 14:52:12 +00:00
Jim Meyering
6df8e1ff63 Add an exclusion for config/texinfo.tex,
since Karl says its trailing blanks are there to stay :-)
2004-10-05 14:52:04 +00:00
Jim Meyering
041c1bc62e remove trailing blanks. 2004-10-05 07:13:08 +00:00
Paul Eggert
75c5c677d6 Regenerate. 2004-10-05 06:53:58 +00:00
Paul Eggert
00873ce076 Rename xclone to xmemdup. Remove obsolete xalloc macros.
Remove xstrdup.c and move xstrdup implementation to xmalloc.c.
2004-10-05 06:52:09 +00:00
Paul Eggert
01f57610c4 * src/expr.c (NEW, OLD): Remove. 2004-10-05 06:34:12 +00:00
Paul Eggert
bcae12896c (NEW, OLD): Remove, partly to avoid
reference to obsolescent macro XMALLOC.
All uses replaced by xmalloc and free.
2004-10-05 06:33:53 +00:00
Paul Eggert
1ccdcbff40 Sync from gnulib. 2004-10-05 06:05:20 +00:00
Paul Eggert
021196e07a Regenerate. 2004-10-04 20:19:28 +00:00
Paul Eggert
1cc46fbf53 Sync from gnulib, to remove dependencies of other modules on unlocked-io. 2004-10-04 20:18:43 +00:00
Paul Eggert
be1d0e7285 Regenerate. 2004-10-04 04:12:53 +00:00
Paul Eggert
69dee46913 Sync from gnulib. 2004-10-04 04:12:18 +00:00
Paul Eggert
55fbe6686a Sync from gnulib. 2004-10-04 04:09:41 +00:00
Jim Meyering
14f5062c30 *** empty log message *** 2004-09-28 06:34:29 +00:00
Jim Meyering
ca4c25cccb (usage): Clarify: --retry works only with --follow=name.
Reported by Nik A. Melchior in http://bugs.debian.org/273781.
2004-09-28 06:34:22 +00:00
Paul Eggert
7b020a3739 * src/od.c (format_address_paren): Don't output c if it's '\0'. 2004-09-28 01:09:41 +00:00
Paul Eggert
2001cde81e (format_address_paren): c is optional, so don't output it if it's '\0'. 2004-09-28 01:09:03 +00:00
Jim Meyering
80664a7d82 *** empty log message *** 2004-09-27 07:23:23 +00:00
Jim Meyering
2f8369c3bf . 2004-09-27 07:22:39 +00:00
Jim Meyering
f05c57367e Use [[] in place of \[, since cvsu doesn't handle the latter,
and both cvs and cvsu handle the former.
2004-09-27 07:20:46 +00:00
Paul Eggert
98ebe281ad Add "ls --hide". 2004-09-26 22:56:53 +00:00
Paul Eggert
92b1470e88 Add "ls --hide".
(file_ignored): Renamed from file_interesting, with
inverted return value.  Accept the file name, not a struct dirent *.
All uses changed.  Avoid the expense of calling fnmatch if the
file is ignorable due to leading '.'.
(all_files, really_all_files): Removed; replaced by:
(ignore): New variable.  All uses changed.
(IGNORE_DEFAULT, IGNORE_DOT_AND_DOTDOT, IGNORE_MINIMAL, HIDE_OPTION):
New constants.
(hide_patterns): New variable.
(long_options, decode_switches, file_ignored, usage):
Add support for --hide.
(patterns_match): New function.
(usage): Replace "hide" with "ignore" in explanation, to avoid
confusion.
2004-09-26 22:56:38 +00:00
Paul Eggert
b7cffb8c5e (ls invocation): Document "ls --hide". 2004-09-26 22:56:04 +00:00
Paul Eggert
45bf776dee Add "ls --hide". 2004-09-26 22:55:05 +00:00
Paul Eggert
707dcca8f3 Fix location of "Version 5.3.0." 2004-09-26 07:29:15 +00:00
Paul Eggert
8c8a0a972b Remove unused variable. 2004-09-26 07:10:53 +00:00
Paul Eggert
9b7a56a161 * src/ls.c: Fix problem with multibyte decimal points in human-readable output. 2004-09-26 07:07:06 +00:00
Paul Eggert
1842a21b23 (gobble_file, print_long_format): Don't assume that
human-readable output has a byte count equal to its column width;
this isn't always true in locales where the radix character is not
'.' or ','.
(format_user_or_group): Revamp code to match the above fix;
this avoids the (very faint) possibility of integer overflow.
2004-09-26 07:06:07 +00:00
Paul Eggert
d3781e4cb2 Regenerate 2004-09-24 23:38:43 +00:00
Paul Eggert
cc4bf3499f "chmod -w file" doc 2004-09-24 23:35:13 +00:00
Paul Eggert
0b40dfd34f (TESTS): Add 'usage'. 2004-09-24 23:34:41 +00:00
Paul Eggert
83674d774d Initial revision 2004-09-24 23:34:07 +00:00
Paul Eggert
4f5ed75ee4 (main): Revamp option processing to support "chmod -r -w file". 2004-09-24 23:33:39 +00:00
Paul Eggert
6ca4627b99 (chmod invocation): Warn about "chmod -w file". 2004-09-24 23:33:13 +00:00
Paul Eggert
498719e7c6 chmod -r -w x fixes. 2004-09-24 23:32:52 +00:00
Paul Eggert
6b05d8254b Mention that "chmod -r -w x" now works as expected. 2004-09-24 23:32:37 +00:00
Jim Meyering
ccda626d77 *** empty log message *** 2004-09-24 08:14:44 +00:00
Jim Meyering
0e31e894e6 . 2004-09-24 08:13:37 +00:00
Jim Meyering
2e4a50b9ee *** empty log message *** 2004-09-24 08:13:10 +00:00
Jim Meyering
0bec4a7a8c (CVS_LIST): Use --types=AFGM option so that
it lists only cvs-controlled regular files.
2004-09-24 08:13:02 +00:00
Paul Eggert
f7dc51fab5 * modechange.c (mode_compile): Don't decrement past start of string. 2004-09-24 07:01:23 +00:00
Paul Eggert
d7caebfe16 (mode_compile): Don't decrement a pointer that
points to the start of a string, as the C Standard says the
resulting behavior is undefined.
2004-09-24 07:00:59 +00:00
Jim Meyering
ed37158ead *** empty log message *** 2004-09-24 06:58:46 +00:00
Jim Meyering
6e5759969f New file, used by rules in coreutils' Makefile.maint. 2004-09-24 06:58:38 +00:00
Jim Meyering
eb5eb6fd7a *** empty log message *** 2004-09-24 06:42:47 +00:00
Jim Meyering
9b838f64c8 (xalloc_die): Declare to be extern', not static'
to avoid a warning from gcc-3.4.1.  Reported by Paul Eggert.
2004-09-24 06:34:43 +00:00
Paul Eggert
68e6b1cd3b * Makefile.maint (CVS_LIST): New macro. 2004-09-24 05:53:21 +00:00
Paul Eggert
acb0c67d6a (CVS_LIST): New macro.
(sc_space_tab, sc_prohibit_atoi_atof, sc_file_system,
sc_prohibit_jm_in_m4, sc_system_h_headers, sc_sun_os_names,
sc_trailing_blank, po-check): Use it instead of the
nonstandard "cvsu --list".
2004-09-24 05:53:05 +00:00
Paul Eggert
666c12eaa4 Regenerate. 2004-09-23 20:31:42 +00:00
Paul Eggert
4bc5655bc3 New test case obs-b.
err-[134] no longer need _POSIX2_VERSION=199209.
Fix comments to match revised 'tail' behavior.
2004-09-23 20:30:54 +00:00
Paul Eggert
6834104df6 Add comments for tests/tail/Test.pm. 2004-09-23 20:29:57 +00:00
Paul Eggert
358ee6b153 (parse_obsolete_option): Bring back support
for obsolete option followed by non-obsolete, or by more
than one file.  When obsolete, conform to SUSv2 rather than
original POSIX 1003.2-1992, as SUSv2 corrected the case of
"tail -c".  Add support for the SUSv2 "b" modifier.
2004-09-23 20:28:10 +00:00
Paul Eggert
aacd5ddd96 Fix obsolete "tail" option description. 2004-09-23 20:27:15 +00:00
Paul Eggert
9a9f80bc65 (tail invocation): Fix bugs in the description of
the obsolete syntax (e.g., it does not support -k or -m).  Warn
about usages like "tail -" and "tail -c 4" that are ambigous on
older systems.
2004-09-23 20:26:31 +00:00
Paul Eggert
4e2b20d9b7 More backward-compatibility fixes for "tail". 2004-09-23 20:25:38 +00:00
Paul Eggert
3e9f3d2755 Describe SUSv2 etc. tail fixes. 2004-09-23 20:24:52 +00:00
Jim Meyering
eecd99d134 *** empty log message *** 2004-09-22 20:20:42 +00:00
Jim Meyering
639bc72cbf Remove lib/xmalloc.c.
Add +lib/xalloc-die.c.
2004-09-22 20:20:29 +00:00
Jim Meyering
4e98671f47 Use automake-1.9.2. Regenerate dependent files. 2004-09-22 20:19:35 +00:00
Jim Meyering
cdcf84e644 *** empty log message *** 2004-09-22 20:19:10 +00:00
Jim Meyering
c9461eac70 Use automake-1.9.2. Regenerate dependent files. 2004-09-22 20:18:41 +00:00
Jim Meyering
ad803f1e3a Use automake-1.9.2. Regenerate dependent files. 2004-09-22 20:18:09 +00:00
Jim Meyering
745b7762a1 *** empty log message *** 2004-09-22 20:16:41 +00:00
Jim Meyering
cc6fefeb09 Remove trailing blanks. 2004-09-22 20:16:38 +00:00
Jim Meyering
b018a4495c Remove extraneous spaces before TAB. 2004-09-22 20:15:49 +00:00
Jim Meyering
ea94d80627 *** empty log message *** 2004-09-22 20:14:48 +00:00
Jim Meyering
9258132a73 Remove trailing blank. 2004-09-22 20:14:25 +00:00
Jim Meyering
5a08ac2246 *** empty log message *** 2004-09-22 20:13:31 +00:00
Jim Meyering
e04de0ce8e (struct dirstack_state) [current_arg_jumpbuf]: Improve the comment. 2004-09-22 20:13:09 +00:00
Jim Meyering
e1f8edcb7b *** empty log message *** 2004-09-22 20:11:18 +00:00
Jim Meyering
b0a3bb7aed (enum) [ALG_MD5]: Define to be 1, not 0. 2004-09-22 20:11:10 +00:00
Jim Meyering
470e384363 (xalloc_die): Declare to be static. 2004-09-22 20:09:41 +00:00
Jim Meyering
1c6e93bd12 (remember_created): Declare as `extern'. 2004-09-22 20:09:09 +00:00
Jim Meyering
e09b9a32bd (copy): Declare as `extern'. 2004-09-22 20:08:59 +00:00
Jim Meyering
a399cd6876 (chown_files): Declare as `extern'. 2004-09-22 20:08:51 +00:00
Jim Meyering
acb87bd31e . 2004-09-22 20:07:02 +00:00
Jim Meyering
3659726384 (check-AUTHORS): New rule.
(check): Depend on it.
2004-09-22 20:06:44 +00:00
Jim Meyering
4ed4812fe8 Generate. 2004-09-22 20:03:50 +00:00
Jim Meyering
7ff5102854 (syntax-check-rules): Remove duplicate sc_tight_scope.
(sc_system_h_headers): Also exclude copy.h; it includes <stdbool.h>.
2004-09-22 20:02:53 +00:00
Jim Meyering
cce2236cbd Remove trailing blanks. 2004-09-22 20:00:58 +00:00
Jim Meyering
5414dae31f Remove trailing blanks. 2004-09-22 20:00:37 +00:00
Jim Meyering
b4fb292a82 remove trailing blank 2004-09-22 19:59:20 +00:00
Paul Eggert
e8014b940c * src/ls.c (decode_switches): Don't compare a short value to SIZE_MAX. 2004-09-22 19:47:59 +00:00
Paul Eggert
058d0dab92 (decode_switches): Don't compare a short value
to SIZE_MAX: GCC sometimes complains.
2004-09-22 19:47:38 +00:00
Paul Eggert
afa60ee222 getopt cleanup. 2004-09-21 22:27:07 +00:00
Paul Eggert
81ca57a91d Remove unused "case 0". 2004-09-21 22:26:42 +00:00
Paul Eggert
718c00df82 Adjust to new wording in diagnostic. 2004-09-21 22:25:51 +00:00
Paul Eggert
9873bd7eb6 (main): Remove unused "case 0".
(verbose): Now bool, not int.
(VERBOSE_OPTION): New enum.
(longopts, main): Use it.
2004-09-21 22:13:53 +00:00
Paul Eggert
26877d8d31 Don't include "long-options.h". 2004-09-21 22:13:13 +00:00
Paul Eggert
9fb20db0af Don't include "long-options.h".
(main): Remove unused "case 0".
2004-09-21 22:12:55 +00:00
Paul Eggert
1ccaf98c8c (longopts): Add --help, --version.
(main): Use longopts rather than parse_long_options.
Don't include "long-options.h".
2004-09-21 22:12:13 +00:00
Paul Eggert
288994697f (longopts): Add --help, --version.
(main): Use longopts rather than parse_long_options.
(main): Don't reorder arguments, so that we can check weird file names.
2004-09-21 22:11:28 +00:00
Paul Eggert
ca316df53c Remove unused "case 0".
(long_opts): Standardize on NULL vs 0.
2004-09-21 22:10:39 +00:00
Paul Eggert
31bf55d54c (main): Remove unused "case 0".
(long_options): Standardize on NULL vs 0.
2004-09-21 22:09:52 +00:00
Paul Eggert
4ef2590268 Remove now-unused long-options static var.
(main): Use getopt where it suffices, not getopt_long.
2004-09-21 22:09:09 +00:00
Paul Eggert
3456364b8c (main): Use getopt where it suffices, not getopt_long. 2004-09-21 22:07:51 +00:00
Paul Eggert
aa1ed28185 Reject unknown options. 2004-09-21 22:05:52 +00:00
Paul Eggert
6c9dc0efd9 Reject unknown options. 2004-09-21 22:05:27 +00:00
Paul Eggert
b78d6f6d92 Include <getopt.h>.
(main): Use getopt where it suffices, not getopt_long.
2004-09-21 22:04:31 +00:00
Paul Eggert
4fa016cbc9 Include <getopt.h>.
(main): Reject unknown options.
2004-09-21 22:01:50 +00:00
Paul Eggert
0d219ee57d Include <getopt.h>.
(main): Reject unknown options.
2004-09-21 22:01:28 +00:00
Paul Eggert
d243dee60a The following commands now reject unknown options:
basename dirname factor hostname link nohup sync unlink yes
Also, pathchk no longer accepts trailing options.
2004-09-21 22:00:27 +00:00
Paul Eggert
d11d06abfa * man/rm.x: Say "the response is affirmative". 2004-09-21 07:54:15 +00:00
Paul Eggert
abc9ec97f6 Say "the response is affirmative" rather than "the
response begins with y or Y".
2004-09-21 07:53:54 +00:00
Paul Eggert
5e1765ba6c * coreutils.texi (mv invocation, rm invocation): Say "the response
is affirmative" rather than "the response begins with y or Y".
2004-09-21 05:56:21 +00:00
Paul Eggert
2e1b232b61 (mv invocation, rm invocation): Say "the response
is affirmative" rather than "the response begins with y or Y".
2004-09-21 05:56:11 +00:00
Paul Eggert
dcb7800cf2 Fix echo off-by-1 bug. 2004-09-20 07:34:26 +00:00
Paul Eggert
82a84d38cb (main): Don't dump core if POSIXLY_CORRECT and given no arguments. 2004-09-20 06:32:10 +00:00
Paul Eggert
d89f5a3b8f Remove md5sum --string. 2004-09-19 16:53:00 +00:00
Paul Eggert
83100c448b (STRING_OPTION): Remove.
(long_options, main): Remove support for undocumented and
obsolete --string option, as suggested in the 1996-09-26 patch.
2004-09-19 16:52:50 +00:00
Paul Eggert
e165ffef18 Fix sticky-directory test case bug reported by Bert Fischer. 2004-09-19 07:11:48 +00:00
Paul Eggert
d98eed0845 Don't try to remove writeable files in a sticky /tmp directory, as
SVR4-like systems (e.g., Solaris 9) let you remove such files.
2004-09-19 07:11:16 +00:00
Paul Eggert
3074778063 m5sum cleanup 2004-09-19 02:21:18 +00:00
Paul Eggert
fdac7ecb11 (STATUS_OPTION, STRING_OPTION): New enums.
(long_options, main): Use them instead of magic numbers 2 and 1.
For --string, optarg can't possibly be NULL.
2004-09-19 02:21:09 +00:00
Paul Eggert
6de3d41d5f dd invocation fixes 2004-09-19 02:14:09 +00:00
Paul Eggert
59a53b222e Log changes to dd, chroot, cksum. 2004-09-19 02:13:56 +00:00
Paul Eggert
95547591e9 (dd invocation): Distinguish between options
(e.g., --help) and operands (e.g., if=file).  Move miscellaneous
stuff after the operand descriptions, for clarity.
2004-09-19 01:46:28 +00:00
Paul Eggert
701fdccca9 (usage): Distinguish between options and operands.
(scanargs): Don't mess with argc, argv; getopt_long handles this now.
Say "operands" for operands, not "options".
(main): Use getopt_long, so that "dd --" works as POSIX requires.
2004-09-19 01:46:09 +00:00
Paul Eggert
379580a006 Check for "dd --". 2004-09-19 01:45:48 +00:00
Paul Eggert
77f80f747e (main): Usage failure is EXIT_FAIL, not EXIT_FAILURE. 2004-09-19 01:07:46 +00:00
Paul Eggert
b1d33bd46d Fix typo in previous change. 2004-09-19 01:02:30 +00:00
Paul Eggert
9f5c2a8415 (main): Reject unknown options instead of
interpreting them as a directory to chroot to.
2004-09-19 00:58:47 +00:00
Paul Eggert
21b794d06b Remove obsolete comment about POSIX 1003.2/D11.2.
The current standard (POSIX 1003.1-2004) is correct.
(crc_remainder) [defined CRCTAB]: Renamed from "remainder" to avoid
collision with builtin function.
(main) [defined CRCTAB]: Output in lowercase hexadecimal, and
output the first 0 as 8 digits, to make it easier to compare to
the text of the standard.  Output crctab to be a const array.
(crctab): Use result of above changes.
(long_options): Remove; not needed if empty.
(main): getopt_long can't return 0 here, so simplify the code.
2004-09-19 00:39:52 +00:00
Paul Eggert
3ff4c0ba42 Regenerate. 2004-09-13 13:05:51 +00:00
Paul Eggert
7f924031d6 (localedir.h): Don't redirect directly to target. 2004-09-13 13:05:08 +00:00
Paul Eggert
16321b88ed * src/Makefile.am (localedir.h): Don't redirect directly to target. 2004-09-13 13:04:37 +00:00
Paul Eggert
d51163ecb8 Regenerate. 2004-09-13 12:17:20 +00:00
Paul Eggert
6340f98cc4 Add -Wshadow. 2004-09-13 12:16:08 +00:00
Paul Eggert
1657fe1f64 Rename backup enum to avoid shadowing problems. 2004-09-13 12:15:56 +00:00
Paul Eggert
1359bf8d48 Adjust to backup enum rename. 2004-09-13 12:15:02 +00:00
Paul Eggert
3e60f6731d Adjust to backup file rename. 2004-09-13 12:13:04 +00:00
Paul Eggert
615d4b2cc8 Adjust to backup enum rename. 2004-09-13 12:12:26 +00:00
Paul Eggert
e6bcd96876 (enum backuptype): Rename none -> no_backups,
simple -> simple_backups, numbered_existing ->
numbered_existing_backups, numbered -> numbered_backups
to avoid shadowing problems.  All uses changed.
(VALID_BACKUP_TYPE): Don't evaluate arg more than once.
2004-09-13 12:11:34 +00:00
Paul Eggert
b2fadec71b (check_extension, numbered_backup):
Rename locals to avoid shadowing 'basename'.
2004-09-13 12:10:57 +00:00
Paul Eggert
e55016b54d (enum backuptype): Rename none -> no_backups,
simple -> simple_backups, numbered_existing ->
numbered_existing_backups, numbered -> numbered_backups
to avoid shadowing problems.  All uses changed.
2004-09-13 12:10:30 +00:00
Paul Eggert
d2ea67e96f (my-distcheck): When building with -Werror, also require -Wshadow. 2004-09-13 12:08:33 +00:00
Paul Eggert
79995f6018 id shouldn't fail simply because some numbers can't be resolved. 2004-09-13 10:44:02 +00:00
Paul Eggert
2cfb3f4502 (print_full_info): Don't exit with failure status simply
because a user or group number can't be turned into a name.
2004-09-13 10:43:21 +00:00
Paul Eggert
96567e89fa "tail" now handles obscure POSIX 1003.2-1992 cases better. 2004-09-10 20:54:47 +00:00
Paul Eggert
6840f212f1 (test_vector): minus-* requires
_POSIX2_VERSION=199209 now, to work correctly if there is
an input file.  err-1 and err-3 no longer errors if there
is another file.
2004-09-10 20:54:32 +00:00
Paul Eggert
160d311c8b (parse_obsolete_option): Renamed from
parse_obsolescent_option, since the options are obsolete now.
Remove bool *arg; just exit if there's an error.  Revamp to follow
POSIX 1003.2-1992 more precisely, to handle cases like "tail -
file" and "tail -10 -- file" correctly when we are conforming to
the older standard.
(main): Adjust to this change.
2004-09-10 20:54:08 +00:00
Paul Eggert
e21fadd7aa "tail" now handles obscure POSIX 1003.2-1992 cases better. 2004-09-10 20:53:53 +00:00
Paul Eggert
9eaba4a244 src/test.c (usage): Document -r, -w, -x more carefully. 2004-09-09 23:21:58 +00:00
Paul Eggert
e54cc590f7 Document test -r, -w, -x more carefully. 2004-09-09 23:21:51 +00:00
Paul Eggert
978abbd279 (test invocation): Document -r, -w, -x more carefully. 2004-09-09 23:21:38 +00:00
Paul Eggert
ffcbb97833 (usage): Document -r, -w, -x more carefully. 2004-09-09 23:21:20 +00:00
Paul Eggert
0dd3269a47 Revamp sort last-resort comparison description. 2004-09-09 23:02:40 +00:00
Paul Eggert
86a87a157d (sort invocation): -u disables the last-resort
comparison, too.  Revamp its description.
2004-09-09 23:02:12 +00:00
Paul Eggert
b0b7a0164e Document that test -h and -L don't dereference. 2004-09-09 04:15:32 +00:00
Paul Eggert
ca09408448 src/test.c: document that -h and -L don't dereference. 2004-09-09 04:15:19 +00:00
Paul Eggert
200579181f (usage): Mention that -h and -L don't dereference. 2004-09-09 04:15:02 +00:00
Paul Eggert
04ddd03a65 (test invocation): Mention that -h and -L don't dereference symlinks. 2004-09-09 04:14:49 +00:00
Paul Eggert
2d06202f5f * src/test.c (usage): Document "test" (with no args) and "[ ]". 2004-09-09 03:54:26 +00:00
Paul Eggert
fd8e71bcde (test invocation): Use better synopses. 2004-09-09 03:54:13 +00:00
Paul Eggert
47358fd2de (usage): Document "test" (with no args) and "[ ]". 2004-09-09 03:53:54 +00:00
Paul Eggert
bf5a0f1dcb Mention option-reordering, particularly with tr. 2004-09-09 00:29:27 +00:00
Paul Eggert
88fde700e1 (Common options): Some programs don't reorder
options.
(tr invocation, echo invocation, printf invocation, test invocation,
expr invocation, basename invocation, chroot invocation,
nice invocation, nohup invocation, seq invocation):
This program doesn't reorder options.
(tr invocation): Mention --help, --version, --.
(echo invocation): Mention that -- isn't special.
(test invocation): Mention that the expression is optional,
and that test ! EXPR is like ! test EXPR.
(expr invocation): Mention --help, --version.
2004-09-09 00:29:09 +00:00
Paul Eggert
66942e36a8 Fix "tr xy -z" bug. 2004-09-09 00:28:44 +00:00
Paul Eggert
73f6003f89 (fowler-1): New test case. 2004-09-09 00:28:18 +00:00
Paul Eggert
c9a4995265 (main): Don't reorder options. 2004-09-09 00:27:56 +00:00
Paul Eggert
2ac3c657c6 Document that "tr xy -z" now works as per POSIX.
Sort the descriptions.
2004-09-09 00:27:45 +00:00
Paul Eggert
3070e8cd08 Undo previous change. 2004-09-08 23:07:04 +00:00
Paul Eggert
9c8402de4c sort -u versus sort | uniq. 2004-09-08 19:29:41 +00:00
Paul Eggert
55fe28e3e9 (sort invocation): Add remarks about sort -u versus sort | uniq.
Prompted by a question from Andrew Noymer.
2004-09-08 19:29:18 +00:00
Paul Eggert
ec7650c027 c-strtod.c sets LC_ALL, not LC_NUMERIC. 2004-09-08 17:02:01 +00:00
Paul Eggert
248313ef6a (C_STRTOD): Set LC_ALL to "C", not just LC_NUMERIC, to avoid the
unlikely possibility of mixed locales screwing things up.
2004-09-08 17:00:24 +00:00
Paul Eggert
0e0adc6325 Fix "touch -- MMDDhhmm file" bug. 2004-09-07 06:23:39 +00:00
Paul Eggert
8ac79b7076 Test for "touch -- MMDDmm file" bug. Also, set
_POSIX2_VERSION=199209 and POSIXLY_CORRECT=1 so that it's
a better test for obsolescent features.
2004-09-07 06:23:09 +00:00
Paul Eggert
b8f278429d Document "touch" POSIX-conformance fix. 2004-09-07 06:22:13 +00:00
Paul Eggert
f786a91cd3 (main): Fix POSIX-conformance bug: "touch --
MMDDhhmm file" must be treated like "touch MMDDhhmm file" when
conforming to pre-2001 POSIX.
2004-09-07 06:21:46 +00:00
Paul Eggert
d1d35fc729 Emulate Solaris 8 "sort -y" better. 2004-09-07 05:09:48 +00:00
Paul Eggert
0cd2d8a70e (main): Emulate Solaris 8 and 9 "sort -y", so that
"sort -y abc" is like "sort abc" whereas "sort -y 100" is like
plain "sort".
2004-09-07 05:09:24 +00:00
Paul Eggert
47b9873ada Add NEWS item for "od" changes. 2004-09-06 07:49:21 +00:00
Paul Eggert
d225526e38 Several "od" changes for POSIX and FreeBSD compatibility. 2004-09-06 07:49:06 +00:00
Paul Eggert
50df4a8518 Several od changes for POSIX and FreeBSD compatibility. 2004-09-06 07:47:21 +00:00
Paul Eggert
772b168eb3 (od invocation): Several changes for POSIX
and FreeBSD compatibility.  Add support for XSI syntax
(POSIX 1003.1-2004).  Rename -s[N] to -S N.  Remove documentation
for -h.  -i is now -t dI (not d2) and -l is now -t dL (not d4).
2004-09-06 07:47:04 +00:00
Paul Eggert
286260ca55 Several changes for POSIX and FreeBSD compatibility.
(COMMON_SHORT_OPTIONS): Add -B, -D, -e, -F, -H, -I, -L, -O, -s, -X.
(long_options, main): --strings is now -S, not -s.
(usage): Reflect the usage changes.
(parse_old_offset): Do not issue a diagnostic on failure;
callers now do this as necessary.
(main): Support POSIX syntax.  Remove unused case 0 from getopt_long.
Add support for new short options (many undocumented) for
compatibility with FreeBSD.  Remove FIXME for -s; it's now
POSIX-compatible.  Default format is now oS, not o2.
2004-09-06 07:46:43 +00:00
Paul Eggert
b05c150fed Improve quoting doc. 2004-09-06 01:03:29 +00:00
Paul Eggert
ac161f59f7 (String tests): Improve quality of warning about
quoting strings for the shell.
2004-09-06 01:03:20 +00:00
Paul Eggert
3427d5c60c Sort options in usage message. 2004-09-06 01:00:03 +00:00
Paul Eggert
ee86084bea Stty option-parsing fixes. 2004-09-05 07:28:11 +00:00
Paul Eggert
893a0d6f31 (recover_mode): Arg is now char const *, not char *.
(main): Use STDIN_FILENO, not 0.
Simplify option-parsing code a tad.
2004-09-05 07:27:51 +00:00
Paul Eggert
a806fcf640 Check for the fixed stty option-parsing bugs. 2004-09-05 07:22:21 +00:00
Paul Eggert
9be806694a (valid_options): Remove.
(main): Fix some bugs in handling invalid option-combinations
like "stty -F".
2004-09-05 07:21:42 +00:00
Paul Eggert
c43708fda4 Regenerate. 2004-09-05 07:11:47 +00:00
Paul Eggert
c69c5ad84c Minor stat.c patches from Pozsar Balazs for GNU/Linux. 2004-09-03 21:59:03 +00:00
Paul Eggert
7ee151d229 (HAVE_STRUCT_STATXFS_F_TYPE): Fix typo that prevented
it from ever being nonzero.  Reported by Pozsar Balazs in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00189.html
(human_fstype): Add ramfs, squashfs, sysfs.
Reported by Pozsar Balazs in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00188.html
(human_fstype): Return char const *, not char *.
Simplify internals a bit, and avoid casts.
2004-09-03 21:58:36 +00:00
Paul Eggert
93bdd0d094 dd minor cleanup for conversions 2004-09-03 08:11:52 +00:00
Paul Eggert
54f4b3ce74 (usage): "alternated EBCDIC" -> "alternate EBCDIC".
(bit_count): Remove.  All uses changed to....
(multiple_bits_set): New function.
(scanargs): Use it, and check separately for each set of
incompatible options, to improve diagnostics.
(MX): Remove.
(apply_translations): Move checks for incompatible options
to scanargs, so that they're done consistently.
2004-09-03 08:11:34 +00:00
Paul Eggert
0501474249 dd conversion option cleanup. 2004-09-03 08:01:21 +00:00
Paul Eggert
6c75cc51ea (dd invocation): Specify which conversion options
are mutually exclusive.  Give a bit more detail about ascii,
ebcdic, and ibm conversions.
2004-09-03 08:00:48 +00:00
Paul Eggert
299fd05251 Output correct errno-related diagnostic on "paste" I/O errors.
Improve diet libc port.
2004-09-03 01:35:50 +00:00
Paul Eggert
53af9da394 Output correct errno-related diagnostic on "paste" I/O errors.
(write_error, xputchar): New functions.
(paste_parallel): Use correct errno value after input error.
(paste_parallel, paste_serial): Report errno value after output error.
2004-09-03 01:35:33 +00:00
Paul Eggert
d33243b5ac (paste_parallel): Improve replacement for ENDLIST and CLOSED. 2004-09-03 01:23:15 +00:00
Paul Eggert
5e2e647328 Port to diet libc. 2004-09-02 23:59:52 +00:00
Paul Eggert
905aee9238 (FTSENT): Use "unsigned short int" rather than the unportable "u_short". 2004-09-02 23:57:30 +00:00
Paul Eggert
1c5ed711bb (fts_stat, fts_open, fts_read): Use "unsigned short int"
rather than the unportable "u_short", and similarly for u_int.
2004-09-02 23:56:59 +00:00
Paul Eggert
0dd27bdf17 (dummy_closed, CLOSED, dummy_endlist, ENDLIST): Remove;
it's not portable C to assume FILE is a complete type.
(paste_parallel): Use null instead of ENDLIST, and an explicit
boolean instead of CLOSED.
2004-09-02 23:56:42 +00:00
Paul Eggert
4798caf852 Fix infloop-3 to match POSIX.
Add blanks-1 through blanks-13.
2004-08-24 07:39:17 +00:00
Paul Eggert
969ed5b8f3 (add_tab_stop): Renamed from add_tabstop. All uses changed.
(parse_tab_stop): Renamed from parse_tabstop.  All uses changed.
(validate_tab_stop): Renamed from validate_tabstop.  All uses changed.
(next_file, main): Check fclose against 0, not EOF.
(unexpand): Remove unnecessary casts.
Add another loop nesting level, for lines, so that per-line variables
are initialized cleanly.
Revamp tab checking.  Check for write error immediately, rather
than just once at the end of the program.
(TAB_STOP_SENTINEL): Remove.
(tab_size): Now size_t, not uintmax_t, since we need to store
the sequences of blanks.
(max_column_width): New var.
(usage): Say "blank" where POSIX requires this.
(add_tab_stop): Calculate maximum column width.
(unexpand): Store the pending blanks, instead of merely counting them.
Follow POSIX's rules about -a requiring two blanks before a tab stop.
Get rid of internal label and goto.
2004-08-24 07:38:49 +00:00
Paul Eggert
0d568f7678 Revamp to resemble the new unexpand.c better.
(usage): -i does not convert tabs after non-tabs.
(add_tab_stop): Renamed from add_tabstop.  All uses changed.
(parse_tab_stop): Renamed from parse_tabstop.  All uses changed.
(validate_tab_stop): Renamed from validate_tabstop.  All uses changed.
(next_file, main): Check fclose against 0, not EOF.
(expand): Remove unnecessary casts.
Add another loop nesting level, for lines, so that per-line variables
are initialized cleanly.
Revamp tab checking.  Check for write error immediately, rather
than just once at the end of the program.
2004-08-24 07:38:04 +00:00
Paul Eggert
bb59926563 Standardize on "tab stop" (the POSIX usage)
rather than "tabstop".
(unexpand invocation): Use "blank" rather than "space" when
POSIX requires "blank".  Define "blank".  Initial blanks are
converted even if there's just one.  For -a, convert two or
more blanks only if they occur just before a tab stop.
2004-08-24 07:37:28 +00:00
Paul Eggert
59cf3747e3 POSIX-conformance fixes for "expand" and "unexpand". 2004-08-24 07:36:36 +00:00
Paul Eggert
30e41c2ddc Sync from gnulib. 2004-08-20 02:29:42 +00:00
Paul Eggert
5dd2658cb2 Regenerate. 2004-08-20 02:12:59 +00:00
Paul Eggert
529a7c21fd Sync getopt from gnulib. 2004-08-20 02:10:15 +00:00
Paul Eggert
463f2060b7 Add getopt_.h, getopt_int.h. 2004-08-20 02:09:41 +00:00
Paul Eggert
9308e71ada Add support for "chown : file" and the like.
Also, fix a regression and some memory leaks.
2004-08-19 20:07:20 +00:00
Paul Eggert
8d3555ff43 Regenerate. 2004-08-19 20:06:22 +00:00
Paul Eggert
6f9f676ca7 (chown invocation): Fix synopsis:
group must always be preceded by separator.
"chown : file" and "chown '' file" don't change the owner or group.
Update the explanation of what happens to the set-user-ID or
set-group-ID bits, e.g., they sometimes are not cleared if they
denote mandatory locking.  Change "find"-oriented examples to use
chown -h.
2004-08-19 20:05:52 +00:00
Paul Eggert
5e93200bbc Don't use <alloca.h>, so that we don't use alloca on
strings on unbounded length.  alloca's performance benefits aren't
that important here.
(V_STRDUP): Remove.
(parse_with_separator): New function, with most of the internals
of the old parse_user_spec.  Allow user to omit both user and group,
for compatibility with FreeBSD.
Clone only the user name, not the entire spec.
Do not set *uid, *gid unless entirely successful.
Avoid memory leak in some failing cases.
Fix regression for USER.GROUP reported by Dmitry V. Levin in
<http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
(parse_user_spec): Rewrite to use parse_with_separator.
2004-08-19 20:04:42 +00:00
Paul Eggert
7c308093f3 New file, partly taken from
Dmitry V. Levin's suggestion in
<http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
2004-08-19 20:04:21 +00:00
Paul Eggert
d3771df301 (TESTS): Add separator. 2004-08-19 20:04:02 +00:00
Paul Eggert
a078203b6d Test "chgrp '' file". 2004-08-19 20:03:48 +00:00
Paul Eggert
958ae74efa (usage): "chown '' file" is now allowed.
(main): Do not set user name to the empty string if the group
name is null.
2004-08-19 20:03:26 +00:00
Paul Eggert
67d2281544 (describe_change): Describe changes to -1:-1
without using "to OWNERSHIP" phrase.
2004-08-19 20:03:11 +00:00
Paul Eggert
bbc2ac99c1 (parse_group): Return gid_t rather than storing it
through a pointer.  Treat "chgrp '' file" as a no-op change,
as FreeBSD does.
(main): Set chopt.group_name to NULL if the group is the empty
string.
2004-08-19 20:02:46 +00:00
Paul Eggert
c25bd1c9ce "chown : file", "chown '' file", and "chgrp '' file" now
succeed without changing the uid and gid, like FreeBSD.
2004-08-19 20:02:07 +00:00
Paul Eggert
6bf086b820 Add fts.h, search.h. 2004-08-18 20:48:50 +00:00
Paul Eggert
c670e3826e Add .kludge-stamp. 2004-08-18 20:48:35 +00:00
Paul Eggert
fd7061b1ad * coreutils.texi (printf invocation): Clarify "printf". 2004-08-18 20:22:58 +00:00
Paul Eggert
9e4d09fe33 (printf invocation): Clarify how "printf" is
supposed to work with extra arguments, missing arguments, etc.
2004-08-18 20:22:32 +00:00
Paul Eggert
8c3f76651a Regenerate. 2004-08-11 23:47:29 +00:00
Paul Eggert
f469551274 Further fix for -d regression. 2004-08-11 23:41:44 +00:00
Paul Eggert
312acd2aad Fix typo: missing ). 2004-08-11 22:30:23 +00:00
Paul Eggert
590ffb802b obstack fixes 2004-08-11 22:26:23 +00:00
Paul Eggert
22a64d7a4b minor porting fixes (e.g., obstack) 2004-08-11 22:26:17 +00:00
Paul Eggert
9ad72cac9d (gl_PREREQ_OBSTACK): Require
gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
2004-08-11 22:24:57 +00:00
Paul Eggert
9af4ab33f0 Do not include error.h. (merge from gnulib). 2004-08-11 22:24:25 +00:00
Paul Eggert
fdb9542df7 Include <inttypes.h> and <stdint.h> if available.
(union fooround): Use uintmax_t, not long int.
The rest is a merge from libc:
[defined _LIBC]: Include <shlib-compat.h>.
(_obstack) [defined _LIBC]: Remove after 2.3.4.
2004-08-11 22:24:14 +00:00
Paul Eggert
254e577b86 (settime): Recode to avoid warning with Sun Forte C 6U2. 2004-08-11 22:24:04 +00:00
Paul Eggert
c1dac962eb (O_DIRECTORY): Define to 0 if the system doesn't define. 2004-08-11 22:23:54 +00:00
Paul Eggert
16b995fdd8 Test for the -d regression. 2004-08-11 21:52:17 +00:00
Paul Eggert
f6559775e6 Test for the -d regression. 2004-08-11 21:51:57 +00:00
Paul Eggert
ed5f2129c1 * src/install.c (main): Fix -d regression 2004-08-11 21:44:49 +00:00
Paul Eggert
b2c632e20c (main): Fix -d regression introduced with
--target-directory support at 2004-06-25.
2004-08-11 21:44:36 +00:00
Paul Eggert
0518fd8571 Fix porting problem to Reliant Unix. 2004-08-11 17:53:50 +00:00
Paul Eggert
f4364ab87c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
wmemchr or wmemcpy.  Problem reported by Robert Dahlem
for Reliant Unix 5.43.
2004-08-11 17:53:34 +00:00
Paul Eggert
9bcc09b5b7 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy. 2004-08-11 17:53:16 +00:00
Paul Eggert
367719ba5f (copy_internal): When preserving links, unlink
a destination with link count greater than one.  This is so
that commands like "cp -a" don't get confused when copying into
a destination that already contains many hard links.
2004-08-11 17:19:25 +00:00
Paul Eggert
eb1d2a52dd Fix cp -a confusion bug. 2004-08-11 17:19:07 +00:00
Paul Eggert
34e29318a5 Convert to UTF-8. 2004-08-10 22:50:58 +00:00
Paul Eggert
faca6bfc15 Convert to UTF-8. 2004-08-10 22:47:08 +00:00
Paul Eggert
c5ff0b216e Fix typo in previous log entry. 2004-08-10 22:09:11 +00:00
Paul Eggert
8dafbe5806 (usage, tee): "tee -" writes to standard output, not
to a file named "-".
2004-08-10 22:08:58 +00:00
Paul Eggert
7b99d60f08 (die, xfopen, mergefps, first_same_file, merge):
A null file arg means standard output.
(main): "-o -" means to write to a file named "-",
not to standard output.
2004-08-10 22:08:09 +00:00
Paul Eggert
3847c07f66 (usage): "-" is an operand, not an option. 2004-08-10 22:07:52 +00:00
Paul Eggert
4eafd1b11f (Common options): Clarify that "-" means
stdin/stdout only when it is an operand, not when it is an
option-argument.
(shred invocation): "shred -- -" is equivalent to "shred -",
not to "shred ./-".
(tee invocation): "tee -" means to copy (again) to stdout.
2004-08-10 22:07:31 +00:00
Paul Eggert
6e48f7ed86 POSIX-conformance fixes for "-" used as an operand. 2004-08-10 22:06:52 +00:00
Paul Eggert
1ccc1a1b4b "sort -o -", "shred -", "tee -" POSIX-conformance fixes. 2004-08-10 22:06:28 +00:00
Paul Eggert
754ebf7885 Document "sort -o -" and "tee -" POSIX-conformance fixes. 2004-08-10 22:05:47 +00:00
Paul Eggert
ac4b4fe418 Fix install.c int->bool conversion bug. 2004-08-10 20:32:32 +00:00
Paul Eggert
811c61b049 (change_timestamps): Fix int->bool conversion
bugs introduced on 2004-07-29.
2004-08-10 20:32:19 +00:00
Paul Eggert
145d804068 Regenerate. 2004-08-10 06:54:15 +00:00
Paul Eggert
1b26801391 Sync with gnulib. 2004-08-10 05:43:11 +00:00
Paul Eggert
557ed575e8 readlink.c cleanup 2004-08-09 23:40:58 +00:00
Paul Eggert
290ba4ab1d (canonicalize_fname): Remove unneeded proxy function.
(can_mode): Make variable local.
2004-08-09 23:40:49 +00:00
Paul Eggert
f305d3a224 Improve code to work in some cases when files are writeable but not readable. 2004-08-09 23:35:15 +00:00
Paul Eggert
1def589bea (wipename): Work even if the directory is writeable
and not readable.  Prefer write access, since this should work
better with fdatasync.
2004-08-09 23:34:49 +00:00
Paul Eggert
e077b28593 (diropen): New function.
(fts_open, fts_read, fts_children, fts_safe_changedir):
Use it, so that the code works even if the directory
is writeable but not readable.
2004-08-09 23:34:15 +00:00
Paul Eggert
1ff6d6ea07 (rpl_chown): Work even if the file is writeable but not readable. 2004-08-09 23:33:53 +00:00
Paul Eggert
3038f02225 Switch to UTF-8. 2004-08-09 23:27:55 +00:00
Paul Eggert
6d8737eba8 Change to UTF-8. 2004-08-09 23:26:57 +00:00
Paul Eggert
b05866ea03 Import from gnulib. 2004-08-09 23:26:08 +00:00
Paul Eggert
5d204d4e2f Regenerate. 2004-08-09 18:51:05 +00:00
Paul Eggert
884a7c36eb (xalloc_die): New function.
(main): Remove now-obsolete initialization of xalloc_fail_func.
2004-08-09 18:45:10 +00:00
Paul Eggert
8ad3011df3 Remove dependency of xalloc on error, etc. 2004-08-09 18:44:46 +00:00
Paul Eggert
e5f309aaf3 Adjust to sha->sha1 renaming. 2004-08-09 18:18:41 +00:00
Paul Eggert
4573c9e81c Finish renaming sha -> sha1. 2004-08-09 18:16:21 +00:00
Paul Eggert
81b4c13eb5 (O_BINARY) [!O_BINARY && defined O_BINARY]:
Do not define, to avoid annoying compiler messages on QNX 6.3.
2004-08-08 03:04:21 +00:00
Paul Eggert
a5b9e9d440 (O_BINARY) [!O_BINARY && defined O_BINARY]:
Do not define, to avoid annoying compiler messages on QNX 6.3.
2004-08-08 03:04:00 +00:00
Paul Eggert
a86c457f64 Merge from gnulib. 2004-08-07 07:16:54 +00:00
Paul Eggert
a3538ea055 Regenerate. 2004-08-05 23:11:21 +00:00
Paul Eggert
43d5c5b6c3 New file, imported from gnulib. 2004-08-05 23:09:29 +00:00
Paul Eggert
d86254a25a Sync from gnulib. 2004-08-05 23:01:03 +00:00
Paul Eggert
71ff7490f9 Fixes for OpenBSD 3.4. 2004-08-04 22:51:23 +00:00
Paul Eggert
4cf9045aa3 Fixes for OpenBSD 3.4. 2004-08-04 22:51:03 +00:00
Paul Eggert
0e67d0e632 Fixes for OpenBSD 3.4. 2004-08-04 22:50:41 +00:00
Paul Eggert
9c4dc6f1f1 Fix parenthesization typo. 2004-08-04 22:35:37 +00:00
Paul Eggert
4bf7ed05e1 Remove bogus "*/" from shell comment. 2004-08-04 22:31:15 +00:00
Paul Eggert
af03dafa2e Remove bogus "*/" from shell comment. 2004-08-04 22:30:38 +00:00
Paul Eggert
8902024a47 Include copyright notice.
(cu_PREREQ_STAT_PROG): Use the _ONCE variants when appropriate.
Include sys/param.h before testing for sys/mount.h.
2004-08-04 22:27:36 +00:00
Paul Eggert
3ebd8a1c2f Include copyright notice.
(gl_LIST_MOUNTED_FILE_SYSTEMS): Include sys/param.h before
testing for sys/mount.h.
2004-08-04 22:27:24 +00:00
Paul Eggert
18087d1a6d Include copyright notice.
(gl_MACROS): Use the _ONCE variants when appropriate.
Include sys/param.h before testing for sys/sysctl.h and sys/mount.h;
needed for OpenBSD 3.4.
2004-08-04 22:27:12 +00:00
Paul Eggert
204f9200ad Add copyright notice.
(gl_FSUSAGE): Include sys/param.h before checking for sys/mount.h.
Needed for OpenBSD 3.4.
2004-08-04 22:27:00 +00:00
Paul Eggert
cc37c6c564 Add copyright notice.
(GNULIB_BOOT_TIME): Include sys/param.h before testing
for sys/sysctl.h; needed for OpenBSD 3.4.
2004-08-04 22:26:42 +00:00
Paul Eggert
01b9ae45c6 (PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX):
Define to a concatenation of string literals, not to an expression;
needed for concatenation contexts.
(INTMAX_MAX, INTMAX_MIN): New macros.
2004-08-04 22:26:23 +00:00
Paul Eggert
4e3640a010 (SIZE_MAX): Define after including files, to avoid
a collision on OpenBSD 3.4.
2004-08-04 22:08:33 +00:00
Paul Eggert
4e40831b0c (print_stat): Don't assume st_ino / st_dev fits in
unsigned long; this isn't true for st_ino on Solaris 9.
2004-08-04 22:04:26 +00:00
Paul Eggert
0e591504c8 (LONGEST_MODIFIER): New macro.
(PRIuMAX) [!PRI_MACROS_BROKEN && !defined PRIuMAX]: New macro.
(find_matching_ancestor): Use it for dev_t and ino_t.
2004-08-04 21:58:46 +00:00
Paul Eggert
fade486c60 Sync from gnulib. 2004-08-04 20:58:57 +00:00
Paul Eggert
a617eff5dc Work around bug in OpenBSD 3.4 sterror_r: it
sometimes returns a positive errno value even when it succeeds.
(print_errno_message) [!LIBC]: Fall back on strerror if
__strerror_r fails.
2004-08-04 19:35:24 +00:00
Paul Eggert
b3f620dd47 Add uname kludge to work around Mac OS X bug. 2004-08-04 05:59:25 +00:00
Paul Eggert
f37e35485f Do not depend on HAVE_SYSCTL when deciding
whether to include files.  Include <sys/param.h> if
HAVE_SYS_PARAM_H (not HAVE_SYSCTL).
(main) [defined __POWERPC__]: Add a kludge to work around a
Mac OS X bug, so that uname -p defaults to "powerpc" if
sysctl ((int[]) {CTL_HW, HW_MACHINE_ARCH}, 2, buffer, &bufsize, 0, 0)
fails.  Problem reported by Petter Reinholdtsen in:
http://lists.gnu.org/archive/html/bug-gnu-utils/2003-02/msg00201.html
2004-08-04 05:58:43 +00:00
Paul Eggert
28e5967879 int cleanups for uniq, wc, who, whoami, unexpand, touch, tsort, tty,
test, tac, su, stty, remove.h, tee, ptx, printf, shred, split, stat, pr.
2004-08-03 23:40:20 +00:00
Paul Eggert
3e3a031475 (main): Print uids using unsigned long int, not unsigned int. 2004-08-03 23:38:40 +00:00
Paul Eggert
7512995b22 (scan_entries): 0 -> STDIN_FILENO. 2004-08-03 23:38:21 +00:00
Paul Eggert
44956bb6b0 (iswspace, wc): Use to_uchar rather than a cast.
(print_lines, print_words, print_chars, print_bytes, print_linelength,
have_read_stdin, wc, wc_file, main):
Use bool for booleans.
(exit_status): Remove.
(wc, wc_file): Return bool status.  All callers changed.
2004-08-03 23:38:10 +00:00
Paul Eggert
a1e3a341a6 (hard_LC_COLLATE, ignore_case, different, check_file,
main): Use bool for booleans.
(writeline, check_file): Use uintmax_t for line counts.
(check_file): Check for and report line number overflow,
when that matters.
2004-08-03 23:37:56 +00:00
Paul Eggert
f55c9b41a2 Int cleanup and minor reorganization to be more like src/expand.c.
Include quote.h, xstrndup.h.
(TAB_STOP_SENTINEL): Increase from INT_MAX to INTMAX_MAX.
(convert_entire_line, have_read_stdin, parse_tabstops, next_file,
unexpand, main):
Use bool for booleans.
(tab_size, tab_list, add_tabstop, validate_tabstops, unexpand):
Use uintmax_t for column counts.
(first_free_tab, validate_tabstops, unexpand): Use size_t for sizes.
(add_tabstop, parse_tabstops, main): Don't reserve UINTMAX_MAX
as a tab stop.
(parse_tabstops): Don't use ISBLANK on possibly-signed char.
Detect overflow in tab stop string.
(next_file, main): Use EXIT_FAILURE/EXIT_SUCCESS instead of 1/0.
(unexpand): Concatenate input files the same way expand does.
2004-08-03 23:27:20 +00:00
Paul Eggert
eae57519cd (print_element): Use bool for booleans. 2004-08-03 23:14:17 +00:00
Paul Eggert
86c940cf99 (silent, main): Use bool for booleans.
(main): 0 -> STDIN_FILENO.
2004-08-03 23:14:08 +00:00
Paul Eggert
53e793837a (struct item, n_strings): Use size_t for sizes.
(have_read_stdin, count_items, scan_zeros, detect_loop,
recurse_tree, walk_tree, tsort, main):
Use bool for booleans.
(exit_status): Remove.
(tsort): Return a success flag instead of storing into a global.
(main): Use it.
2004-08-03 23:13:20 +00:00
Paul Eggert
b2978936b3 (no_create, use_ref, posix_date, amtime_now,
touch, main): Use bool for booleans.
(main): Avoid integer overflow when given more than INT_MAX
options.
2004-08-03 23:13:09 +00:00
Paul Eggert
d60286964d (TRUE, FALSE, SHELL_BOOLEAN, TRUTH_OR, TRUTH_AND):
Remove.  All uses replaced by C99 boolean primitives.
(TEST_TRUE, TEST_FALSE): New constants, for readability.
(test_unop, binop, unary_operator, binary_operator, two_arguments,
three_arguments, posixtest, expr, term, and, or, is_int, age_of,
one_argument, main): Use bool for booleans.
(advance, unary_advance): Now inline procedures rather than a macros.
(is_int): Renamed from isint, to avoid namespace clash with ctype.h.
(term, and, or): When it's easy, loop instead of recursing.
(term): Avoid integer overflow if there are INT_MAX-3 args (!).
(binary_operator, unary_operator): Simplify by systematically rewriting
true==FOO to FOO (where FOO is a boolean).
(unary_operator): Don't consider a file to be a regular file
merely because its mode&S_IFMT is zero.  Just use S_ISREG.
Remove unnecessary casts.  Remove ifdefs for things like
S_ISSOCK that are no longer needed, since stat-macros.h always
defines them now.
2004-08-03 23:03:04 +00:00
Paul Eggert
09f4eb4ee0 (separator_ends_record, tac_seekable, tac_file,
tac_stdin, tac_stdin_to_mem, main): Use bool for booleans.
(match_length, G_buffer_size, tac_seekable, main): Use size_t for sizes.
(tac_seekable): Use ptrdiff_t for pointer subtraction.
Report an error if the result is out of range.
(tac_seekable, main): Check for integer overflow in buffer size
calculations.
(main): Remove unnecessary casts.
2004-08-03 22:40:28 +00:00
Paul Eggert
0fbc16c28b (buf_init_from_stdin, find_bol, tac_mem):
Use bool for booleans.
(buf_init_from_stdin, buf_free, find_bol, print_line):
Use size_t for sizes.
2004-08-03 22:40:15 +00:00
Paul Eggert
d2940e7cd4 (run_shell): Pass a new n_additional_args arg, so that
the callee doesn't have to count 'em.  All callers changed.
Don't allocate more space for the arg vector than we'll need.
Use memcpy to copy the args rather than rolling our own loop.
Use size_t for sizes.
(fast_startup, simulate_login, change_environment, log_su,
correct_password, restricted_shell, main): Use bool for booleans.
(longopts): Don't assume change_environment is an int.
Use NULL, not 0, for pointers.
(xsetenv): New function, replacing xputenv and concat.
All callers changed.
(elements): Remove; no longer needed.
(log_su, correct_passwd, main): Prefer !x to x==NULL.
(log_su): 2 -> STDERR_FILENO.
(modify_environment, main): Don't assume that getenv's returned value
has an indefinite lifetime.
(modify_environment): Allocate a larger environ.
(main): Remove an impossible 'case 0'; if it happens now, it'll
get diagnosed.  Don't assume getpwnam results outlive endpwent.
Check for null or empty pw_name, pw_dir and for null pw_passwd.
2004-08-03 22:23:25 +00:00
Paul Eggert
cee6afd01e (VA_START): Remove. All callers now use va_start.
(_POSIX_VDISABLE): Remove unnecessary cast.
(struct control_info, visible): Use cc_t for control chars.
(struct control_info): Use size_t for sizes.
(recover_mode, set_mode, display_speed, display_window_size,
valid_options, main, display_changed):
Use bool for booleans.
(integer_arg): Return unsigned long int, not long int.
Accept new max arg; all callers changed, to specify a maximum
value for integer parameters instead of silently overflowing.
(wrap): Do not overrun the stack buffer if the output contains
more than 1024 bytes.  Instead, malloc a buffer.
(main): Remove a "what is this?!?" FIXME.  Nobody knows what it is.
Remove unnecessary casts.
(set_control_char): Allow int values only up to cc_t range.
(screen_columns): Don't reject INT_MAX.
(display_changed, display_all, display_speed, recover_mode):
Don't assume cc_t fits in int.
2004-08-03 20:30:45 +00:00
Paul Eggert
a74bfe2b9a (tee, append, ignore_interrupts, main, tee):
Use bool for booleans.
(tee): Use ssize_t for read returns.
2004-08-03 20:06:29 +00:00
Paul Eggert
734248fa5b (have_read_stdin, bsd_sum_file, sysv_sum_file,
main): Use bool for booleans.
(main): Don't dump core if invoked with argv[0]==NULL.
2004-08-03 20:06:17 +00:00
Paul Eggert
f7f7ae46ea (empty_paths, ignore_fail_on_non_empty, verbose,
errno_rmdir_non_empty, remove_parents, main): Use bool for booleans.
2004-08-03 20:05:59 +00:00
Paul Eggert
005ffa4fb1 Add copyright notice.
(struct rm_options): Use bool for booleans.
2004-08-03 20:05:42 +00:00
Paul Eggert
216feb30f7 Add a FIXME mentioning that there are many
unchecked integer overflows in this file.
(gnu_extensions, auto_reference, input_reference, right_reference,
ignore_case, initialize_regex, fix_output_parameters,
output_one_roff_line, output_one_text_line, output_one_dumb_line, main):
Use bool for booleans.
(SKIP_SOMETHING, compare_words, digest_break_file,
find_occurs_in_text, fix_output_parameters):
Use to_uchar instead of a caset.
(print_field): Rewrite to avoid cast.
2004-08-03 19:15:59 +00:00
Paul Eggert
9d06bbe298 (G_fail): Remove.
(print_statfs): Print various gotta-be-nonnegative values using
unsigned long int, not long int or int.
(do_statfs, do_stat): Return a boolean success flag.
(do_stat, main): Use bool for booleans.
2004-08-03 19:08:31 +00:00
Paul Eggert
cc3fc16d1c (cwrite, bytes_split, lines_split, line_bytes_split):
Use bool for booleans.
2004-08-03 19:08:01 +00:00
Paul Eggert
7ee3d54dc0 (struct Options, main): Use bool for booleans.
(isaac_seed_data, fillpattern, wipefile): Rewrite to avoid casts.
2004-08-03 19:07:51 +00:00
Paul Eggert
2d8c3edb26 (canonicalize): Remove. All uses now merely inspect can_mode.
(no_newline, verbose): Use bool for booleans.
(can_mode): Now of type int; use -1 to denote otherwise-uninitialized.
2004-08-03 19:07:36 +00:00
Paul Eggert
1bd2155bd7 (posixly_correct): Use bool for booleans.
(verify, main): Use EXIT_FAILURE/EXIT_SUCCESS instead of 1/0.
(STRTOX): Rewrite to avoid casts.
(print_esc_char): Arg is char, not int.
2004-08-03 19:07:11 +00:00
Paul Eggert
8cc9e3ce8b Add a FIXME mentioning that there are many
unchecked integer overflows in this file.
(TRUE, FALSE): Remove.  All uses replaced by true and false.
(struct COLUMN, read_line, print_page, print_stored, open_file,
skip_to_page, init_fps, parallel_files, align_empty_cols,
empty_line, FF_only, explicit_columns, extremities, keep_FF,
print_a_FF, print_a_header, use_form_feed, have_read_stdin,
print_across_flag, storing_columns, balance_columns,
truncate_lines, join_lines, untabify_input, failed_opens,
numbered_lines, skip_count, use_esc_sequence, use_cntrl_prefix,
double_space, ignore_failed_opens, use_col_separator,
pad_vertically, last_line, main, init_parameters, skip_read,
read_line, print_stored):
Use bool for booleans.
(struct COLUMN, char_to_clump, store_char, print_char):
Use char for chars.
(clump_buff, print_clump): Use char[], not int[], for an array whose
elements are always chars.
(first_last_page, main, getoptarg, balance, add_line_number,
char_to_uclump): Remove unnecessary casts.
(init_parameters): Allocate chars, not ints, for clump_buff.
(print_char): Use to_uchar before invoking ISPRINT.
(char_to_clump): Convert to unsigned char before invoking ISPRINT.
2004-08-03 18:26:32 +00:00
Paul Eggert
3518dcf753 int cleanup for nohup, paste, pathchk, printenv, od. 2004-08-03 15:37:00 +00:00
Paul Eggert
99f4d500fd (main): Use bool for booleans.
Do not assume that the environ has at most one matching entry
for each option (integer overflow was possible otherwise).
2004-08-03 15:31:02 +00:00
Paul Eggert
f2de0ef762 (validate-path, main, portable_chars_only): Use bool for booleans.
(portable_chars_only): Use to_uchar rather than a cast.
2004-08-03 15:30:39 +00:00
Paul Eggert
3b78349314 (paste_parallel, paste_serial, main): Use bool for booleans. 2004-08-03 15:30:08 +00:00
Paul Eggert
4690e0aa35 (main): Use bool for booleans. 2004-08-03 15:29:48 +00:00
Paul Eggert
224059ad65 (FMT_BYTES_ALLOCATED): Now an enum, not a decimal
constant.  Do not assume PRIdMAX etc. are strings of length 3 or
less.
(struct tspec): Use it.  fmt_string is now an array, not
a pointer, as there's little point to the indirection here.
(struct tspec, flag_dump_strings,
traditional, flag_pseudo_start, limit_bytes_to_format,
abbreviate_duplicate_blocks, have_read_stdin, simple_strtoul,
decode_one_format, open_next_file, check_and_close,
decode_format_string, skip, write_block, read_char, read_block,
parse_old_offset, dump, dump_strings, main):
Use bool for booleans.
(struct tspec): Use void *, not char *, for generic pointers.
(bytes_to_oct_digits, bytes_to_signed_dec_digits,
bytes_to_unsigned_dec_digits, bytes_to_hex_digits):
Use char, not unsigned int, since char suffices.
(print_s_char, print_char, print_s_short, print_short,
print_int, print_long, print_long_long, print_float,
print_double, print_long_double): Rewrite to avoid casts.
These now take void * arguments, instead of char *.
Use the same body for all functions, except for the choice
of type.  Assume C89 to simplify handling of signed char.
(dump_hexl_mode_trailer, print_named_ascii, print_ascii):
Rewrite to avoid casts.
(print_named_ascii, print_ascii): Now takes void *, not char *.
(decode_one_format): Use int for printf field widths, not
unsigned int.  Pass void * to subsidiary printers,
not char *.  Simplify handling of floating-point formats
by factoring out common code dealing with precision and field width.
(decode_format_string): Avoid need for temporary copy of
each decoded struct tspec.
(get_lcm): Remove unnecessary cast.
(main): Fix bug where more than INT_MAX failed decodes were ignored.
2004-08-03 14:38:53 +00:00
Paul Eggert
77f4620b24 int cleanups for nl, ln, ls, id, factor, setuidgid, fold, head, csplit, cut,
date, env, expr.
2004-08-03 07:02:23 +00:00
Paul Eggert
2ca9ac1f58 (TRUE, FALSE): Remove; all uses changed to true, false.
(enum number_format): Remove.
(FORMAT_RIGHT_NOLZ, FORMAT_RIGHT_LZ, FORMAT_LEFT): Now strings,
not enum values.
(DEFAULT_SECTION_DELIMITERS): Now an array constant, not a macro.
(section_del): Now const.
(print_fmt): Remove.
(starting_line_number, page_incr, blank_join, line_no,
print_lineno, proc_text, main):
Use intmax_t for line numbers.
(reset_numbers, have_read_stdin, build_type_arg, nl_file, main):
Use bool for booleans.
(lineno_format): Now a string, not an enum value.
(build_print_fmt): Remove.  All calls removed.  This work is
now doen within print_lineno.
(build_type_arg): Use size_t for sizes.
(print_lineno): Check for line number overflow.
(proc_text, main): Remove unnecessary cast.
2004-08-03 06:59:28 +00:00
Paul Eggert
e96ea33902 (struct fileinfo, file_interesting,
extract_dirs_from_files, color_symlink_as_referent,
FILE_OR_LINK_MODE, sort_reverse, print_owner, print_group,
numeric_ids, print_block_size, dired, print_with_color,
check_symlink_color, print_inode, recursive, immediate_dirs,
all_files, really_all_files, qmark_funny_chars,
print_dir_name, format_needs_stat, format_needs_type, visit_dir,
main, decode_switches, parse_ls_color, print_dir, file_interesting,
gobble_file, make_link_path, basename_is_dot_or_dotdot,
extract_dirs_from_files, print_long_format):
Use bool for booleans.
(dir_defaulted): Remove; no longer needed.
(main): Use int to count files, since it suffices for argv.
Rewrite to avoid need for dir_defaulted.
(main, print_dir, gobble_file, get_link_name,
xstrcoll):
Set exit status to EXIT_SUCCES/EXIT_FAILURE rather than 0/1.
(decode_switches): Put back check for ws.ws_col <= SIZE_MAX.
Remove unnecessary cast to int.  Use int instead of unsigned
int to count from 0 to 1.
(get_funky_string, print_type_indicator): Use char for bytes, not int.
(make_link_path): Use NULL for null pointers.
(quote_name): Use to_uchar instead of cast.
2004-08-03 06:44:08 +00:00
Paul Eggert
76d72cdd2b (symbolic_link, interactive, remove_existing_files,
verbose, hard_dir_link, dereference_dest_dir_symlinks,
do_link, main): Use bool for booleans.
2004-08-03 06:43:43 +00:00
Paul Eggert
34042b9077 (main): Print uids/gids with %lu, not %ld. 2004-08-03 06:27:33 +00:00
Paul Eggert
3c838e94e5 (use_name, main, print_user, xgetgroups, print_group_list,
print_full_info): Use bool for booleans.
(problems): Remove, replacing with....
(ok): New var (inverted from old sense).
(print_user, print_group, print_full_info):
Print uids/gids with %lu, not %u.
(xgetgroups): Don't run out of memory if getgroups or getugroups
returns -1.
2004-08-03 06:27:09 +00:00
Paul Eggert
b871878b29 (presume_input_pipe, print_headers, have_read_stdin,
write_header, elide_tail_bytes_pipe, elide_tail_bytes_file,
elide_tail_lines_pipe, elide_tail_lines_seekable,
elide_tail_lines_file, head_bytes, head_lines, head, head_file,
string_to_integer, main):
Use bool for booleans.
(main): Rewrite to avoid cast.
2004-08-03 06:16:31 +00:00
Paul Eggert
3d3030da66 (TAB_WIDTH): New macro; use it instead of "8".
(fold_file, main): Use bool for booleans.
(fold_file, main): Use size_t for sizes.
(main): Allow -w options up to SIZE_MAX - TAB_WIDTH - 1, instead
of prohibiting widths greater than INT_MAX.
2004-08-03 06:16:05 +00:00
Paul Eggert
c8f4d13551 (wheel_tab): Use unsigned char instead of unsigned
int, since it suffices.
(factor, print_factors): Use size_t for sizes.
(print_factors, do_stdin, main): Use bool for booleans.
2004-08-03 06:15:49 +00:00
Paul Eggert
ae631658b0 (nextarg): Use bool for booleans. 2004-08-03 06:00:24 +00:00
Paul Eggert
609b271cc5 (main): Use bool for booleans. 2004-08-03 06:00:08 +00:00
Paul Eggert
b3c28cad1b (show_date, rfc_format, batch_convert, main): Use bool for booleans. 2004-08-03 05:59:36 +00:00
Paul Eggert
a982e48ca3 (cut_fields): Use to_uchar rather than a cast.
(cut_file, main): Use bool for booleans.
2004-08-03 05:59:14 +00:00
Paul Eggert
846cb63700 (struct line): Use size_t for sizes.
(main): Remove unnecessary cast.
2004-08-03 05:58:49 +00:00
Paul Eggert
ef9d1f67b2 int fixes for fmt, expand, dircolors, dd, seq, sleep, tail, hostname,
pinky, uptime, users, who, install, du, df.
2004-08-03 00:05:23 +00:00
Paul Eggert
8c454fe939 (wide-1, wide-2, bad-suffix): Adjust to today's fmt.c fixes. 2004-08-03 00:03:57 +00:00
Paul Eggert
c5c1463809 (COST, MAXWORDS): Add a comment describing some of
fmt's arbitrary limits.
(TRUE, FALSE): Remove; all uses changed to (true, false).
(main): Use bool for booleans.
Limit maximum width to MAXCHARS / 2.  Use xstrtoul, not xstrtol,
to parse width.
(copy_rest): Remove unnecessary cast.
(get_prefix): Rewrite to avoid cast.
(check_punctuation): Use char *, not unsigned char *; C89 requires
this.  Avoid off-by-one buffer read overrun when line is empty.
(flush_paragraph): Don't assume wptr-parabuf is <= INT_MAX.
Remove unnecessary casts.
2004-08-03 00:00:49 +00:00
Paul Eggert
71377ec627 (convert_entire_line, have_read_stdin, parse_tabstops,
next_file, expand, main):
Use bool for booleans.
(tab_size, tab_list, add_tabstop, parse_tabstops, validate_tabstops,
expand, main):
Use uintmax_t for column counts.
(add_tabstop): Don't reserve -1 (now UINTMAX_MAX) as a special value.
All callers changed.
(parse_tabstops): Don't pass a negative char to isblank.
Avoid memory leak with large tab stops.
(validate_tabstops, expand): Don't assume number of tab stops is
<= INT_MAX.
(next_file, main): Use EXIT_SUCCESS/EXIT_FAILURE rather than 0/1 when
storing values into exit_status.
(expand): Use same pattern as unexpand for reading chars.
Report an error when input line is too long, instead of silently
screwing up.  Do not mishandle tab stops when backspacing left
over start of line.
2004-08-02 23:49:31 +00:00
Paul Eggert
bfaa02d8a9 (have_read_stdin, append_quoted,
dc_parse_stream, dc_parse_file, main): Use bool for booleans.
(dc_parse_stream): Use enum for state, rather than int.
Use ssize_t to store getline result.
2004-08-02 23:36:33 +00:00
Paul Eggert
3bec629dc8 (translation_needed, parse_integer, scanargs,
apply_translations, char_is_saved, swab_buffer, skip_via_lseek):
Use bool for booleans.
(translate_buffer): Use to_uchar rather than a cast.
(swab_buffer, copy_simple, copy_with_unblock):
Use size_t for sizes.
2004-08-02 23:29:39 +00:00
Paul Eggert
126d5f9437 Include limits.h, stdbool.h.
(CHAR_BIT): Remove.
(timespec_subtract, xnanosleep): Use bool for booleans.
2004-08-02 23:00:15 +00:00
Paul Eggert
3afb4dad99 unsigned -> unsigned int 2004-08-02 22:59:41 +00:00
Paul Eggert
aebe589261 unsigned -> unsigned int 2004-08-02 22:58:22 +00:00
Paul Eggert
e55f95fe97 Include <stdbool.h>.
(yesno): Return bool, not int.
2004-08-02 22:57:37 +00:00
Paul Eggert
8e4b7d7fa1 Include yesno.h first.
(yesno): Return bool, not int.
2004-08-02 22:57:13 +00:00
Paul Eggert
eb32ddf3c0 (errno): Remove decl; we now assume C89 or better.
(__xstrtol): Rewrite to avoid casts.
2004-08-02 22:56:56 +00:00
Paul Eggert
a4e2377f60 Just include xstrtol.h rather than rolling our own include pattern. 2004-08-02 22:55:59 +00:00
Paul Eggert
dc44675984 Just include xstrtol.h rather than rolling our own include pattern. 2004-08-02 22:55:32 +00:00
Paul Eggert
965de5df36 Log today's int-related changes 2004-08-02 22:55:12 +00:00
Paul Eggert
596f9e22e1 (version_etc_va): Use size_t for sizes. 2004-08-02 22:54:36 +00:00
Paul Eggert
325ec4052e Include <stdbool.h>.
(same_name): Return bool, not int.
2004-08-02 22:54:15 +00:00
Paul Eggert
f8a0187525 (errno): Remove decl; we now assume C89 or better.
(same_name): Return bool, not int.
2004-08-02 22:53:41 +00:00
Paul Eggert
7fed0a985b Rewrite to avoid casts. 2004-08-02 22:52:39 +00:00
Paul Eggert
f9bbf56c51 Include stdbool.h.
(quotearg_buffer_restyled): Use bool for booleans.
2004-08-02 22:52:17 +00:00
Paul Eggert
cd24faad5f nanosleep.c (errno): Remove decl; we now assume C89 or better.
Include stdbool.h.
(rpl_nanosleep): Usee bool for booleans.
2004-08-02 22:51:56 +00:00
Paul Eggert
24cdab4d1a Use Autoconf-suggested pattern for inttypes and stdint. 2004-08-02 22:51:09 +00:00
Paul Eggert
58907a1ee9 Update copyright. 2004-08-02 22:50:47 +00:00
Paul Eggert
c04045506d Use Autoconf-suggested pattern for inttypes and stdint. 2004-08-02 22:50:29 +00:00
Paul Eggert
75d42c8224 Use Autoconf-suggested pattern for inttypes and stdint. 2004-08-02 22:49:58 +00:00
Paul Eggert
d5905bb653 (hash_string): Rewrite to avoid cast. 2004-08-02 22:49:34 +00:00
Paul Eggert
28730b8b36 Include <stdbool.h>.
(hard_locale): Return bool, not int.
2004-08-02 22:49:12 +00:00
Paul Eggert
ecb7230885 hard-locale.c (hard_locale): Return bool, not int. 2004-08-02 22:48:49 +00:00
Paul Eggert
21e7da65ea Include <stdbool.h>.
(getloadavg_initialized): Use bool for booleans.
2004-08-02 22:48:05 +00:00
Paul Eggert
a3b96dbd55 (lookup_word): Rewrite to avoid cast. 2004-08-02 22:47:44 +00:00
Paul Eggert
e9d449928d (textutils_fileblocks_unused): Make it a typedef
instead of an int, to save a few bytes in the object file.
2004-08-02 22:47:25 +00:00
Paul Eggert
632f0144b2 Update copyright. 2004-08-02 22:47:00 +00:00
Paul Eggert
f4afb6798d (enum canonicalize_mode_t): Reformat comments to fit in 80 columns. 2004-08-02 22:42:37 +00:00
Paul Eggert
fd0ca86dd2 (errno): Remove decl; we now assume C89 or better. 2004-08-02 22:41:37 +00:00
Paul Eggert
2b9bdc6ee0 (struct File_spec, reopen_inaccessible_files, count_lines,
forever, from_start, print_headers, have_read_stdin, valid_file_spec,
write_header, file_lines, pipe_lines, pipe_bytes, recheck,
tail_forever, tail_bytes, tail_lines, tail, tail_file,
parse_obsolescent_option, parse_options, main):
Use bool for booleans.
(struct File_spec, max_n_unchanged_stats_between_opens,
parse_options): Use uintmax_t, not unsigned int or unsigned long int,
for state counters.
(tail_bytes, tail_lines): Redo test of return value (-1, 0, 1) to
make it a bit clearer.
2004-08-02 22:20:24 +00:00
Paul Eggert
9d581705a7 (apply_suffix): Use bool for booleans. 2004-08-02 22:19:27 +00:00
Paul Eggert
76a844a9c3 (equal_width, valid_format, main): Use bool for booleans. 2004-08-02 22:19:01 +00:00
Paul Eggert
61c0c553f8 (xstrtod): Return bool, not int. Invert the sense of the boolean.
All uses changed.
2004-08-02 22:18:32 +00:00
Paul Eggert
a43efc5f75 (xstrtod): Return bool, not int. Invert the sense of the boolean.
All uses changed.
2004-08-02 22:17:42 +00:00
Paul Eggert
98d2fbe280 Include "xgethostname.h".
(xgethostname): Remove decl; xgethostname.h has it.
(sethostname) [!defined(HAVE_SETHOSTNAME) && defined(HAVE_SYSINFO)
&& defined (HAVE_SYS_SYSTEMINFO_H) && defined(HAVE_LIMITS_H)]: Use
prototypes rather than K&R form.  Assume any negative value from
sysinfo denotes failure, not just -1.
(main): Simplify use of sethostname.
2004-08-02 21:52:28 +00:00
Paul Eggert
c87d825fd3 Don't include <sys/types.h> or "exit.h"; no longer needed.
(errno): Remove decl; we now assume C89 or better.
Include unistd.h if available, for gethostname.
(ENAMETOOLONG): Define to 0, not 9999, to avoid colliding with
existing errno values if any.
(gethostname): Remove decl, since unistd.h declares it (or doesn't,
in which case it's an older system and it should just work).
(xgethostname): Don't assume host name length is less than INT_MAX.
Exit if malloc fails, just as the comment says.
2004-08-02 21:52:07 +00:00
Paul Eggert
27454c431f Include <stdbool.h>.
(errno): Remove decl; we now assume C89 or better.
(save_cwd): Use bool for booleans.
(save_cwd, restore_cwd): Return -1 on failure, not 1, since we set
errno on failure.
2004-08-02 21:06:22 +00:00
Paul Eggert
d0cbf9ff71 (do_lookup, short_list, short_output, include_idle,
include_heading, include_mesg, include_exit, need_boottime,
need_deadprocs, need_login, need_initspawn, need_clockchange,
need_runlevel, need_users, my_line_only, main): Use bool for booleans.
(print_runlevel): Use unsigned char for bytes.
(list_entries_who, scan_entries, who): Use size_t for sizes.
(main): No need to pass a non-NULL last arg to getopt_long.
2004-08-02 20:56:46 +00:00
Paul Eggert
889b25b472 (list_entries_users, users): Use size_t for sizes.
(list_entries_users): Use char for bytes.
(main): No need to pass a non-NULL last arg to getopt_long.
2004-08-02 20:56:30 +00:00
Paul Eggert
67f5163d28 (print_uptime, uptime): Use size_t for sizes.
(print_uptime): Remove unused local variable.
(main): No need to pass a non-NULL last arg to getopt_long.
2004-08-02 20:56:10 +00:00
Paul Eggert
ea81db5369 (include_idle, include_heading, include_fullname,
include_project, include_plan, include_home_and_shell, do_short_format,
include_where, main): Use bool for booleans.
(count_ampersands, create_fullname, scan_entries, short_pinky):
Use size_t for sizes.
(create_fullname): Check for overflow in size calculations.
(idle_string): Don't assume that the number of idle days
is less than 10**8 and/or INT_MAX/(24*60*60).
(main): No need to pass a non-NULL last arg to getopt_long.
2004-08-02 20:55:44 +00:00
Paul Eggert
838af3f618 (read_utmp): Don't assume that the number of users is less than INT_MAX.
Check for integer overflow in size calculations.
Return -1 (not 1) on failure, since we set errno in that case.
2004-08-02 20:55:14 +00:00
Paul Eggert
6517d85e05 (UT_USER): Parenthesize properly.
(UT_USER_SIZE): New constant.
(read_utmp): Don't assume that the number of users is less than
INT_MAX.
2004-08-02 20:54:45 +00:00
Paul Eggert
e71e29e309 (posix_time_parse): Don't assume that the length of
the string being parsed is <= UINT_MAX.
2004-08-02 20:34:27 +00:00
Paul Eggert
25d291e3ec (read_file_system_list): Accept bool flag, not int.
(errno): Remove decl; we now assume C89 or better.
(xatoi): Remove; replaced by strtoul.  Hence device numbers can now
go up to ULONG_MAX.
2004-08-02 20:27:45 +00:00
Paul Eggert
d1ee2543c7 Include <stdbool.h>.
(read_file_system_list): Accept bool flag, not int.
2004-08-02 20:27:16 +00:00
Paul Eggert
df3b48143b Regenerate. 2004-08-02 20:17:31 +00:00
Paul Eggert
7bb8bcf375 No longer needed by 'install', so remove it. 2004-08-02 20:15:49 +00:00
Paul Eggert
def5c89707 (libfetish_a_SOURCES): Remove isdir.c. 2004-08-02 20:14:53 +00:00
Paul Eggert
1dfc8b472e (isdir): Remove decl.
(install_file_to_path): Rely on make_path to fail if the destination
is not a directory, by passing preserve_existing==true to it.
Hence we no longer need to call isdir.
Free dest_dir immediately when it's no longer needed, rather than
waiting until the end of the function.
(copy_file): Don't bother calling isdir, as copy will do the
right thing if the destination is a directory.
2004-08-02 20:14:39 +00:00
Paul Eggert
e4d5fc2283 (fts_debug, opt_all, apparent_size, opt_count_all,
print_grand_total, opt_separate_dirs, hash_ins, process_file, main):
Use bool for booleans.
(max_depth): Now size_t, not int, to avoid an arbitrary limit
of INT_MAX on depth.
(G_fail): Remove: no longer needed, now that the relevant
functions return bool.
(process_file): Use return value to signal success rather than
setting a global.  Remove first_call static var; not needed, since
we can look at n_alloc.  Use size_t for depths.  Remove FIXME
about size_t casts, as it's now fixed.  Use xnrealloc rather
than the obsolescent XREALLOC.  Don't bother to check whether
reallocation is needed unless level > prev_level.
(du_files): Invert sense of result, for consistency with
other coreutils code.  All callers changed.
(main): Allow --max-depth values up to SIZE_MAX.
2004-08-02 19:43:38 +00:00
Paul Eggert
c1bbe24045 Add an FSF copyright notice, since our changes are becoming nontrivial.
Include stdint.h if available, as Autoconf suggests.
(ALIGNBYTES, ALIGN): Remove; no longer needed now that fts_statp
is an array.
(fts_alloc, fts_palloc, fts_sort, fts_load, fts_build):
Use size_t for sizes.
(fts_stat, fts_safe_changedir, fts_debug, fts_read, fts_build,
fts_palloc):
Use bool when appropriate.
(SIZE_MAX, TYPE_SIGNED): New macros.
(fts_read): Use u_short for instructions.
(fts_build): Use ptrdiff_t for levels.  Don't assume file name lengths
fit into int.  Don't assume nlink_t is signed.
(find_matching_ancestor): Don't assume dev, ino fit in int.
(fts_stat): Use function prototype; required for bool arg.
(fts_sort): Detect integer overflow in size calculations.
(fts_alloc): Simplify allocation code, now that fts_statp is an array
and not a pointer.
2004-08-02 19:42:01 +00:00
Paul Eggert
787b4d50d0 Add an FSF copyright notice, since our changes are becoming nontrivial.
Include stddef.h, for ptrdiff_t.
(FTS.fts_nitems): Now size_t, not int, for hosts that allow more
than INT_MAX entries in a directory.
(FTS_ROOTPARENTLEVEL): Parenthesize properly.
(FTSENT.fts_level): Now ptrdiff_t, not int, to allow recursing more
than INT_MAX levels deep on 64-bit hosts.
(FTSENT.fts_namelen): Now size_t, not u_short, to support hosts like
the Hurd that don't have arbitrary limits on directory entry lengths.
(FTSENT.fts_statp): Now an array, not a pointer, so that we don't
have to play unportable games with pointer arithmetic.  Keep it array
for the benefit of user code that assumes it is a pointer.
2004-08-02 19:41:35 +00:00
Paul Eggert
97f2714e35 Use Autoconf-suggested pattern for inttypes and stdint.
Include unistd.h, for lseek.
2004-08-02 18:44:11 +00:00
Paul Eggert
11e8886958 Include <stdbool.h>.
(struct fs_usage): Use uintmax_t for block sizes, so that they're
not limited to INT_MAX.
Use bool for booleans.
2004-08-02 18:43:56 +00:00
Paul Eggert
2f9bb99f37 (inode_format, show_all_fs, show_local_fs,
show_listed_fs, posix_format, require_sync, print_type,
selected_fstype, excluded_fstype, show_dev, show_point, main):
Use bool for booleans.
(df_readable, show_dev): Use UINTMAX_MAX instead of -1.
(show_dev, show_point, main):
Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1.
Don't assume disk name lengths are <= INT_MAX.
Rewrite pct calculation to avoid cast.
(show_point): Don't assume resolved length is <= SSIZE_MAX.
2004-08-02 18:43:35 +00:00
Paul Eggert
b4b2eed874 (EXT): Use size_t for sizes, not ptrdiff_t, so that we don't have
to worry about wraparound.
2004-08-02 18:21:05 +00:00
Paul Eggert
272dfbf173 fnmatch_loop.c (EXT, FCT): Use bool when appropriate.
(FCT): Use size_t, not unsigned int, for sizes.
(EXT): Use ptrdiff_t, not int, for a variable that has to
store a size-related quantity but might go negative.
ptrdiff_t is good enough here, since in practice the value
can't exceed SIZE_MAX/2.
2004-08-02 18:10:55 +00:00
Paul Eggert
a4805f79e8 Include <stdbool.h>.
(errno): Remove decl; we now assume C89 or better.
2004-08-02 18:10:35 +00:00
Paul Eggert
46499517ba (strip_trailing_slashes): Now returns bool. 2004-08-02 17:33:57 +00:00
Paul Eggert
8889b11fa1 (dir_name): Use bool when appropriate. 2004-08-02 17:33:37 +00:00
Paul Eggert
68d51a361e Include <stdbool.h>.
(strip_trailing_slashes): Now returns bool.
2004-08-02 17:33:24 +00:00
Paul Eggert
3ed11627ff (argmatch, __xargmatch_internal, argmatch_invalid):
Use ptrdiff_t, not int, when counting arguments, to allow more
than INT_MAX arguments.
Use bool when appropriate.
2004-08-02 17:24:00 +00:00
Paul Eggert
233d4fe941 (argmatch, __xargmatch_internal, argmatch_invalid):
Use ptrdiff_t, not int, when counting arguments, to allow more
than INT_MAX arguments.
2004-08-02 17:23:19 +00:00
Paul Eggert
7d3d26e57f Install safe-read fix for blocksizes greater than 2**31. 2004-08-02 05:56:14 +00:00
Paul Eggert
bd6af0743d (errno): Remove decl; we now assume C89 or better.
(safe_rw): Don't work around Tru64 bug unless the bug symptoms
manifest themselves.  This allows us to do proper reads and writes
on other hosts, e.g., "dd" with a block size greater than 2**31.
2004-08-02 05:55:54 +00:00
Paul Eggert
09e6455c57 Regenerate. 2004-08-02 05:30:48 +00:00
Paul Eggert
49d9b45b0c Regenerate. 2004-08-02 05:29:29 +00:00
Paul Eggert
d0cb135720 Initial revision 2004-08-02 05:28:02 +00:00
Paul Eggert
2f2165dc9e uintptr_t and uint32_t port to Solaris 8. 2004-08-02 05:26:59 +00:00
Paul Eggert
08eeecbbbb (ptr_align): Use size_t; in practice, this is just as
good as uintptr_t in checking for alignments, and has fewer
configuration hassles.
2004-08-02 05:26:19 +00:00
Paul Eggert
45e8d9f87b (UINT_MAX_32_BITS): Remove.
(word32): Remove.  All uses changed to uint32_t.
(isaac_seed_data): Remove unnecessary cast.
2004-08-02 05:26:01 +00:00
Paul Eggert
2c223a305b (hash_int) [!defined UINTPTR_MAX]: Use size_t instead of uintptr_t. 2004-08-02 05:25:33 +00:00
Paul Eggert
caef677896 Initial revision. 2004-08-02 05:24:47 +00:00
Paul Eggert
46791e4ae4 (gl_MD5): Require gl_AC_TYPE_UINT32_T. 2004-08-02 05:23:39 +00:00
Paul Eggert
fd35412abb (gl_CHECK_ALL_TYPES):
Require gl_AC_TYPE_UINTPTR_T instead of using AC_CHECK_TYPE
on uintptr_t.  Require gl_AC_TYPE_UINT32_T.
2004-08-02 05:22:57 +00:00
Paul Eggert
deda01980f (UNALIGNED_P): Use size_t; in practice, this is just as
good as uintptr_t in checking for alignments, and has fewer
configuration hassles.
2004-08-02 05:22:22 +00:00
Paul Eggert
5682fe455f Don't include inttypes.h or stdint.h.
(UNALIGNED_P): Remove.
(__memrchr): Use size_t, not uintptr_t, to test alignment.
2004-08-02 05:21:47 +00:00
Paul Eggert
b6f35b5d52 Don't include inttypes.h or stdint.h.
(UNALIGNED_P): Remove.
(__memchr): Use size_t, not uintptr_t, to test alignment.
2004-08-02 05:21:12 +00:00
Paul Eggert
90cfcabe95 Don't include <limits.h>. Include <inttypes.h> if available,
as it defines symbols like UINT32_MAX on Solaris 8.
(md5_uint32): Assume uint32_t exists; Autoconf will define it
otherwise (if the host has a 32-bit unsigned type, anyway).
2004-08-02 05:20:05 +00:00
Paul Eggert
aa0a7d5865 (UNALIGNED_P): Use size_t; in practice, this is just as
good as uintptr_t in checking for alignments, and has fewer
configuration hassles.
2004-08-02 05:19:30 +00:00
Paul Eggert
7d66365bcf Fix typo: down -> done. 2004-08-01 15:21:56 +00:00
Paul Eggert
6c7be35e86 * src/Makefile.am (localedir.h): Make it readonly. 2004-08-01 15:19:02 +00:00
Paul Eggert
bb1e87735e (localedir.h): Make it readonly; this
undoes part of the 2004-07-27 patch.
2004-08-01 15:18:29 +00:00
Paul Eggert
94732c8a71 Improve comment for first_same_file. 2004-07-30 23:24:03 +00:00
Paul Eggert
55710cf6e1 sort, system.h, tr int cleanup 2004-07-30 21:09:04 +00:00
Paul Eggert
7eb95094d3 (to_uchar): Remove; now in system.h.
(is_char_class_member): Use bool when appropriate.
2004-07-30 21:08:48 +00:00
Paul Eggert
67bfd37c8b (errno, CHAR_BIT): Remove decls;
no longer needed now we assume C89 or better.
Include <inttypes.h> before <stdint.h>, as it's the Autoconf-recommended pattern.
(to_uchar): New inline function, moved here from tr.c.
Use full names for int types, e.g. "long int" rather than "long".
2004-07-30 21:08:25 +00:00
Paul Eggert
9023219a73 (UCHAR): Remove; all uses changed to to_uchar.
(IS_THOUSANDS_SEP): Use bool when appropriate.
(numcompare, main): Use char, not int, when the value is always a char.
(numcompare): Remove "register"; compilers are smart enough these days.
2004-07-30 21:08:02 +00:00
Paul Eggert
294eb3b508 makepath int cleanup 2004-07-30 20:30:39 +00:00
Paul Eggert
d087f16e7f mkdir.c int cleanup. 2004-07-30 20:30:18 +00:00
Paul Eggert
5c53a006eb (create_parents, main): Use bool when appropriate.
(main): Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1.
2004-07-30 20:29:29 +00:00
Paul Eggert
21e05084ac (make_path, make_dir): Use bool, not int, since we're not setting errno.
Use mode_t for modes, not int.  All uses changed.
(errno): Remove decl; no longer needed since we assume C89.
2004-07-30 20:29:01 +00:00
Paul Eggert
b90519d9f9 Include <stdbool.h>.
(make_path, make_dir): Use bool, not int, since we're not setting errno.
Use mode_t for modes, not int.  All uses changed.
2004-07-30 20:28:13 +00:00
Paul Eggert
d41b0c05ba modechange.c now uses bool. 2004-07-30 08:02:27 +00:00
Paul Eggert
48ed3f3692 int cleanups for chmod, rm, cp, install, mkfifo. 2004-07-30 08:01:38 +00:00
Paul Eggert
a586795939 (main): Use EXIT_SUCCESS and EXIT_FAILURE, not 0 and 1. 2004-07-30 08:00:40 +00:00
Paul Eggert
35c0c98c7d (right_justify), full_filename_, AD_pop_and_chdir,
AD_push, prompt, remove_dir): Use bool when appropriate.
(top_dir, pop_dir, full_filename_):
Use size_t for sizes.
2004-07-30 08:00:02 +00:00
Paul Eggert
aed86808d9 (rm_option_init, main): Use bool when appropriate.
(main): Use EXIT_SUCCESS, EXIT_FAILURE instead of 0, 1.
2004-07-30 07:59:19 +00:00
Paul Eggert
bbed0ba2e3 (remove_trailing_slashes, rm_option_init,
cp_option_init, do_move, movefile, main): Likewise.
* src/remove.c (right_justify), full_filename_, AD_pop_and_chdir,
AD_push, prompt, remove_dir): Likewise.
2004-07-30 07:58:07 +00:00
Paul Eggert
0892ed97a6 (isdir, change_timestamps, change_attributes,
copy_file, install_file_to_path, install_file_in_dir,
install_file_in_file, strip_files, dir_arg, cp_option_init, main,
change_attributes, change_timestamps): Likewise.
2004-07-30 07:57:50 +00:00
Paul Eggert
f3b9ba46f8 (struct dir_attr, flag_path, remove_trailing_slashes,
re_protect, make_path_private, target_directory_operand, do_copy,
cp_option_init, decode_preserve_arg, main): Use bool when appropriate.
(target_directory_operand): Do not clear *NEW_DST if stat
succeeds.  It's not necessary in that case, as *NEW_DST is always
false already.
(do_copy): Rewrite slightly to avoid need for "unreachable" comment.
(main): Use EXIT_SUCCESS, EXIT_FAILURE instead of 0, 1.
2004-07-30 07:57:27 +00:00
Paul Eggert
89c5dddb8f (remember_created): Use bool when appropriate. 2004-07-30 07:55:59 +00:00
Paul Eggert
1c9f7316d2 (remember_created): Use bool when appropriate. 2004-07-30 07:55:33 +00:00
Paul Eggert
49eaeaf611 (copy_internal, is_ancestor, copy_dir, copy_reg,
same_file_ok, seen_file, copy_internal, valid_options, copy):
Use bool when appropriate.
2004-07-30 07:51:59 +00:00
Paul Eggert
dabfc733f7 (struct cp_options): Use bool when appropriate. 2004-07-30 07:49:39 +00:00
Paul Eggert
e61348619a (hard_LC_COLLATE, only_file_1, only_file_2, both, compare_files, main):
Use bool when appropriate.
2004-07-30 05:25:17 +00:00
Paul Eggert
299d98cfe2 (cksum, main): Use bool when appropriate. 2004-07-30 04:12:25 +00:00
Paul Eggert
f232dfa081 (recurse, force_silent, process_file, process_files, main): Use bool
when appropriate.
2004-07-30 04:06:41 +00:00
Paul Eggert
6d02317a83 Update copyright. 2004-07-30 04:06:16 +00:00
Paul Eggert
f9663b8c83 Include <stdbool.h>.
(mode_compile): Use bool when appropriate.
2004-07-30 04:05:50 +00:00
Paul Eggert
0d812118fa md5sum, sha1sum integer cleanups. 2004-07-30 00:55:09 +00:00
Paul Eggert
577caa4da2 (OPENOPTS, have_read_stdin, status_only, warn,
bsd_split_3, split_3, hex_digits, digest_file, digest_check, main):
Use bool when appropriate.
(digest_check): Increase limit of number of input lines to
UINTMAX_MAX from INT_MAX.  Diagnose any overflows of this counter.
Use ngettext instead of hard-to-i18nize hardcoded stuff for plurals.
2004-07-30 00:54:44 +00:00
Paul Eggert
bd20ce2bad Don't include any files other than checksum.h. 2004-07-30 00:54:02 +00:00
Paul Eggert
286aff1fe6 Don't include config.h, sys/types.h, stdio.h: not needed.
(ALG_UNSPECIFIED): Remove.
(ALG_MDT): Don't make it equal to CHAR_MAX + 1; this isn't necessary.
2004-07-30 00:53:49 +00:00
Paul Eggert
a8faa974c4 md5sum and sha1sum overflow detection. 2004-07-30 00:53:23 +00:00
Paul Eggert
ac63cc6b0f Fix copyright year. 2004-07-30 00:40:40 +00:00
Paul Eggert
14508bd891 Use sizeof, not alignof, in memchr and memrchr. 2004-07-29 17:34:38 +00:00
Paul Eggert
f03b0c3060 (UNALIGNED_P): Use sizeof, not alignof. 2004-07-29 17:34:20 +00:00
Paul Eggert
3a7060d519 (UNALIGNED_P): Use sizeof, not alignof. 2004-07-29 17:33:38 +00:00
Paul Eggert
0bdefc2dca 'int' cleanup for "cat". 2004-07-29 06:12:44 +00:00
Paul Eggert
69da9561c7 (exit_status): Remove. Now done by passing a boolean
'ok' flag around.
(simple_cat, cat): Return true if successful.  All callers changed.
(simple_cat, cat, main): Use bool for booleans.
(simple_cat): Use size_t for sizes.
(cat, main): Use the same names for parameters that we use for
long options, to avoid confusion.  This inverts the sense of the
show_tabs (formerly output_tabs) and number_nonblank
(formerly numbers_at_empty_lines) variables.
(main): Don't mess up (due to integer overflow) if we are given
INT_MAX - INT_MIN + 1 options.
[O_BINARY]: Don't invoke isatty unless the other options require it.
(main): When deciding whether to use simple_cat, don't worry
about binary option; it's irrelevant.
2004-07-29 06:12:27 +00:00
Paul Eggert
b61e6bc352 dcgen cleanup. 2004-07-28 23:59:37 +00:00
Paul Eggert
488905a239 Remove comments, trailing white space, and empty
lines from the output strings, to save space.
Use a narrower type like 'unsigned char' for line lengths, if
that will do.
Make the output variables static, not extern.
2004-07-28 23:59:11 +00:00
Paul Eggert
3a92cf062b chown/chgrp cleanup. 2004-07-28 23:39:12 +00:00
Paul Eggert
d73c456b2e (chown_files): Return true/false, not 0/-1, since we don't set errno. 2004-07-28 23:38:36 +00:00
Paul Eggert
5c0ca7ea76 Include inttostr.h.
(UINT_MAX_DECIMAL_DIGITS, uint_to_string): Remove.
(gid_to_name, uid_to_name): Use imaxtostr/umaxtostr
instead of uint_to_string).
(describe_change): Instead of an int flag, use a char *
auxiliary; this avoids the need for casts.
Assume free (NULL) works.
(change_file_owner): Return true/false, not 0/-1, since
we don't set errno.  All callers changed.
Use bool when appropriate.
(chown_files): Likewise.
2004-07-28 23:37:49 +00:00
Paul Eggert
65c2eab955 (main): int -> bool when appropriate. 2004-07-28 23:37:21 +00:00
Paul Eggert
a830ae0cbb (parse_group): Require base 10 when parsing groups as integers.
(main): int -> bool when appropriate.
2004-07-28 23:36:59 +00:00
Paul Eggert
3badaccae1 userspec.c cleanup, e.g. for "chown 010 file". 2004-07-28 23:06:25 +00:00
Paul Eggert
a07018a24d Include <stdbool.h>, "inttostr.h".
(V_STRDUP): Don't assume the string's length fits in int.
(ISDIGIT): unsigned -> unsigned int
(is_number): Define only ifdef __DJGPP__; not needed elsewhere.
Use bool instead of int where appropriate.
Do not allow empty strings.
(parse_user_spec): Parse numbers as decimal integers, even if
they have a leading 0.  Don't assume uids and gids fit in int.
2004-07-28 23:06:11 +00:00
Paul Eggert
0bddab6d08 Test for "chown 010 file". 2004-07-28 23:05:52 +00:00
Paul Eggert
adab436e48 Test for proper handling of uids like
"010", which must be parsed as decimal.
2004-07-28 23:05:27 +00:00
Paul Eggert
f8fe7f2e43 Regenerate. 2004-07-28 22:32:26 +00:00
Paul Eggert
ef6b50199e memchr and memrchr portability fixes. 2004-07-28 22:21:33 +00:00
Paul Eggert
8792823f5c Include <stddef.h>, not <stdlib.h> and <sys/types.h>.
(LONG_MAX_32_BITS): Remove.
Include <inttypes.h> and <stdint.h> if available.
(alignof, UNALIGNEDP): New macro, portable to all C89 hosts.
(__memrchr): Don't assume unsigned long int is either 4 or 8 bytes;
let it be any number of bytes greater than or equal to 4.
2004-07-28 22:21:18 +00:00
Paul Eggert
5048f3461c Include <stddef.h>, not <stdlib.h> and <sys/types.h>.
(LONG_MAX_32_BITS): Remove.
Include <inttypes.h> and <stdint.h> if available.
(alignof, UNALIGNEDP): New macro, portable to all C89 hosts.
(__memchr): Don't assume unsigned long int is either 4 or 8 bytes;
let it be any number of bytes greater than or equal to 4.
* memrchr.c: Likewise, with __memrchr.
2004-07-28 22:20:56 +00:00
Paul Eggert
9f09a96f97 md5, sha1 cleanups; getugroups change. 2004-07-28 20:11:45 +00:00
Paul Eggert
926de77e69 md5, sha1 cleanups. 2004-07-28 20:10:55 +00:00
Paul Eggert
2146f830d2 (gl_SHA): Require AC_C_BIGENDIAN. 2004-07-28 20:10:44 +00:00
Paul Eggert
c01cc5cfaa (gl_MD5): Do not require AC_C_INLINE, since it doesn't
use inline any more.  Require AC_C_BIGENDIAN, though.
2004-07-28 20:10:18 +00:00
Paul Eggert
94185e124d Don't include <sys/types.h> or <stdlib.h>; <stddef.h>
suffices with C89 or better.
(alignof): New macro, portable to all C89 hosts.
(UNALIGNED): Use it.  Use uintptr_t if available, and assume
everything is unaligned otherwise; this is more portable than
assuming 'unsigned long int' will always work.
2004-07-28 20:09:39 +00:00
Paul Eggert
4b7668c12a Include <stdint.h> if HAVE_STDINT_H || _LIBC, not
ifdef _LIBC.
(md5_uint32): Use uint32_t if available.  Simplify fallback ifdefs.
2004-07-28 20:09:09 +00:00
Paul Eggert
7c6ecf213a Include <errno.h>.
(EOVERFLOW): Define if not defined.
(getgroups): Return -1 with errno=EOVERFLOW if an integer overflow
occurs.
2004-07-28 19:41:08 +00:00
Paul Eggert
a0cc71ff25 Regenerate. 2004-07-28 19:26:33 +00:00
Paul Eggert
ed996f7489 Don't assume that Perl's getpwd agrees with ours. 2004-07-28 19:23:28 +00:00
Paul Eggert
f4bc6c5d12 Don't assume that Perl's getpwd agrees with our
pwd when there are multiple names for the working directory
(which can happen with an automounter, sigh).
2004-07-28 19:23:07 +00:00
Paul Eggert
d2d008b6fe In src/Makefile.am, don't have 'groups' or 'localedir.h' depend on Makefile. 2004-07-28 18:54:05 +00:00
Paul Eggert
a60f136da2 this causes Solaris 8 'make' to refuse to build "groups".
(localedir.h): Don't depend on Makefile: this causes Solaris
8 'make' to build localedir.h unnecessarily.  The dependence
on Makefile is ineffective anyway, since $(localedir) might
change even if Makefile hasn't.
2004-07-28 18:53:22 +00:00
Paul Eggert
1cb2521b31 * src/remove.c (remove_dir): If we can't save the state of the
working directory, pretend we started from "/", not ".".
2004-07-28 14:50:25 +00:00
Paul Eggert
5bfb177670 (remove_dir): If we can't save the state of the
working directory, pretend we started from "/", not ".".
This avoids a bug on hosts like Solaris that don't let you
remove the working directory.
2004-07-28 14:50:06 +00:00
Paul Eggert
02b3090917 In src/printf.c, declare strtoimax and strtoumax if not already declared. 2004-07-28 06:59:27 +00:00
Paul Eggert
713c2a319a (strtiomax, strtoumax): Declare if not already
declared: this fixes a portability bug with Solaris 8 + GCC.
(STRTOX): Parenthesize use of macro arg as expression.
(vstrtoimax, vstrtoumax, vstrtold): Remove now-unnecessary
parentheses.
2004-07-28 06:58:25 +00:00
Paul Eggert
2cc7823212 Check for declaration of strtoumax, for src/printf.c. 2004-07-28 06:58:09 +00:00
Paul Eggert
62824b327f Regenerate. 2004-07-28 05:26:31 +00:00
Paul Eggert
db1c6c3879 Get eaccess from libgen if available; that's where it is on Solaris 9. 2004-07-28 05:02:17 +00:00
Paul Eggert
84af134c5a (cp_LDADD, ginstall_LDADD, mv_LDADD,
pathchk_LDADD, rm_LDADD, test_LDADD): New vars, for eaccess.
2004-07-28 05:00:35 +00:00
Paul Eggert
3829b4e3ef (gl_PREREQ_EUIDACCESS): Don't bother checking for
unistd.h, as autoconf does this for us.  Check for libgen.h.
Also look for eaccess within -lgen, which is where it is in
Solaris.  Set LIB_EACCESS accordingly.
2004-07-28 05:00:10 +00:00
Paul Eggert
dd0eaccf28 euidaccess.c [HAVE_LIBGEN_H]: Include <libgen.h>, for
eaccess on Solaris and SVR4-like systems.
(euidaccess): Use HAVE_EACCESS, not HAVE_DECL_EACCESS.
2004-07-28 04:59:44 +00:00
Paul Eggert
d08db2a02a cycle-check integer overflow fixup. 2004-07-28 00:31:58 +00:00
Paul Eggert
6cb7a76f8e Remove now-inaccurate comment about the files
you need to include first.  You don't need to include any files
other than the usual config.h.
Include <inttypes.h> and <stdint.h> if available, for uintmax_t.
Remove 'struct stat;' not needed since we know sys/stat.h has
been included by dev-ino.h.
(struct cycle_check_state): Change chdir_counter to uintmax_t,
not size_t, since it isn't limited by object sizes.
Change magic from long unsigned int to int; that's good enough
for our use.
2004-07-28 00:31:14 +00:00
Paul Eggert
62ce2087cb (is_zero_or_power_of_two): Renamed from
is_power_of_two, to reflect better what it really does.
All uses changed.  Arg is now uintmax_t, not unsigned int
(it should have been unsigned long int -- that was a bug).
(cycle_check): Check for integer overflow in cycle count,
and report a cycle if that happens, as it must be a cycle
by this point.
2004-07-28 00:30:45 +00:00
Paul Eggert
43309787ce Don't assume that we can remove the working directory in tests. 2004-07-28 00:06:57 +00:00
Paul Eggert
eba892da25 Regenerate. 2004-07-27 23:20:48 +00:00
Paul Eggert
5a0e4bcd67 Merged into backupfile.c. 2004-07-27 23:20:03 +00:00
Paul Eggert
0dd8a47056 backupfile integer overflow fixups 2004-07-27 23:15:05 +00:00
Paul Eggert
94a410b48a backupfile integer overflow fixups 2004-07-27 23:14:53 +00:00
Paul Eggert
9dfcfc47dc (do_link): find_backup_file_name no longer returns NULL, so don't
bother to check for this.
2004-07-27 23:14:30 +00:00
Paul Eggert
53b24fa527 (do_copy): find_backup_file_name no longer returns NULL, so don't
bother to check for this.
2004-07-27 23:14:05 +00:00
Paul Eggert
c3d37adf6d (copy_internal): find_backup_file_name no longer
returns NULL, so don't bother to check for this.
2004-07-27 23:13:38 +00:00
Paul Eggert
967a08d520 (gl_BACKUPFILE): AC_REQUIRE
gl_CHECK_TYPE_STRUCT_DIRENT_D_INO instead of invoking it directly.
Do not require AC_FUNC_CLOSEDIR_VOID.
2004-07-27 23:13:17 +00:00
Paul Eggert
1b94625f19 backupfile.c rewrite to avoid arbitrary limits on lengths of
numeric backup extensions.

Include "backupfile.h" first.
Include errno.h, stdbool.h, limits.h, unistd.h, xalloc.h.
(CLOSEDIR, INT_STRLEN_BOUND): Remove.
(pathconf) [! (HAVE_PATHCONF && defined _PC_NAME_MAX)]: New macro.
(_POSIX_NAME_MAX) [!defined _POSIX_NAME_MAX]: New macro.
(NAME_MAX_MAXIMUM): New macro.  Unlike the old addext.c, we
also look at _XOPEN_NAME_MAX, for better performance on modern
hosts that support only file names of length 255 or more.
(ISDIGIT): unsigned -> unsigned int
(max_backup_version, version_number): Remove.
(check_extension): New function.  Similar to the old addext, but
static, assumes that the extension has already been added,
and a bit more careful on DOS hosts.
(numbered_backup): New function.  It does what max_backup_version
and version_number used to do, but it doesn't use integer arithmetic
to calculate extensions so it doesn't overflow.
(find_backup_file_name): Rewrite to use these new functions.
This has a new optimization: we needn't call pathconf if the
new numbered backup name has the same length as the old.
Also, use xmalloc rather than malloc, so that the caller
needn't worry about memory exhaustion.
2004-07-27 23:12:56 +00:00
Paul Eggert
bdf757d699 backupfile.h (addext): Remove decl. 2004-07-27 23:12:17 +00:00
Paul Eggert
4e5aa1e97b (libfetish_a_SOURCES): Remove addext.c. 2004-07-27 23:11:55 +00:00
Paul Eggert
362264b40d Regenerate. 2004-07-26 06:14:11 +00:00
Paul Eggert
218f93ec2c (GET_NICE_VALUE): Renamed from GET_PRIORITY.
All uses changed.
(NZERO): New macro, if system doesn't define it already.
(usage): Distinguish priorities from nice values.
Don't assume NZERO is 20.
(main): Use bool instead of int where appropriate.
If user specifies an adjustment out of range, always truncate it
to an inrange value instead of sometimes giving an error message
and sometimes not.
Do not assume that -1 is an error return from "nice" or
"getpriority", as it might be the current nice value minus NZERO.
If nice/setpriority fails with errno == EPERM, go ahead and run
the command anyway; POSIX requires this.
2004-07-26 06:08:50 +00:00
Paul Eggert
b41eb892ea (nice invocation): Document the "nice value", and
how it affects the scheduling priority.  (The old documentation
implied that the nice value equaled the scheduling priority, which
isn't accurate.)  Document that the range of nice values might
exceed -20..19.  Specify what happens when you give a nice value
that is out of range, or when you don't have permissions to lower
the nice value.  Bash doesn't have a builtin 'nice', so don't say
"most shells" have one.
2004-07-26 06:08:18 +00:00
Paul Eggert
3bc83c8a92 Document portability and POSIX fixes for "nice". 2004-07-26 06:07:40 +00:00
Paul Eggert
a4dec5db91 Portability and POSIX fixes for "nice". 2004-07-26 06:07:04 +00:00
Paul Eggert
7200b3e37d Portability and POSIX fixes for "nice". 2004-07-26 06:06:30 +00:00
Paul Eggert
e86b28dc3d Remove setreuid/setregid test from gl_MACROS. 2004-07-25 23:01:23 +00:00
Paul Eggert
3092c8fa01 Update serial number. 2004-07-25 23:00:47 +00:00
Paul Eggert
f22603b500 (gl_MACROS): Remove test for setreuid and setregid,
as test.c no longer uses them directly.
2004-07-25 23:00:11 +00:00
Paul Eggert
be7b1ba252 Regenerate. 2004-07-25 07:48:17 +00:00
Paul Eggert
5538bf8921 euidaccess fixes 2004-07-25 07:40:32 +00:00
Paul Eggert
20b73f214c (R_OK, W_OK, X_OK, FOK): Remove; system.h defines them.
(eaccess): Remove.  All users changed to use euidaccess instead.
2004-07-25 07:39:02 +00:00
Paul Eggert
b93109eedc pathchk.c: Include euidaccess.h.
(dir_ok): Use euidaccess, not access.
2004-07-25 07:38:39 +00:00
Paul Eggert
34d19d25d5 (gl_PREREQ): Invoke gl_FUNC_NONREENTRANT_EUIDACCESS,
not gl_FUNC_EUIDACCESS.
2004-07-25 07:38:19 +00:00
Paul Eggert
b46f08fd59 (gl_FUNC_NONREENTRANT_EUIDACCESS): New macro.
(gl_FUNC_EUIDACCESS): Use AC_CHECK_DECLS_ONCE, not AC_CHECK_DECLS.
(gl_PREREQ_EUIDACCESS): Check for eaccess and setregid decls.
Require AC_HEADER_STAT.
2004-07-25 07:37:55 +00:00
Paul Eggert
6fb55c3b5a [!defined LIBC]: Included group-member.h, stat-macros.h.
(S_IXUSR, S_IXGRP, S_IXOTH, S_IROTH, S_IWOTH, S_IXOTH):
Remove; now done by stat-macros.h.
(NGROUPS_MAX, group_member): Remove; now down by group-member.h.
No need to include <limits.h>.
(errno): Remove decl; we now assume C89 or better.
(access, getuid, getgid, geteuid, getegid, stat) [defined _LIBC]:
New macros.
(uid, gid, have_ids): Remove these static variables.
They weren't accurate for programs that also invoked setreuid etc.
(euidaccess) [defined EFF_ONLY_OK || defined ACC_SELF ||
HAVE_DECL_EACCSS]: Use builtin substitutes.
[defined _LIBC]: Ignore __libc_enable_secure; it's not a
correct optimization for programs run as root that later
invoke setreuid.
[no builtin substitutes && HAVE_DECL_SETREGID &&
PREFER_NONREENTRANT_EUIDACCESS]:
Use setreuid+setregid to get the correct answer.
[no builtin substitutes && ! (HAVE_DECL_SETREGID &&
PREFER_NONREENTRANT_EUIDACCESS)]:
Don't assume that the stat macros have their historical values,
as POSIX doesn't require this.
[defined TEST]: Include <stdlib.h>; don't include errno.h
twice; include <error.h> rather than "error.h".
2004-07-25 07:37:22 +00:00
Paul Eggert
ac04178e31 Move some changelog entries here from ../ChangeLog. 2004-07-24 08:03:55 +00:00
Paul Eggert
3949476b46 Fix non-null-terminated-string bugs in who and uptime. 2004-07-24 08:03:40 +00:00
Paul Eggert
a6411b5d54 (print_uptime) [defined BOOT_MSG]:
Don't assume ut_line is null-terminated.
2004-07-24 08:03:02 +00:00
Paul Eggert
d3d39f9a3e (print_line): New arguments USERLEN and LINELEN, since USER and LINE
might not be null terminated.  All callers changed.
2004-07-24 08:01:49 +00:00
Paul Eggert
60a96eb684 Regenerate. 2004-07-23 22:41:52 +00:00
Paul Eggert
35c8fbacab Fix bug with tail -f and pipes, plus a few other problems with tail. 2004-07-23 22:36:07 +00:00
Paul Eggert
85e5128190 Add fcntl-safer. 2004-07-23 22:35:47 +00:00
Paul Eggert
ba1e6b0184 (gl_PREREQ): Add gl_FCNTL_SAFER. 2004-07-23 22:35:07 +00:00
Paul Eggert
441462ac72 Include fcntl-safer.h.
(COPY_TO_EOF): Set to UINTMAX_MAX, not OFF_T_MAX (which was wrong).
(COPY_A_BUFFER): New macro.
(struct File_spec): New members mtime, mode, blocking.
Remove member n_consecutive_size_changes.
(DEFAULT_MAX_N_CONSECUTIVE_SIZE_CHANGES,
max_n_consecutive_size_changes_between_opens,
MAX_CONSECUTIVE_SIZE_CHANGES_OPTION): Remove.
(long_options, tail_forever, parse_options):
Remove (non-)support for --max-consecutive-size-changes.
(record_open_fd): New function.
(recheck, tail_file): Use it.  Don't assume that stdin is open.
(dump_remainder): Add support for new COPY_A_BUFFER special value.
Treat errno==EAGAIN like EOF, since it might be a nonblocking read.
(recheck): New arg BLOCKING, specifying whether to use blocking reads.
All uses changed.
(n_live_files): Remove, replacing with...
(any_live_files): New function.  All uses changed.
(tail_forever): Use nonblocking I/O unless we know that blocking I/O
is safe; this avoids some hangs when reading from a fifo.
Avoid invoking fstat or sleep when using blocking I/O.
Do not check for changes to size if the file is not a regular file,
as the size is undefined in that case.
Check for changes to mtime or mode, too; this works for non-regular
files.
(tail_forever, main): Redo fflush strategy to work even when input
is nonblocking.  Don't use unbuffered output; just flush when needed.
2004-07-23 22:33:51 +00:00
Paul Eggert
61b792fc38 (libfetish_a_SOURCES): Add fcntl-safer.h, open-safer.c. 2004-07-23 22:33:23 +00:00
Paul Eggert
40ac111df8 New file. 2004-07-23 22:31:32 +00:00
Paul Eggert
c8ab5c1358 (tail invocation): "size has remained the same"
-> "file has not changed", which is more accurate for fifos.
2004-07-23 22:11:49 +00:00
Paul Eggert
2ebcff3337 tail: Fix bug with -f and pipes; remove --max-consecutive-size-changes. 2004-07-23 22:11:15 +00:00
Paul Eggert
af73da6cdf Regenerate. 2004-07-22 20:58:52 +00:00
Paul Eggert
21e0573220 Add fix for "tail -f" when stdin is a pipe. 2004-07-22 20:55:12 +00:00
Paul Eggert
1391d2dc5c Reinstate f-1 test, since we now pass.
Add a new commented-out f-2 test, which we still fail.
(test_vector): All f-* tests are special cases, not just f-1.
2004-07-22 20:54:53 +00:00
Paul Eggert
3f565ee1fe (tail invocation): Do not ignore -f for
all pipes, just for when standard input is a pipe and no
file operand is specified.
2004-07-22 20:54:33 +00:00
Paul Eggert
255eb9cf44 (main): Ignore -f if no file operand is specified
and standard input is a pipe.
2004-07-22 20:54:04 +00:00
Paul Eggert
e5d9694985 Prefer c_strtod to setlocale when scanning floating point. 2004-07-13 00:07:26 +00:00
Paul Eggert
92a74b0a88 Include <errno.h>, <stdio.h>, <stdlib.h> even
if HAVE_GETLOADAVG is defined, so that the test program can work.
(errno): Remove declaration; not needed in C89 or later.
Include "c-strtod.h".
Do not include locale.h or define setlocale; no longer needed.
Include <limits.h>.
(INT_STRLEN_BOUND): New macro.
(getloadavg): Use it to compute buffer size.
Don't assume that buffer will be properly terminated by 'read'.
Use c_strtod instead of setlocale.
(main) [defined TEST]: Return int, not void.
2004-07-12 18:19:38 +00:00
Paul Eggert
6301ff874e Include c-strtod.h.
(print_uptime): Use c_strtod instead of setlocale and sscanf.
Use long int rather than int to count days (for 64-bit hosts),
and check for arithmetic overflow when converting double to time_t.
2004-07-12 17:55:06 +00:00
Paul Eggert
576958b1fd (gl_C_STRTOD): Add gl_USE_SYSTEM_EXTENSIONS. 2004-07-12 17:50:28 +00:00
Paul Eggert
955aa2dc77 (STRTOD_L): New macro.
(C_STRTOD) [defined LC_ALL_MASK]: Use it, so that the
code is reentrant on platforms that have strtod_l.
2004-07-12 17:50:11 +00:00
Paul Eggert
70c9129e14 Regenerate. 2004-07-12 06:43:20 +00:00
Paul Eggert
c3334f85b6 Regenerate. 2004-07-12 06:42:43 +00:00
Paul Eggert
618dd92be6 printf now uses long double. 2004-07-12 06:40:24 +00:00
Paul Eggert
6ab31c1e23 New file. 2004-07-12 06:39:23 +00:00
Paul Eggert
830de27082 (vstrtold): Renamed from vstrtod.
Now returns long double.  All uses changed.
(print_direc): Use "L" length modifier when printing floating point
numbers, since we're now printing long double.
2004-07-12 06:36:55 +00:00
Paul Eggert
bae8432a9b (gl_PREREQ): Add gl_C_STRTOLD. 2004-07-12 06:36:02 +00:00
Paul Eggert
fdfe049a93 New file. 2004-07-12 06:31:53 +00:00
Paul Eggert
9b8e02c39e (c_strtold): New decl. 2004-07-12 06:31:01 +00:00
Paul Eggert
d06984e2be Include <config.h> first.
(C_STRTOD, DOUBLE, STRTOD): New macros.
(c_strtod): Use them.
2004-07-12 06:30:36 +00:00
Paul Eggert
c98f2fb04a (libfetish_a_SOURCES): Add c-strtold.c. 2004-07-12 06:29:59 +00:00
Jim Meyering
c5211912ed . 2004-07-08 14:04:35 +00:00
Jim Meyering
dd0d9c278a *** empty log message *** 2004-07-08 14:03:45 +00:00
Jim Meyering
405c640f5b printf cleanup, to avoid undefined behavior, to add support for
formats that Bash supports, and to support wide integers like
Bash does.

Add tests for the above.
2004-07-08 14:03:20 +00:00
Jim Meyering
3f61615681 *** empty log message *** 2004-07-08 14:01:59 +00:00
Jim Meyering
62e1d5259d printf cleanup, to avoid undefined behavior, to add support for
formats that Bash supports, and to support wide integers like
Bash does.

(UNSPECIFIED): Remove.  All uses now replaced by
booleans, so that we don't reserve any values for precision or
width (like Bash).
(STRTOX): Use prototype, not K&R-style definition.
(vstrtoimax): Renamed from xstrtol (to avoid confusion with xstrtol
in ../lib), with type change to intmax_t.
All uses changed.
(vstrtoumax): Renamed from xstrtoul, with type change to uintmax_t.
All uses changed.
(vstrtod): Renamed from xstrtod.  All uses changed.
(print_direc): Use boolean arg instead of special value to indicate
a missing precision or width.  LENGTH no longer includes
length modifiers or conversion character.  New arg CONVERSION
now specifies conversion character.
Use intmax_t-width formatting for integers (like Bash).
Add support for C99 %a, %A, %F (like Bash).
Add support for field width with %c (POSIX requires this).
Add a FIXME for lack of support for field width and precision
for %b.
Add support for '\'', '0' flags.
Check for invalid combinations of flags, field width, precision,
and conversion, to prevent use of undefined behavior.
Allow multiple length modifiers, for formats like "%lld" (like Bash).
Add support for C99 'j', 't', 'z' length modifiers (like Bash).
In error message, output entire invalid conversion specification,
instead of merely outputting % followed by the conversion char.
2004-07-08 14:01:49 +00:00
Jim Meyering
2aa1f2d16b *** empty log message *** 2004-07-07 15:54:54 +00:00
Jim Meyering
f1314a409c Don't infloop when MAXSYMLINKS is not defined.
Detect symlink loops much earlier (albeit lazily) on systems
with MAXSYMLINKS defined to a large value.

Include "cycle-check.h".
(canonicalize_filename_mode): Don't try to detect loops by counting
symlink-hops.  Instead, use the cycle-check module.
2004-07-07 15:54:51 +00:00
Jim Meyering
ff5ea92271 Include stdbool.h.
Forward-declare `struct stat'.
2004-07-07 15:07:08 +00:00
Jim Meyering
de9faabfe6 *** empty log message *** 2004-07-07 09:28:24 +00:00
Jim Meyering
f7975d11d7 (canonicalize_filename_mode): Remove do-while(0) loop.
Replace each corresponding `break' stmt with `continue'.
2004-07-07 09:28:15 +00:00
Jim Meyering
0f3da8f425 . 2004-07-06 17:30:29 +00:00
Jim Meyering
bb11ba8316 . 2004-07-06 17:00:53 +00:00
Jim Meyering
2b19667f16 Include "stat-macros.h".
(canonicalize_filename_mode): Remove #ifdef S_ISLNK, now that
S_ISLNK is guaranteed to be defined (via stat-macros.h).
2004-07-06 17:00:36 +00:00
Jim Meyering
260a2f0a47 *** empty log message *** 2004-07-06 16:56:30 +00:00
Jim Meyering
b2c18c67d4 (libfetish_a_SOURCES): Add canonicalize.c unconditionally. 2004-07-06 16:56:21 +00:00
Jim Meyering
51dfe9cc31 (canonicalize_mode_t): New type. 2004-07-06 16:55:40 +00:00
Jim Meyering
17b22ef83f Include "file-type.h".
(canonicalize_filename_mode): New function, based on
canonicalize_file_name, supports three canonicalize modes.
(canonicalize_file_name)
[!HAVE_CANONICALIZE_FILE_NAME && !HAVE_RESOLVEPATH]: Use it.
2004-07-06 16:55:26 +00:00
Jim Meyering
e86c162eed *** empty log message *** 2004-07-06 16:17:25 +00:00
Jim Meyering
859fcb7eec (AC_FUNC_CANONICALIZE_FILE_NAME): Do not add canonicalize.c here. 2004-07-06 16:17:10 +00:00
Jim Meyering
48e3ae2b2f *** empty log message *** 2004-07-06 16:16:01 +00:00
Jim Meyering
159c3f467e (readlink invocation): Document new
"readlink -f" behaviour and new canonicalize options, -e and -m.
2004-07-06 16:15:45 +00:00
Jim Meyering
0966feecc2 . 2004-07-06 16:14:45 +00:00
Jim Meyering
06291f1741 renamed from ../misc/readline 2004-07-06 16:14:40 +00:00
Jim Meyering
0206598b8b . 2004-07-06 16:14:19 +00:00
Jim Meyering
6ec3b19040 From Dmitry V. Levin 2004-07-06 16:14:15 +00:00
Jim Meyering
519533ed8e (SUBDIRS): Add readlink. 2004-07-06 16:13:31 +00:00
Jim Meyering
bb16bf0cd5 (AC_CONFIG_FILES): Add tests/readlink/Makefile. 2004-07-06 16:13:17 +00:00
Jim Meyering
ef09b8426a (TESTS): Remove basic readlink test. 2004-07-06 16:13:01 +00:00
Jim Meyering
037b7fc0b9 renamed to ../readlink/rl-1 2004-07-06 16:12:39 +00:00
Jim Meyering
e0b8973bd4 Change "readlink -f" to be more compatible with prior implementations.
Add more canonicalize options, -e and -m.
Add comprehensive tests for all readlink modes.

(longopts): Add new options.
(usage): Document them.
(canonicalize_fname): New proxy function.
(main): Handle new options.
2004-07-06 16:11:03 +00:00
Jim Meyering
554dc97975 *** empty log message *** 2004-07-05 08:41:43 +00:00
Jim Meyering
a8aa538b09 (path_concat): Improve comment. From Paul Eggert. 2004-07-05 08:41:13 +00:00
Jim Meyering
325a75af63 *** empty log message *** 2004-07-04 20:14:52 +00:00
Jim Meyering
034b4caa6d (mempcpy): Don't define if a system header defines it.
Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
(longest_relative_suffix): New function.
(path_concat): Use it.  Assume first argument is not NULL.
Port to DOS.  Omit redundant separators.
Report an error instead of returning NULL.
Use mempcpy instead of memcpy.
(xpath_concat): Remove: not declared or used.
2004-07-04 20:14:44 +00:00
Jim Meyering
fb4cd3cc3f *** empty log message *** 2004-07-04 18:13:02 +00:00
Jim Meyering
5e1589ace8 (copy_internal): Add a FIXME comment. 2004-07-04 18:12:55 +00:00
Jim Meyering
6ce20e8caa (canonicalize_file_name): Assume that path_concat never returns NULL. 2004-07-04 18:03:07 +00:00
Jim Meyering
19dc6a7964 *** empty log message *** 2004-07-04 18:01:56 +00:00
Jim Meyering
10da95cf3f (main): Don't pass NULL first argument to path_concat.
This cleans up the semantics a bit, as we no longer try to open the
same file twice.
2004-07-04 18:01:04 +00:00
Jim Meyering
cc4105f095 (movefile): Assume path_concat returns non-NULL. 2004-07-04 17:47:29 +00:00
Jim Meyering
ae206c4b1c (do_copy): Assume path_concat returns non-NULL.
(make_path_private): 2nd arg is now size_t, not int,
to avoid problem when path_concat dir name is longer than 2 GiB (!).
2004-07-04 17:47:09 +00:00
Jim Meyering
aead5906dc (copy_dir): Assume path_concat returns non-NULL. 2004-07-04 17:46:17 +00:00
Jim Meyering
d7da2ba957 *** empty log message *** 2004-07-04 17:44:24 +00:00
Jim Meyering
a55d4bffcd (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
prerequisite modules now handle the DOS stuff.
Don't check for unistd.h.
2004-07-04 17:44:17 +00:00
Jim Meyering
ea32998672 . 2004-07-02 17:02:32 +00:00
Jim Meyering
ebc78a4613 *** empty log message *** 2004-07-02 17:02:20 +00:00
Jim Meyering
57fcc427c0 (Common options, Target directory, cp invocation,
install invocation, mv invocation, ln invocation): Add -t as a
short option for --target-directory, and -T as a short option for
--no-target-directory.  Clean up relevant synopses a bit, so that
the language is similar for all.
2004-07-02 17:02:15 +00:00
Jim Meyering
bc012e8ad9 . 2004-07-02 17:01:30 +00:00
Jim Meyering
9f3628bd45 Add short names -t and -T for --target-directory
and --no-target-directory options, respectively.

(NO_TARGET_DIRECTORY_OPTION, TARGET_DIRECTORY_OPTION):
Remove.  All uses changed to 'T' and 't', respectively.

(long_options, main, usage): Add -t and -T as
aliases for --target-directory and --no-target-directory,
respectively.
2004-07-02 17:00:53 +00:00
Jim Meyering
1b32f828b0 Add short names -t and -T for --target-directory
and --no-target-directory options, respectively.

(NO_TARGET_DIRECTORY_OPTION, TARGET_DIRECTORY_OPTION):
Remove.  All uses changed to 'T' and 't', respectively.

(long_opts, usage, do_copy, main): Add -t and -T as
aliases for --target-directory and --no-target-directory,
respectively.
2004-07-02 17:00:10 +00:00
Jim Meyering
4695f1e3b7 * NEWS: Add short names -t and -T for --target-directory
and --no-target-directory options, respectively.
2004-07-02 16:59:41 +00:00
Jim Meyering
6433f83ccb . 2004-07-02 16:34:40 +00:00
Jim Meyering
6119eaca83 Put the right amount of space at sentence ends.
Make sure "i.e." and "e.g." are followed by commas (the GNU style).
Put blank lines before and after every @example, prefer the
previous line to end in ":" (when not a sentence end, for consistency),
and prepend @noindent to the following line when appropriate.
In examples, use "--" arguments when needed to prevent undesired
interpretation of operands as options.
Use "file name" rather than "filename", as per the GNU coding standards.
Remove unwanted spaces before @footnote.
Use "---" when appropriate, instead of " -- ".
Use "name" (or something like that) rather than "path" or "pathname",
since the GNU coding standards don't allow "path".
Use @acronym, @command, @minus{}, @samp in a few places,
where appropriate.
(Target directory): Clarify description of example.
(fmt invocation): Give issue number for reference, and reword
for clarity.
(sort invocation): Note that xargs without -0 also mishandles
file names containing some special characters other than newline.
(Translating): Mention that \012 is not universally portable.
Use '\0' rather than '\000'.
(Squeezing): bourne -> Bourne.
Fix unportable usage of '\n' by replacing it with '[\n*]'.
(More details about version sort): Remove unnecessary indent
in examples.
(dd invocation): Use 'kill -s USR1', not 'kill -USR1', as POSIX
indicates that the former is more portable (the latter is an XSI
extension).
(shred invocation): Use @uref rather than @url, and use a more-typical
style for the date.
(kill invocation): Clarify usage; for example, "kill -s TERM -1"
isn't allowed.
(seq invocation): Reword to avoid implying that printf necessarily
fails for numbers outside the 32-bit range.  Prefer separating
options from their operands.
(Opening the software toolbox): Give an online reference to
Robbins's article, and give a date.  Don't imply that the
current documentation is unchanged from his article.
(Putting the tools together): Rework examples so that they don't
assume the C locale; nowadays many users now operate outside the C
locale by default.  While we're at it, don't assume ASCII either.
Indent example to match actual output from GNU uniq.  Remove some
unnecessary and confusing brackets from 'tr' operands.  "Software
Tools in Pascal" is back in print, according to Amazon anyway.
Add references to Kernighan's online copies of examples.
2004-07-02 16:29:50 +00:00
Jim Meyering
7c2ebb9f5b *** empty log message *** 2004-07-02 15:18:46 +00:00
Jim Meyering
0f9eb70e23 Fail upon use of @url. Use @uref instead. 2004-07-02 15:18:43 +00:00
Jim Meyering
6b46a1435c *** empty log message *** 2004-07-02 15:14:44 +00:00
Jim Meyering
cb2e51e38a (check-texinfo): Fail if a @footnote directive follows non-punctuation. 2004-07-02 15:13:42 +00:00
Jim Meyering
6ca52b93dc (check-texinfo): Disallow `filename' in .texi files. 2004-07-02 15:05:40 +00:00
Jim Meyering
2ca3893c92 Change filesystem' to file system' in a comment. 2004-06-30 22:51:11 +00:00
Jim Meyering
4976f14125 *** empty log message *** 2004-06-30 22:50:18 +00:00
Jim Meyering
9cdce8c61a . 2004-06-30 22:47:26 +00:00
Jim Meyering
e7f4cabe7b bump serial number, remove/replace spaces before TAB. 2004-06-30 22:45:32 +00:00
Jim Meyering
4f5394d32e Reflect renaming:
s/gl_LIST_MOUNTED_FILESYSTEMS/gl_LIST_MOUNTED_FILE_SYSTEMS/
2004-06-30 22:44:55 +00:00
Jim Meyering
acf01caa8e *** empty log message *** 2004-06-30 22:44:15 +00:00
Jim Meyering
ce706af0f6 (gl_LIST_MOUNTED_FILE_SYSTEMS): Renamed from
gl_LIST_MOUNTED_FILESYSTEMS.  All uses changed.
2004-06-30 22:44:10 +00:00
Jim Meyering
1df327623c Change filesystem' to file system', mostly in comments.
Also in one `checking ... ' message.
2004-06-30 22:43:06 +00:00
Jim Meyering
f30a347be6 bump serial number 2004-06-30 22:42:11 +00:00
Jim Meyering
d8120c8199 (gl_AC_DOS): Define FILE_SYSTEM_PREFIX_LEN, not
FILESYSTEM_PREFIX_LEN.  Generate
FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX, not
FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.  Generate
FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR, not
FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
2004-06-30 22:41:59 +00:00
Jim Meyering
ef5824798f . 2004-06-30 22:41:35 +00:00
Jim Meyering
53d0e321ec . 2004-06-30 22:40:52 +00:00
Jim Meyering
6e7b53a45e (FILE_SYSTEM_PREFIX_LEN): Renamed from
FILESYSTEM_PREFIX_LEN.  All uses changed.
2004-06-30 22:40:47 +00:00
Jim Meyering
1a9ba9e774 Use `file system', not filesystem in a comment. 2004-06-30 22:40:20 +00:00
Jim Meyering
7f540c0660 (read_file_system_list): Renamed from read_filesystem_list.
All definitions and uses changed.
2004-06-30 22:39:59 +00:00
Jim Meyering
c56f9d7cb0 Use `file system', not filesystem in a comment. 2004-06-30 22:39:13 +00:00
Jim Meyering
49d4a73415 (FILE_SYSTEM_PREFIX_LEN): Renamed from
FILESYSTEM_PREFIX_LEN.  All uses changed.
2004-06-30 22:38:03 +00:00
Jim Meyering
937b5e0826 (read_file_system_list): Renamed from
read_filesystem_list.  All definitions and uses changed.
2004-06-30 22:37:20 +00:00
Jim Meyering
c791a273d0 (FILE_SYSTEM_PREFIX_LEN): Renamed from
FILESYSTEM_PREFIX_LEN.  All uses changed.
2004-06-30 22:37:03 +00:00
Jim Meyering
8676d120af *** empty log message *** 2004-06-30 22:35:51 +00:00
Jim Meyering
83bb4fbc71 (EXTRA_DIST): Add .x-sc_file_system. 2004-06-30 22:35:46 +00:00
Jim Meyering
15e38ec27d Use "file system" rather than "filesystem" in comments. 2004-06-30 22:33:40 +00:00
Jim Meyering
7c3c6876ab . 2004-06-30 22:33:16 +00:00
Jim Meyering
851acad0ce (usage, main): Output "file system" rather than "filesystem".
(long_options, usage): Rename "--filesystem" to
"--file-system".  But keep the old name around, for compatibility reasons.
2004-06-30 22:31:43 +00:00
Jim Meyering
3365c5f5e3 (usage, main): Output "file system" rather than "filesystem". 2004-06-30 22:31:43 +00:00
Jim Meyering
4d24e71891 (sc_file_system): New target.
(syntax-check-rules): Add it.
2004-06-30 22:30:44 +00:00
Jim Meyering
fff64c7ec2 *** empty log message *** 2004-06-30 22:30:03 +00:00
Jim Meyering
17c6fff6ba *** empty log message *** 2004-06-30 22:17:51 +00:00
Jim Meyering
26fffc510b Use "file system" rather than "filesystem". 2004-06-30 22:15:59 +00:00
Jim Meyering
11e80aab17 *** empty log message *** 2004-06-30 22:09:36 +00:00
Jim Meyering
5e5f4bc2fb Standardize on "file system" rather
than "filesystem", as POSIX prefers it with a space.
2004-06-30 22:09:00 +00:00
Jim Meyering
697c4afab5 . 2004-06-30 18:42:27 +00:00
Jim Meyering
1815011d0a Add support for --no-target-directory option. 2004-06-30 18:42:12 +00:00
Jim Meyering
b2a58b9d3c (Common options, Target directory, cp
invocation, install invocation, mv invocation, ln invocation):
Likewise.
(link invocation): Explain how to rewrite link using ln now
that we have --no-target-directory.
(ln invocation): Explain that --no-target-directory subsumes
--no-dereference.
(unlink invocation): Modify wording to match new wording in
link invocation.
2004-06-30 18:42:01 +00:00
Jim Meyering
f421438665 *** empty log message *** 2004-06-30 18:41:49 +00:00
Jim Meyering
ba039472a8 Add support for --no-target-directory option.
(NO_TARGET_DIRECTORY_OPTION): New constant.
(long_options, usage, main): Add support for
2004-06-30 18:40:40 +00:00
Jim Meyering
0d27d8a0f8 Add support for --no-target-directory option.
(NO_TARGET_DIRECTORY_OPTION): New constant.
(long_options, usage, main): Add support for
(enum): Sort values.
2004-06-30 18:39:42 +00:00
Jim Meyering
ab7ebdc363 Add support for --no-target-directory option.
(NO_TARGET_DIRECTORY_OPTION): New constant.
(long_options, usage, main): Add support for
2004-06-30 18:39:18 +00:00
Jim Meyering
7ed69a972c Add support for --no-target-directory option.
(NO_TARGET_DIRECTORY_OPTION): New constant.
(long_opts, usage, do_copy, main): Add support for
2004-06-30 18:38:24 +00:00
Jim Meyering
273624ce56 *** empty log message *** 2004-06-29 14:42:19 +00:00
Jim Meyering
67930cefbe (install invocation): Document --target-directory in synopsis, too. 2004-06-29 14:41:51 +00:00
Jim Meyering
9730554ffa *** empty log message *** 2004-06-29 14:40:51 +00:00
Jim Meyering
0ec60860b6 Add support for 'install --target-directory', an option
that has been documented for years but not implemented (!).

(TARGET_DIRECTORY_OPTION): New var.
(long_options, main, usage): Add --target-directory.
(target_directory_operand): New function, stolen from mv.c.
(main): Use it.  Check for -d and --target-directory.
Alter wording of diagnostics to match other programs.
2004-06-29 14:40:47 +00:00
Jim Meyering
04dd5231dc *** empty log message *** 2004-06-29 14:38:36 +00:00
Jim Meyering
791845693a Don't let verbose-mode output from a subshell obscure actual differences.
Turn off command-echoing just before
invoking subshell, then turn it back on if VERBOSE=yes afterward.
2004-06-29 14:38:32 +00:00
Jim Meyering
d69237e2d6 Add a test to verify that we get the new
diagnostic when failing to copy through a symlink-to-inaccessible-dir.
2004-06-28 18:47:24 +00:00
Jim Meyering
14af6eb462 *** empty log message *** 2004-06-28 18:47:09 +00:00
Jim Meyering
fac33c194c Don't assume "mv --target=nonexistentdir" will complain about the arg count.
Adjust to new (briefer) diagnostics.
2004-06-28 18:41:01 +00:00
Jim Meyering
6860c032da Use more-consistent rules among cp, ln, and mv when dealing with
last operands that are (or look like) directories.

	* src/cp.c (target_directory_operand): New, nearly-common function,
	It reports an error if the destination appears to be a directory
	(e.g., because it has a trailing slash) but is not.
	* src/ln.c, src/mv.c: Likewise.
	* src/cp.c (do_copy): Use it.
	* src/ln.c (main): Likewise.
	* src/mv.c (main): Likewise.

	* src/cp.c (do_copy): Don't output a usage message because of file
	problems (e.g., an operand is not a directory).  Use it only for
	syntax.  Standardize on "target %s is not a directory" for the
	diagnostic.
	* src/ln.c (main): Likewise.
	* src/mv.c (main): Likewise.

	* src/cp.c (do_copy): Remove test for trailing slash, since
	target_directory_operand now does this.
	* src/ln.c (main): Likewise.
	* src/mv.c (movefile): Likewise.

	* src/ln.c (isdir): Remove decl; no longer needed.
	* src/mv.c (isdir, lstat): Likewise.

	* src/ln.c (main): Use int to count to argc, not unsigned int.
	This handles negative operand counts.
	* src/mv.c (main): Likewise.

	* src/mv.c (do_move): Don't call hash_init; expect the caller to
	do it, for consistency with cp.c and ln.c.  All callers changed.
	(movefile): dest_is_dir parameter is now bool, not int.
	(main): Standardize on "missing destination file operand after %s"
	for the diagnostic, for consistency with cp.c.
2004-06-28 18:39:28 +00:00
Jim Meyering
59c3b53926 Use more-consistent rules among cp, ln, and mv when dealing with
last operands that are (or look like) directories.

	* src/cp.c (target_directory_operand): New, nearly-common function,
	It reports an error if the destination appears to be a directory
	(e.g., because it has a trailing slash) but is not.
	* src/ln.c, src/mv.c: Likewise.
	* src/cp.c (do_copy): Use it.
	* src/ln.c (main): Likewise.
	* src/mv.c (main): Likewise.

	* src/cp.c (do_copy): Don't output a usage message because of file
	problems (e.g., an operand is not a directory).  Use it only for
	syntax.  Standardize on "target %s is not a directory" for the
	diagnostic.
	* src/ln.c (main): Likewise.
	* src/mv.c (main): Likewise.

	* src/cp.c (do_copy): Remove test for trailing slash, since
	target_directory_operand now does this.
	* src/ln.c (main): Likewise.
	* src/mv.c (movefile): Likewise.

	* src/cp.c (main): Reject multiple target directories.
	Check whether a specified target is a directory when parsing the
	options, using stat.  This gives more-accurate diagnostics.
	* src/ln.c (main): Likewise.

	* src/ln.c (isdir): Remove decl; no longer needed.
	* src/mv.c (isdir, lstat): Likewise.

	* src/ln.c (do_link): New arg dest_is_dir.  All uses changed.
	Don't check the destination ourself; rely on dest_is_dir.
	This way we can avoid lstatting the destination in the
	usual case, and in the worst case we lstat 1, not 3 times.
	Don't bother to unlink unless link failed; this saves a syscall.
	Remove unnecessary backup_succeeded flag;
	it was identical to "dest_backup != NULL".

	* src/ln.c (main): Use int to count to argc, not unsigned int.
	This handles negative operand counts.
	* src/mv.c (main): Likewise.
2004-06-28 18:38:05 +00:00
Jim Meyering
8340545c8b Use more-consistent rules among cp, ln, and mv when dealing with
last operands that are (or look like) directories.

	* src/cp.c (target_directory_operand): New, nearly-common function,
	It reports an error if the destination appears to be a directory
	(e.g., because it has a trailing slash) but is not.
	* src/cp.c (do_copy): Use it.

	* src/cp.c (do_copy): Don't assume argc is positive.
	Don't bother to lstat dest, since copy() will do that for us.
	Use "const" to avoid the need for cast.

	* src/cp.c (do_copy): Don't output a usage message because of file
	problems (e.g., an operand is not a directory).  Use it only for
	syntax.  Standardize on "target %s is not a directory" for the
	diagnostic.

	* src/cp.c (do_copy): Remove test for trailing slash, since
	target_directory_operand now does this.

	* src/cp.c (main): Reject multiple target directories.
	Check whether a specified target is a directory when parsing the
	options, using stat.  This gives more-accurate diagnostics.
2004-06-28 18:35:54 +00:00
Jim Meyering
86e30699e4 (usage): Fix copy+paste error in description of
--target-directory: s/move/copy/.  From Paul Jarc.
2004-06-28 18:31:46 +00:00
Jim Meyering
627db84915 *** empty log message *** 2004-06-28 18:30:47 +00:00
Jim Meyering
3b4126ffbd *** empty log message *** 2004-06-28 08:25:56 +00:00
Jim Meyering
6fb6c5e33c . 2004-06-28 08:17:34 +00:00
Jim Meyering
4e44624881 *** empty log message *** 2004-06-27 09:43:31 +00:00
Jim Meyering
3d14a0d604 See whether a trailing slash is followed too far. 2004-06-27 09:42:45 +00:00
Jim Meyering
679ce113e4 Fix a bug: formerly, if d/x was a directory and x a file, "ln x
d/" incorrectly created a link d/x/x.  It also saves some system
	calls.

	Document the fix.
2004-06-27 09:41:46 +00:00
Jim Meyering
54cdcb1a1a Fix a bug: formerly, if d/x was a directory and x a file, "ln x
d/" incorrectly created a link d/x/x.  It also saves some system
calls.

(main): Don't append basename to dest if this
results in an existing directory name.
2004-06-27 09:41:23 +00:00
Jim Meyering
4e6aaa2732 put \n in format string, not in actual diagnostic 2004-06-26 13:12:42 +00:00
Jim Meyering
ce5019db7c *** empty log message *** 2004-06-26 13:09:39 +00:00
Jim Meyering
b5110a1746 (main): When given no arguments, print the standard
"missing operand\nTry printf --help..." message -- to be consistent.
2004-06-26 13:09:17 +00:00
Jim Meyering
717b102865 *** empty log message *** 2004-06-26 12:43:49 +00:00
Jim Meyering
cf0071c5b0 (main): Add \n at the end of message output via fprintf. 2004-06-26 12:43:44 +00:00
Jim Meyering
164aaa2abb Add Basque (eu). 2004-06-26 12:37:01 +00:00
Jim Meyering
cba6867b07 *** empty log message *** 2004-06-26 08:49:14 +00:00
Jim Meyering
fccd3839b3 Add Basque (eu). 2004-06-26 08:49:11 +00:00
Jim Meyering
77ab044bde *** empty log message *** 2004-06-25 21:11:01 +00:00
Jim Meyering
2dc7903c37 (gl_AFS): Use AC_ARG_WITH instead of ancient, hard-coded
AC_MSG_CHECKING/AC_MSG_RESULT etc.  From Tim Waugh.
2004-06-25 21:10:55 +00:00
Jim Meyering
02b3d31421 *** empty log message *** 2004-06-25 07:14:17 +00:00
Jim Meyering
9338e5d901 Add test for ln subscript error. 2004-06-25 07:14:08 +00:00
Jim Meyering
90f1d430c9 *** empty log message *** 2004-06-25 06:58:53 +00:00
Jim Meyering
cb9c7daeea (do_link): Remove unnecessary call to lstat.
(main): Avoid subscript error when the destination is "".
2004-06-25 06:51:51 +00:00
Jim Meyering
e18cbbebac *** empty log message *** 2004-06-24 05:54:01 +00:00
Jim Meyering
affbbb2238 (obstack_base): Fix parentheses. From Paul Eggert. 2004-06-24 05:53:54 +00:00
Jim Meyering
678207c7d0 . 2004-06-23 15:09:27 +00:00
Jim Meyering
cf38364839 *** empty log message *** 2004-06-23 15:07:22 +00:00
Jim Meyering
112efa81f2 Replace all occurrences of `(exit N); exit' with
`(exit N); exit N'.  Otherwise, those many tests could exit with
improper exit status when exiting via e.g., a trapped interrupt.
Thanks to a report from Bob Proulx.
2004-06-23 15:07:00 +00:00
Jim Meyering
11f05299f9 *** empty log message *** 2004-06-23 14:48:28 +00:00
Jim Meyering
22191da8fb (idle_string, print_user): New arg boottime,
specifying the most recent boot time.  All uses changed.
(idle_string) Consider a line to be "old" if it hasn't been used
since the last boot time.  Watch out for overflow when computing
times, and for times in the future.
(idle_string): Record latest boot time.
2004-06-23 14:48:16 +00:00
Jim Meyering
3ba733e19d *** empty log message *** 2004-06-22 15:04:52 +00:00
Jim Meyering
227b2e9daa . 2004-06-22 15:02:59 +00:00
Jim Meyering
6eb57b59ad The 2004-06-19 fix for who and pinky was incomplete, as ctime
has undefined behavior if the year precedes -999 or follows 9999.
Since we have to stop using ctime anyway, we might as well use
strftime and fix the FIXME, and support internationalized dates.

* src/who.c: Include "hard-locale.h".
(time_format, time_format_width): New vars.
(time_string, print_line): Use them.
(main): Set them.
(time_string): Use localtime + strftime instead of
ctime, to avoid problems with years before -999 or after 9999.
* src/pinky.c: Likewise.
2004-06-22 15:00:53 +00:00
Jim Meyering
f581b96e7f The 2004-06-19 fix for who and pinky was incomplete, as ctime
has undefined behavior if the year precedes -999 or follows 9999.
Since we have to stop using ctime anyway, we might as well use
strftime and fix the FIXME, and support internationalized dates.

Include "hard-locale.h".
(time_format, time_format_width): New vars.
(time_string, print_line): Use them.
(main): Set them.
(time_string): Use localtime + strftime instead of
ctime, to avoid problems with years before -999 or after 9999.
2004-06-22 14:56:46 +00:00
Jim Meyering
f1317a4060 *** empty log message *** 2004-06-22 14:55:34 +00:00
Jim Meyering
1aee773227 (usage): Correct description of `-t FD'. The file
descriptor, FD, is no longer optional.  Reported by Ton Nijkes.
2004-06-22 14:55:30 +00:00
Jim Meyering
4cadec1850 *** empty log message *** 2004-06-22 14:55:09 +00:00
Jim Meyering
452ad0fd6f *** empty log message *** 2004-06-22 12:50:06 +00:00
Jim Meyering
e1de0b295e Fix bug: GNU 'ls' didn't count columns correctly if user or group
names contained multibyte characters where the column count
differed from the byte count.  This patch also corrects
some comments.

(format_user_or_group): New function, which counts columns correctly.
(format_user, format_group): Use it.
(format_user_or_group_width): New function, which counts columns correctly.
(format_user_width, format_group_width): Use it.
2004-06-22 12:50:01 +00:00
Jim Meyering
c18f06d7b0 *** empty log message *** 2004-06-22 06:16:11 +00:00
Jim Meyering
0d1ee08290 *** empty log message *** 2004-06-21 20:41:02 +00:00
Jim Meyering
ecc187a433 Quote "$PATH" in PATH=$PATH. 2004-06-21 20:40:58 +00:00
Jim Meyering
0e5a82e69c *** empty log message *** 2004-06-21 17:10:05 +00:00
Jim Meyering
d55a463d8b When running as root, be sure to propagate
PATH through to the process we exec as non-root.
2004-06-21 17:06:58 +00:00
Jim Meyering
16e04fa77e *** empty log message *** 2004-06-21 17:06:11 +00:00
Jim Meyering
2ea2857ed4 . 2004-06-21 15:36:56 +00:00
Jim Meyering
470e32ceec *** empty log message *** 2004-06-21 15:35:16 +00:00
Jim Meyering
f53347b996 (main): Don't segfault when calculating the
expected number of operands for `mknod NAME'.
2004-06-21 15:35:12 +00:00
Jim Meyering
777a96db68 Adjust to new diagnostics. 2004-06-21 15:04:54 +00:00
Jim Meyering
260a903a50 . 2004-06-21 15:03:45 +00:00
Jim Meyering
1ce7b61d0e (main): Standardize on the diagnostics given when someone gives
too few operands ("missing operand after `xxx'") or
too many operands ("extra operand `xxx'").
Include "quote.h" and/or "error.h" if it wasn't already being included.
2004-06-21 15:03:35 +00:00
Jim Meyering
110be46897 Standardize on the diagnostics given when someone gives
too few operands ("missing operand after `xxx'") or
too many operands ("extra operand `xxx'").
Include "quote.h" and/or "error.h" if it wasn't already being included.
(do_copy): Likewise.
2004-06-21 15:02:28 +00:00
Jim Meyering
bddcb0eab2 Standardize on the diagnostics given when someone gives
too few operands ("missing operand after `xxx'") or
too many operands ("extra operand `xxx'").
Include "quote.h" and/or "error.h" if it wasn't already being included.
(add_file_name, main): Likewise.
2004-06-21 15:02:14 +00:00
Jim Meyering
f04e77d364 Standardize on the diagnostics given when someone gives
too few operands ("missing operand after `xxx'") or
too many operands ("extra operand `xxx'").
Include "quote.h" and/or "error.h" if it wasn't already being included.
(beyond, main): Likewise.
2004-06-21 15:01:54 +00:00
Jim Meyering
a20574f431 (input_seek_errno): Declare file-scoped variable as static. 2004-06-20 14:24:12 +00:00
Jim Meyering
9ad2bf0af5 . 2004-06-20 14:02:47 +00:00
Jim Meyering
ffc81fb81f *** empty log message *** 2004-06-20 14:01:44 +00:00
Jim Meyering
fb2a3c8a63 Remove declaration of yesno.
Instead, include yesno.h.
2004-06-20 13:47:24 +00:00
Jim Meyering
6c97ac18ef (obstack_base): Cast to (void *), per documentation. 2004-06-20 13:44:53 +00:00
Jim Meyering
1c7b9917a2 Include yesno.h.
(top_dir): Remove now-unnecessary cast of obstack_base.
(pop_dir): Likewise.
(full_filename_): Likewise.
2004-06-20 13:44:12 +00:00
Jim Meyering
1d5cfee4d8 *** empty log message *** 2004-06-20 13:42:43 +00:00
Jim Meyering
7ce1ce7e7d *** empty log message *** 2004-06-20 13:42:32 +00:00
Jim Meyering
19e8479c86 (libfetish_a_SOURCES): Add yesno.h. 2004-06-20 13:42:30 +00:00
Jim Meyering
4a80ae25c1 *** empty log message *** 2004-06-20 13:42:14 +00:00
Jim Meyering
5fd9b42ed3 Include "yesno.h". 2004-06-20 13:42:11 +00:00
Jim Meyering
8ccbd5f65f *** empty log message *** 2004-06-20 13:41:24 +00:00
Jim Meyering
3bd1b67643 *** empty log message *** 2004-06-20 06:57:02 +00:00
Jim Meyering
0171abddcd Don't dump core if ctime returns NULL; this is possible on
hosts with 64-bit time_t and 32-bit int.

Include "inttostr.h".
(time_string): New function, copied from who.c.
(print_entry): Use it.
2004-06-20 06:56:52 +00:00
Jim Meyering
f2d779e87c Don't dump core if ctime returns NULL; this is possible on
hosts with 64-bit time_t and 32-bit int.

Include "inttostr.h".
(time_string): If ctime fails, print the raw time as an integer
instead of dumping core.
2004-06-20 06:53:05 +00:00
Jim Meyering
b3a6653a60 *** empty log message *** 2004-06-20 06:51:19 +00:00
Jim Meyering
837232227c (print_line): Don't truncate user names at 8 bytes.
Problem reported by Guido Leenders in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00056.html
2004-06-20 06:49:42 +00:00
Jim Meyering
4614bf4a63 *** empty log message *** 2004-06-19 12:28:16 +00:00
Jim Meyering
90c0e02711 Remove all S_IS* and S_IF* definitions.
Instead, just include "stat-macros.h".
2004-06-19 12:28:02 +00:00
Jim Meyering
77e4428e58 Remove all S_IS* and S_IF* definitions.
Instead, just include "stat-macros.h".
2004-06-19 12:26:53 +00:00
Jim Meyering
8836ff8b3c Remove all S_IS* and S_IF* definitions.
Instead, just include "stat-macros.h".
2004-06-19 12:25:31 +00:00
Jim Meyering
0056eb663e Remove all S_IS* and S_IF* definitions.
Instead, just include "stat-macros.h".
2004-06-19 12:25:04 +00:00
Jim Meyering
bb988c4d3c Remove all S_IS* and S_IF* definitions.
Instead, just include "stat-macros.h".
2004-06-19 12:24:36 +00:00
Jim Meyering
032ddfd196 *** empty log message *** 2004-06-19 12:23:43 +00:00
Jim Meyering
dcbdb9f887 Add S_IS* definitions from filemode.c.
(S_ISCTG): Define to zero if not already defined.
(S_ISOFD): Likewise.
(S_ISOFL): Likewise.
2004-06-19 12:23:38 +00:00
Jim Meyering
1594fb914b *** empty log message *** 2004-06-19 09:24:12 +00:00
Jim Meyering
927e4d998e (case_GETOPT_VERSION_CHAR): Switch back to using GNU_PACKAGE (from
PACKAGE) once again.  This restores `GNU' to the parenthesized package
name in --version output.  Before, the first argument from AC_INIT,
`GNU coreutils', would be propagated to the PACKAGE variable.  Now,
`GNU ' is trimmed.  Reported by Richard Stallman.
2004-06-19 09:23:52 +00:00
Jim Meyering
877ab26488 *** empty log message *** 2004-06-17 21:32:49 +00:00
Jim Meyering
a8253c6acf (to_uchar): Rename function from `uchar'. The latter
would clash with a typedef in Tru64's <sys/types.h>.  From Albert Chin.
2004-06-17 21:32:45 +00:00
Jim Meyering
fb7e0d8840 . 2004-06-17 14:48:08 +00:00
Jim Meyering
d01eefd2d9 . 2004-06-17 14:42:05 +00:00
Jim Meyering
4ec1048283 *** empty log message *** 2004-06-17 14:41:34 +00:00
Jim Meyering
05c93d0212 *** empty log message *** 2004-06-17 14:40:51 +00:00
Jim Meyering
65f4c6c6bf (yes invocation): "--" is now supported.
(false invocation, true invocation): --help and --version now
work unconditionally.
2004-06-17 14:38:52 +00:00
Jim Meyering
72f51d66bf (main): Recognize --help and --version even if POSIXLY_CORRECT is set. 2004-06-17 14:34:07 +00:00
Jim Meyering
7870fa1081 (main): Handle "--". 2004-06-17 13:09:21 +00:00
Jim Meyering
417a1e5850 *** empty log message *** 2004-06-17 06:46:39 +00:00
Jim Meyering
83e722f66c (GL_FUNC_GETCWD_PATH_MAX): Fix typo: getcwd
was being replaced when it shouldn't have been, and vice versa.
2004-06-17 06:46:33 +00:00
Jim Meyering
75e49a2b17 Remove special cases for POSIXLY_CORRECT when POSIX allows the GNU behavior.
(pr invocation, unlink invocation): Document this.
2004-06-15 21:56:15 +00:00
Jim Meyering
1f3a9c7888 *** empty log message *** 2004-06-15 21:55:28 +00:00
Jim Meyering
f888b66ec1 *** empty log message *** 2004-06-15 18:04:54 +00:00
Jim Meyering
a77a16acbf Adjust to the new semantics for \x if POSIXLY_CORRECT. 2004-06-15 18:04:47 +00:00
Jim Meyering
ba01709da8 (main): Recognize --help, --version even if
POSIXLY_CORRECT.  POSIX does not specify any options, but it
does not prohibit options either, so "unlink" is like "expr" here.
2004-06-15 18:04:13 +00:00
Jim Meyering
b10701b78e (parse_obsolescent_option): Support multiple file operands
even if POSIXLY_CORRECT, since POSIX does not require a diagnostic.
2004-06-15 18:00:58 +00:00
Jim Meyering
5afcf8697f (print_esc): Support \x, \u, \U even if POSIXLY_CORRECT,
since POSIX says the behavior is unspecified here.
(main): Recognize --help, --version even if
POSIXLY_CORRECT.  POSIX does not specify any options, but it
does not prohibit options either, so "printf" is like "expr" here.
2004-06-15 18:00:35 +00:00
Jim Meyering
db2fa4fdcd Include "hard-locale.h".
(main): When in a non-POSIX locale, ignore POSIXLY_CORRECT, since
POSIX specifies the behavior only in the POSIX locale.
2004-06-15 18:00:20 +00:00
Jim Meyering
1391da81e0 (decode_switches): Pay attention to TABSIZE even if POSIXLY_CORRECT
is set.  POSIX reserves upper-case environment variables to the
implementation, so it's OK for ls to depend on TABSIZE.
2004-06-15 18:00:03 +00:00
Jim Meyering
5034e6bdb2 *** empty log message *** 2004-06-14 18:12:44 +00:00
Jim Meyering
78fcbf003a . 2004-06-14 17:21:55 +00:00
Jim Meyering
72d3fd67af *** empty log message *** 2004-06-14 17:20:29 +00:00
Jim Meyering
5956d74d8b (TESTS): Add pwd.
(BUILD_SRC_DIR): Define BUILD_SRC_DIR.
2004-06-14 17:20:19 +00:00
Jim Meyering
8b7c9bce6f *** empty log message *** 2004-06-14 17:19:52 +00:00
Jim Meyering
8812a1f12a New test, for fix of 2004-04-19. 2004-06-14 17:19:46 +00:00
Jim Meyering
4983ce64d8 *** empty log message *** 2004-06-14 14:40:21 +00:00
Jim Meyering
b276da216d Remove declaration of euidaccess.
Instead, include "euidaccess.h".
2004-06-14 14:40:12 +00:00
Jim Meyering
773c6cc76b *** empty log message *** 2004-06-13 22:03:11 +00:00
Jim Meyering
5bca9fb5f3 (PIDSTR_DECL_AND_INIT): Don't assume pid_t fits in int.
(UT_ID) [!HAVE_STRUCT_XTMP_UT_ID]: Remove bogus comment,
as (sizeof "??") reliably returns 3.
(print_line): Guard against idle and pid being too long
(which is possible when printing headers).
(print_user): Allocate enough bytes for idlestr.  Use IDLESTR_LEN.
Avoid unnecessary cast of sizeof to int.
(make_id_equals_comment): Do not assume that UT_ID returns
a string; it might return a non-null-terminated array.
Use strncat instead.  It's not very often where strncat is
exactly what you want, but this is one of those rare cases.
2004-06-13 22:03:07 +00:00
Jim Meyering
ae2fbd3ee7 *** empty log message *** 2004-06-12 08:07:41 +00:00
Jim Meyering
33c1c51c49 (extract_trimmed_name): Don't apply strchr to a
non-string; this leads to undefined behavior.
2004-06-12 08:07:30 +00:00
Jim Meyering
b5e189c8ef *** empty log message *** 2004-06-12 08:06:12 +00:00
Jim Meyering
69cf3d4811 (list_entries_who): Don't output a trailing space. 2004-06-12 08:05:59 +00:00
Jim Meyering
7b4fe61887 *** empty log message *** 2004-06-09 15:13:33 +00:00
Jim Meyering
315eae50a5 (AC_FUNC_CALLOC): Remove use of AN_FUNCTION. 2004-06-09 15:13:27 +00:00
Jim Meyering
24c8603356 *** empty log message *** 2004-06-09 14:47:36 +00:00
Jim Meyering
d25e88d25a (usage): Improve wording in description of the --time=WORD option. 2004-06-09 14:47:29 +00:00
Jim Meyering
0774a224fe Adjust to accommodate Paul Eggert's changes of 2004-06-08. 2004-06-09 14:45:38 +00:00
Jim Meyering
fc61fc852f *** empty log message *** 2004-06-09 13:54:21 +00:00
Jim Meyering
d46131360a (change_file_owner): Change names of parameters
old_uid and old_gid to required_uid and required_gid respectively.
2004-06-09 13:54:11 +00:00
Jim Meyering
ce487455bd *** empty log message *** 2004-06-09 13:37:58 +00:00
Jim Meyering
e4ccef8ddc Adjust chmod and chown to be similar if -c or -v are given. In
particular, a no-op chown is no longer reported as a change; this
reverts to previous behavior.  Also, fix both commands so that -v
report failures even if the failure is not due to the chmod or
chown syscalls.

* src/chown-core.c (change_file_owner): Return -1 on error, not
1 sometimes and -1 on others.  Our caller ORs together our results,
and (-1 | 1) == 0 on ones-complement hosts.
With -v report all errors verbosely, not just some.
Fix bug when chopt->root_dev_ino && !chopt->affect_symlink_referent:
file_stats wasn't set properly in that case.
2004-06-09 13:37:52 +00:00
Jim Meyering
7c6999b6f8 (mode_changed): Return false, not 0, now that the function returns `bool'. 2004-06-09 09:06:34 +00:00
Jim Meyering
bc580f6a56 Adjust chmod and chown to be similar if -c or -v are given. In
particular, a no-op chown is no longer reported as a change; this
reverts to previous behavior.  Also, fix both commands so that -v
report failures even if the failure is not due to the chmod or
chown syscalls.

* src/chmod.c (CH_NOT_APPLIED): New constant.
(describe_change): Handle it.
(process_file): Use it, if a symlink wasn't changed.
(mode_changed): Return bool, not int.  Accept new argument
NEW_MODE; all callers changed.  This lets us avoid statting the
file unless the new mode has unusual bits.
(process_file): Return -1 on error.  With -v, report all errors
verbosely, not just some.
2004-06-09 09:05:02 +00:00
Jim Meyering
91476b4612 . 2004-06-08 17:07:19 +00:00
Jim Meyering
095b41255b *** empty log message *** 2004-06-08 16:58:37 +00:00
Jim Meyering
e76b4fe2e3 *** empty log message *** 2004-06-08 16:58:32 +00:00
Jim Meyering
57a06c9366 Test that chgrp -h does not fail on
symlinks, even on hosts where that's not supported.
Test that if -R is specified without -H or L, -h is assumed.
Test that chown() is not optimized away.
2004-06-08 16:58:28 +00:00
Jim Meyering
4925135810 s/FTS_STAT/FTS_NOSTAT/ 2004-06-08 16:32:14 +00:00
Jim Meyering
5fe68c2d94 Adjust error-diagnostic spelling to match new behavior. 2004-06-08 15:26:45 +00:00
Jim Meyering
f41716a4ef Do not attempt to combine -h and -H; these
options are incompatible, and their behavior is undefined with POSIX.
(changed, not_changed): Adjust to match the fact that -h is no longer
specified.  Sort names.
2004-06-08 15:25:59 +00:00
Jim Meyering
8dbd36d925 Use chown --from to discover whether the
group changed, since chgrp now changes unconditionally.  This
complicates the sed script a bit.  Do not specify --dereference,
since it's the default (and we want to test this).  Adjust output
to match the fact that chgrp no longer optimizes the case of
changing a file's group to the same value as before.
2004-06-08 15:25:45 +00:00
Jim Meyering
b50934d2a9 . 2004-06-08 14:58:57 +00:00
Jim Meyering
17ca1ef014 . 2004-06-08 14:58:21 +00:00
Jim Meyering
7e29ef8b88 (change_file_owner): Use ent->fts_statp only if
needed.  Chown a directory only after chowning its children; this
avoids problems if the new directory ownership doesn't permit
access to the children.  Dereference symlinks before doing
ROOT_DEV_INO_CHECK, not after, so that we catch symlinks to /.
Do not optimize away the chown() system call when the file's owner
and group already have the desired value.  POSIX does not permit
this optimization.  Rely on chown and lchown to do the right
thing with symlinks and/or -1 arguments, now that we have wrappers
to do this.  Use ENOTSUPP not ENOSYS, and ignore all ENOTSUPP
errors, not just command-line errors.
(chown_files): Pass FTS_STAT to xfts_open if we don't need file status.
2004-06-08 14:57:57 +00:00
Jim Meyering
5e1dd2ecb5 (main): Check for incompatible options. -R --dereference
requires either -H or -L, and -R -h requires -P.  If -H, specify
FTS_PHYSICAL as well as FTS_COMFOLLOW; this is faster.  Make this
file as much like chown.c as possible.
2004-06-08 13:40:00 +00:00
Jim Meyering
5d13dbcb1e (main): Check for incompatible options. -R --dereference
requires either -H or -L, and -R -h requires -P.  If -H, specify
FTS_PHYSICAL as well as FTS_COMFOLLOW; this is faster.  Make this
file as much like chgrp.c as possible.
2004-06-08 13:37:40 +00:00
Jim Meyering
d5c9458702 *** empty log message *** 2004-06-08 13:31:49 +00:00
Jim Meyering
12357df452 (fts_stat, fts_alloc): Always allocate and use a struct
stat, even if the user isn't interested in the results.
This prevents a core dump in cycle_check when FTS_NOSTAT is set.
2004-06-08 13:31:43 +00:00
Jim Meyering
2eba29a312 (ENOTSUP): Remove. 2004-06-08 13:24:09 +00:00
Jim Meyering
05638ca424 fix typo 2004-06-08 13:23:42 +00:00
Jim Meyering
b66ead2e0c *** empty log message *** 2004-06-08 13:23:17 +00:00
Jim Meyering
eb4aaec1a5 (EOPNOTSUPP): Define if not defined.
(ENOSYS): Remove.
2004-06-08 12:02:00 +00:00
Jim Meyering
0746994e48 (lchown): Return EOPNOTSUPP if not supported; this
is what POSIX-2004 specifies.
2004-06-08 12:01:38 +00:00
Jim Meyering
54ac424e7d *** empty log message *** 2004-06-08 07:13:18 +00:00
Jim Meyering
24df65c287 (main): Fix typo introduced on 2003-05-10 that
prevented a diagnostic of any operands.
2004-06-08 07:13:10 +00:00
Jim Meyering
069bf2f43c *** empty log message *** 2004-06-08 06:56:08 +00:00
Jim Meyering
58a9bc79b5 . 2004-06-08 06:54:04 +00:00
Jim Meyering
62d6b980b2 (direct_mode): Turn it on/off with directio, too. 2004-06-08 06:47:43 +00:00
Jim Meyering
8cb9d48559 *** empty log message *** 2004-06-07 15:27:47 +00:00
Jim Meyering
16155336a0 Enable direct-mode I/O (bypassing the buffer cache), if possible.
Prompted by a suggestion from Kalle Olavi Niemitalo
in http://bugs.debian.org/207035.

(direct_mode): New function.
(do_wipefd): Turn on direct-mode I/O.
(dopass): If a file's first write fails with EINVAL,
turn off direct-mode I/O and retry the write.
2004-06-07 15:27:42 +00:00
Jim Meyering
8f3e7ea813 *** empty log message *** 2004-06-07 15:26:52 +00:00
Jim Meyering
c410e41685 (gl_MACROS): Check for the directio function. 2004-06-07 15:26:49 +00:00
Jim Meyering
0ce5f6610f *** empty log message *** 2004-06-07 08:21:10 +00:00
Jim Meyering
34b2d4920f Remove menu references to just-removed subsection. 2004-06-07 08:21:07 +00:00
Jim Meyering
d14676e7fc *** empty log message *** 2004-06-06 19:31:46 +00:00
Jim Meyering
032b5b3bcf (tr invocation): Remove the section describing
how POSIXLY_CORRECT changes tr's behavior.
2004-06-06 19:31:43 +00:00
Jim Meyering
9011b52917 fix typo in comment 2004-06-06 19:18:49 +00:00
Jim Meyering
62d61c7c12 *** empty log message *** 2004-06-06 19:03:05 +00:00
Jim Meyering
12c6cc38c2 Update from gnulib. 2004-06-06 19:03:01 +00:00
Jim Meyering
558c5aa7ff *** empty log message *** 2004-06-06 14:20:20 +00:00
Jim Meyering
8bf5b1841c (main): "tr -d a b" is now a fatal error even if POSIXLY_CORRECT is set.
The POSIX SYNOPSIS does not allow this option combination.
2004-06-06 14:20:16 +00:00
Jim Meyering
8600e5f5f7 *** empty log message *** 2004-06-04 17:44:24 +00:00
Jim Meyering
657842c693 (dopass): Don't subtract 1 from the offset after
a write error.  Problem reported by Jon Peatfield in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00020.html
2004-06-04 17:43:55 +00:00
Jim Meyering
b07edbf476 *** empty log message *** 2004-06-03 16:03:44 +00:00
Jim Meyering
fa81dcf58e *** empty log message *** 2004-06-03 16:03:39 +00:00
Jim Meyering
6f31b14a6d Fix bug reported by Buciuman Adrian in
<http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00105.html>
where 'dd' created a file that was too large.  The bug was that dd
assumed that the input file offset does not advance after a failed
read; but POSIX says that the input file offset is undefined after
a failed read.

(MAX_BLOCKSIZE): New macro.
(input_seekable, input_seek_errno, input_offset,
input_offset_overflow): New vars.
(scanargs): Reject block sizes greater than MAX_BLOCKSIZE.
(advance_input_offset): New function.
(skip_via_lseek): Set errno to zero when reporting our failure,
so that we don't report based on garbage errno.
(skip): If fdesc is standard input, advance the input offset.
Do not quit if reading, and if noerror was specified;
POSIX seems to require this.
If read fails on output file, report the earlier lseek failure
instead; this fixes a FIXME in dd_copy.
(advance_input_after_read_error): New function.
(dd_copy): Use it, instead of assuming that failed reads
do not advance the file pointer.  Advance input offset
after nonfailed reads.  Advance only a partial block if
the previous read (before the failed read) succeeded, and
do not generate an output block of zeros in this case.
(main): Determine initial input offset, seekability of input,
and error if it wasn't seekable.
2004-06-03 16:03:32 +00:00
Jim Meyering
6e81a1d947 *** empty log message *** 2004-06-02 21:41:42 +00:00
Jim Meyering
f7d818938f *** empty log message *** 2004-06-02 21:39:49 +00:00
Jim Meyering
a0b4523704 rm (without -f) could hang unnecessarily when attempting to
remove a symlink to a file on an off-line NFS-mounted partition.
Reported by David Howells in https://bugzilla.redhat.com/124699.

(write_protected_non_symlink): New function.
Don't invoke euidaccess on symlinks.
(prompt): Use write_protected_non_symlink rather than using
euidaccess directly, being careful not to call lstat twice for a file.
2004-06-02 21:39:45 +00:00
Jim Meyering
0539abe980 *** empty log message *** 2004-06-02 21:23:42 +00:00
Jim Meyering
2cd87c6562 (cut invocation): Clarify what --output-delimiter=STR
does with byte/character ranges.
2004-06-02 21:23:39 +00:00
Jim Meyering
d53e7ba8a1 . 2004-06-02 21:21:05 +00:00
Jim Meyering
977dd1a0eb *** empty log message *** 2004-06-02 21:20:45 +00:00
Jim Meyering
847e066085 Fix a bug in how the --output-delimiter=D option works with
abutting byte or character ranges.  Reported by David Krider in
http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00132.html

(print_kth): Remove special case for open-ended range.
(set_fields): Record the range start index for an interval even
when it abuts another interval on its low side.
Also record the range start index of the longest right-open-interval.
2004-06-02 21:20:41 +00:00
Jim Meyering
3ce2931ad2 Add tests of --output-delimiter=S with abutting and overlapping byte ranges. 2004-06-02 21:20:23 +00:00
Jim Meyering
709978531b . 2004-06-02 08:54:32 +00:00
Jim Meyering
27d6dec23d New tests bs-055, bs-at-end, repeat-Compl.
Fix comment for range-a-a.
2004-06-02 08:50:42 +00:00
Jim Meyering
c18814a736 *** empty log message *** 2004-06-02 08:50:30 +00:00
Jim Meyering
a396e88106 (posix_pedantic): Remove; no longer needed since
we need to test this in just one place now.
(usage): Mention -C.
(unquote): Note that \055, \n, etc are escaped.
Do not worry about POSIXLY_CORRECT when warning about ambiguous
escape sequences.
\ at end of string stands for itself.
Do not diagnose invalid backslash escapes: POSIX says the behavior
is unspecified in this case, so we don't need to diagnose it.
(main): Add support for -C (currently an alias for -c).
Do not diagnose 'tr [:upper:] [:upper:], as POSIX does not require
a diagnostic here.
2004-06-02 08:50:24 +00:00
Jim Meyering
7a9884545c *** empty log message *** 2004-06-02 08:35:27 +00:00
Jim Meyering
733ceab1b8 (tr invocation): Mention -C. 2004-06-02 08:35:02 +00:00
Jim Meyering
17ccbf5907 *** empty log message *** 2004-06-01 17:12:44 +00:00
Jim Meyering
33f99919fd update from gnulib 2004-06-01 15:27:10 +00:00
Jim Meyering
c74dc457eb *** empty log message *** 2004-06-01 15:24:15 +00:00
Jim Meyering
4041dbb5e4 Update from gnulib. 2004-06-01 15:24:11 +00:00
Jim Meyering
807984cc3f . 2004-06-01 14:28:25 +00:00
Jim Meyering
6d835b1811 *** empty log message *** 2004-06-01 14:18:08 +00:00
Jim Meyering
80b21d2d40 *** empty log message *** 2004-06-01 13:37:04 +00:00
Jim Meyering
be62d4e33d (main): Update use of xreadlink. 2004-06-01 13:37:01 +00:00
Jim Meyering
5c00973123 (print_stat): Update use of xreadlink. 2004-06-01 13:36:40 +00:00
Jim Meyering
b99bf39b10 (get_link_name): Update use of xreadlink. 2004-06-01 13:36:20 +00:00
Jim Meyering
50a5f71804 *** empty log message *** 2004-06-01 13:29:42 +00:00
Jim Meyering
bd62a6597a (copy_internal): Don't use alloca, as it can mess up
royally if the link length is long (e.g., GNU/Hurd).  Use
xreadlink instead, it's safer.  Don't bother to read the link if
it's the wrong size.  Add a FIXME because this area is a bit murky
and undocumented.
2004-06-01 13:29:36 +00:00
Jim Meyering
6992440dfb *** empty log message *** 2004-06-01 13:24:23 +00:00
Jim Meyering
8c808cebf4 (canonicalize_file_name): Update use of xreadlink. 2004-06-01 13:24:12 +00:00
Jim Meyering
63107c9f9a Update prototype to reflect new signature.
Include <stddef.h>, for size_t.
2004-06-01 13:22:25 +00:00
Jim Meyering
8a81d09a7f Include xreadlink.h first, to catch .h file dependency problems. 2004-06-01 13:20:50 +00:00
Jim Meyering
8aceeea5ff *** empty log message *** 2004-06-01 13:17:13 +00:00
Jim Meyering
70a4763937 (binary_operator, and, or, main):
Prefer the notation `STREQ (a, b)' over `!strcmp (a, b)'
and `STREQ (a, b)' over `strcmp (a, b) == 0'.
2004-06-01 13:17:08 +00:00
Jim Meyering
a0009d0ec1 *** empty log message *** 2004-06-01 13:09:20 +00:00
Jim Meyering
4bc03442d7 (main): Prefer the notation STREQ (a, b)' over !strcmp (a, b)'. 2004-06-01 13:07:01 +00:00
Jim Meyering
f81aaf1fa8 (swallow_file_in_memory, main):
Prefer the notation `STREQ (a, b)' over `strcmp (a, b) == 0'.
2004-06-01 13:05:27 +00:00
Jim Meyering
ae752755d2 (correct_password, restricted_shell, main):
Prefer the notation `STREQ (a, b)' over `strcmp (a, b) == 0'.
2004-06-01 13:04:02 +00:00
Jim Meyering
4db0764f1a (main): Prefer the notation STREQ (a, b)' over strcmp (a, b) == 0'. 2004-06-01 13:00:28 +00:00
Jim Meyering
339ff9d46b (batch_convert): Prefer the notation STREQ (a, b)' over strcmp (a, b) == 0'. 2004-06-01 12:52:31 +00:00
Jim Meyering
3c3e1584ed (nextarg): Prefer the notation STREQ (a, b)' over strcmp (a, b) == 0'. 2004-06-01 12:52:14 +00:00
Jim Meyering
3fb9e9c835 (main, sort_buffer_size): Use STREQ (a, b) rather than `strcmp (a, b) == 0' 2004-06-01 12:50:09 +00:00
Jim Meyering
c35afe751f echo compatibility cleanup. 2004-06-01 12:47:45 +00:00
Jim Meyering
980b8cf2f7 *** empty log message *** 2004-06-01 12:47:37 +00:00
Jim Meyering
d34466e25d Add some index references for POSIXLY_CORRECT.
(echo invocation): Document today's changes.
2004-06-01 12:46:22 +00:00
Jim Meyering
97a6ce40ed (V9_ECHO): Remove; always enabled.
(DEFAULT_ECHO_TO_XPG): Renamed from V9_DEFAULT, so that
we use the same naming convention as bash.  Now an enum,
not a macro.
(usage): Reword to mention -e/-E more accurately.
Mention \0NNN (the POSIX syntax) rather than \NNN (nonstandard).
(hextobin): New function.
(main): Use bool rather than int for local vars when appropriate.
Do not allow options if POSIXLY_CORRECT, unless we are using
BSD semantics and the first argument is "-n".
Don't pass unnecessary extra arg to parse_long_options.
do_v9 now defaults to DEFAULT_ECHO_TO_XPG, not to allow_options.
Do not look for options if !allow_options.
Use size_t rather than int when appropriate.
Open-code option test rather than using strrchr.
Use faster test for "-".
Avoid redundant argc test.
Add support for \x, for Bash compatibility.
Use e.g. '\a' rather than '\007', for portability to EBCDIC hosts.
When '\c' is encountered, stop printing immediately, as POSIX
requires.
Add support for \xhh syntax.
Add support for \0ooo syntax; POSIX requires this.
2004-06-01 12:43:41 +00:00
Jim Meyering
a805d1df29 *** empty log message *** 2004-06-01 08:51:27 +00:00
Jim Meyering
8b8e7f2d32 Update from gnulib. 2004-06-01 08:51:23 +00:00
Jim Meyering
8a14359d3e *** empty log message *** 2004-06-01 07:49:59 +00:00
Jim Meyering
92b4b9ffba . 2004-06-01 07:49:47 +00:00
Jim Meyering
8772aaa97d *** empty log message *** 2004-05-31 18:29:48 +00:00
Jim Meyering
778326c2e6 . 2004-05-31 12:20:01 +00:00
Jim Meyering
e159215542 . 2004-05-31 12:18:55 +00:00
Jim Meyering
7db2ac9eaf regenerate 2004-05-31 12:18:24 +00:00
Jim Meyering
d6e5e7b49e 2004-05-29 Paul Eggert <eggert@cs.ucla.edu>
tr cleanup, mostly having to do with integer type ranges.
	Remove all casts.

	* tests/tr/Test.pm: Add a few tests for the below.  Alas, most of
	the test cases wouldn't be portable, or would take too much CPU
	time, or both.
2004-05-31 12:17:49 +00:00
Jim Meyering
b6220a928f (TESTS_ENVIRONMENT): Define PATH to include
the build src/ directory -- at the front.
($(srcdir)/$x-tests): Depend on Makefile.am.
Use $x as the program name, except when it would be `test' (test is
the sole program tested via mk-script that is also a shell built-in).
In that case, use the old ../../src/$x.
2004-05-31 12:16:47 +00:00
Jim Meyering
bc8843e1ca . 2004-05-31 12:11:49 +00:00
Jim Meyering
00731dd01d . 2004-05-31 11:41:36 +00:00
Jim Meyering
d36784d3bb *** empty log message *** 2004-05-31 11:41:13 +00:00
Jim Meyering
14a7c4506d (TESTS_ENVIRONMENT): Set PATH. 2004-05-31 11:41:06 +00:00
Jim Meyering
a2d94eab8a *** empty log message *** 2004-05-31 11:30:30 +00:00
Jim Meyering
6b970542fe (set_initialize): Remove unnecessary initialization of the `in_set'
buffer; that initialization triggered the same compiler bug as above.
2004-05-31 11:30:27 +00:00
Jim Meyering
7b03cfb5dc tr cleanup, mostly having to do with integer type ranges.
Remove all casts.

Here are examples of the failures:

   $ echo a | tr a '[x*][y*2147483646][y*2147483646][y*4]'
   x
   $ echo abcd | tr abc '[b*\9]'
   bbbd
   $ echo abcd | tr abc '[b*0]'
   tr: invalid repeat count `0' in [c*n] construct
   $ echo abcd | tr -c '[a*65536]\n' '[b*]'
   tr: ../../coreutils-5.2.1/src/tr.c:1942: main: Assertion `get_next (s2, ((void *)0)) == -1 || truncate_set1' failed.
   Aborted

(N_CHARS, N_CHAR_CLASSES): Now an enum, not a macro.
This is safe since the code already assumes N_CHARS fits in int.
(Filter): Remove: we want to prototype everything.
(ORD, CHR): Remove.  All uses removed.  Some replaced with:
(uchar): New function.  All places where a char must be converted
to an unsigned char are now done this way, not by ad-hoc methods.
(count): New type.  Use it whenever counts or states are needed.
(BEGIN_STATE): Increase from INT_MAX - 1 (which was bogus, anyway,
since we used it in an unsigned int context) to UINTMAX_MAX - 1.
(REPEAT_COUNT_MAXIMUM): New macro.  Use it in place of BEGIN_STATE
whenever appropriate.
(NOT_A_CHAR): Remove global macro; now a local enum.
(UL_LOWER, UL_UPPER, UL_NONE): No longer specify values, since
the rest of the code no longer depends on them.
(class_ok): Remove; all uses changed to use inline comparisons.
(RE_NO_TYPE): Remove; wasn't used or needed.
(struct List_element): normal_char and equiv_code are now unsigned
char, not int.
first_char, last_char, and the_repeated_char are now unsigned char,
not unsigned int.  repeat_count is now count, not size_t.
All uses changed.
(struct Spec_list): state is now count, not unsigned int.
lengthis now count, not size_t.
n_indefinite_repeats is now size_t, not int.
has_equiv_class, has_char_class, and has_restricted_char_class
are now bool, not int.  All uses changed.
(struct E_string): s is now char *, not unsigned char *.
escaped is now bool *, not int *.  All uses changed.
(ES_MATCH): Remove macro, replacing with:
(es_match): New inline function.  All uses changed.
(squeeze_repeats, complement, posix_pedantic, truncate_set1,
translating): Now bool, not int.
(io_buf): Now char array, not unsigned char.
(SET_TYPE): Remove.  All uses replaced with bool.
(is_equiv_class_member, unquote, append_range, append_char_class,
append_equiv_class, find_closing_delim, star_digits_closebracket,
build_spec_list, parse_str, homogeneous_spec_list):
Now returns bool, not int.  All uses changed.
(is_equiv_class_member): Now inline.
(is_equiv_class_member, is_char_class_member, make_printable_str,
append_normal_char, append_range, append_repeated_char,
get_s2_spec_stats):
Args are now of proper integer type.
(unquote, look_up_char_class, make_printable_str,
append_equiv_class, build_spec_list, squeeze_filter):
Avoid unsigned char *p; gently convert *p to unsigned char instead.
(unquote, get_spec_stats): Do not jump past declarations and then
use them; C doesn't allow this in portable programs.
(make_printable_str): Check for overflow in size calculations.
(xmemdup): Remove.  All uses rewritten.
(find_bracketed_repeat): Args are now of proper pointer-to-integer
type.  Do not reject [c*0].  Use xstrtoumax, not xstrtoul.
(find_bracketed_repeat, star_digits_closebracket): Check that the
digits are not escaped.
(build_spec_list): Don't bother to copy opnd_str; not needed.
(build_spec_list, get_next): Simplify internal logic a bit.
(card_of_complement): Fix bug due to char overflow.
(get_spec_stats): Don't assume len fits into int.
Check for integer overflow.  Use abort() rather than assert(0).
(string2_extend): Fix subscript error: is_char_class_member (..., 255)
was being invoked.
(squeeze_filter): READER is never null now; simplify code.
READER arg now has a simpler type.  Remove unnecessary casts.
(squeeze_filter, main): Calls to fwrite improperly checked result
against zero, rather than against requested size.
(plain_read): New function.
(read_and_delete, read_and_xlate):
Remove unused filter arg, and don't worry about hit_eof.
Simplify by using plain_read.
(set_initialize): Args are bool and bool *, not int and SET_TYPE *.
(main): Always pass a non-null procedure to squeeze_filter.
Rewrite so that class_ok isn't needed.
2004-05-31 10:06:23 +00:00
Jim Meyering
ff73bd63da *** empty log message *** 2004-05-30 20:09:35 +00:00
Jim Meyering
06fc3fc833 Work around HPUX /bin/cc compiler bug.
(card_of_complement): Use cleaner `sizeof in_set'
rather than `N_CHARS * sizeof(in_set[0])'.  Using HPUX's /bin/cc
(aC++/ANSI C B3910B A.05.55 [Dec 04 2003]) on an ia64-hp-hpux11.22
system, those two expressions are not the same (256 vs. 1024).
The effect of this problem was that `tr -c x y' would fail:
tr: when not truncating set1, string2 must be non-empty
2004-05-30 20:09:24 +00:00
Jim Meyering
bb682cff5e *** empty log message *** 2004-05-30 08:43:42 +00:00
Jim Meyering
ca3ad6589a (dosync): Ignore EBADF errors, as IRIX 6.5
fdatasync reports EBADF when syncing (unwritable) directories.
Problem reported by Albert Chin-A-Young in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00165.html
2004-05-30 08:43:35 +00:00
Jim Meyering
97930170e8 . 2004-05-29 22:23:31 +00:00
Jim Meyering
6ef34dd010 *** empty log message *** 2004-05-29 22:12:32 +00:00
Jim Meyering
c04071591e remove trailing blank 2004-05-29 22:12:15 +00:00
Jim Meyering
21edf06db2 *** empty log message *** 2004-05-29 22:09:00 +00:00
Jim Meyering
0db0459b65 *** empty log message *** 2004-05-29 22:07:06 +00:00
Jim Meyering
e6a2492833 (rm_option_init): Initialize new member, 2004-05-29 22:07:03 +00:00
Jim Meyering
56d5c6f7ca (rm_option_init): Initialize new member, x->require_restore_cwd. 2004-05-29 22:06:25 +00:00
Jim Meyering
8f7ac733b9 (struct rm_options) [require_restore_cwd]: New member. 2004-05-29 22:05:26 +00:00
Jim Meyering
9df1cc96e8 *** empty log message *** 2004-05-29 22:05:01 +00:00
Jim Meyering
9c29642d37 rm -r would get a failed assertion when run from an inaccessible
directory and with two or more command line arguments including an
absolute-named directory followed by a relative-named directory.

(struct cwd_state): Define.
(AD_pop_and_chdir): Redesign interface so that a restore_cwd failure
can be detected by the caller.  Instead of returning a malloc'd
directory name, communicate it to caller via a new parameter, and
return an indication of whether restore_cwd failed.  Update caller.
Eliminate an unnecessary call to AC_stack_top.
(remove_dir): Change type of cwd_state parameter to `struct cwd_state'
so we can now communicate to caller whether/how functions like
restore_cwd have failed.  Update caller.
(rm_1): Fail if we've failed to restore the working directory
and the name of the next file to remove is `.'-relative.
(rm): Fail if the require_restore_cwd flag is true and we've
failed to restore the working directory.
2004-05-29 22:04:55 +00:00
Jim Meyering
f679d4d08d *** empty log message *** 2004-05-29 22:00:20 +00:00
Jim Meyering
c921e46f05 *** empty log message *** 2004-05-29 21:57:31 +00:00
Jim Meyering
38499a7a54 (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Define. 2004-05-29 21:57:27 +00:00
Jim Meyering
db4db904d0 *** empty log message *** 2004-05-29 21:13:17 +00:00
Jim Meyering
4950e06530 (gl_PREREQ_XMALLOC): Require AC_FUNC_CALLOC. 2004-05-29 21:13:15 +00:00
Jim Meyering
ebb520fa44 . 2004-05-29 21:12:30 +00:00
Jim Meyering
549e8ff6df Fix typo: use ls -ldo, not ls -ldg. Patch from Albert Chin. 2004-05-29 20:46:43 +00:00
Jim Meyering
a07816dc58 *** empty log message *** 2004-05-29 16:53:50 +00:00
Jim Meyering
b22cdd3563 (AC_FUNC_CALLOC, _AC_FUNC_CALLOC_IF): New file/macros. 2004-05-29 16:53:45 +00:00
Jim Meyering
11969e0a20 New file. 2004-05-29 16:47:13 +00:00
Jim Meyering
0c5b66e10c (text_buffer_maxend): Remove declarations unused variable. 2004-05-29 11:33:15 +00:00
Jim Meyering
20788a74cb *** empty log message *** 2004-05-28 22:31:38 +00:00
Jim Meyering
70c5c9e8c4 (push_dir): Merge declaration and adjacent assignment into a single statement. 2004-05-28 22:31:26 +00:00
Jim Meyering
6fcceb6b02 tweak a comment 2004-05-28 22:30:40 +00:00
Jim Meyering
4d5eb9f196 *** empty log message *** 2004-05-28 21:39:59 +00:00
Jim Meyering
19387038f5 (AD_mark_helper): Eliminate unnecessary comparison. 2004-05-28 21:39:55 +00:00
Jim Meyering
2f317665ed *** empty log message *** 2004-05-28 21:27:16 +00:00
Jim Meyering
593aea0e97 *** empty log message *** 2004-05-28 21:04:15 +00:00
Jim Meyering
bbe6051c33 *** empty log message *** 2004-05-28 21:01:53 +00:00
Jim Meyering
460f685be6 *** empty log message *** 2004-05-22 16:30:11 +00:00
Jim Meyering
3ba72c8b9c (rm): Use free rather than XFREE.
(remove_dir): Use xmalloc, not XMALLOC.
(ds_init): Likewise.
2004-05-22 16:29:20 +00:00
Jim Meyering
e5e96abfd2 *** empty log message *** 2004-05-21 14:32:22 +00:00
Jim Meyering
19000dd0f1 (TESTS): Add inaccessible. 2004-05-21 14:32:20 +00:00
Jim Meyering
b3d364fc9d *** empty log message *** 2004-05-21 14:28:45 +00:00
Jim Meyering
e42baab490 # Ensure that rm works even when run from a directory
# for which the user has no access at all.
2004-05-21 13:59:31 +00:00
Jim Meyering
c4083b0a9b *** empty log message *** 2004-05-21 07:50:53 +00:00
Jim Meyering
8492b24cfc update from gnulib 2004-05-21 07:50:27 +00:00
Jim Meyering
80bb79d05b *** empty log message *** 2004-05-21 07:49:01 +00:00
Jim Meyering
610a755701 update from gnulib 2004-05-21 07:48:44 +00:00
Jim Meyering
ee2c5f05fd *** empty log message *** 2004-05-21 07:48:32 +00:00
Jim Meyering
be5c1f5065 update from gnulib 2004-05-21 07:45:45 +00:00
Jim Meyering
29cb8457bc update from gnulib 2004-05-21 07:44:35 +00:00
Jim Meyering
da45f1948e update from gnulib, again 2004-05-21 06:41:51 +00:00
Jim Meyering
f40938936d *** empty log message *** 2004-05-21 06:40:36 +00:00
Jim Meyering
3b7026427d Update from gnulib (fix reversed test). 2004-05-21 06:40:31 +00:00
Jim Meyering
aa1b76461d . 2004-05-20 11:39:58 +00:00
Jim Meyering
994e9be511 Update from gnulib. 2004-05-20 11:39:54 +00:00
Jim Meyering
142d646e01 *** empty log message *** 2004-05-20 11:37:11 +00:00
Jim Meyering
53416c2060 (sc_unmarked_diagnostics): Now that the unmarked
diagnostics in shred.c have been fixed, don't exempt shred.c from
this check.
2004-05-20 11:37:07 +00:00
Jim Meyering
4cd8ec52aa *** empty log message *** 2004-05-20 11:35:47 +00:00
Jim Meyering
84b82a4aa2 Use translatable diagnostics, e.g.
change "%s: remove" to _("%s: failed to remove") and
change "%s: close"  to _("%s: failed to close").
2004-05-20 11:35:40 +00:00
Jim Meyering
a439f41352 *** empty log message *** 2004-05-20 06:49:55 +00:00
Jim Meyering
68fd92338e Update from gnulib. 2004-05-20 06:49:52 +00:00
Jim Meyering
2825db7efb *** empty log message *** 2004-05-18 15:28:38 +00:00
Jim Meyering
40d4847f4c (names): Bring back lower-case letters, "_", and
".".  But continue to omit +, =, %, @, #, as they're either
shell metacharacters (for some shells) or are not in some
character sets, or (in the case of '%') must be a
metacharacter somewhere.
2004-05-18 15:28:27 +00:00
Jim Meyering
9057c23a8b *** empty log message *** 2004-05-17 13:39:06 +00:00
Jim Meyering
54806e3dcc . 2004-05-17 13:21:40 +00:00
Jim Meyering
c42d585298 Sync with gnulib. 2004-05-17 13:20:25 +00:00
Jim Meyering
4e88ae7892 Sync with gnulib. 2004-05-17 13:18:34 +00:00
Jim Meyering
37dfecb6e7 Sync with gnulib. 2004-05-17 13:17:45 +00:00
Jim Meyering
7f814a5e96 (cut_fields): Adjust to new signature of getndelim2. 2004-05-17 13:16:53 +00:00
Jim Meyering
ee47cc09f6 (incname): Decrement `len' only once per loop iteration. 2004-05-17 12:34:36 +00:00
Jim Meyering
c91f1d4a89 *** empty log message *** 2004-05-17 12:29:37 +00:00
Jim Meyering
85c13fad0c *** empty log message *** 2004-05-17 12:16:16 +00:00
Jim Meyering
039d3f9981 *** empty log message *** 2004-05-17 12:15:45 +00:00
Jim Meyering
26380c3504 . 2004-05-17 12:11:54 +00:00
Jim Meyering
da9163d7b6 . 2004-05-17 12:11:19 +00:00
Jim Meyering
06dc5c8efa *** empty log message *** 2004-05-17 12:10:55 +00:00
Jim Meyering
58f134b649 Use -h where necessary to retain semantics. 2004-05-17 12:10:43 +00:00
Jim Meyering
a432ab952a *** empty log message *** 2004-05-17 12:08:24 +00:00
Jim Meyering
636a950344 chgrp and chown now dereference symlinks by default, per POSIX.
(usage): Update to reflect this.
2004-05-17 12:08:09 +00:00
Jim Meyering
c2740635cd (chopt_init): Affect each symlink referent by default. 2004-05-17 12:07:48 +00:00
Jim Meyering
36708ba6b5 *** empty log message *** 2004-05-17 12:07:30 +00:00
Jim Meyering
3591f10746 chgrp and chown now dereference symlinks by default, per POSIX.
(chgrp invocation, chown invocation): Document it.
2004-05-17 12:07:25 +00:00
Jim Meyering
37adce2680 chown --dereference did nothing when the owner/group of a
symlink matched the desired owner/group.  Reported by David Malone.
Also reported in 1999 as http://bugs.debian.org/39642.

(change_file_owner): When --dereference has
been specified, and when processing a symlink, stat it to get the
owner and group of the referent.
2004-05-16 21:39:35 +00:00
Jim Meyering
23e13a64a8 *** empty log message *** 2004-05-16 19:32:37 +00:00
Jim Meyering
3bb407ccf3 In shred, check for errors from fdatasync more carefully. If
fdatasync fails with errno==EINVAL, it means this implementation
does not support synchronized I/O for this file.  Do not report
this as an error, as (for example) AIX 5.2 fdatasync reports it
for raw disk devices.  Problem reported by Albert Chin in
<http://mail.gnu.org/archive/html/bug-gnu-utils/2004-05/msg00028.html>.

Check for write errors, though: the old code ignored them.
Improve error checking in a few other cases, too (e.g., close of a
directory).

Also, change several 'int' values to 'bool', so that the error
checking is a bit clearer.  Similarly, change unsigned values
to size_t where appropriate.

* src/shred.c: Include "dirname.h".
(datasync) [!HAVE_FDATASYNC]: Remove.
(dosync): New function.
(dopass): Use it.  Return 1 on write error, -1 on other error.
All callers changed.  Report write error if dosync does.
(do_wipefd, wipefd, wipename, wipefile): Return bool (true/false),
not int (0/-1).  All callers changed.  Return false if there's a
write error.
(incname): Return bool (true/false), not int (0/1).  Accept
size_t length, not unsigned.  All callers changed.  Do not
bother checking for non-digits; it can't happen.  Replace
recursion with iteration.
(wipename): Use dir_name, base_name, etc. instead of assuming
Unix file names.  Use size_t for length, not unsigned.
Report error if unlink or close fails.
(wipename, main): Use bool for booleans.

(names): Use only digits and uppercase letters, for greater
portability.
2004-05-16 19:32:30 +00:00
Jim Meyering
1f90c86c41 *** empty log message *** 2004-05-16 14:18:50 +00:00
Jim Meyering
be8365288d *** empty log message *** 2004-05-16 14:17:53 +00:00
Jim Meyering
877467bc0c (TESTS): Add deref. 2004-05-16 14:10:17 +00:00
Jim Meyering
0c1db9f1ca New test for the yesterday's change. 2004-05-16 14:10:10 +00:00
Jim Meyering
85347c1744 *** empty log message *** 2004-05-15 18:27:38 +00:00
Jim Meyering
bbc182cdd8 . 2004-05-15 14:59:15 +00:00
Jim Meyering
c54468df2e (AD_pop_and_chdir): Eliminate an unnecessary call to AC_stack_top. 2004-05-14 15:47:53 +00:00
Jim Meyering
c134ce8fab . 2004-05-14 09:16:23 +00:00
Jim Meyering
784b5000f7 *** empty log message *** 2004-05-14 07:34:16 +00:00
Jim Meyering
8e0b4648a6 Improve performance of `sort -m' on large files, at the cost of
making some contrived examples unsafe.  POSIX allows this
optimization.  Performance problem reported by Jonathan Baker in
<http://mail.gnu.org/archive/html/bug-coreutils/2004-05/msg00071.html>.

(first_same_file): Do not treat input pipes
differently from other files.
2004-05-14 07:34:09 +00:00
Jim Meyering
f64a45d112 Document that "sort -m -o F" might write F before reading all the input. 2004-05-14 07:33:48 +00:00
Jim Meyering
eed02be1b6 *** empty log message *** 2004-05-14 07:33:23 +00:00
Jim Meyering
d667552245 (sort invocation): Document that "sort -m -o F"
might write F before reading all the input.
2004-05-14 07:32:56 +00:00
Jim Meyering
af7f1c5b2a *** empty log message *** 2004-05-14 07:29:41 +00:00
Jim Meyering
a79866eb4a *** empty log message *** 2004-05-14 07:29:04 +00:00
Jim Meyering
ec0c3e624c Fix typo: s/supercede/supersede/. 2004-05-14 07:28:39 +00:00
Jim Meyering
f490076195 *** empty log message *** 2004-05-13 07:27:25 +00:00
Jim Meyering
62f51917b8 (unquote, make_printable_str): Use e.g. '\a' rather than '\007',
for portability to EBCDIC hosts.
2004-05-13 07:27:10 +00:00
Jim Meyering
179af74c1a (print_esc_char): Use e.g. '\a' rather than '\007',
for portability to EBCDIC hosts.
2004-05-13 07:26:46 +00:00
Jim Meyering
364d39ccd8 (print_ascii, dump_strings): Use e.g. '\a' rather than
'\007', for portability to EBCDIC hosts.
2004-05-13 07:26:14 +00:00
Jim Meyering
07c04a2026 *** empty log message *** 2004-05-13 07:05:05 +00:00
Jim Meyering
23006caee3 Don't assume that "make -C" works; Solaris "make" doesn't have -C.
* src/Makefile.am (all_programs.list): New rule, copied from
	man/Makefile.am and tests/Makefile.am, except that we use the
	system tr rather than ./tr and we don't use tr -s.
	* tests/Makefile.am (all_programs): Use it.
	* man/Makefile.am (all_programs): Likewise.  Renamed from programs,
	for consistency.  All uses changed.
2004-05-13 07:04:58 +00:00
Jim Meyering
2b4882c233 Don't assume that "make -C" works; Solaris "make" doesn't have -C.
* src/Makefile.am (all_programs.list): New rule, copied from
	man/Makefile.am and tests/Makefile.am, except that we use the
	system tr rather than ./tr and we don't use tr -s.
	* tests/Makefile.am (all_programs): Use it.
2004-05-13 07:03:52 +00:00
Jim Meyering
50f956a0b0 Don't assume that "make -C" works; Solaris "make" doesn't have -C.
(all_programs.list): New rule, copied from
man/Makefile.am and tests/Makefile.am, except that we use the
system tr rather than ./tr and we don't use tr -s.
2004-05-13 07:03:00 +00:00
Jim Meyering
bcadb97f7c *** empty log message *** 2004-05-12 09:35:19 +00:00
Jim Meyering
9549a2091e (AD_pop_and_chdir): Move lstat-`.' into if-block
where the result is used.  This avoids one unnecessary lstat call
per command line argument.
2004-05-12 09:35:06 +00:00
Jim Meyering
647df13889 *** empty log message *** 2004-05-11 19:41:37 +00:00
Jim Meyering
4dbfc4c582 (TESTS): Add unread3. 2004-05-11 19:41:33 +00:00
Jim Meyering
bcd1f744af New test, for the above fix and today's lib/save-cwd.c improvement. 2004-05-11 19:41:23 +00:00
Jim Meyering
6202854ac2 *** empty log message *** 2004-05-11 18:34:56 +00:00
Jim Meyering
76a6665c13 (save_cwd): If opening `.' read-only fails, try write-only. 2004-05-11 18:34:38 +00:00
Jim Meyering
ea85958d52 *** empty log message *** 2004-05-11 18:25:32 +00:00
Jim Meyering
3f84f91c7c *** empty log message *** 2004-05-11 16:50:25 +00:00
Jim Meyering
546b62a2bc *** empty log message *** 2004-05-11 16:48:42 +00:00
Jim Meyering
8853d12319 (save_cwd) [HAVE_FCHDIR]: Don't fail just
because opening `.' failed.  Resort to using xgetcwd.
2004-05-11 16:42:17 +00:00
Jim Meyering
52e15d0127 *** empty log message *** 2004-05-11 16:14:22 +00:00
Jim Meyering
0a9f091665 Don't include "save-cwd.h". It's no longer used. 2004-05-11 16:14:11 +00:00
Jim Meyering
128e1b2963 . 2004-05-10 18:15:41 +00:00
Jim Meyering
85b5ea3839 *** empty log message *** 2004-05-10 15:13:52 +00:00
Jim Meyering
6e73791bd4 (TESTS): Add trap. 2004-05-10 15:13:45 +00:00
Jim Meyering
c98f083d36 New file. Test for bug fix of 2004-04-18. 2004-05-10 15:13:29 +00:00
Jim Meyering
507294085a *** empty log message *** 2004-05-10 14:27:53 +00:00
Jim Meyering
0837deb037 (AD_push): Don't use errno in diagnostic about `changed dev/ino'. 2004-05-10 14:27:45 +00:00
Jim Meyering
bd0ebda8db *** empty log message *** 2004-05-10 07:15:56 +00:00
Jim Meyering
6d67072179 Remove this generated file from CVS. 2004-05-10 07:15:03 +00:00
Jim Meyering
063d037b37 . 2004-05-10 07:04:59 +00:00
Jim Meyering
0ee95541c1 . 2004-05-09 19:44:10 +00:00
Jim Meyering
b9d74188f2 . 2004-05-09 19:43:35 +00:00
Jim Meyering
61a7a3871d *** empty log message *** 2004-05-09 19:43:27 +00:00
Jim Meyering
bc99952263 (check-texinfo): grep -w IO 2004-05-09 19:43:23 +00:00
Jim Meyering
d77d6d8b9e *** empty log message *** 2004-05-09 19:42:23 +00:00
Jim Meyering
77cd88719f (stat invocation): Change IO to I/O. 2004-05-09 19:42:19 +00:00
Jim Meyering
e82d06e2f8 *** empty log message *** 2004-05-09 19:29:54 +00:00
Jim Meyering
6e9bba3889 (unquote): Use xcalloc rather than xmalloc and
a loop initializing the just-allocated memory to zero.
2004-05-09 19:29:42 +00:00
Jim Meyering
acf15d5163 *** empty log message *** 2004-05-08 22:24:25 +00:00
Jim Meyering
3496e470ca *** empty log message *** 2004-05-08 12:49:57 +00:00
Jim Meyering
66fd845fed (TESTS): Add no-give-up. 2004-05-08 12:49:53 +00:00
Jim Meyering
2e83808dd6 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.
2004-05-08 12:49:22 +00:00
Jim Meyering
198dc407d3 New file; check for the above fix. 2004-05-08 12:47:23 +00:00
Jim Meyering
0ce65fc205 Update from gnulib.
(obstack_finish): Rename local: s/value/__value/.
2004-05-07 06:48:31 +00:00
Jim Meyering
72462df0d2 Update from gnulib.
(_): Define only if not already defined.
2004-05-07 06:48:12 +00:00
Jim Meyering
f0271be19f *** empty log message *** 2004-05-06 15:35:13 +00:00
Jim Meyering
89bba9158d (main): Use xnmalloc, rather than xmalloc. 2004-05-06 14:51:20 +00:00
Jim Meyering
e93ae52456 (main): Use xnmalloc, rather than xmalloc. 2004-05-06 14:50:17 +00:00
Jim Meyering
4d9d9f4d02 (list_entries_users): Use xnmalloc, rather than xmalloc. 2004-05-06 14:49:32 +00:00
Jim Meyering
433aacf5c6 (do_wipefd): Use xnmalloc, rather than xmalloc. 2004-05-06 14:48:07 +00:00
Jim Meyering
1c4154dbb0 (xgetgroups): Use variable name, rather than type name in computing buffer
size for xnmalloc.
2004-05-06 14:46:00 +00:00
Jim Meyering
76ef73f50a (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.
2004-05-06 14:43:31 +00:00
Jim Meyering
782b73c514 (main): Use xnmalloc, rather than xmalloc. 2004-05-06 14:24:50 +00:00
Jim Meyering
94c2794761 (elide_tail_bytes_pipe): Use xnmalloc, rather than xmalloc. 2004-05-06 14:24:16 +00:00
Jim Meyering
4de12cc012 (get_input_fstatus): Use xnmalloc, rather than xmalloc. 2004-05-06 14:23:08 +00:00
Jim Meyering
1956f215e1 . 2004-05-04 11:36:13 +00:00
Jim Meyering
c9316ddd85 *** empty log message *** 2004-05-04 07:26:41 +00:00
Jim Meyering
3145fdd1ed (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).
2004-05-04 07:26:33 +00:00
Jim Meyering
b9c20c62fb *** empty log message *** 2004-05-03 12:50:32 +00:00
Jim Meyering
bf006459d8 (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown. 2004-05-03 12:50:24 +00:00
Jim Meyering
b0ee1e8b78 *** empty log message *** 2004-05-03 11:52:46 +00:00
Jim Meyering
752efcbdb0 *** empty log message *** 2004-05-03 11:52:39 +00:00
Jim Meyering
edb4b69e61 (EXTRA_DIST): Add m4/ChangeLog, now that we no longer have m4/Makefile*. 2004-05-03 11:52:33 +00:00
Jim Meyering
95adc0cbfc *** empty log message *** 2004-05-03 11:50:52 +00:00
Jim Meyering
617884e704 . 2004-05-03 11:07:59 +00:00
Jim Meyering
171bf0969a 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.
2004-05-03 11:03:14 +00:00
Jim Meyering
de0d33afc8 *** empty log message *** 2004-05-01 16:45:58 +00:00
Jim Meyering
90158b2fda Remove unused file. 2004-05-01 16:45:39 +00:00
Jim Meyering
5e36b4bd51 Remove unused file. 2004-05-01 16:44:31 +00:00
Jim Meyering
fbff21277b Remove unused file. 2004-05-01 16:43:46 +00:00
Jim Meyering
489cf2a649 Remove unused file. 2004-05-01 16:41:43 +00:00
Jim Meyering
f358ae5a46 Remove unused file. 2004-05-01 16:41:02 +00:00
Jim Meyering
1a7c6d7ac2 Remove unused file. 2004-05-01 16:39:48 +00:00
Jim Meyering
8d4ea07eb8 Remove file. This is now part of mktime.m4. 2004-05-01 16:38:12 +00:00
Jim Meyering
fb8bb7dda7 . 2004-05-01 16:20:22 +00:00
Jim Meyering
7ba3e328c6 . 2004-05-01 14:42:45 +00:00
Jim Meyering
c7edb664e6 *** empty log message *** 2004-05-01 14:42:06 +00:00
Jim Meyering
84990aa0fc (gl_MACROS): Move fchown-checking code to chown.m4. 2004-05-01 14:42:00 +00:00
Jim Meyering
1c473ba843 (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.
2004-05-01 14:41:21 +00:00
Jim Meyering
87cb7bca64 (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.
2004-05-01 14:36:29 +00:00
Jim Meyering
83db4e147a 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.
2004-05-01 14:33:41 +00:00
Jim Meyering
afef52af2f *** empty log message *** 2004-05-01 06:49:01 +00:00
Jim Meyering
27b510575d (change_file_owner): Add a comment. 2004-05-01 06:48:55 +00:00
Jim Meyering
70b9c50903 . 2004-04-29 16:03:21 +00:00
Jim Meyering
094bc55f63 Whoops: s/sc_src_tight_scope/sc_tight_scope/ 2004-04-28 12:42:14 +00:00
Jim Meyering
173f088735 . 2004-04-27 19:01:00 +00:00
Jim Meyering
372762d891 (syntax_table, re_syntax_table): Remove declarations of two unused
variables (they were exposed by the above change).
2004-04-27 18:39:21 +00:00
Jim Meyering
335b993492 Make over 40 global extern variables `static'. 2004-04-27 18:37:14 +00:00
Jim Meyering
ee5d9d5b14 (sc_tight_scope): Also check for global variables, (BSS section). 2004-04-27 17:03:58 +00:00
Jim Meyering
74a28492df *** empty log message *** 2004-04-27 16:58:16 +00:00
Jim Meyering
6a9fd0063c Rename to sc_tight_scope.
(syntax-check-rules): Really add it.
2004-04-27 16:58:02 +00:00
Jim Meyering
3353acdf8f Rename to sc_tight_scope. 2004-04-27 16:57:23 +00:00
Jim Meyering
f945a484b6 *** empty log message *** 2004-04-27 16:36:08 +00:00
Jim Meyering
72e9f1ce4b (backup_type): Declare `static'. 2004-04-27 16:36:03 +00:00
Jim Meyering
ec38270d8e (opt_nul_terminate_output): Declare `static'. 2004-04-27 16:34:47 +00:00
Jim Meyering
b480c61d5e (G_fail): Declare `static'. 2004-04-27 16:32:43 +00:00
Jim Meyering
4c59a5f180 *** empty log message *** 2004-04-27 15:02:35 +00:00
Jim Meyering
a84b7ad221 (forget_created, remember_created)
(src_to_dest_lookup, remember_copied, hash_init, forget_all):
Add `extern' keyword.
2004-04-27 15:02:11 +00:00
Jim Meyering
68c7c2d2fa (dest_info_init, src_info_init, copy): Add `extern' keyword. 2004-04-27 15:01:31 +00:00
Jim Meyering
03f9a376a4 (chopt_init, chopt_free, gid_to_name, uid_to_name, chown_files):
Add `extern' keyword.
2004-04-27 15:01:12 +00:00
Jim Meyering
b34611fd0f (rm): Add `extern' keyword. 2004-04-27 15:00:32 +00:00
Jim Meyering
37989d195a . 2004-04-27 14:57:48 +00:00
Jim Meyering
36968546e5 (sc_src_functions_have_static_scope): New rule. 2004-04-27 14:57:33 +00:00
Jim Meyering
e014b02b5f *** empty log message *** 2004-04-27 14:57:17 +00:00
Jim Meyering
350228c3be (sc_src_functions_have_static_scope): New rule.
(syntax-check-rules): Add it.
2004-04-27 14:57:11 +00:00
Jim Meyering
c09c476689 *** empty log message *** 2004-04-26 16:31:42 +00:00
Jim Meyering
53080d0a85 . 2004-04-26 16:31:14 +00:00
Jim Meyering
b07f9bf8b6 *** empty log message *** 2004-04-26 15:45:53 +00:00
Jim Meyering
b88eb38b98 Fix typo in env_default comment.
(18c, 18d): Reverse the order of output lines, so that the
test cases conform to POSIX.
2004-04-26 15:43:37 +00:00
Jim Meyering
9a3fee94a0 Fix typo in env_default comment. 2004-04-26 15:39:02 +00:00
Jim Meyering
79f8908c8a *** empty log message *** 2004-04-26 15:38:16 +00:00
Jim Meyering
c20e6668c8 (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.
2004-04-26 15:37:48 +00:00
Jim Meyering
30ea278e1b (limfield): Make a comment clearer. 2004-04-26 15:37:33 +00:00
Jim Meyering
41cc9a718a 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.
2004-04-26 15:31:13 +00:00
Jim Meyering
431d661863 update from master 2004-04-26 13:59:35 +00:00
Jim Meyering
48d44f4301 . 2004-04-24 08:09:52 +00:00
Jim Meyering
5536fd32b1 . 2004-04-24 08:08:06 +00:00
Jim Meyering
9ba449c94b *** empty log message *** 2004-04-24 08:04:20 +00:00
Jim Meyering
58e4afaacf (gl_MACROS): Check for tcgetpgrp. 2004-04-24 08:03:46 +00:00
Jim Meyering
adc30a8396 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.
2004-04-24 08:03:15 +00:00
Jim Meyering
8d90a31290 *** empty log message *** 2004-04-23 17:32:32 +00:00
Jim Meyering
e356a9a6ea 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.
2004-04-23 17:32:25 +00:00
Jim Meyering
656883d775 *** empty log message *** 2004-04-23 17:27:20 +00:00
Jim Meyering
d6079f7509 *** empty log message *** 2004-04-23 06:42:34 +00:00
Jim Meyering
096ac55884 Don't check for values.h; it's no longer used. 2004-04-23 06:42:31 +00:00
Jim Meyering
6a1ee7ca70 *** empty log message *** 2004-04-21 14:26:45 +00:00
Jim Meyering
57c7fbf44a *** empty log message *** 2004-04-21 14:26:17 +00:00
Jim Meyering
ed4778772c (main): Do not ignore SIGPIPE, as POSIX 1003.1-2001
does not allow this.  This undoes the 1996-10-24 patch.
2004-04-21 14:26:09 +00:00
Jim Meyering
b55c0ce8ee *** empty log message *** 2004-04-21 12:57:46 +00:00
Jim Meyering
8ab60c41be - 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.
2004-04-21 12:57:33 +00:00
Jim Meyering
eae1b7f862 - 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.
2004-04-21 12:51:27 +00:00
Jim Meyering
4441496397 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.
2004-04-21 12:25:18 +00:00
Jim Meyering
1119774873 *** empty log message *** 2004-04-20 18:13:54 +00:00
Jim Meyering
f4e0a51788 (is_empty_dir): Clarify comment. 2004-04-20 18:13:43 +00:00
Jim Meyering
d432ccecc8 (main) [!defined _POSIX_SOURCE]:
Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
2004-04-20 15:10:07 +00:00
Jim Meyering
7b6892c3df (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.
2004-04-20 15:08:57 +00:00
Jim Meyering
31ef15a49f (sigill_handler, isaac_seed_machdep): Use void, not (obsolete) RETSIGTYPE. 2004-04-20 15:05:40 +00:00
Jim Meyering
bb5a8d159c (main) [!defined _POSIX_SOURCE]:
Use simpler "signal (sig, SIG_IGN)" rather than sigaction equivalent.
2004-04-20 10:44:42 +00:00
Jim Meyering
aa3d650a1b *** empty log message *** 2004-04-20 10:41:40 +00:00
Jim Meyering
fead36411c (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'.
2004-04-20 10:41:36 +00:00
Jim Meyering
3d286f8c91 . 2004-04-20 10:18:48 +00:00
Jim Meyering
28d28cffea tweak --help output 2004-04-20 10:06:19 +00:00
Jim Meyering
74c610f8bd *** empty log message *** 2004-04-20 10:04:43 +00:00
Jim Meyering
d8c64d085c (.x.1): Use help2man's new --program-name=NAME option. 2004-04-20 10:04:11 +00:00
Jim Meyering
a378497e2b Accept new option: --program-name=NAME, so that we
can override the one in --version output.  This is needed solely
so that test.1 doesn't refer to `[' as the program name.
Reported by Benjamin Cutler as http://bugs.debian.org/205251.
2004-04-20 10:03:53 +00:00
Jim Meyering
9d77d864e7 *** empty log message *** 2004-04-20 10:01:51 +00:00
Jim Meyering
5976e470ac remove trailing blank 2004-04-20 09:35:17 +00:00
Jim Meyering
3d22e9548d *** empty log message *** 2004-04-20 09:34:48 +00:00
Jim Meyering
d3cb92f9b8 Don't include pathmax.h; system.h already does it. 2004-04-20 09:34:43 +00:00
Jim Meyering
50469e2c80 . 2004-04-20 09:21:30 +00:00
Jim Meyering
3e7e4ac602 *** empty log message *** 2004-04-20 09:21:09 +00:00
Jim Meyering
32227588fc Change UTILS_ to gl_ in AC_DEFINE'd names.
Change utils_- and jm_-prefixed variables, too.
* host-os.m4 (gl_HOST_OS): Renamed from UTILS_HOST_OS.
2004-04-20 09:21:05 +00:00
Jim Meyering
ae75db7d88 Change UTILS_ to gl_ in AC_DEFINE'd names.
Change utils_- and jm_-prefixed variables, too.
(gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
2004-04-20 09:19:52 +00:00
Jim Meyering
48f4d20c8b Reflect the renamings. 2004-04-20 09:19:27 +00:00
Jim Meyering
595b417f1d Change UTILS_ to gl_ in AC_DEFINE'd names.
Change utils_- and jm_-prefixed variables, too.

(gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
UTILS_FUNC_MKDIR_TRAILING_SLASH.
2004-04-20 09:19:09 +00:00
Jim Meyering
eefa4f7f1a *** empty log message *** 2004-04-20 08:45:28 +00:00
Jim Meyering
d0d80d0702 (gl_MACROS): Reflect the renaming: s/UTILS_FUNC_DIRFD/gl_FUNC_DIRFD/ 2004-04-20 08:45:24 +00:00
Jim Meyering
183dcb7d9a (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD. 2004-04-20 08:44:55 +00:00
Jim Meyering
84fc961958 *** empty log message *** 2004-04-20 08:40:41 +00:00
Jim Meyering
461c760184 Don't emit trailing blanks. 2004-04-20 08:40:38 +00:00
Jim Meyering
47d0e71e75 *** empty log message *** 2004-04-20 06:51:15 +00:00
Jim Meyering
335e3339ff (getndelim2): Upon realloc failure, don't leak memory. 2004-04-20 06:51:07 +00:00
Jim Meyering
4ef7ed5d49 *** empty log message *** 2004-04-20 06:50:46 +00:00
Jim Meyering
ffccc03ad8 (cut_fields): Free buffer upon getndelim2 failure. 2004-04-20 06:50:37 +00:00
Jim Meyering
58e94308f5 . 2004-04-19 20:07:39 +00:00
Jim Meyering
5875ebea4a *** empty log message *** 2004-04-19 20:07:27 +00:00
Jim Meyering
9b10f9414f (isaac_seed_start) [AVOID_USED_UNINITIALIZED_WARNINGS]:
Initialize a buffer to avoid warnings from tools like valgrind.
2004-04-19 20:07:25 +00:00
Jim Meyering
c9187f989d *** empty log message *** 2004-04-19 19:27:07 +00:00
Jim Meyering
f83c840b23 . 2004-04-19 19:23:44 +00:00
Jim Meyering
d15fd74064 *** empty log message *** 2004-04-19 19:01:14 +00:00
Jim Meyering
9e4222f1d9 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE, now that readutmp.c may call `free (0)'. 2004-04-19 19:01:07 +00:00
Jim Meyering
59ab879d6e *** empty log message *** 2004-04-19 19:00:49 +00:00
Jim Meyering
cb5f6b9ad3 (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc failure,
don't leak memory and do call END_UTMP_ENT.
2004-04-19 18:59:52 +00:00
Jim Meyering
332853e722 . 2004-04-19 18:58:24 +00:00
Jim Meyering
4c5032e91f *** empty log message *** 2004-04-19 17:31:46 +00:00
Jim Meyering
27f330290b *** empty log message *** 2004-04-19 15:12:38 +00:00
Jim Meyering
af719b0318 Make pwd work even if the resulting name is so long that getcwd fails.
(path_free, path_init, path_prepend): New functions.
(nth_parent, find_dir_entry, robust_getcwd): New functions.
(main): First try getcwd, then, upon failure, robust_getcwd.
2004-04-19 15:12:31 +00:00
Jim Meyering
e17c7db93b (sc_trailing_blank): New rule.
(syntax-check-rules): Add it.
2004-04-19 14:18:17 +00:00
Jim Meyering
4f00c7850a remove trailing blanks 2004-04-19 14:15:39 +00:00
Jim Meyering
a20d7d1e70 remove trailing blanks 2004-04-19 11:59:23 +00:00
Jim Meyering
207d68de39 *** empty log message *** 2004-04-19 10:20:10 +00:00
Jim Meyering
44b8ed5214 *** empty log message *** 2004-04-18 15:05:33 +00:00
Jim Meyering
6bb27087a1 (print_user): Use xrealloc here, rather than unchecked realloc.
Remove anachronistic casts.
2004-04-18 15:02:49 +00:00
Jim Meyering
3e7d831412 *** empty log message *** 2004-04-18 14:58:56 +00:00
Jim Meyering
544a43b5f7 (full_filename_): Don't leak upon failed realloc. 2004-04-18 14:58:51 +00:00
Jim Meyering
d9588b16a0 . 2004-04-18 13:40:50 +00:00
Jim Meyering
d1932b917a (readdir_ignoring_dotdirs): Move function to system.h, renaming it. Update uses. 2004-04-18 13:14:25 +00:00
Jim Meyering
1b195e0bd2 *** empty log message *** 2004-04-18 13:12:33 +00:00
Jim Meyering
de48260615 (readdir_ignoring_dot_and_dotdot): New inline function, from remove.c. 2004-04-18 13:09:27 +00:00
Jim Meyering
e71f800ae0 *** empty log message *** 2004-04-17 19:09:55 +00:00
Jim Meyering
d98955ea0c Depend on automake-1.8.3. 2004-04-17 19:09:51 +00:00
Jim Meyering
d5ec6a62fa *** empty log message *** 2004-04-17 14:05:41 +00:00
Jim Meyering
58127401f1 (add_file_name): Declare function to be `static'. 2004-04-17 14:05:37 +00:00
Jim Meyering
6156733950 *** empty log message *** 2004-04-17 14:02:00 +00:00
Jim Meyering
c283745f2e (ds_init, ds_free): Declare functions to be `static'. 2004-04-17 14:01:56 +00:00
Jim Meyering
c7e5e46249 *** empty log message *** 2004-04-17 14:00:26 +00:00
Jim Meyering
53a258fa4a (string_to_join_field): Declare function to be `static'. 2004-04-17 14:00:20 +00:00
Jim Meyering
d217c60996 *** empty log message *** 2004-04-17 13:49:48 +00:00
Jim Meyering
06268b6122 *** empty log message *** 2004-04-17 13:47:01 +00:00
Jim Meyering
f815f5c2a7 *** empty log message *** 2004-04-17 10:47:25 +00:00
Jim Meyering
9e946b86fa (sc_prohibit_jm_in_m4): New rule.
(syntax-check-rules): Add to the list.
2004-04-17 10:47:20 +00:00
Jim Meyering
e691ec1aa4 *** empty log message *** 2004-04-16 16:25:35 +00:00
Jim Meyering
9c16fe0e28 *** empty log message *** 2004-04-15 10:52:25 +00:00
Jim Meyering
65816f395e Include getpagesize.h.
(main): Align I/O buffers to page boundaries.
2004-04-15 10:52:04 +00:00
Jim Meyering
0adee504ff Include getpagesize.h.
(dopass): Align I/O buffers to page boundaries.
2004-04-15 10:50:07 +00:00
Jim Meyering
e28e19cbba Include getpagesize.h.
(copy_reg): Align I/O buffers to page boundaries.
2004-04-15 10:37:59 +00:00
Jim Meyering
0c40916e6f (gcd, lcm, ptr_align): New functions, moved from od.c. 2004-04-15 09:12:25 +00:00
Jim Meyering
1365b2f708 (gcd, lcm): Remove; now in system.h. 2004-04-15 09:12:01 +00:00
Jim Meyering
a5d9418d66 (ROUND_UP_OFFSET, PTR_ALIGN): Remove.
All uses replaced by ptr_align.
2004-04-15 09:11:42 +00:00
Jim Meyering
5f20d9e921 Include getpagesize.h.
(main): Align I/O buffers to page boundaries.
2004-04-15 09:10:54 +00:00
Jim Meyering
4b84b6c487 . 2004-04-14 14:12:19 +00:00
Jim Meyering
57c94c9d66 *** empty log message *** 2004-04-14 14:11:59 +00:00
Jim Meyering
c9f74d243b *** empty log message *** 2004-04-14 14:11:31 +00:00
Jim Meyering
7225e38bcc (AC_CONFIG_FILES): Remove m4/Makefile.in from the list. 2004-04-14 14:11:25 +00:00
Jim Meyering
8a2358ada0 (SUBDIRS): Remove `m4' from the list. 2004-04-14 14:11:06 +00:00
Jim Meyering
ee3af64be5 Remove file. With automake-1.8.3, it is no longer needed. 2004-04-14 11:23:33 +00:00
Jim Meyering
7c22ac2383 . 2004-04-14 08:43:32 +00:00
Jim Meyering
4517fe4d11 *** empty log message *** 2004-04-14 08:41:18 +00:00
Jim Meyering
9658026eba (cu_PREREQ_STAT_PROG): Don't use AC_CHECK_HEADERS to
check for inttypes.h.  Instead, require gt_HEADER_INTTYPES_H.
2004-04-14 08:41:15 +00:00
Jim Meyering
1ff0706817 . 2004-04-14 08:35:45 +00:00
Jim Meyering
9d17cbdab7 undo last change -- all it did was change the serial number 2004-04-14 08:35:25 +00:00
Jim Meyering
57c656f5b7 *** empty log message *** 2004-04-14 08:29:19 +00:00
Jim Meyering
39da753164 Require cu_PREREQ_STAT_PROG. 2004-04-14 08:29:04 +00:00
Jim Meyering
cf31d5d7df Move prerequisite function for src/stat.c to stat-prog.m4. 2004-04-14 08:28:42 +00:00
Jim Meyering
3a1ed10b64 (cu_PREREQ_STAT_PROG): New file. Contents from prereq.m4.
Macro renamed from gl_PREREQ_STAT.
2004-04-14 08:27:42 +00:00
Jim Meyering
f678507fcc . 2004-04-13 15:29:57 +00:00
Jim Meyering
0612d3f11b *** empty log message *** 2004-04-13 15:29:44 +00:00
Jim Meyering
5a3c24ef1b Change jm_' in AC_DEFINE'd names to gl_'. 2004-04-13 15:29:33 +00:00
Jim Meyering
72002f81e3 Change jm_' in AC_DEFINE'd names to gl_'. Update all uses. 2004-04-13 15:28:45 +00:00
Jim Meyering
d7d389b5dc remove trailing blanks 2004-04-13 14:01:46 +00:00
Jim Meyering
012af9fb89 *** empty log message *** 2004-04-13 09:05:06 +00:00
Jim Meyering
4d8ae1beeb Remove trailing blanks. 2004-04-13 09:04:58 +00:00
Jim Meyering
f23a172068 remove trailing blank 2004-04-13 09:03:11 +00:00
Jim Meyering
a10d27c219 *** empty log message *** 2004-04-12 11:59:53 +00:00
Jim Meyering
99eb12ed3c Update from gnulib. 2004-04-12 11:59:45 +00:00
Jim Meyering
907e43cc4a . 2004-04-12 09:39:24 +00:00
Jim Meyering
383912d87d *** empty log message *** 2004-04-12 09:31:47 +00:00
Jim Meyering
981b84709a (jm_PREREQ): Require gl_UTIMECMP. 2004-04-12 09:31:41 +00:00
Jim Meyering
e178ccbaf8 From Paul Eggert. 2004-04-12 09:31:20 +00:00
Jim Meyering
e8cf49226a *** empty log message *** 2004-04-12 09:31:04 +00:00
Jim Meyering
4ed4732e78 Include "utimecmp.h".
(copy_internal): Compare time stamps using utimecmp rather than
MTIME_CMP.
2004-04-12 09:30:57 +00:00
Jim Meyering
0a70213d4d *** empty log message *** 2004-04-12 09:27:25 +00:00
Jim Meyering
3139db372b *** empty log message *** 2004-04-12 09:26:41 +00:00
Jim Meyering
ae7a17610b From Paul Eggert. 2004-04-12 09:26:27 +00:00
Jim Meyering
7957b57a1a From Paul Eggert. 2004-04-12 09:26:01 +00:00
Jim Meyering
4cf5e4a5cf *** empty log message *** 2004-04-12 09:25:49 +00:00
Jim Meyering
aeea251d2e (libfetish_a_SOURCES): Add utimecmp.c, utimecmp.h. 2004-04-12 09:23:09 +00:00
Jim Meyering
3b2bcb8359 *** empty log message *** 2004-04-12 09:22:08 +00:00
Jim Meyering
29a91488a9 (mv invocation): Document this.
(cp invocation): Document -u (it was missing!) with new behavior.
2004-04-12 09:22:02 +00:00
Jim Meyering
e4b7d663c0 cp -pu and mv -u (when copying) now take the destination
file system time stamp resolution into account.
2004-04-12 09:20:47 +00:00
Jim Meyering
afe724318d . 2004-04-09 12:15:49 +00:00
Jim Meyering
c01ac4d409 *** empty log message *** 2004-04-09 12:15:40 +00:00
Jim Meyering
49e4141352 Include "stat-macros.h". 2004-04-09 12:15:23 +00:00
Jim Meyering
1d85737fd3 (file_type): Move all macro defiitions to new file, stat-macros.h. 2004-04-09 12:15:15 +00:00
Jim Meyering
1c55f1acf5 (libfetish_a_SOURCES): Add stat-macros.h. 2004-04-09 12:13:57 +00:00
Jim Meyering
293e3cacc3 New file, with contents from file-type.h and coreutils' system.h. 2004-04-09 12:13:37 +00:00
Jim Meyering
8309aea61e Include stat-macros.h, not file-type.h.
Move more definitions into stat-macros.h.
2004-04-09 12:05:45 +00:00
Jim Meyering
b9c4b346f1 undo last change 2004-04-09 12:03:02 +00:00
Jim Meyering
0ef4f6ba49 *** empty log message *** 2004-04-09 11:33:56 +00:00
Jim Meyering
d840a53e90 (.re-list): New rule/file, to replace hard-coded list of header file names.
(sc_system_h_headers): Use the new file.
2004-04-09 11:33:53 +00:00
Jim Meyering
6a5c240b9d *** empty log message *** 2004-04-09 08:27:01 +00:00
Jim Meyering
b29e52796a Don't include "file-type.h", now that system.h does. 2004-04-09 08:26:17 +00:00
Jim Meyering
4b4e469c61 *** empty log message *** 2004-04-09 08:25:50 +00:00
Jim Meyering
e357aa96a4 Include file-type.h rather than hard-coding all
of its macros definitions -- the list was slightly out of date.
2004-04-09 08:25:32 +00:00
Jim Meyering
af03f88c2d (header_regexp): Add file-type.h.
(sc_system_h_headers): Don't look for sys2.h anymore.
2004-04-09 08:24:22 +00:00
Jim Meyering
8a9c17bd26 . 2004-04-09 07:28:33 +00:00
Jim Meyering
3104d1d445 *** empty log message *** 2004-04-08 21:37:50 +00:00
Jim Meyering
eee12ddc9d Remove noctty flag from dd. 2004-04-08 21:36:45 +00:00
Jim Meyering
7c7a16a2d8 (O_NOCTTY): Remove redundant decl. 2004-04-08 21:36:18 +00:00
Jim Meyering
9f478111bf (flags, usage): Remove noctty flag.
(main): Always use O_NOCTTY when opening files.
2004-04-08 21:36:06 +00:00
Jim Meyering
ca1665b2a5 . 2004-04-08 21:35:35 +00:00
Jim Meyering
40b1bcbb39 *** empty log message *** 2004-04-08 21:30:22 +00:00
Jim Meyering
82024e9938 (set_fd_flags): Undo part of today's change: it's a little
cleaner -- and more efficient in the common case -- to go
ahead and OR in the -1 when fcntl fails.
2004-04-08 21:30:18 +00:00
Jim Meyering
1af4fd3a54 (dd_copy): Mark two diagnostics for translations. 2004-04-08 21:26:28 +00:00
Jim Meyering
a61bca91eb . 2004-04-08 15:38:59 +00:00
Jim Meyering
2830062386 *** empty log message *** 2004-04-08 15:38:46 +00:00
Jim Meyering
3469ae8085 (sc_dd_max_sym_length): New target.
(syntax-check-rules): Add it.
2004-04-08 15:38:43 +00:00
Jim Meyering
d56fd78b42 (dd_LDADD, shred_LDADD): Add fdatasync's lib. 2004-04-08 15:36:31 +00:00
Jim Meyering
5335c90dcc *** empty log message *** 2004-04-08 15:35:46 +00:00
Jim Meyering
4b68b2dd0f New dd conv= symbols nocreat, excl, fdatasync, fsync,
and new dd options iflag= and oflag=.

(dd invocation): Document them.
2004-04-08 15:35:40 +00:00
Jim Meyering
9ae2a1c006 *** empty log message *** 2004-04-08 15:31:13 +00:00
Jim Meyering
10629f7e88 Correct spelling: s/shasum/sha1sum. 2004-04-08 15:31:08 +00:00
Jim Meyering
f8b21db0d6 *** empty log message *** 2004-04-08 15:30:46 +00:00
Jim Meyering
60da7b2886 . 2004-04-08 15:26:04 +00:00
Jim Meyering
2a888f75af (LONGEST_SYMBOL): Tweak comment. 2004-04-08 15:25:39 +00:00
Jim Meyering
7a4f3edeb0 *** empty log message *** 2004-04-08 15:21:23 +00:00
Jim Meyering
470a15a00e (set_fd_flags): Don't OR in -1 when fcntl fails.
Rename parameter, flags, to avoid shadowing global.
2004-04-08 15:20:33 +00:00
Jim Meyering
a660c7e165 New dd conv= symbols nocreat, excl, fdatasync, fsync,
and new dd options iflag= and oflag=.
2004-04-08 10:25:27 +00:00
Jim Meyering
ba2e895b06 *** empty log message *** 2004-04-08 10:25:03 +00:00
Jim Meyering
a021886f98 (jm_MACROS): Check for fdatasync within
-lrt and -lposix4, so that it can be used in Solaris 2.5.1 and later.
2004-04-08 10:24:58 +00:00
Jim Meyering
0c5fbdba06 New dd conv= symbols nocreat, excl, fdatasync, fsync,
and new dd options iflag= and oflag=.

(usage): Document.
(fdatasync) [!HAVE_FDATASYNC]: New macro.
(C_NOCREAT, C_EXCL, C_FDATASYNC, C_FSYNC): New macros.
(input_flags, output_flags): New vars.
(LONGEST_SYMBOL): New macro.
(struct symbol_value): Renamed from struct conversion.  Members
symbol and value renamed from convname and conversion.  The
symbol value is now an array instead of a pointer; this saves
a bit of space and time in practice.  All uses changed.
(conversions): Add nocreat, excl, fdatasync, fsync.  Now const.
(flags): New constant array.
(iflag_error_msgid, oflag_error_msgid): New constants.
(parse_symbols): Renamed from parse_conversion and generalized
to handle either conversion or flag symbols.
(scanargs): Adjust uses of parse_symbols accodingly.  Add
support for iflag= and oflag=.  Reject attempts to use
both excl and nocreat.
(set_fd_flags): New function.
(dd_copy): Just return X rather than calling quit (X), since our
caller invokes quit with the returned value.  Add support for
fdatasync and fsync.
(main): Add support for iflags=, oflags=, and new conv= symbols.
2004-04-08 10:22:05 +00:00
Jim Meyering
273184066e (O_DIRECT, O_DSYNC, O_NDELAY, O_NOFOLLOW, O_RSYNC, O_SYNC):
Define to 0 if not already defined.
2004-04-08 08:14:02 +00:00
Jim Meyering
6be212659d *** empty log message *** 2004-04-07 10:56:00 +00:00
Jim Meyering
0993dd1a59 stty now provides support for Linux's iutf8 input mode. 2004-04-07 09:53:34 +00:00
Jim Meyering
733e79ed1f Add support for IUTF8 input flag. 2004-04-07 09:52:22 +00:00
Jim Meyering
ef1c6a32bf *** empty log message *** 2004-04-07 09:52:10 +00:00
Jim Meyering
e1e509dd3f *** empty log message *** 2004-04-07 09:51:24 +00:00
Jim Meyering
246870834b (stty invocation - Input): Document new iutf8 option. 2004-04-07 09:50:48 +00:00
Jim Meyering
05433f3c37 *** empty log message *** 2004-04-06 13:55:12 +00:00
Jim Meyering
faa858b57b (makedev) [mkdev && !makedev]: Define makedev to mkdev.
For Interix.
2004-04-06 13:55:00 +00:00
Jim Meyering
8ae1cfddb7 *** empty log message *** 2004-04-06 13:54:02 +00:00
Jim Meyering
b9bf29b6df *** empty log message *** 2004-04-04 16:24:29 +00:00
Jim Meyering
378375a2bd (stat invocation): Correct --format description. 2004-04-04 16:24:25 +00:00
Jim Meyering
4cd3d96335 *** empty log message *** 2004-04-04 16:22:29 +00:00
Jim Meyering
c0c9569dc4 A specified format is no longer automatically newline terminated.
If you want a newline at the end of your format, use `\n'.

(print_it): Don't print a newline at the end of
every format.
(do_statfs): Add a newline at end of each default format string.
2004-04-04 16:22:26 +00:00
Jim Meyering
c2afe164ac *** empty log message *** 2004-04-04 06:56:19 +00:00
Jim Meyering
b275fab12c . 2004-04-04 06:55:58 +00:00
Jim Meyering
f8707d3711 *** empty log message *** 2004-04-04 06:54:16 +00:00
Jim Meyering
17248a88e0 (jm_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR. 2004-04-04 06:54:11 +00:00
Jim Meyering
96326862eb New files, from gnulib. 2004-04-04 06:53:53 +00:00
Jim Meyering
8d553e22b1 Sync from gnulib. 2004-04-04 06:53:20 +00:00
Jim Meyering
8c5584a151 Sync from gnulib. 2004-04-04 06:51:11 +00:00
Jim Meyering
fef1640957 . 2004-04-04 06:50:03 +00:00
Jim Meyering
c8768c6951 . 2004-04-04 06:49:21 +00:00
Jim Meyering
197e2c2faf Sync from gnulib. 2004-04-04 06:40:50 +00:00
Jim Meyering
1f22a555be New files, from gnulib 2004-04-04 06:39:39 +00:00
Jim Meyering
6b8c597df2 *** empty log message *** 2004-04-04 06:39:02 +00:00
Jim Meyering
cad5238789 sync from gnulib 2004-04-04 06:35:26 +00:00
Jim Meyering
22408841d1 . 2004-04-04 06:35:14 +00:00
Jim Meyering
1a39890f3c (main): Adjust to new calling convention for set_cloexec_flag. 2004-04-04 06:33:44 +00:00
Jim Meyering
e71b27609e Add strdup.h. 2004-04-02 22:25:17 +00:00
Jim Meyering
601fdc5f75 whoops. add strdup.h, not xstrdup.h. 2004-04-02 22:22:00 +00:00
Jim Meyering
d2377406d6 (libfetish_a_SOURCES): Add allocsa.c, allocsa.h and strdup.h. 2004-04-02 22:20:06 +00:00
Jim Meyering
a1f9dd8cc7 align some continuation-backslashes 2004-04-01 17:14:46 +00:00
Jim Meyering
aa38cbbb5c tweak indentation 2004-04-01 17:13:07 +00:00
Jim Meyering
31d71eb07c remove obsolete comment 2004-04-01 17:12:22 +00:00
Jim Meyering
2d217a9c81 also check for atoll 2004-03-31 17:32:11 +00:00
Jim Meyering
dee056cd1b . 2004-03-31 09:01:47 +00:00
Jim Meyering
a43f3fe3cf *** empty log message *** 2004-03-31 08:39:35 +00:00
Jim Meyering
99b004b46b (run_tests): Remove `.orig' file.
Remove debugging diagnostic.
2004-03-31 08:39:22 +00:00
Jim Meyering
41bef30872 *** empty log message *** 2004-03-31 08:30:22 +00:00
Jim Meyering
a448e764c3 whoops. Remove old code, too, <blush>. 2004-03-31 08:27:27 +00:00
Jim Meyering
9ff9deed71 *** empty log message *** 2004-03-31 08:25:13 +00:00
Jim Meyering
35e3e7e672 Specifying an invalid --width=N (-w) or --gap-size=N (-g)
would not elicit an error.

Include "xstrtol.h" and "quotearg.h".
(main): Don't use atoi.  Use xstrtoul instead.
2004-03-31 08:25:04 +00:00
Jim Meyering
75e3763623 . 2004-03-31 07:49:30 +00:00
Jim Meyering
d49a6c1a2b . 2004-03-31 07:48:14 +00:00
Jim Meyering
5e598b08d8 . 2004-03-31 07:47:35 +00:00
Jim Meyering
6370636c51 file was essentially empty 2004-03-31 07:47:26 +00:00
Jim Meyering
ebced306a5 *** empty log message *** 2004-03-31 07:44:02 +00:00
Jim Meyering
6617b2ded8 Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
2004-03-31 07:43:57 +00:00
Jim Meyering
d63e8ee800 * prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
2004-03-31 07:43:41 +00:00
Jim Meyering
e9aa2f03d3 *** empty log message *** 2004-03-30 15:12:53 +00:00
Jim Meyering
1053d6117e add comments 2004-03-30 15:12:44 +00:00
Jim Meyering
f4dab6dd4f (sc_prohibit_atoi_atof): New rule.
(syntax-check-rules): Add it.
2004-03-30 15:11:24 +00:00
Jim Meyering
3840db865c *** empty log message *** 2004-03-30 15:10:27 +00:00
Jim Meyering
000d43c489 *** empty log message *** 2004-03-30 13:50:48 +00:00
Jim Meyering
922e4e22cc Merge changes from emacs (via gnulib). 2004-03-30 13:50:44 +00:00
Jim Meyering
739d31dc66 *** empty log message *** 2004-03-29 12:31:27 +00:00
Jim Meyering
bdf73f8b49 *** empty log message *** 2004-03-29 09:38:04 +00:00
Jim Meyering
5b9fbf4310 *** empty log message *** 2004-03-29 09:37:56 +00:00
Jim Meyering
701ddad1e7 Use new OUT_SUBST directive, so that this
test is not sensitive to system-dependent block size differences.
2004-03-29 09:37:23 +00:00
Jim Meyering
d9d757dd2c *** empty log message *** 2004-03-29 09:23:41 +00:00
Jim Meyering
216904e67c Accept new directives: OUT_SUBST, ERR_SUBST.
Rename `%tmp' to `%actual'.  Reverse order of last two args to
_compare_files (to actual, $expected) so as to match declaration.
2004-03-29 09:23:36 +00:00
Jim Meyering
1cf3f4352a *** empty log message *** 2004-03-29 07:33:23 +00:00
Jim Meyering
ba894b1ea1 [HAVE_SETHOSTNAME && !defined sethostname]:
Declare sethostname, since no Solaris header does it.
2004-03-29 07:30:09 +00:00
Jim Meyering
6de63bb739 Include "vasprintf.h", for asprintf. 2004-03-29 07:29:49 +00:00
Jim Meyering
a3bae2f417 *** empty log message *** 2004-03-29 07:29:23 +00:00
Jim Meyering
edf60899e0 [HAVE_UNISTD_H]: Include <unistd.h>, for resolvepath declaration. 2004-03-29 07:29:06 +00:00
Jim Meyering
829a38c5d3 Include dirfd.h, for dirfd. 2004-03-29 07:28:52 +00:00
Jim Meyering
6ae7ae9525 *** empty log message *** 2004-03-28 21:44:01 +00:00
Jim Meyering
ca6d256f12 Minor optimization:
(process_file): Don't record dev/inode for directories.

Under some circumstances, without -c, du would mistakenly count the
space of hard-linked files, not just the first one it encountered.
Reported by Anthony Thyssen.
(du_files): Don't ever clear the set of `seen' dev/inodes.
2004-03-28 21:43:50 +00:00
Jim Meyering
9e77380c9f Correct the indentation of a foreach loop. 2004-03-28 08:21:45 +00:00
Jim Meyering
40b31c6a65 *** empty log message *** 2004-03-27 15:52:44 +00:00
Jim Meyering
a35cbe5258 (print_grand_total): Rename global from `print_totals'. 2004-03-27 15:44:23 +00:00
Jim Meyering
af19505321 *** empty log message *** 2004-03-27 09:11:30 +00:00
Jim Meyering
e95d9e93d9 (main): Rearrange filtering loop to be a tiny bit more efficient. 2004-03-27 09:11:25 +00:00
Jim Meyering
960c069c1b *** empty log message *** 2004-03-27 08:43:56 +00:00
Jim Meyering
ba1a527bdd Don't include savedir.h -- no longer needed. 2004-03-27 08:43:36 +00:00
Jim Meyering
baefee7c56 *** empty log message *** 2004-03-25 20:47:50 +00:00
Jim Meyering
bb9fed5faa (main): Remove now-unused declaration of `i'. 2004-03-25 17:35:29 +00:00
Jim Meyering
ac6954ac17 (main): Filter out file names of length zero before
invoking fts, so that they don't cause fatal errors.
2004-03-25 17:34:11 +00:00
Jim Meyering
98529c8bfc (zero-len): Add a test for the above. 2004-03-25 17:33:56 +00:00
Jim Meyering
f11cd8f5c4 . 2004-03-24 18:08:55 +00:00
Jim Meyering
ebe3477b72 Test for BLOCKSIZE. Factor the code to simplify it. 2004-03-24 17:40:29 +00:00
Jim Meyering
2a6326a83d *** empty log message *** 2004-03-24 17:39:01 +00:00
Jim Meyering
103a7608b7 New environment var BLOCKSIZE. 2004-03-24 17:38:58 +00:00
Jim Meyering
875d295290 *** empty log message *** 2004-03-24 17:38:21 +00:00
Jim Meyering
98e876d783 (Block size): Document new envvar BLOCKSIZE. 2004-03-24 17:38:17 +00:00
Jim Meyering
d2ec7be5c3 *** empty log message *** 2004-03-24 17:37:08 +00:00
Jim Meyering
226248d531 (humblock): Support BLOCKSIZE envvar, as well as BLOCK_SIZE. 2004-03-24 17:36:57 +00:00
Jim Meyering
b3601c900a . 2004-03-24 15:19:40 +00:00
Jim Meyering
a3be161671 Adjust to above changes to src/du.c. 2004-03-24 15:14:22 +00:00
Jim Meyering
4f37ca2cf3 Shorten the du --files0-from announcement, and say
"NUL-terminated" rather than "NUL-separated".
2004-03-24 15:14:08 +00:00
Jim Meyering
85736716ad *** empty log message *** 2004-03-24 15:14:00 +00:00
Jim Meyering
210d765150 (EXPECTED_BYTES_PER_FILE_NAME, DEFAULT_PROJECTED_N_FILES):
Remove: not used.
(usage): Say "NUL-terminated", not "NUL-separated".
(main): Check for I/O error when istream is closed.
Allow --files0-from=F even if F is empty; this specifies no files.
(du_files): Now that we allow the list of files to be empty,
handle that case.
2004-03-24 15:13:55 +00:00
Jim Meyering
6efb50627e Use @sc{nul} consistently for NUL.
(du invocation): FILE0 -> FILE.
2004-03-24 15:12:39 +00:00
Jim Meyering
032c6c1c3d *** empty log message *** 2004-03-24 15:12:14 +00:00
Jim Meyering
692ffb1ec4 (check-texinfo): Add a check to ensure future
consistency in using @sc{nul}, not `NUL'.
2004-03-24 15:12:11 +00:00
Jim Meyering
f358d24e32 *** empty log message *** 2004-03-24 14:45:23 +00:00
Jim Meyering
393592573c (readtokens0): Return true on success rather
than on failure.  All callers changed.  This also happens to fix a
portability bug on pre-C99 hosts, where (bool) INTEGER sometimes
returns false even when INTEGER is nonzero.
2004-03-24 14:45:17 +00:00
Jim Meyering
e4b803c17e *** empty log message *** 2004-03-24 13:42:44 +00:00
Jim Meyering
2d78b8bd47 Avoid race condition that could cause
spurious failure.  Based on a patch from Andreas Schwab.
2004-03-24 12:13:12 +00:00
Jim Meyering
6a8f1849c1 . 2004-03-23 20:17:58 +00:00
Jim Meyering
b573808b27 Remove space(s) before TAB. 2004-03-23 18:04:35 +00:00
Jim Meyering
3eb991fe9e whoops: getopt_int.h, not getopt_int.c. 2004-03-23 17:34:05 +00:00
Jim Meyering
42401183af Sync from gnulib. 2004-03-23 17:33:25 +00:00
Jim Meyering
546413e85a . 2004-03-23 17:33:02 +00:00
Jim Meyering
fe2103f357 New file, from gnulib. 2004-03-23 17:32:11 +00:00
Jim Meyering
2a90dd7d2f (libfetish_a_SOURCES): Add getopt_int.h. 2004-03-23 17:31:11 +00:00
Jim Meyering
9e8815a79d *** empty log message *** 2004-03-23 17:18:59 +00:00
Jim Meyering
33f43662ef Sync from gnulib.
* mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
2004-03-23 17:18:54 +00:00
Jim Meyering
806490628c Sync from gnulib.
* mbswidth.h: Include <wchar.h> only if HAVE_DECL_MBSWIDTH_IN_WCHAR_H,
	not on all platforms that have <wchar.h>.
2004-03-23 17:18:37 +00:00
Jim Meyering
9715a5bebf *** empty log message *** 2004-03-23 16:32:18 +00:00
Jim Meyering
47ea391c68 (main): Free the hash table, too. 2004-03-23 16:32:11 +00:00
Jim Meyering
607ea2feee *** empty log message *** 2004-03-23 11:35:07 +00:00
Jim Meyering
b50cfcc354 *** empty log message *** 2004-03-23 11:34:00 +00:00
Jim Meyering
b6ed597b0f (du invocation): --files0-from is useful with
--total (-c), not with --summarize.
2004-03-23 11:33:56 +00:00
Jim Meyering
38e2796611 *** empty log message *** 2004-03-23 11:26:54 +00:00
Jim Meyering
076a582c87 *** empty log message *** 2004-03-23 11:26:14 +00:00
Jim Meyering
d11c5c0727 *** empty log message *** 2004-03-23 11:25:31 +00:00
Jim Meyering
f577774e3f *** empty log message *** 2004-03-23 11:24:20 +00:00
Jim Meyering
805bd8d9c4 . 2004-03-22 22:27:47 +00:00
Jim Meyering
ed837051b6 *** empty log message *** 2004-03-22 22:27:37 +00:00
Jim Meyering
29e2176da8 Tweak a few lines that resulted in `overfull hbox' warnings. 2004-03-22 22:27:33 +00:00
Jim Meyering
6b90c0991f . 2004-03-22 22:26:30 +00:00
Jim Meyering
644c4af0be *** empty log message *** 2004-03-22 22:26:20 +00:00
Jim Meyering
ada07ea00b (.x.1): Remove --info-page= option, reverting
the change of 2004-01-22.  I can no longer reproduce the problem
that prompted that change, and `info coreutils pr' would display the
`printing text' section of the manual, not the one on `pr invocation'.
2004-03-22 22:26:16 +00:00
Jim Meyering
ec8d695194 . 2004-03-22 20:40:03 +00:00
Jim Meyering
1713f512df *** empty log message *** 2004-03-22 20:38:32 +00:00
Jim Meyering
68858cdd9e (nul-1, nul-2): Adjust expected diagnostics to match corrected output. 2004-03-22 20:38:28 +00:00
Jim Meyering
7bafb22e6c (du_files): Return bool, rather than int.
(main): Call readtokens0_free.
2004-03-22 20:17:37 +00:00
Jim Meyering
ee6a9e125a Include "readtokens0.h" rather than "readtokens.h".
(main): Use readtoken0 functions rather than readtokens.
Don't use errno when diagnosing readtokens0 failure.
2004-03-22 20:03:38 +00:00
Jim Meyering
92bd801772 (libfetish_a_SOURCES): Add readtokens0.c and readtokens0.h 2004-03-22 20:00:44 +00:00
Jim Meyering
96cafaac76 *** empty log message *** 2004-03-22 20:00:27 +00:00
Jim Meyering
8d210c7151 *** empty log message *** 2004-03-21 22:19:21 +00:00
Jim Meyering
51be5c4245 (ds_free): Plug a small leak. 2004-03-21 22:19:09 +00:00
Jim Meyering
82efb0955e *** empty log message *** 2004-03-21 19:50:46 +00:00
Jim Meyering
420f2c7a7e *** empty log message *** 2004-03-21 19:50:31 +00:00
Jim Meyering
846d81da01 (readtoken): Don't leak 64 bytes when reading an empty input stream. 2004-03-21 19:50:17 +00:00
Jim Meyering
9fb05110ea Also test with a non-regular file:
--files0-from=/dev/null
2004-03-21 19:20:14 +00:00
Jim Meyering
03ed43f2b0 (main): whoops. don't use errno for this diagnostic:
_("no files specified in %s"),
2004-03-21 19:18:24 +00:00
Jim Meyering
977dc6841b Add this comment:
# -*- perl -*-
2004-03-21 18:50:30 +00:00
Jim Meyering
082a7f8246 . 2004-03-21 18:50:03 +00:00
Jim Meyering
f25499439b *** empty log message *** 2004-03-21 18:49:13 +00:00
Jim Meyering
4ee9bda98e Include <stdbool.h>.
(readtoken): Use `size_t' rather than int/long.
All callers adjusted.
Use `bool' rather than `int' where appropriate.
Use memset rather than an explicit loop.
Use x2nrealloc rather than xrealloc.
Allow the use of `\0' as a delimiter.
(readtokens): Likewise.
2004-03-21 18:49:06 +00:00
Jim Meyering
7c3d57a267 (readtoken, readtokens): Update prototypes. 2004-03-21 18:48:54 +00:00
Jim Meyering
e5150544f5 *** empty log message *** 2004-03-21 18:48:21 +00:00
Jim Meyering
47be7107b3 (du invocation): Document new option: --file0-from=F. 2004-03-21 18:48:17 +00:00
Jim Meyering
662205a538 *** empty log message *** 2004-03-21 18:47:48 +00:00
Jim Meyering
48058ff931 Fix typo in comment. 2004-03-21 18:47:43 +00:00
Jim Meyering
2d4860ef0c *** empty log message *** 2004-03-21 18:46:35 +00:00
Jim Meyering
7073bed55e * NEWS: du accepts a new option --from0-file=FILE, where FILE
contains a list of NUL-separated file names.
2004-03-21 18:46:31 +00:00
Jim Meyering
f4b7232607 (tsort): Reflect changes in use of readtoken. 2004-03-21 18:45:54 +00:00
Jim Meyering
8def27a37e (do_stdin): Reflect changes in use of readtoken. 2004-03-21 18:45:37 +00:00
Jim Meyering
865123bcc5 (TESTS): Add files0-from. 2004-03-21 18:45:17 +00:00
Jim Meyering
c16e974f64 New tests, for --files0-from-F option. 2004-03-21 18:45:06 +00:00
Jim Meyering
0fdff6d99a du accepts a new option --from0-file=FILE, where FILE contains
a list of NUL-separated file names.

Include "readtokens.h".
(usage): Describe the new option, and adjust the `Usage':
with this option, no FILE may be specified on the command line.
(main): Handle the new option.
2004-03-21 18:44:25 +00:00
Jim Meyering
e0d2db847f . 2004-03-18 06:24:45 +00:00
Jim Meyering
c420f0b437 . 2004-03-17 18:44:57 +00:00
Jim Meyering
12b6a3e366 (test_vector): New tests epoch, ns-10, ns-max32, ns-relative. 2004-03-17 17:42:11 +00:00
Jim Meyering
4728a9f2e7 *** empty log message *** 2004-03-17 17:39:03 +00:00
Jim Meyering
f339dc62bf *** empty log message *** 2004-03-17 17:38:36 +00:00
Jim Meyering
9f21702675 (General date syntax, Time of day items): Likewise.
Add copyright notice.  Change getdate to
get_date when talking about the function name.
(Seconds since the Epoch): New section, containing the time_t
info moved from Date input formats section, along with new
info about the @ syntax.  Mention negative time stamps,
fractional time stamps, and leap seconds.
(General date syntax): Modernize examples a bit to reflect new
features.
(General date syntax, Relative items in date strings):
Use ' rather than " to quote formats.
(Time of day items): Add an example with fractional seconds.
Describe fractional-second syntax.
2004-03-17 17:37:28 +00:00
Jim Meyering
a6ba09871c (touch invocation):
Describe use of fractional seconds.
(date invocation, Options for date): Likewise.
(date invocation): Mention effect of LC_TIME.
(Options for date): Describe new --iso-8601=ns option.
2004-03-17 17:31:15 +00:00
Jim Meyering
1180a35ccc (touch_LDADD): New macro, since `touch' now needs clock_gettime. 2004-03-17 10:14:17 +00:00
Jim Meyering
6a32021c13 *** empty log message *** 2004-03-17 10:13:50 +00:00
Jim Meyering
53b35eecc8 (gl_GETDATE): Remove time-related stuff.
Require AM_STDBOOL_H and gl_TIMESPEC instead.
Require gl_CLOCK_TIME.
2004-03-17 10:13:45 +00:00
Jim Meyering
88d7328ed3 (gl_CLOCK_TIME): Require AC_GNU_SOURCE. 2004-03-17 10:12:39 +00:00
Jim Meyering
6073a82874 *** empty log message *** 2004-03-17 10:11:12 +00:00
Jim Meyering
590b3ed337 *** empty log message *** 2004-03-17 10:09:24 +00:00
Jim Meyering
bf3bf1462e Include "getdate.h" first, as we can now
assume C89 and don't need to worry about 'const'.
Similarly, include "unlocked-io.h" near start, not in middle.
Include <limits.h>.
(textint.value): Use long int rather than int.
(textint.digits): Use size_t rather than int.
(BILLION, LOG10_BILLION): New constants.
(parser_control): New member rel_ns.  Members day_ordinal,
time_zone, month, day, hour, minutes, rel_year, rel_month,
rel_day, rel_hour, rel_minutes, rel_seconds
are now long int, not int.  Member seconds is now struct timespec,
not int.  New member timespec_seen.  Members dates_seen, days_seen,
local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
not int.
(%union.intval): Now long int, not int.
New member timespec.
(tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
(seconds, signed_seconds, unsigned_seconds): New nonterminals.
(spec): Now is a timespec or an item list.
(timespec, items): New nonterminals.
(time, rel, relunit, number, get_date):
Add support for fractional seconds.
(time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
(gmtime, localtime, mktime): Remove decls; not needed with C89.
(to_hour): First arg is now long int, not int.
(to_year): Returns long int, not int.
Don't treat year -70 like 70.
(tm_diff): Returns long int, not int.
(lookup_word): Use bool instead of int when appropriate.
(yylex): Use size_t for count, not int.
Detect overflow when parsing large integer constants.
Add support for fractions.
(get_date): Make pointers 'const' if possible.
Use more-portable code to detect integer overflow.
(main) [TEST]: Adjust to above changes.  Test for localtime failure.
Don't use ctime; it's not reliable if the year has >4 digits.
2004-03-17 10:09:16 +00:00
Jim Meyering
aa11f812a2 Include stdbool.h, and timespec.h instead of
the usual <time.h> dance.
(get_date): Change signature to support fractional time stamps.
All callers changed.
2004-03-17 10:09:02 +00:00
Jim Meyering
1110307672 (enum Time_spec): New enum TIME_SPEC_NS.
(time_spec_string, time_spec, show_date): Support it.
(usage): Remove description of -ITIMESPEC, as it's obsolete and
confusing.  Mention --iso-8601=ns.
(batch_convert): getline returns ssize_t, not int.
2004-03-17 10:07:19 +00:00
Jim Meyering
553e0746b0 (newtime): Now an array of two timespecs, one
for access and one for modification.
(ref_stats): Remove.
(get_reldate): Use get_date's parameter profile.
(touch, main): Adjust to above changes.
(main): Work even if tm_year == INT_MAX (so long as long int is wider).
Use gettime instead of gettimeofday, for new get_date signature.
2004-03-17 10:06:57 +00:00
Jim Meyering
1188f599d9 *** empty log message *** 2004-03-15 15:16:37 +00:00
Jim Meyering
e0501d9d25 . 2004-03-15 13:06:09 +00:00
Jim Meyering
be0d8823c4 *** empty log message *** 2004-03-15 13:03:19 +00:00
Jim Meyering
17257fea63 (date invocation): Add missing `C' to %[...] range
in the `Date directives:: ...' menu entry.  From Bob Proulx.
2004-03-15 13:03:13 +00:00
Jim Meyering
580518862c *** empty log message *** 2004-03-15 12:03:46 +00:00
Jim Meyering
88cc709aac (alpha beta major): `Make' the emit_upload_commands
target before updating $(prev_version_file).
2004-03-15 12:03:43 +00:00
Jim Meyering
00072cac19 *** empty log message *** 2004-03-15 12:02:25 +00:00
Jim Meyering
a613e4f93a Add FIXME comment:
The following don't have `invocation' nodes: [, pinky, shasum, uptime
2004-03-15 12:02:19 +00:00
Jim Meyering
2666b09b19 *** empty log message *** 2004-03-15 09:46:47 +00:00
Jim Meyering
ecb2429437 *** empty log message *** 2004-03-15 09:39:02 +00:00
Jim Meyering
4b7f712702 New file, to test for just-fixed bug in date.
See today's change in lib/getdate.y.
2004-03-15 09:11:20 +00:00
Jim Meyering
ec55878bfe (TESTS): Add date-sec. 2004-03-15 09:02:50 +00:00
Jim Meyering
f18a2980a7 *** empty log message *** 2004-03-15 08:37:07 +00:00
Jim Meyering
fae8b8505c `date --date="21:04 +0100" +%S' would print the seconds value
from the current time, rather than `00'.

For a date string like `10:23 +0100',
set the number of seconds to zero.  Reported by Marc Haber.
2004-03-15 08:37:03 +00:00
Jim Meyering
b9ccb4b8e8 *** empty log message *** 2004-03-15 08:35:28 +00:00
Jim Meyering
878f73298b *** empty log message *** 2004-03-14 16:09:32 +00:00
Jim Meyering
eb3eb5a85f (print_changelog_deltas): Use `.sig' suffix for
signature files, not `.asc'.  Reported by angico@yahoo.com.
2004-03-14 16:09:28 +00:00
Jim Meyering
d5c36aff6d bump version to 5.3.0 2004-03-13 08:10:53 +00:00
Jim Meyering
76f2b41952 *** empty log message *** 2004-03-13 08:10:13 +00:00
Jim Meyering
ca0f9a0a29 (do_copy): Tweak wording in a diagnostic.
Suggestion from Karl Berry.
Include "quoatearg.h".
(do_copy): Use quotearg_colon (not quote) for diagnostics
that begin with `"%s:'.
2004-03-13 08:09:58 +00:00
Jim Meyering
effb220c14 *** empty log message *** 2004-03-13 07:58:55 +00:00
Jim Meyering
d86b014ebb (usage): Specify that nl uses _basic_ regular expressions. 2004-03-13 07:58:45 +00:00
Jim Meyering
eddf022d34 . 2004-03-12 19:19:50 +00:00
Jim Meyering
808f8a1f56 *** empty log message *** 2004-03-12 19:04:31 +00:00
Jim Meyering
eebc36755a *** empty log message *** 2004-03-12 19:03:46 +00:00
Jim Meyering
4763a4baa8 Exit 77 (not 1) if we can't set up for the test.
This was triggered on a Linux-2.2.19 system using a file system
NFS-mounted from some sort of Sun.
2004-03-12 19:03:07 +00:00
Jim Meyering
2ea4bf6e9c *** empty log message *** 2004-03-12 16:00:59 +00:00
Jim Meyering
4c4dae631f *** empty log message *** 2004-03-12 16:00:41 +00:00
Jim Meyering
0d37ee121a *** empty log message *** 2004-03-12 15:59:20 +00:00
Jim Meyering
2e09cb8e92 *** empty log message *** 2004-03-12 14:07:14 +00:00
Jim Meyering
bff76faefd Sync with autoconf. 2004-03-12 14:06:44 +00:00
Jim Meyering
2b41266890 . 2004-03-12 13:59:39 +00:00
Jim Meyering
e0bc86781f . 2004-03-12 13:55:52 +00:00
Jim Meyering
67d9979529 *** empty log message *** 2004-03-12 13:55:28 +00:00
Jim Meyering
cdf1dc368e *** empty log message *** 2004-03-12 12:04:57 +00:00
Jim Meyering
8915472521 (TESTS): Add part-hardlink. 2004-03-12 12:04:15 +00:00
Jim Meyering
fc3ce57024 # Before coreutils-5.2.1, this test would fail. 2004-03-12 12:04:02 +00:00
Jim Meyering
97ce436ba5 *** empty log message *** 2004-03-12 11:53:57 +00:00
Jim Meyering
ec65003050 (src_to_dest_lookup): Add prototype. 2004-03-12 11:53:46 +00:00
Jim Meyering
83f4f1abd9 (src_to_dest_lookup): New function. 2004-03-12 11:53:29 +00:00
Jim Meyering
bcea8e96ea Sometimes, when source and destination partition are different,
mv mistakenly fails to preserve a hard link.  Reported by IIDA Yosiaki.

When moving a set of N hard-linked files between
partitions, via two or more command line arguments where the
command line argument containing the Nth link contains no other
link to that same file, mv would mistakenly copy the file, rather
than hard-linking it to the other(s).  That happens because when the
final link is processed, its link count has been reduced to 1 since
the other links have been `copied' to the destination partition
and the source links have been removed.
(copy_internal): When in move mode, use the source dev/inode
pair to look up destination name even when st_nlink == 1.
2004-03-12 11:53:18 +00:00
Jim Meyering
04975d2592 . 2004-03-11 18:58:29 +00:00
Jim Meyering
98ea4dad08 . 2004-03-11 09:25:53 +00:00
Jim Meyering
3e112de5c7 *** empty log message *** 2004-03-11 09:25:40 +00:00
Jim Meyering
f9a3bc012b Also convert sizes in the 70-79 kB range,
so that this test works with SELinux-enable systems.
Based on a patch from Tim Waugh.
2004-03-10 18:06:04 +00:00
Jim Meyering
0814035fb5 *** empty log message *** 2004-03-10 18:05:56 +00:00
Jim Meyering
b601389e04 *** empty log message *** 2004-03-10 17:57:00 +00:00
Jim Meyering
deafc3de5f *** empty log message *** 2004-03-10 17:53:57 +00:00
Jim Meyering
11a0405450 (Sorting the output): Remove description of
ls's --sort=directory option.  ls doesn't accept that option, yet.
2004-03-10 17:53:50 +00:00
Jim Meyering
927a52d577 *** empty log message *** 2004-03-10 17:53:00 +00:00
Jim Meyering
8651917856 . 2004-03-10 17:40:00 +00:00
Jim Meyering
bfafc5243e *** empty log message *** 2004-03-10 17:39:40 +00:00
Jim Meyering
1b9d200986 (invalid-j): New partial test for the above fix. 2004-03-10 17:39:34 +00:00
Jim Meyering
53e04d7ff7 *** empty log message *** 2004-03-10 10:44:35 +00:00
Jim Meyering
aa18f80de6 `join -1 x' would give a misleading diagnostic
(string_to_join_field): Report that a non-numeric field
number is invalid, rather than `so large that it is not representable'.
2004-03-10 10:44:31 +00:00
Jim Meyering
97f63d336f *** empty log message *** 2004-03-10 10:08:21 +00:00
Jim Meyering
ce4f09d642 . 2004-03-10 09:57:29 +00:00
Jim Meyering
33f515c920 *** empty log message *** 2004-03-10 09:51:30 +00:00
Jim Meyering
ebbbe4553a (cp invocation): Improve description of cp's --sparse=WHEN option. 2004-03-10 09:51:26 +00:00
Jim Meyering
ae6f132503 *** empty log message *** 2004-03-10 06:51:09 +00:00
Jim Meyering
df1dd184d7 (nl invocation): Specify that these are _basic_
regular expressions (BRE), and add a link to grep's documentation.
2004-03-10 06:50:59 +00:00
Jim Meyering
2bff52d99f . 2004-03-08 15:06:25 +00:00
Jim Meyering
be70c79eac regenerate 2004-03-08 09:56:48 +00:00
Jim Meyering
33fb5d8b7c *** empty log message *** 2004-03-08 09:54:31 +00:00
Jim Meyering
71c9e6f21f (Makefile.am): Don't use $<, as it doesn't work with Solaris make. 2004-03-08 09:54:28 +00:00
Jim Meyering
0838de73a4 *** empty log message *** 2004-03-08 09:50:52 +00:00
Jim Meyering
da77829aa0 *** empty log message *** 2004-03-08 09:44:15 +00:00
Jim Meyering
13b32612d2 *** empty log message *** 2004-03-08 09:43:56 +00:00
Jim Meyering
32b2fadde6 *** empty log message *** 2004-03-07 23:25:01 +00:00
Jim Meyering
0c6b3dffc5 *** empty log message *** 2004-03-06 17:41:00 +00:00
Jim Meyering
0ede5ec7f9 cp --sparse=always sparse-image-file.img /dev/hda1 could
produce an invalid copy on the destination device.

(copy_reg): Even with --sparse=always, try to
make `holes' only if the destination is a regular file.
Reported by Szakacsits Szabolcs.
2004-03-06 17:40:56 +00:00
Jim Meyering
aad4245695 *** empty log message *** 2004-03-06 14:45:50 +00:00
Jim Meyering
63f2e862ea *** empty log message *** 2004-03-06 08:14:34 +00:00
Jim Meyering
3fbe31c0ee *** empty log message *** 2004-03-05 16:57:43 +00:00
Jim Meyering
b6993cf856 *** empty log message *** 2004-03-04 22:01:16 +00:00
Jim Meyering
79f0884054 *** empty log message *** 2004-03-04 13:22:17 +00:00
Jim Meyering
118cee9878 . 2004-03-04 13:14:11 +00:00
Jim Meyering
f7291db3f9 *** empty log message *** 2004-03-04 13:13:51 +00:00
Jim Meyering
e7c9ecd175 (getloadavg): Use true', not 1'. 2004-03-04 13:13:43 +00:00
Jim Meyering
44ebf255de *** empty log message *** 2004-03-04 13:08:37 +00:00
Jim Meyering
f5057405b1 (set_cloexec_flag) [ ! (F_GETFD && F_SETFD)]: Return true, not false. 2004-03-04 13:08:29 +00:00
Jim Meyering
f04cf614b0 *** empty log message *** 2004-03-04 08:50:58 +00:00
Jim Meyering
940ffe5e02 (main): Don't invoke set_cloexec_flag with a file descriptor of -1. 2004-03-04 08:50:50 +00:00
Jim Meyering
b8e698744e *** empty log message *** 2004-03-04 08:50:34 +00:00
Jim Meyering
a07aa7e020 Include <stdbool.h>.
Adjust signature to use `bool' rather than `int'.
2004-03-04 08:49:10 +00:00
Jim Meyering
a1c30fd7d1 Include "cloexec.h" first, and <unistd.h> before <fcntl.h>.
(set_cloexec_flag): Use bool for booleans.  All uses changed.
If F_GETFD returns a negative number (not just -1), report a
failure.  Don't use F_SETFD if the flags are already right.
Don't report a failure with F_SETFD unless it returns -1.
2004-03-04 08:42:20 +00:00
Jim Meyering
e819dd0dd9 Include "cloexec.h".
(getloadavg): Use set_cloexec_flag instead of manual fcntl call.
2004-03-03 22:06:47 +00:00
Jim Meyering
a81ffe3b27 . 2004-03-03 22:06:26 +00:00
Jim Meyering
06a57a878f *** empty log message *** 2004-03-03 22:06:17 +00:00
Jim Meyering
4ff061cf60 (libfetish_a_SOURCES): Add cloexec.c, cloexec.h. 2004-03-03 22:06:11 +00:00
Jim Meyering
534ec4c800 from Dmitry V. Levin 2004-03-03 22:01:56 +00:00
Jim Meyering
f0970dc4a8 New file.
The set_cloexec_flag implementation imported from GNU C Library
Reference Manual.
2004-03-03 22:01:32 +00:00
Jim Meyering
8d0b9f87dd Include "cloexec.h".
(main): Set the copy of stderr to close on exec.
2004-03-03 22:00:20 +00:00
Jim Meyering
2389b81eef *** empty log message *** 2004-03-03 07:57:45 +00:00
Jim Meyering
3d8b65f73c Don't include "posixver.h".
(parse_user_spec): Fall back on USER.GROUP parsing regardless
of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
compatible extension.  Simplify code by removing a boolean int
that was always nonzero if a string was nonnull.
2004-03-03 07:57:33 +00:00
Jim Meyering
abea7c171b . 2004-03-03 07:56:00 +00:00
Jim Meyering
0816297076 *** empty log message *** 2004-03-03 07:54:17 +00:00
Jim Meyering
64233522b4 *** empty log message *** 2004-03-03 07:53:24 +00:00
Jim Meyering
50c485dac0 (chown invocation): Document that chown now falls
back on USER.GROUP parsing regardless of POSIX version, as POSIX
1003.1-2001 allows that behavior as a compatible extension.
2004-03-03 07:52:36 +00:00
Jim Meyering
aa1ba5a545 *** empty log message *** 2004-03-02 23:00:05 +00:00
Jim Meyering
375a8e0232 Run envvar-check in case BLOCK_SIZE etc. are set. 2004-03-02 22:59:47 +00:00
Jim Meyering
293e712a71 Run envvar-check in case BLOCK_SIZE etc. are set. 2004-03-02 22:59:10 +00:00
Jim Meyering
4dd6886e82 . 2004-03-02 22:56:17 +00:00
Jim Meyering
2e75e638ec *** empty log message *** 2004-03-02 22:49:48 +00:00
Jim Meyering
84b6c29224 Include <signal.h> when checking for strsignal,
sys_siglist, and friends.  Problem reported by Toney Leneis in
<http://mail.gnu.org/archive/html/bug-coreutils/2004-02/msg00136.html>.
2004-03-02 22:49:44 +00:00
Jim Meyering
4762889c25 *** empty log message *** 2004-03-02 17:55:08 +00:00
Jim Meyering
4aea3385e4 Add Afrikaans (af) 2004-03-02 17:55:06 +00:00
Jim Meyering
51c4e50555 version: 5.2.0 2004-03-02 17:53:59 +00:00
Jim Meyering
ebb5c898f4 *** empty log message *** 2004-02-23 21:22:40 +00:00
Jim Meyering
0674aab9db (usage): Remove stray space after \n in --help output. 2004-02-23 21:22:34 +00:00
Jim Meyering
eff39a398d *** empty log message *** 2004-02-22 21:23:13 +00:00
Jim Meyering
4823b64c29 (usage): Separate -H and --si. Say that the meaning
of -H will soon change to that of --dereference-args (-D).
2004-02-22 21:23:06 +00:00
Jim Meyering
b150c508dc update from savannah 2004-02-22 15:50:32 +00:00
Jim Meyering
a020c544b7 update from savannah 2004-02-22 15:49:29 +00:00
Jim Meyering
4f23a90bf9 tweak wording of last change 2004-02-22 15:44:32 +00:00
Jim Meyering
fde13b7b10 *** empty log message *** 2004-02-22 15:37:54 +00:00
Jim Meyering
fd08f4d726 (du invocation): Mention that using du's -H option currently evokes a warning. 2004-02-22 15:37:50 +00:00
Jim Meyering
19ea51480f (VERSION): bump to 5.2.1 2004-02-22 14:57:52 +00:00
Jim Meyering
6204946df0 add tests for just-fixed bugs 2004-02-22 14:57:20 +00:00
Jim Meyering
fdb3c26e8e (eval, eval7, eval6, eval5, eval4, eval3, eval2, eval1):
Accept a bool argument specifying whether to evaluate the
expression.  This is to allow short-circuit evaluation.  All
callers changed.
(null): Report that a string is zero even if it has
a form like "-0" or "00".
(eval1, eval): Use short-circuit evaluation for | and &.
(eval): Return 0 if both arguments are null or zero, instead
of returning the first argument.
2004-02-22 14:56:58 +00:00
Jim Meyering
5c8d1ad4f0 . 2004-02-22 14:56:39 +00:00
Jim Meyering
a937eaac84 *** empty log message *** 2004-02-21 09:31:24 +00:00
Jim Meyering
82025d96f7 (expr invocation):
Document what forms integers may take, and say "integer"
consistently instead of "number".  Warn about operands
that "expr" can misinterpret, and how to work around the problem.
2004-02-21 09:31:11 +00:00
Jim Meyering
75845d6c30 *** empty log message *** 2004-02-21 09:26:56 +00:00
Jim Meyering
30e92dbb2e *** empty log message *** 2004-02-21 09:21:20 +00:00
Jim Meyering
3fd433e9d3 (usage): Tell what comm does when there are no options.
Reword in terms of FILE1 and FILE2 rather than `left file' and
`right file'.  Suggestion from Dan Jacobson.
2004-02-21 09:21:15 +00:00
Jim Meyering
47c4268b6b . 2004-02-19 18:22:13 +00:00
Jim Meyering
0b27a447e5 *** empty log message *** 2004-02-19 18:04:33 +00:00
Jim Meyering
23ec3ebebf *** empty log message *** 2004-02-18 18:00:17 +00:00
Jim Meyering
2363df9158 *** empty log message *** 2004-02-18 17:57:42 +00:00
Jim Meyering
394f593dd8 . 2004-02-18 17:49:59 +00:00
Jim Meyering
563290e8ad *** empty log message *** 2004-02-18 13:50:42 +00:00
Jim Meyering
2cad649afc *** empty log message *** 2004-02-17 18:17:27 +00:00
Jim Meyering
e1c06d999c (csplit invocation): Correct typo s/LINE/N/
in description of `N' pattern.
2004-02-17 18:16:29 +00:00
Jim Meyering
210e4c86c1 *** empty log message *** 2004-02-17 16:05:41 +00:00
Jim Meyering
b6586a0b36 Add id's -u option, so we don't get spurious
failures when there are no user or group names.
2004-02-17 16:05:34 +00:00
Jim Meyering
4852e78643 `make check' from a build inside a chroot environment would fail
Specify an argument (`/') for df, in the
unusual event that there is no valid entry in /etc/mtab.
Patch by Tim Waugh.
2004-02-17 14:42:47 +00:00
Jim Meyering
c2f29eda90 *** empty log message *** 2004-02-17 10:53:47 +00:00
Jim Meyering
317f26ba57 (usage) [-u]: Add punctuation so that the description in
the help2man-generated (line-joined) man page is more readable.
Reported by Tim Waugh.
[-T]: Add a semicolon, for the same reason.
2004-02-17 10:52:49 +00:00
Jim Meyering
9bfc6244c4 *** empty log message *** 2004-02-15 00:03:28 +00:00
Jim Meyering
7ddd33cc71 (dist-hook): Qualify target with $(srcdir)/ prefix. 2004-02-15 00:03:21 +00:00
Jim Meyering
7b31f4954f . 2004-02-14 13:40:02 +00:00
Jim Meyering
b7de4858ed regenerate from patched Makefile.am.in 2004-02-11 15:33:38 +00:00
Jim Meyering
6119455bed *** empty log message *** 2004-02-11 11:46:37 +00:00
Jim Meyering
a2411e0830 ($(srcdir)/Makefile.am): Use more portable
$(srcdir)/../Makefile.am.in, rather than $<.
Suggestion from Michael Elizabeth Chastain.
2004-02-11 11:46:34 +00:00
Jim Meyering
188f1dbccf *** empty log message *** 2004-02-11 11:45:47 +00:00
Jim Meyering
867564d1a6 (Formatting the file names):
Improve wording for --quoting-style documentation.
Suggestions by Bruno Haible.
2004-02-11 11:22:18 +00:00
Jim Meyering
b9cff86909 revert unrelated (ls --quoting-style) part of last change 2004-02-11 08:44:39 +00:00
Jim Meyering
f709d423ef *** empty log message *** 2004-02-11 08:42:43 +00:00
Jim Meyering
3639d54126 *** empty log message *** 2004-02-11 08:42:36 +00:00
Jim Meyering
e454ef2d2a (Time directives): The %s value *is* changed by the
--date=DATE option; don't say otherwise.  Patch from Padraig Brady.
2004-02-11 08:42:31 +00:00
Jim Meyering
7fbd083e6f bump to 5.2.0 2004-02-10 10:06:53 +00:00
Jim Meyering
570d8e4831 . 2004-02-10 10:06:39 +00:00
Jim Meyering
965af8c732 . 2004-02-10 09:54:25 +00:00
Jim Meyering
4e9f0b8682 . 2004-02-10 08:34:44 +00:00
Jim Meyering
277250b293 *** empty log message *** 2004-02-10 08:17:47 +00:00
Jim Meyering
3c23d82f32 (dist-hook): New target, to ensure that config/install-sh
is executable.  Otherwise, on systems that lack a suitable install
binary, `make install' would fail, because of the way this script
is invoked (without `$SHELL ' prefix).
2004-02-10 08:17:33 +00:00
Jim Meyering
d7621386cc *** empty log message *** 2004-02-10 07:54:16 +00:00
Jim Meyering
ce82b9cc86 Hyphenate `three-column' when used as an adjective. 2004-02-09 17:41:16 +00:00
Jim Meyering
20c1475f33 . 2004-02-08 15:42:07 +00:00
Jim Meyering
739356f16e . 2004-02-08 10:01:30 +00:00
Jim Meyering
304d12d70a *** empty log message *** 2004-02-08 10:00:58 +00:00
Jim Meyering
400a1fc781 Avoid triggering a bug in OSF/Tru64's sed
that would cause an unwarranted test failure.
2004-02-08 10:00:38 +00:00
Jim Meyering
8c756b5ed6 *** empty log message *** 2004-02-07 20:41:30 +00:00
Jim Meyering
d4ecf0a350 *** empty log message *** 2004-02-07 16:01:58 +00:00
Jim Meyering
666fce05a1 (cp_option_init): Don't initialize xstat member. 2004-02-07 16:01:39 +00:00
Jim Meyering
ad31f43350 (cp_option_init): Likewise. 2004-02-07 16:01:31 +00:00
Jim Meyering
d9e9327b09 (re_protect): Use XSTAT (x, ...)' in place of *(x->xstat) (...)'.
(do_copy): Declare/use local xstat rather than x->xstat.
(main): Remove code that set x.xstat.
2004-02-07 16:01:20 +00:00
Jim Meyering
e80f7332e2 Remove xstat function pointer member. The way it was used was not
portable, since some systems (OSF V5.1, Solaris 2.5.1) provide static
inline `stat' and `lstat' functions, thus making the tests of
`xstat == lstat' in copy.c always fail.

(struct cp_options) [xstat]: Remove member.
(XSTAT): New macro.
2004-02-07 16:01:02 +00:00
Jim Meyering
c9736bdff0 Remove xstat function pointer member. The way it was used was not
portable, since some systems (OSF V5.1, Solaris 2.5.1) provide static
inline `stat' and `lstat' functions, thus making the tests of
`xstat == lstat' in copy.c always fail.

(copy_dir): Set `.dereference' member, not .xstat.
(copy_internal): Use `XSTAT (x, ...)' in place of `*(x->xstat) (...)'.
Use `x->dereference == DEREF_NEVER' in place of `x->xstat == lstat'.
(valid_options): Remove now-obsolete FIXME comments.
2004-02-07 16:00:28 +00:00
Jim Meyering
a70f51f2b0 . 2004-02-07 15:32:55 +00:00
Jim Meyering
0985b818a0 . 2004-02-07 14:04:23 +00:00
Jim Meyering
d90a114a8d . 2004-02-07 13:49:13 +00:00
Jim Meyering
ab049a7857 (gnu_ftp_host-alpha, etc.): Un-factor .gnu.org suffix,
so that emit_upload_commands can use these variables, too.
2004-02-07 13:49:03 +00:00
Jim Meyering
c5a8961c5b (emit_upload_commands): new target
(alpha beta major): `$(MAKE)' it.
2004-02-07 13:47:41 +00:00
Jim Meyering
25a8abf2ee . 2004-02-07 12:04:24 +00:00
Jim Meyering
7fb035efd1 . 2004-02-07 11:47:01 +00:00
Jim Meyering
5aa31e74c3 add missing quote 2004-02-07 11:46:00 +00:00
Jim Meyering
27f63a17c6 . 2004-02-07 10:05:30 +00:00
Jim Meyering
ccc8453c41 *** empty log message *** 2004-02-07 09:49:54 +00:00
Jim Meyering
70932c5e23 *** empty log message *** 2004-02-06 16:47:52 +00:00
Jim Meyering
9af79ee204 Remove `du' stack space test.
Apparently, `ulimit -s N' isn't portable enough.
This test will be restored (with a guard against losing ulimit)
in its own file later.
2004-02-06 16:47:07 +00:00
Jim Meyering
4b43b0ccae remove stray `done' diagnostic 2004-02-06 16:45:09 +00:00
Jim Meyering
5d1b8226e2 *** empty log message *** 2004-02-06 15:26:15 +00:00
Jim Meyering
26470e56d9 (deep): Remove progress-style diagnostics,
since this test doesn't take long enough to merit them.
Run du on $tmp (the containing dir), not $deep, the full path to leaf.
2004-02-06 15:26:12 +00:00
Jim Meyering
9a70dde66b *** empty log message *** 2004-02-06 10:39:01 +00:00
Jim Meyering
ca97db17ea (signatures): Remove definition.
Now, automake's gnupload handles this.
(%.sig: %): Remove now-unused rule.
(rel-files): Use automake's $(DIST_ARCHIVES), rather than
`$(distdir).tar.bz2 $(distdir).tar.gz'.
(emit-upload-commands): Adjust to use gnupload.
2004-02-06 10:38:57 +00:00
Jim Meyering
5937c873e6 (human_time): Correct merge problem. 2004-02-05 13:46:41 +00:00
Jim Meyering
8b2ed3ed95 *** empty log message *** 2004-02-05 09:52:30 +00:00
Jim Meyering
6589ff97d5 *** empty log message *** 2004-02-05 09:51:54 +00:00
Jim Meyering
ad669dfe92 Don't dump core if localtime returns NULL (possible on
hosts with 64-bit time_t and 32-bit int).

Print "??" if the current clock can't
be converted by localtime.  This won't happen until the year
2*31 + 1900, but we don't want to dump core even if the current
clock has the wrong value.
2004-02-05 09:51:49 +00:00
Jim Meyering
c904b0cae6 Don't dump core if localtime returns NULL (possible on
hosts with 64-bit time_t and 32-bit int).

Include "inttostr.h".
(batch_convert, main):
If time conversion fails, exit with nonzero status.
(show_date): Return int to report conversion failure.
Print the time as an int if localtime fails.
2004-02-05 09:50:18 +00:00
Jim Meyering
adc816c05a Include "inttostr.h".
(human_time): Print the date/time as a number of seconds since the
epoch if it can't be converted by localtime.  This is better than
just saying "invalid", and is consistent with what "ls" does.
Don't dump core if the year has more than 48 digits; this isn't
possible on any contemporary host, but we might as well do it right.
2004-02-05 09:47:01 +00:00
Jim Meyering
b5cfd989df *** empty log message *** 2004-02-05 09:35:02 +00:00
Jim Meyering
e32369feb8 (human_time): Accept time rather than pointer-to-const-time parameter,
for clarity.  All callers changed.
2004-02-05 09:34:33 +00:00
Jim Meyering
b13975e227 (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
(ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
From coreutils' system.h.
2004-02-05 09:28:22 +00:00
Jim Meyering
3c22aefe80 *** empty log message *** 2004-02-05 09:26:56 +00:00
Jim Meyering
143799aecc (ST_TIME_CMP_NS, ST_TIME_CMP): Remove definitions.
(ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
Now, those are all defined in timespec.h.
Include timespec.h.
2004-02-05 09:26:52 +00:00
Jim Meyering
f37f61b461 Don't include timespec.h, now that system.h does it. 2004-02-05 09:24:05 +00:00
Jim Meyering
816174d119 *** empty log message *** 2004-02-05 09:08:52 +00:00
Jim Meyering
54da1d6493 *** empty log message *** 2004-02-04 09:46:10 +00:00
Jim Meyering
0b28b559f4 *** empty log message *** 2004-02-03 20:57:40 +00:00
Jim Meyering
3c365a2f32 *** empty log message *** 2004-02-03 18:40:30 +00:00
Jim Meyering
e8416c5e12 (print_numbers): Use 'double' for loop index, not
'int', to avoid problems with integer overflow.  On almost all
machines 'double' works in every case where 'int' works, and
it works on other cases besides.
2004-02-03 18:40:25 +00:00
Jim Meyering
c19b38ed34 *** empty log message *** 2004-02-02 17:41:52 +00:00
Jim Meyering
3b1d58cb3f *** empty log message *** 2004-02-02 17:35:56 +00:00
Jim Meyering
9323d8baed *** empty log message *** 2004-02-02 17:33:35 +00:00
Jim Meyering
fa377fd8c1 (do_stat): Remove extra trailing newline from default formats. 2004-02-02 17:33:11 +00:00
Jim Meyering
258e4f3a5b . 2004-02-02 15:00:32 +00:00
Jim Meyering
16c721f762 *** empty log message *** 2004-02-02 13:20:55 +00:00
Jim Meyering
a61d512f4c (nice invocation): Add examples.
Prompted by suggestion from Dan Jacobson.
(factor invocation): Add an example.
Update timing numbers for a more modern CPU.
2004-02-02 13:20:52 +00:00
Jim Meyering
e562fd7057 *** empty log message *** 2004-02-02 13:12:51 +00:00
Jim Meyering
eaa7370746 *** empty log message *** 2004-02-02 08:08:09 +00:00
Jim Meyering
ca6973a9a9 *** empty log message *** 2004-02-02 08:05:36 +00:00
Jim Meyering
c057bb50b5 Print actual fractional seconds in time stamps, not just `.00000000'.
(human_time): Add and use new parameter, t_ns.
(print_stat): Update callers.
2004-02-02 07:59:58 +00:00
Jim Meyering
dd42ad9e9c (TIMESPEC_NS): Define here, instead, now that stat.c also uses this macro. 2004-02-02 07:59:35 +00:00
Jim Meyering
19b1ba88d5 (TIMESPEC_NS): Remove definition. 2004-02-02 07:59:23 +00:00
Jim Meyering
206610bd6c . 2004-01-29 20:42:25 +00:00
Jim Meyering
641c7269f7 *** empty log message *** 2004-01-29 20:41:22 +00:00
Jim Meyering
21def62f57 [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h. 2004-01-29 20:41:16 +00:00
Jim Meyering
533aba4a37 *** empty log message *** 2004-01-29 20:38:56 +00:00
Jim Meyering
2b47cfe6eb Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
Test for sys/ucred.h separately, since
on some systems one must include <grp.h> before it.
2004-01-29 20:38:52 +00:00
Jim Meyering
364cb07f31 update from automake 2004-01-28 17:16:15 +00:00
Jim Meyering
eb8a9910f2 . 2004-01-27 15:38:00 +00:00
Jim Meyering
cddfd09f09 *** empty log message *** 2004-01-27 13:09:20 +00:00
Jim Meyering
058f602aeb Reword so as not to exclude the possibility that INCREMENT be zero. 2004-01-27 13:09:16 +00:00
Jim Meyering
821287c6c5 *** empty log message *** 2004-01-27 12:53:29 +00:00
Jim Meyering
8c16c67625 Separate `Synopses' section into three examples.
Clarify first paragraph.  @w{}-protect an expression.1
	Use @option{--option}, rather than @code{--option}.
2004-01-27 12:53:24 +00:00
Jim Meyering
82ad938e92 *** empty log message *** 2004-01-27 12:30:46 +00:00
Jim Meyering
15dc7fd365 (seq invocation): Remove `@dots{}' at end of synopsis. 2004-01-27 12:30:36 +00:00
Jim Meyering
047f0d1324 *** empty log message *** 2004-01-25 22:58:00 +00:00
Jim Meyering
bfbd195ecf bump version to 5.1.3 2004-01-25 22:57:23 +00:00
Jim Meyering
690b8fa75d correct example 2004-01-25 13:40:09 +00:00
Jim Meyering
22c7bc2b47 . 2004-01-24 23:32:11 +00:00
Jim Meyering
f7ed1e923b *** empty log message *** 2004-01-24 23:16:21 +00:00
Jim Meyering
e75b7f6bda (signatures): Comment out definition. 2004-01-24 23:16:18 +00:00
Jim Meyering
9386bcf106 minor tweaks 2004-01-23 21:55:56 +00:00
Jim Meyering
395de8b154 . 2004-01-23 18:48:03 +00:00
Jim Meyering
41b51ec34b *** empty log message *** 2004-01-23 15:55:39 +00:00
Jim Meyering
f2dcda17a6 (header_regexp): Add exitfail. 2004-01-23 15:55:34 +00:00
Jim Meyering
083b1ded85 . 2004-01-23 15:55:13 +00:00
Jim Meyering
dfdd4669f4 *** empty log message *** 2004-01-23 15:55:01 +00:00
Jim Meyering
9da5487bf9 (EXTRA_DIST): Add help2man. 2004-01-23 15:54:35 +00:00
Jim Meyering
5fbc3b7db4 *** empty log message *** 2004-01-23 15:43:27 +00:00
Jim Meyering
3168b35490 *** empty log message *** 2004-01-23 15:41:05 +00:00
Jim Meyering
14abf5e070 (.x.1): Prefix help2man invocation with `$(PERL) --'
so it works on systems with Perl installed somewhere other than in /usr/bin.
2004-01-23 15:41:01 +00:00
Jim Meyering
a28a8b7cef (paste_parallel): Declare local, chr, to be of type
`int', not `char', since it must hold EOF.  This bug would make
paste infloop on some systems.
2004-01-23 09:26:24 +00:00
Jim Meyering
7574b1cde3 *** empty log message *** 2004-01-23 09:26:12 +00:00
Jim Meyering
c417939ee8 *** empty log message *** 2004-01-23 09:15:58 +00:00
Jim Meyering
657f5c7041 . 2004-01-22 22:19:28 +00:00
Jim Meyering
24653eaaa3 *** empty log message *** 2004-01-22 22:19:13 +00:00
Jim Meyering
0f7c06136c (expected_failure_status_date): Remove, as 'date' is now normal.
(expected_failure_status_nohup): New var.
2004-01-22 22:19:04 +00:00
Jim Meyering
87b5c30fdd . 2004-01-22 22:18:36 +00:00
Jim Meyering
8d98c29fdf (TESTS): Add fail-perm. 2004-01-22 22:18:21 +00:00
Jim Meyering
61bafd8cbe *** empty log message *** 2004-01-22 22:18:16 +00:00
Jim Meyering
7f03cbd20f Test for just-fixed rmdir bug. 2004-01-22 22:18:12 +00:00
Jim Meyering
a3600f6107 *** empty log message *** 2004-01-22 22:13:33 +00:00
Jim Meyering
6f8f6eaf43 (Exit status): Document that ordinary failure
might not exit with status 1 on unusual platforms.
Mention chroot, env, nice, and su as having unusual exit
status patterns.  Don't bother to mention true and false
since their exit status patterns are actually normal.
(sort invocation, su invocation): Mention its unusual exit
status pattern.
(chroot invocation): Simplify description of exit status 1.
Remove duplicate description of status 127.
(env invocation): Use consistent tenses; simplifiy description
of status 1.
(nice invocation): Likewise.
2004-01-22 22:13:27 +00:00
Jim Meyering
3a829a54c2 . 2004-01-22 22:08:18 +00:00
Jim Meyering
f915f22d85 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Use initialize_exit_failure rather than
setting exit_failure directly; this optimizes away redundant assignments.
(TTY_FAILURE, TTY_WRITE_ERROR): New enum values;
substitute them for the corresponding integer constants.
2004-01-22 21:09:33 +00:00
Jim Meyering
5dd7058439 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
(FATAL_ERROR, main): Exit with status EXIT_FAILURE, not 2, on errors.
2004-01-22 21:07:40 +00:00
Jim Meyering
b8d43c9437 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(err): Now a boolean int, not a counter,
so that we don't have to worry about int overflow.  All uses changed.
2004-01-22 21:04:26 +00:00
Jim Meyering
ae3cdb71e9 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Use initialize_exit_failure rather than
setting exit_failure directly; this optimizes away redundant
assignments.
2004-01-22 21:03:13 +00:00
Jim Meyering
78ac13ca26 (initialize_exit_failure): New inline function.
Include exitfail.h here, since we refer to exit_failure.
All callers changed to not include exitfail.h.

(EXIT_FAIL, EXIT_CANNOT_INVOKE, EXIT_ENOENT): New enum values.
2004-01-22 21:02:22 +00:00
Jim Meyering
bfa5295dc0 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Initialize exit_failure to EXIT_FAIL.

(main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE
rather than roll-your-own symbols or integers.
2004-01-22 21:00:25 +00:00
Jim Meyering
6d524623b0 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Exit with status 1, not 2, on errors detected by stty proper.
2004-01-22 20:58:59 +00:00
Jim Meyering
0d9b52c3c2 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Use initialize_exit_failure rather than
setting exit_failure directly; this optimizes away redundant
assignments.

Don't include <assert.h>.
(SORT_OUT_OF_ORDER,  SORT_FAILURE): Now enums, not macros.
(usage): Don't use 'assert'.
(main): Remove redundant assignment to exit_failure.
2004-01-22 20:55:26 +00:00
Jim Meyering
3d8656e3e2 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Likewise, to SETUIDGID_FAILURE.

(SETUIDGID_FAILURE): Renamed from FAIL_STATUS,
for consistency with other programs here.  All uses changed.
(main): Use 'error' to exit rather than invoking 'exit' here.
2004-01-22 20:53:55 +00:00
Jim Meyering
faa1322508 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(print_numbers): Now returns void, not (zero) int.
All callers changed.
(main): Remove unused local variable 'errs'.  Always exit successfully
if we reach the end.
2004-01-22 20:51:09 +00:00
Jim Meyering
fe09b6ce94 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(remove_parents): Don't set 'fail' to a negative number.
(main): Avoid integer overflow when seeing whether errors occurred.
2004-01-22 20:48:38 +00:00
Jim Meyering
57a460665c (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Use initialize_exit_failure rather than setting
exit_failure directly; this optimizes away redundant assignments.

(PRINTENV_FAILURE): New constant.
(main): Exit with status PRINTENV_FAILURE, not EXIT_FAILURE, on
command-line syntax problems.
2004-01-22 20:44:15 +00:00
Jim Meyering
bdb46518ee (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
(FATAL_ERROR, main): Exit with status EXIT_FAILURE, not 2, on errors.
2004-01-22 19:49:47 +00:00
Jim Meyering
01e1d061bc *** empty log message *** 2004-01-22 08:10:12 +00:00
Jim Meyering
b77cc74dac Fix it so using --info-page='coreutils PROG' works. 2004-01-22 08:10:02 +00:00
Jim Meyering
2f156f64b8 (.x.1): Invoke our own (tweaked) copy of help2man.
Use --info-page='coreutils PROG' option.
Now, readlink.1 refers the user to `info coreutils readlink'
rather than to `info readlink'.  Reported by Matt Swift.
2004-01-22 08:09:38 +00:00
Jim Meyering
b034df7b25 *** empty log message *** 2004-01-22 07:59:31 +00:00
Jim Meyering
d5c5ccc461 (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:50:20 +00:00
Jim Meyering
1a013f63f9 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:50:13 +00:00
Jim Meyering
68e999b21f (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:49:31 +00:00
Jim Meyering
36504c3b09 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:49:15 +00:00
Jim Meyering
7b9611e50e (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:47:48 +00:00
Jim Meyering
69e2df952e (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:47:17 +00:00
Jim Meyering
88a8689c36 (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:46:53 +00:00
Jim Meyering
7388206118 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:46:07 +00:00
Jim Meyering
4b5c8fe387 (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:45:53 +00:00
Jim Meyering
d2692db85a (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:45:43 +00:00
Jim Meyering
623c8ae147 (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:45:21 +00:00
Jim Meyering
eb844044d5 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:45:13 +00:00
Jim Meyering
eb5ac5fa4a (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:44:47 +00:00
Jim Meyering
6618936d9d (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it.
2004-01-21 23:39:34 +00:00
Jim Meyering
3e397c67aa (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:38:45 +00:00
Jim Meyering
f1c86ce433 (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:38:15 +00:00
Jim Meyering
c979cdc1e3 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:37:54 +00:00
Jim Meyering
cdc257accd (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Initialize exit_failure to EXIT_FAIL.
(main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE
rather than roll-your-own symbols or integers.
(NOHUP_FOUND_BUT_CANNOT_INVOKE): Remove; all uses
changed to EXIT_CANNOT_INVOKE.
2004-01-21 23:31:33 +00:00
Jim Meyering
d2e7cd3b7a (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
(main): Exit with status 1, not 2, on errors detected by nl proper.
2004-01-21 23:30:09 +00:00
Jim Meyering
11f893d2de (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Initialize exit_failure to EXIT_FAIL.
(main): Exit with status EXIT_FAIL, not EXIT_FAILURE,
on error; this is in case EXIT_FAILURE is unusual.
2004-01-21 23:28:19 +00:00
Jim Meyering
efb59b228c (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it.
2004-01-21 23:23:14 +00:00
Jim Meyering
6343ec2fad (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Exit with status 1, not 4, if not implemented.
2004-01-21 23:22:33 +00:00
Jim Meyering
36b51ca51a (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Exit with status 1, not 4, if not implemented.
2004-01-21 23:22:07 +00:00
Jim Meyering
312d661ada (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:21:31 +00:00
Jim Meyering
6673927ff0 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
(main): Use int, not size_t, to store boolean int.
2004-01-21 23:21:17 +00:00
Jim Meyering
c399132b6e (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it.
2004-01-21 23:20:16 +00:00
Jim Meyering
0c3d855eae (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:16:01 +00:00
Jim Meyering
224f641c02 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:15:33 +00:00
Jim Meyering
2519274f52 (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:15:07 +00:00
Jim Meyering
f56bc12872 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:14:46 +00:00
Jim Meyering
6488b3bb56 *** empty log message *** 2004-01-21 23:11:04 +00:00
Jim Meyering
23b3e06c44 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
(main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it.
(problems): Now a boolean int, not a counter,
so that we don't have to worry about int overflow.  All uses changed.
2004-01-21 23:10:54 +00:00
Jim Meyering
1d50255463 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Exit with status 1, not 2, on errors detected
by hostname proper.
2004-01-21 23:09:07 +00:00
Jim Meyering
3a34661eb0 (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 23:08:09 +00:00
Jim Meyering
a9f7720ec9 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:07:15 +00:00
Jim Meyering
a86c7314d8 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Do not report a usage error simply
because stdin has bad numbers.
2004-01-21 23:06:51 +00:00
Jim Meyering
b5189062cc (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:03:34 +00:00
Jim Meyering
c2c0e244df (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Use initialize_exit_failure rather than
setting exit_failure directly; this optimizes away redundant assignments.
(EXPR_FAILURE): Renamed from EXPR_ERROR, for
consistency with the other programs' naming conventions.
All uses changed.
2004-01-21 23:02:45 +00:00
Jim Meyering
96b4adbea0 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 23:00:48 +00:00
Jim Meyering
72cdc805d9 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Initialize exit_failure to EXIT_FAIL.
(main): Use initialize_exit_failure rather than
setting exit_failure directly; this optimizes away redundant
assignments.
(main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE
rather than roll-your-own symbols or integers.
(main): Exit with status 1, not 2, on errors detected by env proper.
2004-01-21 22:59:14 +00:00
Jim Meyering
02e20fbfea (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 22:56:47 +00:00
Jim Meyering
ebdc23b3c0 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 22:56:22 +00:00
Jim Meyering
b8824abce2 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it.
2004-01-21 22:55:51 +00:00
Jim Meyering
b74d9dcfad (usage): Use EXIT_SUCCESS, not 0, for clarity.
(dd_copy): Exit with status EXIT_FAILURE, not 2, on errors.
(write_output, skip, dd_copy): Don't assume EXIT_FAILURE == 1,
as POSIX doesn't require it.
2004-01-21 22:53:49 +00:00
Jim Meyering
8abeccf9d4 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(FATAL_ERROR, main): Exit with status EXIT_FAILURE, not 2, on errors.
(main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it.
2004-01-21 22:52:53 +00:00
Jim Meyering
e0261d2e72 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.

(FATAL_ERROR, main): Exit with status EXIT_FAILURE, not 2, on errors.
2004-01-21 22:50:28 +00:00
Jim Meyering
a8fd56864e (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 22:49:36 +00:00
Jim Meyering
7e85d17815 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(exit_status): Remove static var....
(main): Making it local here instead.  Use =, not |=, to set it.
2004-01-21 22:49:09 +00:00
Jim Meyering
d5f068d892 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 22:48:06 +00:00
Jim Meyering
918fbb3810 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE): Remove.
(main): Initialize exit_failure to EXIT_FAIL.

(main): Exit with status 1 rather than 127
if chroot itself fails, as per documentation.

(main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE
rather than roll-your-own symbols or integers.
2004-01-21 22:47:09 +00:00
Jim Meyering
654e59cfd4 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Removed unused local 'fail'.
2004-01-21 22:45:11 +00:00
Jim Meyering
c5a68e8782 (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 22:44:43 +00:00
Jim Meyering
1fcd62671b (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 22:43:51 +00:00
Jim Meyering
e044ce7355 (usage): Use EXIT_SUCCESS, not 0, for clarity.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
2004-01-21 22:42:46 +00:00
Jim Meyering
e77a63940a (usage): Use EXIT_SUCCESS, not 0, for clarity. 2004-01-21 22:42:34 +00:00
Jim Meyering
ed246fdfc7 *** empty log message *** 2004-01-21 22:37:32 +00:00
Jim Meyering
e2bbc5f3d3 Include "exitfail.h".
(STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
2004-01-21 22:37:21 +00:00
Jim Meyering
bb35f36116 (obstack_exit_failure) [!defined _LIBC]:
Now a macro referring to exit_failure, instead of a separate
variable.  Include "exitfail.h" to get it.
2004-01-21 22:36:42 +00:00
Jim Meyering
a36ee874e8 (parse_long_options): Use prototype for usage function arg.
Pass it EXIT_SUCCESS rather than 0, for clarity.
2004-01-21 22:35:55 +00:00
Jim Meyering
b4b1fa73a4 Comment fix to match the above. 2004-01-21 22:35:10 +00:00
Jim Meyering
dfc3aad38f (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
2004-01-21 22:34:58 +00:00
Jim Meyering
096e4b3a92 tweak comment: from Paul Eggert 2004-01-21 22:10:23 +00:00
Jim Meyering
d24139a648 *** empty log message *** 2004-01-21 20:57:00 +00:00
Jim Meyering
80848436f5 Remove `command' syntax. 2004-01-21 20:56:50 +00:00
Jim Meyering
7b6ec46968 *** empty log message *** 2004-01-21 20:42:24 +00:00
Jim Meyering
7589bf42ac (__mktime_internal) [!_LIBC]: Define to mktime_internal
so as not to conflict with a different-sized __mktime_internal
function in GNU libc.
2004-01-21 20:42:20 +00:00
Jim Meyering
ef7abf21ee . 2004-01-21 20:21:47 +00:00
Jim Meyering
1bf1c6f026 * tests/touch/relative: Test only year/month/day, not hours/min/sec,
so as to avoid problems with systems using TAI clocks.
Although it's no longer necessary, set TZ=UTC0 also for the
initial touch command.  Reported by Paul Jarc here:
http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/1504
2004-01-21 19:57:35 +00:00
Jim Meyering
5098ee0cd7 Use TZ=UTC0, not TZ=utc (which isn't portable). 2004-01-21 19:46:35 +00:00
Jim Meyering
4fb08235d1 *** empty log message *** 2004-01-20 22:44:46 +00:00
Jim Meyering
5c47bf84dc Add .mov to the list of media files. 2004-01-20 22:44:33 +00:00
Jim Meyering
97929b8880 from Alexandre Duret-Lutz 2004-01-20 22:19:36 +00:00
Jim Meyering
4809aa00ba . 2004-01-20 09:20:18 +00:00
Jim Meyering
085c5950e1 *** empty log message *** 2004-01-20 09:19:51 +00:00
Jim Meyering
bf05ef79f3 Use TZ=UTC0, not TZ=utc (which isn't portable).
Problem reported by Christian Krackowizer.  Also, use
+0000 rather than +0 to specify a time zone, as the documentation
requires four digits.
2004-01-20 09:19:37 +00:00
Jim Meyering
61c6a9697f *** empty log message *** 2004-01-20 09:14:31 +00:00
Jim Meyering
b20c8fb018 Run envvar-check in case SIMPLE_BACKUP_SUFFIX is set. 2004-01-20 09:14:21 +00:00
Jim Meyering
e6af8e24cb *** empty log message *** 2004-01-20 09:13:50 +00:00
Jim Meyering
abc7c7d035 . 2004-01-19 17:53:12 +00:00
Jim Meyering
e9c44d300d don't bother to remove out.1 2004-01-19 16:26:38 +00:00
Jim Meyering
f4211d967e Bump to 5.1.2 2004-01-18 20:48:33 +00:00
Jim Meyering
b5f8f0cabe fix typo 2004-01-18 07:59:52 +00:00
Jim Meyering
76c0337603 *** empty log message *** 2004-01-17 14:58:54 +00:00
Jim Meyering
e27c4a8097 (print_changelog_deltas): Use .sig suffix, not .asc. 2004-01-17 14:58:50 +00:00
Jim Meyering
2eaffded08 . 2004-01-17 14:10:47 +00:00
Jim Meyering
466b3a3a07 *** empty log message *** 2004-01-17 13:49:17 +00:00
Jim Meyering
5993f5a2cf . 2004-01-17 13:48:45 +00:00
Jim Meyering
a913b0f3a4 . 2004-01-17 13:28:53 +00:00
Jim Meyering
3e7e43657c (PATH): Remove /vg. 2004-01-17 13:28:48 +00:00
Jim Meyering
96f8c158cc *** empty log message *** 2004-01-17 09:04:44 +00:00
Jim Meyering
c7e05a0e8b *** empty log message *** 2004-01-17 09:03:58 +00:00
Jim Meyering
b2e8bb2b0b *** empty log message *** 2004-01-16 14:46:37 +00:00
Jim Meyering
9235a0c07e *** empty log message *** 2004-01-16 14:45:43 +00:00
Jim Meyering
41613a278b *** empty log message *** 2004-01-16 14:45:32 +00:00
Jim Meyering
600bbee3f8 (TESTS): Add relative. 2004-01-16 14:45:28 +00:00
Jim Meyering
957e8de353 . 2004-01-16 10:20:01 +00:00
Jim Meyering
f62c99b35a . 2004-01-16 10:10:49 +00:00
Jim Meyering
35a86d7174 Test HAVE_DECL_GETC_UNLOCKED, rather than HAVE_GETC_UNLOCKED. 2004-01-16 10:06:48 +00:00
Jim Meyering
e8770d98ed *** empty log message *** 2004-01-16 09:58:16 +00:00
Jim Meyering
f6fc181190 Merge from gnulib.
Include <stdio.h>, so that the caller
doesn't have to include <stdio.h> before us.
(clearerr_unlocked, feof_unlocked, ferror_unlocked,
fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
if not declared, so that we can use getpass.c code from libc without
rewriting it.
(flockfile, ftrylockfile, funlockfile): New macros.
2004-01-16 09:58:08 +00:00
Jim Meyering
bb1f3d64bd *** empty log message *** 2004-01-16 09:55:36 +00:00
Jim Meyering
50733eb567 Merge fnmatch patches from glibc.
(mbsinit): Remove define.
Add libc_hidden_ver (__fnmatch, fnmatch).
2004-01-16 09:55:31 +00:00
Jim Meyering
f1d3aedf65 (ALLOCA_LIMIT): Remove macro, which collided
with like-named macro in fnmatch.c.
(EXT): Use an internal constant instead.

Merge fnmatch patches from glibc.
(FCT): Cast to int32_t and UCHAR when appropriate.
Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
2004-01-16 09:55:15 +00:00
Jim Meyering
4d108ffc75 Remove dependency on xalloc module.
(xalloc_die): Remove.
(memory_full) [!defined emacs]: New macro.
[!defined emacs]: Don't include xalloc.h.
(alloca): Invoke memory_full, not xalloc_die, if malloc fails or
address arithmetic overflows.  Change datatypes a bit to avoid
unnecessary casts.
2004-01-16 09:53:28 +00:00
Jim Meyering
fb64640678 update copyright to sync from gnulib 2004-01-16 09:51:42 +00:00
Jim Meyering
2c84bf64de . 2004-01-16 09:51:28 +00:00
Jim Meyering
6ae6a27c8f *** empty log message *** 2004-01-16 09:06:11 +00:00
Jim Meyering
c3a2d7c8f0 Sync with version from gettext-0.13.1. 2004-01-16 09:05:58 +00:00
Jim Meyering
48512bcf24 *** empty log message *** 2004-01-16 09:03:37 +00:00
Jim Meyering
fce898e6b2 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
followed by '#define fnmatch fnmatch_posix' gives an error.
2004-01-16 09:03:32 +00:00
Jim Meyering
34162264da solely comment (serial-number line) change 2004-01-16 08:32:04 +00:00
Jim Meyering
9afa7e0da9 *** empty log message *** 2004-01-16 08:30:41 +00:00
Jim Meyering
7260470a67 (gl_PREREQ_GETPASS): Check for stdio_ext.h. 2004-01-16 08:29:54 +00:00
Jim Meyering
5c76128b87 content-free sync-from-gnulib 2004-01-16 08:27:06 +00:00
Jim Meyering
728c567fc8 bump serial number to sync with gnulib 2004-01-16 08:26:16 +00:00
Jim Meyering
b23e570720 . 2004-01-16 07:53:49 +00:00
Jim Meyering
db247bf090 *** empty log message *** 2004-01-16 07:53:22 +00:00
Jim Meyering
7430e918cb (touch invocation): touch -r and -d can now
both be specified, with -r specifying the origin for -d.
2004-01-16 07:53:19 +00:00
Jim Meyering
99ce232e0c . 2004-01-15 20:41:22 +00:00
Jim Meyering
8a37f8956a *** empty log message *** 2004-01-15 18:44:14 +00:00
Jim Meyering
aca070532b (flexible_date): Remove static var.
(get_reldate): New function.
(main): Use it, to implement this new behavior.
2004-01-15 18:44:04 +00:00
Jim Meyering
0946e9bf4e *** empty log message *** 2004-01-15 10:58:53 +00:00
Jim Meyering
45871380c2 Factor out some common options.
(Common options): Define macros here.
(What information is listed, cp invocation): Use the macro(s).
(install invocation, mv invocation, ln invocation): Likewise.
(df invocation, du invocation): Likewise.
2004-01-15 10:58:47 +00:00
Jim Meyering
df82b0df69 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION. 2004-01-15 06:36:00 +00:00
Jim Meyering
65c6b6f9a2 *** empty log message *** 2004-01-15 06:35:49 +00:00
Jim Meyering
e6f7ed4013 Include posixver.h. 2004-01-15 06:35:41 +00:00
Jim Meyering
a18cbdc7d0 reapply my SPACE-TAB-related changes 2004-01-13 12:28:21 +00:00
Jim Meyering
64fcce3bd9 update from automake-1.8.2 2004-01-13 12:27:45 +00:00
Jim Meyering
f76b97901d *** empty log message *** 2004-01-13 09:29:02 +00:00
Jim Meyering
fe3318ae8c duh: system.h, not system.c 2004-01-13 00:06:07 +00:00
Jim Meyering
a362710c17 *** empty log message *** 2004-01-13 00:05:10 +00:00
Jim Meyering
f9d40d5334 Replace src/sys2.h with src/system.h. 2004-01-13 00:05:08 +00:00
Jim Meyering
5758a7e9e3 *** empty log message *** 2004-01-13 00:01:49 +00:00
Jim Meyering
092d8e9f2d . 2004-01-13 00:01:43 +00:00
Jim Meyering
ae451ad4ba (noinst_HEADERS): Remove sys2.h. 2004-01-13 00:01:21 +00:00
Jim Meyering
43dd0affc4 removed: contents have been included in system.h 2004-01-13 00:01:08 +00:00
Jim Meyering
1e1e00851f Include contents of sys2.h. 2004-01-13 00:00:39 +00:00
Jim Meyering
a03fec3c7a *** empty log message *** 2004-01-12 23:44:41 +00:00
Jim Meyering
a47ca8b0ed . 2004-01-12 23:44:03 +00:00
Jim Meyering
6460782ab4 *** empty log message *** 2004-01-12 23:38:34 +00:00
Jim Meyering
f30dc57fe9 Update from gettext-0.13.1. 2004-01-12 23:38:26 +00:00
Jim Meyering
cc57d28916 . 2004-01-12 23:37:17 +00:00
Jim Meyering
a547a5f84f New files. From gettext-0.13.1. 2004-01-12 23:37:03 +00:00
Jim Meyering
acb2384b58 *** empty log message *** 2004-01-12 23:35:50 +00:00
Jim Meyering
f92dd4710b Use gettext-0.13.1. 2004-01-12 23:35:31 +00:00
Jim Meyering
4f414a379e *** empty log message *** 2004-01-12 23:34:25 +00:00
Jim Meyering
6ab7db4a11 . 2004-01-12 23:00:09 +00:00
Jim Meyering
88d14fdeae . 2004-01-12 22:59:07 +00:00
Jim Meyering
2b9865c410 *** empty log message *** 2004-01-12 22:58:43 +00:00
Jim Meyering
680e412dd7 Update from gettext-0.13.1. 2004-01-12 22:58:36 +00:00
Jim Meyering
fae95887c4 . 2004-01-12 22:57:46 +00:00
Jim Meyering
c0600d434f *** empty log message *** 2004-01-12 21:24:48 +00:00
Jim Meyering
2f3447d420 Add m4/po.m4 to the list of exceptions. 2004-01-12 21:24:10 +00:00
Jim Meyering
d02ff648d0 remove spurious SPACEs before TABs
Change `  \t' to \t ' in `defaultIFS' assignment.
2004-01-12 21:22:58 +00:00
Jim Meyering
c313aa30dd updated from automake 2004-01-12 21:22:08 +00:00
Jim Meyering
02c4a9bfcd *** empty log message *** 2004-01-12 20:44:10 +00:00
Jim Meyering
e0e8f59be5 (%.sig): Use .sig suffix rather than .asc. 2004-01-12 20:33:33 +00:00
Jim Meyering
3faa9516f1 . 2004-01-12 14:46:13 +00:00
Jim Meyering
097b35b8fd *** empty log message *** 2004-01-12 14:07:41 +00:00
Jim Meyering
8700234efa (po-check): Ensure that cvsu works before using it. 2004-01-12 14:06:55 +00:00
Jim Meyering
b1d01e6b21 *** empty log message *** 2004-01-12 09:46:59 +00:00
Jim Meyering
a0c4a4558f . 2004-01-12 09:43:28 +00:00
Jim Meyering
7d4fd60e43 *** empty log message *** 2004-01-12 09:41:53 +00:00
Jim Meyering
ace768ee42 (main): Warn about following stdin only when it's a tty. 2004-01-12 09:41:29 +00:00
Jim Meyering
63cd5e88a1 *** empty log message *** 2004-01-12 07:31:43 +00:00
Jim Meyering
4127c7429a (gl_DEFAULT_POSIX2_VERSION): Move
the documentation from 'configure' into 'config.hin',
so that 'configure --help' isn't burdened by it and
we don't have to worry about its formatting there.
Reword the documentation so that it's more succinct
and can be run together into a single paragraph.
2004-01-12 07:31:39 +00:00
Jim Meyering
ddb9645e2e . 2004-01-11 23:52:03 +00:00
Jim Meyering
acd46f1e1e *** empty log message *** 2004-01-11 23:50:42 +00:00
Jim Meyering
a00ae20642 *** empty log message *** 2004-01-11 23:50:30 +00:00
Jim Meyering
046f8cf676 Use gl_DEFAULT_POSIX2_VERSION. 2004-01-11 23:50:27 +00:00
Jim Meyering
10a13eb835 *** empty log message *** 2004-01-11 23:47:28 +00:00
Jim Meyering
3a0a1e448b (DEFAULT_POSIX2_VERSION): Use definition of new,
optional configure-time default.
2004-01-11 23:47:22 +00:00
Jim Meyering
ad3d7eb0ec *** empty log message *** 2004-01-11 23:45:46 +00:00
Jim Meyering
c7cc49a481 . 2004-01-11 23:39:50 +00:00
Jim Meyering
8eaf995eaa (gl_DEFAULT_POSIX2_VERSION): New macro. 2004-01-11 23:39:20 +00:00
Jim Meyering
7b353aa9d8 *** empty log message *** 2004-01-11 23:36:34 +00:00
Jim Meyering
346c255a81 . 2004-01-11 23:23:39 +00:00
Jim Meyering
f7256c6635 . 2004-01-11 23:21:06 +00:00
Jim Meyering
38901ef972 *** empty log message *** 2004-01-10 16:59:22 +00:00
Jim Meyering
e6dd5f4da8 (version_etc_copyright): Update copyright date. 2004-01-10 16:59:17 +00:00
Jim Meyering
134744b150 *** empty log message *** 2004-01-10 10:10:35 +00:00
Jim Meyering
bc743cf8b5 Use backticks, not $(). 2004-01-10 10:10:12 +00:00
Jim Meyering
4184de1bd8 . 2004-01-09 21:49:58 +00:00
Jim Meyering
0b4554f2f4 *** empty log message *** 2004-01-09 21:49:32 +00:00
Jim Meyering
6c6abf3e4f (TESTS): Add expand. 2004-01-09 21:49:28 +00:00
Jim Meyering
099c465e0d . 2004-01-09 21:48:52 +00:00
Jim Meyering
54e7000549 Quote underquoted `jm_DUMMY_1' to avoid new warning. 2004-01-09 21:48:23 +00:00
Jim Meyering
0a9ea0b450 *** empty log message *** 2004-01-09 18:28:44 +00:00
Jim Meyering
e8df2048c8 . 2004-01-09 18:27:12 +00:00
Jim Meyering
edb240b6f7 *** empty log message *** 2004-01-09 18:16:11 +00:00
Jim Meyering
67e588d2df (yes invocation): Document that a write error
makes `yes' exit unsuccessfully.
(chroot invocation): Enumerate the meaning of exit status values.
(nice invocation): Likewise.
(Exit status) [@macro exitstatus]: New macro.
Use @exitstatus to describe the exit status of most programs.
2004-01-09 18:15:58 +00:00
Jim Meyering
3c0b7717ef (du invocation): Mention that -H will eventually
mean not --si, but --dereference-args (-D).
2004-01-09 16:21:51 +00:00
Jim Meyering
2da5fc253a *** empty log message *** 2004-01-09 16:16:32 +00:00
Jim Meyering
442a6ce1a3 Use `bool' (not int) as the type for a few
global variables.
(collapse_escapes): Rewrite to set globals rather than modifying
its parameter.
Use size_t (not int) for all counters and related index variables.
(paste_parallel): Remove needless complexity of
using xrealloc in the loop;  just allocate the buffers up front.
Free the two temporary buffers.
Move declarations of locals `down' into scope where used.
(paste_serial): Remove `register' attributes.
(main): Simplify delim-related code.
Free `delims', now that it's malloc'd.
2004-01-09 16:05:36 +00:00
Jim Meyering
a7edd79025 *** empty log message *** 2004-01-08 14:29:01 +00:00
Jim Meyering
02411d8bef (human_fstype): Use %lx, not %x format for `unsigned long'. 2004-01-08 14:28:44 +00:00
Jim Meyering
867ffc819b *** empty log message *** 2004-01-08 14:19:58 +00:00
Jim Meyering
da5834c5d2 (TESTS_ENVIRONMENT): Remove `/vg' (prerelease test
remnant) from PATH component.  That would cause tests in this directory
not to run the just-built binaries, but rather whatever happened
to be in one's PATH.  Reported by Christian Krackowizer.
2004-01-08 14:19:55 +00:00
Jim Meyering
2e100fae31 . 2004-01-06 18:39:48 +00:00
Jim Meyering
a6c6e57b71 (add_temp_dir): Use x2nrealloc rather than xrealloc.
(fillbuf): Use x2nrealloc rather than xrealloc.
(sort): Use xnmalloc rather than xmalloc.
(main): Likewise.
2004-01-04 21:12:00 +00:00
Jim Meyering
cc52b7fc43 (n_tabs_allocated): New global.
(add_tabstop): Use x2nrealloc rather than xrealloc.
2004-01-04 21:10:11 +00:00
Jim Meyering
5ad984ecc0 (n_tabs_allocated): New global.
(add_tabstop): Use x2nrealloc rather than xrealloc.
2004-01-04 21:09:30 +00:00
Jim Meyering
986b0ecbdf (new_control_record): Use x2nrealloc rather than xrealloc. 2004-01-04 21:08:47 +00:00
Jim Meyering
c34f3b9959 (tee): Use xnmalloc rather than xmalloc. 2004-01-04 21:07:40 +00:00
Jim Meyering
68eb5f3e0d (re_protect): Use ASSIGN_STRDUPA rather than alloca and strcpy.
(make_path_private): Likewise.
2004-01-04 21:07:16 +00:00
Jim Meyering
69ae5cff2a (copy_internal): Use ASSIGN_STRDUPA rather than alloca and strcpy. 2004-01-04 21:04:27 +00:00
Jim Meyering
45c0d30e1d (main): Use memcpy, not strcpy. 2004-01-04 21:00:49 +00:00
Jim Meyering
ebca344370 (main): Warn about following stdin.
Fail when following by name but no names are specified.
2004-01-04 21:00:22 +00:00
Jim Meyering
5ff0d49b27 (usage): Mention that, with its current meaning, -H is deprecated. 2004-01-04 20:59:31 +00:00
Jim Meyering
e8d314a5ec revert last change 2004-01-04 20:45:45 +00:00
Jim Meyering
81ba476a28 Include "exitfail.h".
(main): Set exit_failure.
2004-01-04 20:30:00 +00:00
Jim Meyering
fd1e65f0a1 Include "quote.h".
(CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE): Define.
(main): Exit with status of 127, not 1, for too-few-args,
chroot failure, or chdir failure.
Give a better diagnostic upon execvp failure.
2004-01-04 20:25:46 +00:00
Jim Meyering
1276aa43f3 (tv): Avoid obsolete -o usage. 2003-12-30 08:49:53 +00:00
Jim Meyering
9e72e463c0 Include posixver.h.
(obsolete_usage): New var.
(longopts): Put obsolete options first.
(OBSOLETE_LONG_OPTIONS): New constant.
(get_option, add_file_name): New functions.
(main): Use them to support new behavior.
(usage): Remove documentation for -j1 FIELD and -j2 FIELD.
Do not mark -j FIELD as obsolescent; it is longstanding
UNIX tradition and is a valid extension to POSIX.
2003-12-30 08:26:58 +00:00
Jim Meyering
db67525e9b *** empty log message *** 2003-12-30 08:26:31 +00:00
Jim Meyering
8e25ccda3c (join invocation): Remove documentation
accordingly.  Document that -t makes all separators significant.
2003-12-30 08:26:16 +00:00
Jim Meyering
621e3e07cd remove trailing blank 2003-12-30 08:24:41 +00:00
Jim Meyering
f646cade60 (add_field_list): Don't use alloca with unbounded
size; just modify the argument, which is no longer const *.

Various other minor cleanups, mostly to avoid the need for casts.

(extract_field): Renamed from ADD_FIELD, as it's now a function.

(struct field.beg): Now char *, not unsigned char const *.  All
uses changed.  It shouldn't be const since xmemcoll writes on its
arguments.
(extract_field): Likewise, for 2nd arg.
(keycmp): Remove now-unnecessary cast of xmemcoll args.

(is_blank): New function, to avoid need to cast arg to unsigned char.
(extract_field): Use it.

(xfields): Rewrite pretty much from scratch.

(hard_LC_COLLATE): Now bool, not int.
(get_line, getseq, add_field_list): Now returns bool, not int.
(decode_field_spec, add_field_list): Return true on success (not
false), for consistency with the rest of the code.  All uses changed.

(tab): Now char, not unsigned char.  This wasn't 100% necessary
but is slightly cleaner.
(prjoin): Hoist (tab ? tab : ' ') expression, to help the compiler.

(empty_filler): Now const *.

(make_blank): Remove; wasn't needed.  Remove all calls.
(main): Don't set uni_blank.nfields; zero is fine.
2003-12-30 08:24:26 +00:00
Jim Meyering
fdb08248b8 Include "quote.h".
(min, max): Remove definitions.
Make a few function parameters and corresponding
locals `const'.  Use bool for boolean variables.
Use size_t (not int) for all counters and related index variables.
(prjoin): Remove now-useless assertion.
(string_to_join_field): New function.
(main): Accept join fields as large as SIZE_MAX.
(keycmp): Rename `min' to MIN and max to MAX.
2003-12-27 14:36:26 +00:00
Jim Meyering
064ca9ef3c *** empty log message *** 2003-12-27 09:58:11 +00:00
Jim Meyering
11ea239f36 . 2003-12-27 09:55:48 +00:00
Jim Meyering
baf3556d8d *** empty log message *** 2003-12-27 09:55:22 +00:00
Jim Meyering
77962dd067 fold -s didn't work on e.g., alpha-based systems.
* src/fold.c (fold_file): Adjust types (int->size_t) so that using
x2nrealloc works properly on systems with differing sizes for int
and size_t.  Reported by Nelson Beebe.

* src/fold.c: Use `bool' (not int) as the type for a few
global variables.
2003-12-27 09:55:11 +00:00
Jim Meyering
74d143fd76 *** empty log message *** 2003-12-24 16:38:41 +00:00
Jim Meyering
80de43f488 (length_of_file_names_and_frills):
Remove forward decl; not needed.
(print_file_name_and_frills, length_of_file_name_and_frills):
With -m, don't output spaces before inum or size.
(print_with_commas): Don't output space just before newline.
2003-12-24 16:38:36 +00:00
Jim Meyering
6a40a6b266 (TESTS): Add m-option. 2003-12-24 16:37:38 +00:00
Jim Meyering
05bc7f6b3c . 2003-12-24 16:35:18 +00:00
Jim Meyering
4e9c25d0cc bump to 5.1.1 2003-12-22 15:36:43 +00:00
Jim Meyering
7c148bb672 . 2003-12-21 08:40:30 +00:00
Jim Meyering
f2b9a50eb5 . 2003-12-21 07:52:00 +00:00
Jim Meyering
3289e8a8ec *** empty log message *** 2003-12-21 07:51:37 +00:00
Jim Meyering
5e9e6c75e7 *** empty log message *** 2003-12-21 07:51:23 +00:00
Jim Meyering
c74f99c571 *** empty log message *** 2003-12-20 18:08:11 +00:00
Jim Meyering
e164c2bbeb [!_LIBC]: Undefine, then define-away __P. 2003-12-20 18:08:02 +00:00
Jim Meyering
deaf944ceb . 2003-12-20 17:59:15 +00:00
Jim Meyering
5a1305abb4 . 2003-12-20 17:58:46 +00:00
Jim Meyering
0ea4558007 *** empty log message *** 2003-12-20 17:57:35 +00:00
Jim Meyering
c9e16ed123 Don't require UTILS_SYS_OPEN_MAX. 2003-12-20 17:57:30 +00:00
Jim Meyering
c26ec64a0b *** empty log message *** 2003-12-20 17:55:18 +00:00
Jim Meyering
b904a67dc8 (UTILS_SYS_OPEN_MAX): Remove file. No longer used. 2003-12-20 17:55:13 +00:00
Jim Meyering
01fc0cb461 *** empty log message *** 2003-12-20 16:51:55 +00:00
Jim Meyering
31361deb52 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
value, $ac_cv_search_crypt, if it's "none required".
2003-12-20 16:51:51 +00:00
Jim Meyering
6ff0bf52e2 Change type of global, buff_allocated, to size_t. 2003-12-20 16:44:12 +00:00
Jim Meyering
18c313d563 [struct seq]: Change types of members count and alloc
from `int' to `size_t'.
2003-12-20 16:41:54 +00:00
Jim Meyering
f4bebc82bb *** empty log message *** 2003-12-20 16:36:04 +00:00
Jim Meyering
38fe0df54d [!_LIBC]: Define __P. 2003-12-20 16:35:59 +00:00
Jim Meyering
d039892e8f . 2003-12-20 13:06:25 +00:00
Jim Meyering
13a732ea73 remove /vg 2003-12-20 13:06:12 +00:00
Jim Meyering
af1df22b42 . 2003-12-20 11:39:08 +00:00
Jim Meyering
10f46a9857 . 2003-12-20 11:38:12 +00:00
Jim Meyering
d19241453e . 2003-12-20 11:32:52 +00:00
Jim Meyering
41c9f774a8 . 2003-12-20 11:32:45 +00:00
Jim Meyering
b3711e549a *** empty log message *** 2003-12-20 11:32:38 +00:00
Jim Meyering
ce2ec20ca3 (root-hint): Tweak wording. 2003-12-20 11:32:32 +00:00
Jim Meyering
4adc127426 *** empty log message *** 2003-12-20 11:30:55 +00:00
Jim Meyering
ee1a768122 Accept new option (-0, --null) that makes it so each
output line is NUL-terminated rather than newline-terminated.
2003-12-20 11:29:30 +00:00
Jim Meyering
340b33464a (du invocation): Describe new option: -0, --null. 2003-12-20 11:28:14 +00:00
Jim Meyering
e08866d436 *** empty log message *** 2003-12-20 09:34:49 +00:00
Jim Meyering
701926715a New test for the above. 2003-12-20 09:34:25 +00:00
Jim Meyering
d22a3e0af9 (TESTS): Add unblock-sync. 2003-12-20 09:33:58 +00:00
Jim Meyering
adc5058db2 (apply_translations): Don't prohibit conv=unblock,sync. 2003-12-20 09:23:19 +00:00
Jim Meyering
072ddb1147 *** empty log message *** 2003-12-20 09:23:08 +00:00
Jim Meyering
1d6665c978 *** empty log message *** 2003-12-20 09:21:17 +00:00
Jim Meyering
a086112e73 Duh. Fix last change. 2003-12-19 22:30:14 +00:00
Jim Meyering
6f438344f1 *** empty log message *** 2003-12-19 21:48:41 +00:00
Jim Meyering
ddf8b7b638 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME if no library is required. 2003-12-19 21:48:35 +00:00
Jim Meyering
02dd87543e *** empty log message *** 2003-12-19 16:13:34 +00:00
Jim Meyering
5b4206c914 Double quote back-ticked expression,
in case it ends up having an unexpected value.
2003-12-19 16:13:28 +00:00
Jim Meyering
3d8e62a14b *** empty log message *** 2003-12-19 13:15:27 +00:00
Jim Meyering
8f4b3c1b4f Use ls's -1 option in both runs. 2003-12-19 13:15:23 +00:00
Jim Meyering
7cc2e159d1 *** empty log message *** 2003-12-19 12:55:49 +00:00
Jim Meyering
bcb7e37261 . 2003-12-19 12:53:40 +00:00
Jim Meyering
70266a8783 *** empty log message *** 2003-12-19 12:53:25 +00:00
Jim Meyering
55186d55b0 (FTS_CROSS_CHECK, DEBUG_OPT): Define.
(main): Make fts use FTS_TIGHT_CYCLE_CHECK.
(main) [DU_DEBUG]: Accept -d option.
2003-12-19 12:52:33 +00:00
Jim Meyering
16972646cf Don't include <search.h>.
[HAVE_INTTYPES_H]: Include <inttypes.h>.
(tdestroy, tfind, tsearch): Remove definitions.
(struct Active_dir): Rename from `known_object'.
(AD_compare, AD_hash): New functions.
(enter_dir, leave_dir): Rewrite to manipulate a hash table
rather than a tree.
(fts_open): Initialize hash table or cycle_state buffer.
(free_node): Remove function.
(find_matching_ancestor): Renamed/rewritten from look_up_active_dir.
(fts_cross_check): Adapt to use new data structure.
2003-12-19 12:50:33 +00:00
Jim Meyering
7f49957342 Include hash.h and cycle-check.h.
(FTS_TIGHT_CYCLE_CHECK): New value.
(FTS_OPTIONMASK): Adjust to include the new value.
(FTS_NAMEONLY, FTS_STOP): Increase to allow room for new value.
(struct FTS) [active_dir_ht]: New member.  Replaces fts_dir_signatures.
(struct FTS) [cycle_state]: New member.
2003-12-19 12:40:05 +00:00
Jim Meyering
38e0d07456 (libfetish_a_SOURCES): Remove search_.h.
(DISTCLEANFILES): Remove definition.
2003-12-19 12:34:35 +00:00
Jim Meyering
56fef712cf Rewrite cycle detection code to work properly.
Add some framework (compiled out by default) to test it.

(Dprintf, ENTER_DIR, LEAVE_DIR): Define.
(add_object): Remove function.  Rewritten as...
(enter_dir): New function.
(leave_dir, free_node): New functions.
(fts_read): Ensure that we call ENTER_DIR or LEAVE_DIR,
as appropriate, before returning.
(look_up_active_dir, fts_cross_check) [FTS_DEBUG]: New functions.
(fts_stat): Don't perform the cycle check here.
Now it's done via enter_dir.
2003-12-18 21:11:11 +00:00
Jim Meyering
628c1e33a6 *** empty log message *** 2003-12-18 17:15:47 +00:00
Jim Meyering
513aae0e6a (format_user): Increment dired_pos via two statements,
`dired_pos += width; dired_pos++;' rather than one,
`dired_pos += width + 1;' since the latter could conceivably overflow.
(format_group): Likewise.
2003-12-18 17:15:38 +00:00
Jim Meyering
4679a73192 *** empty log message *** 2003-12-18 10:39:50 +00:00
Jim Meyering
35998d368f . 2003-12-18 10:39:35 +00:00
Jim Meyering
63b84fa7c1 Require automake-1.8. 2003-12-18 10:39:26 +00:00
Jim Meyering
d46798e6aa . 2003-12-18 10:38:45 +00:00
Jim Meyering
2e1934cb77 . 2003-12-18 10:38:22 +00:00
Jim Meyering
a5d08fb15d *** empty log message *** 2003-12-18 10:33:49 +00:00
Jim Meyering
b36b20d24d (jm_PREREQ): Require AC_FUNC_GETLOADAVG, not gl_FUNC_GETLOADAVG. 2003-12-18 10:33:39 +00:00
Jim Meyering
117a62aa37 Remove now-unnecessary file. 2003-12-18 10:31:00 +00:00
Jim Meyering
501bc93bb3 (AC_ISC_POSIX): Remove file/macro. No longer needed. 2003-12-18 10:15:13 +00:00
Jim Meyering
8b68994571 *** empty log message *** 2003-12-18 10:08:46 +00:00
Jim Meyering
7ec843cfd2 (AC_SEARCH_LIBS): Remove file/macro, now that
this replacement is no longer needed.  Besides, this macro has
no effect with autoconf-2.58, since its `undefine' is not honored.
2003-12-18 10:08:32 +00:00
Jim Meyering
6b963304ff add FIXME 2003-12-12 05:43:17 +00:00
Jim Meyering
dbbf897562 (FTS) [fts_dir_signatures]: Add comment. 2003-12-12 05:41:29 +00:00
Jim Meyering
057d6add25 *** empty log message *** 2003-12-12 04:56:03 +00:00
Jim Meyering
b44464be69 . 2003-12-12 04:55:00 +00:00
Jim Meyering
6a24a621cb *** empty log message *** 2003-12-08 10:17:27 +00:00
Jim Meyering
5e912b475a (news-date-check): New rule.
(alpha beta major): Depend on it.
2003-12-08 10:17:16 +00:00
Jim Meyering
2288fdf91e add release dates 2003-12-08 10:16:26 +00:00
Jim Meyering
91adac3eab Don't assume that 'ls' output is fixed-width. 2003-12-08 09:04:48 +00:00
Jim Meyering
710dca5363 Don't assume that 'ls' output is fixed-width. 2003-12-08 09:03:51 +00:00
Jim Meyering
a6616a3786 * NEWS: ls -l (and similar options) now adjust all columns to
fit the data.  Generalized from a suggestion by Leah Q for file sizes.
2003-12-08 08:38:37 +00:00
Jim Meyering
db98a73a39 *** empty log message *** 2003-12-08 08:38:33 +00:00
Jim Meyering
a8404d3cf8 *** empty log message *** 2003-12-08 08:37:41 +00:00
Jim Meyering
131083bdbc (What information is listed, chroot invocation):
Adjust example 'ls' output to match new behavior with narrower
output columns.
(The cut command): Remove example that cut the output of
'ls -l'.  The output was incorrect even with the old 'ls', and
the whole idea of using 'cut' on 'ls -l' output is bogus anyway.
2003-12-08 08:37:36 +00:00
Jim Meyering
f8822b3232 *** empty log message *** 2003-12-08 08:36:20 +00:00
Jim Meyering
a010053815 (INODE_DIGITS, LOGIN_NAME_MAX, ID_LENGTH_MAX): Remove.
(format_user_width, format_group_width, unsigned_file_size,
format_group): New functions.
(block_size_width): Renamed from block_size_size.
(inode_number_width, nlink_width, owner_width, group_width,
author_width, major_device_number_width, minor_device_number_width,
file_size_width): New vars.
(clear_files): Initialize them.
(gobble_file): Set them.  Don't ceiling block_size_width to 7.
(print_long_file): Use them.
(gobble_file): Use a new local variable 'f' to make the code
smaller and more consistent with other functions.
(format_user): Output to stdout, not to a buffer, so that we
don't have to worry about buffer overrun.  Update dired_pos.
(print_long_file): Don't put owner, group, author into buffer;
just print them directly.  Don't assume link counts and
major and minor numbers fit into unsigned long int.
From Paul Eggert.
2003-12-08 08:34:40 +00:00
Jim Meyering
8a0f4de82a . 2003-12-03 10:32:34 +00:00
Jim Meyering
8954da8514 *** empty log message *** 2003-12-03 10:31:55 +00:00
Jim Meyering
a146b69be1 . 2003-12-03 10:31:37 +00:00
Jim Meyering
554a8298c9 *** empty log message *** 2003-12-03 10:28:45 +00:00
Jim Meyering
54594d2b21 (getgroups): xmalloc takes one argument, not two. 2003-12-03 10:28:39 +00:00
Jim Meyering
d82b470324 *** empty log message *** 2003-12-02 10:06:55 +00:00
Jim Meyering
5c72eac595 Include sha1.h (reflect renaming: sha.h -> sha1.h. 2003-12-02 10:06:36 +00:00
Jim Meyering
442c5295fc . 2003-12-02 09:30:35 +00:00
Jim Meyering
c0efef3c7f *** empty log message *** 2003-12-02 09:08:27 +00:00
Jim Meyering
4797f7f440 Use SHA1_H, not _SHA_H in #ifndef condition. 2003-12-02 09:08:16 +00:00
Jim Meyering
5dd50e5eb3 . 2003-12-02 09:06:54 +00:00
Jim Meyering
83e15c483a renamed to sha1.h 2003-12-02 09:06:24 +00:00
Jim Meyering
51f4a36e98 renamed to sha1.c 2003-12-02 09:06:18 +00:00
Jim Meyering
aec463c0f3 File renamed from sha.h. 2003-12-02 09:05:50 +00:00
Jim Meyering
a87fa9b8c3 File renamed from sha.c.
Include sha1.h, not sha.h.
2003-12-02 09:05:40 +00:00
Jim Meyering
e806d25647 Reflect sha -> sha1 renaming. 2003-12-02 08:59:47 +00:00
Jim Meyering
1491869c38 . 2003-12-02 08:57:48 +00:00
Jim Meyering
6a58c5e0e0 Add FSF Copyright. 2003-12-02 08:57:39 +00:00
Jim Meyering
52a18b9571 *** empty log message *** 2003-12-02 08:55:36 +00:00
Jim Meyering
6a434077b8 Correct stale references to MD5 and `16 bytes'.
Patch by Ulrich Drepper.

Add FSF Copyright.  Remove reference to Scott Miller,
since this file is now nearly identical to md5.h.
2003-12-02 08:55:30 +00:00
Jim Meyering
5582bf3995 *** empty log message *** 2003-12-02 08:24:38 +00:00
Jim Meyering
72bcce966c (rol) [__GNUC__ && __i386__]: Don't use `asm' code. These
days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
2003-12-02 08:24:31 +00:00
Jim Meyering
29715e4653 *** empty log message *** 2003-11-29 12:02:53 +00:00
Jim Meyering
71109d9261 Include "xalloc.h", for decl of xstrdup. 2003-11-29 12:01:51 +00:00
Jim Meyering
48b933cbd2 *** empty log message *** 2003-11-29 11:58:59 +00:00
Jim Meyering
b91ac83e67 (c_strtod): Save and restore original LC_NUMERIC setting,
in case it was different from the environment-derived value.
Patch by Paul Eggert.
2003-11-29 11:55:52 +00:00
Jim Meyering
a9c4ddaaa8 *** empty log message *** 2003-11-27 09:43:33 +00:00
Jim Meyering
e61017bc19 . 2003-11-27 09:42:50 +00:00
Jim Meyering
1c420821c7 Remove new temp file, h-$i. 2003-11-27 08:45:01 +00:00
Jim Meyering
a466769fb8 (syntax-check-rules): Remove sc_xalloc_h_in_src from here, too. 2003-11-27 08:29:03 +00:00
Jim Meyering
0238dfc265 *** empty log message *** 2003-11-27 08:26:04 +00:00
Jim Meyering
3eb6afeaa6 *** empty log message *** 2003-11-27 08:18:45 +00:00
Jim Meyering
f548cf59b9 *** empty log message *** 2003-11-27 08:17:47 +00:00
Jim Meyering
229022b220 Include "c-strtod.h".
(parse_options): Update xstrtod call to include new argument, c_strtod.
2003-11-27 08:17:35 +00:00
Jim Meyering
6b18b46eae Include "c-strtod.h".
(main): Update xstrtod call to include new argument, c_strtod.
2003-11-27 08:16:38 +00:00
Jim Meyering
355848c4c8 Include "c-strtod.h".
(scan_double_arg): Update xstrtod call to include new argument, c_strtod.
2003-11-27 08:14:39 +00:00
Jim Meyering
f2701c5758 Remove decls of strtod, strtol, strtoul; no longer
needed now that we assume C89.  Include "c-strtod.h".
(xstrtod): Call c_strtod, not strtod.
2003-11-27 08:02:18 +00:00
Jim Meyering
2a2f3217c6 . 2003-11-27 08:00:12 +00:00
Jim Meyering
fea15ed751 Tweak mark-up to use @env, not @code in a few places.
Mark new use of LC_NUMERIC.
2003-11-27 07:58:32 +00:00
Jim Meyering
c86e7b4b51 *** empty log message *** 2003-11-27 07:52:48 +00:00
Jim Meyering
c7ba991a1d Parse floating-point operands and options in the C locale.
POSIX requires this for printf, and we might as well be
consistent elsewhere (tail, sleep, seq).

(tail invocation, printf invocation,
sleep invocation, seq invocation): Document this.
2003-11-27 07:52:45 +00:00
Jim Meyering
6c6a0b1943 . 2003-11-27 07:48:35 +00:00
Jim Meyering
c0f0a326af (xstrtod): Accept an extra arg, specifying the conversion function.
Don't include stdlib.h; no longer needed.
2003-11-27 07:48:21 +00:00
Jim Meyering
05c5b74a05 (xstrtod): Accept an extra arg, specifying the conversion function. 2003-11-27 07:47:22 +00:00
Jim Meyering
ab5dba9e1b new files, from Paul Eggert 2003-11-27 07:46:01 +00:00
Jim Meyering
5564a80c71 (libfetish_a_SOURCES): Add c-strtod.c, c-strtod.h. 2003-11-27 07:43:11 +00:00
Jim Meyering
955a2340ea Don't include xstrtod.h; it's not needed. 2003-11-27 07:42:03 +00:00
Jim Meyering
8580fa2908 (Traversing symlinks): Rearrange things.
(chown invocation): Add xrefs to `Traversing symlinks' for -H, -P, -L.
(chgrp invocation): Likewise.
2003-11-26 11:21:28 +00:00
Jim Meyering
a69915d6a4 *** empty log message *** 2003-11-24 10:58:20 +00:00
Jim Meyering
1915bbbed5 (Traversing symlinks, Treating / specially): New sections.
(rm invocation, chown invocation, chmod invocation, chgrp invocation):
Describe new options, --preserve-root and --no-preserve-root.
2003-11-24 10:58:08 +00:00
Jim Meyering
af6317dab1 sync with version from autoconf 2003-11-24 09:07:34 +00:00
Jim Meyering
f330854bee *** empty log message *** 2003-11-24 08:06:04 +00:00
Jim Meyering
b247044a91 Handle another errno variant (HPUX, EPERM). 2003-11-24 08:05:25 +00:00
Jim Meyering
4153ac3146 *** empty log message *** 2003-11-24 08:05:02 +00:00
Jim Meyering
f40b756c79 upgrade to automake-1.7d 2003-11-24 08:01:57 +00:00
Jim Meyering
19d21ca60c *** empty log message *** 2003-11-22 15:10:22 +00:00
Jim Meyering
24b62f6752 (x2nrealloc_inline): Fix typos in comments: s/size/size_t/. 2003-11-22 15:08:19 +00:00
Jim Meyering
199c506234 *** empty log message *** 2003-11-22 14:34:12 +00:00
Jim Meyering
2fbb2827d9 *** empty log message *** 2003-11-22 14:34:04 +00:00
Jim Meyering
c278080994 (sc_xalloc_h_in_src): Remove rule. Subsumed by...
(sc_system_h_headers): Do this test only if sys2.h exists.
2003-11-22 14:33:57 +00:00
Jim Meyering
6e5ea00388 . 2003-11-21 13:42:54 +00:00
Jim Meyering
27e2534744 *** empty log message *** 2003-11-21 08:21:28 +00:00
Jim Meyering
d23aea4a1e (xreadlink): Correct outdated comment. 2003-11-21 08:21:23 +00:00
Jim Meyering
f5a0858343 *** empty log message *** 2003-11-20 08:08:36 +00:00
Jim Meyering
3831de1f4c Ensure that the bug-reporting address is
included in the --help output for every program.
2003-11-20 08:08:24 +00:00
Jim Meyering
e2fac76db9 (TESTS_ENVIRONMENT): Add $PACKAGE_BUGREPORT. 2003-11-20 08:03:50 +00:00
Jim Meyering
c23bbe0a56 *** empty log message *** 2003-11-20 07:57:33 +00:00
Jim Meyering
7433abe1fb (usage): Output bug-reporting address. 2003-11-20 07:57:24 +00:00
Jim Meyering
91c7bb89a1 (usage): Mention that FILE1 and FILE2 must be sorted
on the join fields.  Suggestion from Bruce Robertson.
2003-11-19 23:04:20 +00:00
Jim Meyering
5c061f19a5 *** empty log message *** 2003-11-19 07:27:07 +00:00
Jim Meyering
b42d96fa5b *** empty log message *** 2003-11-19 07:26:35 +00:00
Jim Meyering
012f5ec3d2 *** empty log message *** 2003-11-18 16:18:35 +00:00
Jim Meyering
b6a6ea9069 *** empty log message *** 2003-11-18 16:18:25 +00:00
Jim Meyering
02fbbc8ea2 `od -c -w9999999' could segfault
(dump): Use xnmalloc/free, not alloca.
2003-11-18 16:17:00 +00:00
Jim Meyering
7c062d9fee *** empty log message *** 2003-11-18 11:37:35 +00:00
Jim Meyering
d0b5b3bc37 *** empty log message *** 2003-11-18 10:06:19 +00:00
Jim Meyering
3b5a75ec1d . 2003-11-17 16:13:56 +00:00
Jim Meyering
6e1dba89f1 . 2003-11-17 16:13:32 +00:00
Jim Meyering
1d37840643 *** empty log message *** 2003-11-17 16:13:08 +00:00
Jim Meyering
476ff1e623 On systems without utime and without a utimes function capable of
dealing with a NULL struct utimbuf* argument, this utime replacement
could -- in unusual circumstances -- leak a file descriptor.

Include <unistd.h> and <errno.h>.
(utime_null): Be sure to close `fd' and to preserve errno.
2003-11-17 16:13:04 +00:00
Jim Meyering
e81926abd0 *** empty log message *** 2003-11-17 13:46:34 +00:00
Jim Meyering
5c2e6471fc *** empty log message *** 2003-11-16 21:12:56 +00:00
Jim Meyering
013733b29b *** empty log message *** 2003-11-16 21:12:47 +00:00
Jim Meyering
1ee73006ed . 2003-11-16 18:14:45 +00:00
Jim Meyering
ff451c096d *** empty log message *** 2003-11-16 14:13:13 +00:00
Jim Meyering
dda570a8bd *** empty log message *** 2003-11-16 14:12:04 +00:00
Jim Meyering
dcee303385 Minor tweak: use mkdir -p. 2003-11-16 14:11:59 +00:00
Jim Meyering
b735f5b5b5 . 2003-11-16 14:02:03 +00:00
Jim Meyering
1f4ee4073c *** empty log message *** 2003-11-16 12:26:02 +00:00
Jim Meyering
51ab3265f8 Fix read-from-free'd-buffer error detected by valgrind.
(remove_line): Don't return a pointer to data in
a freed buffer.  Instead, arrange to free the buffer on the
subsequent call.
2003-11-16 12:25:35 +00:00
Jim Meyering
8560d7254b Add test to detect this.
This would fail due to reading from freed buffer with coreutils-5.0.91.
2003-11-16 11:52:08 +00:00
Jim Meyering
26c47da032 *** empty log message *** 2003-11-13 07:45:25 +00:00
Jim Meyering
7128acc4c2 Update from gnulib. 2003-11-13 07:45:20 +00:00
Jim Meyering
7559925e7e Update from gnulib. 2003-11-13 07:45:00 +00:00
Jim Meyering
9bdd30ba17 (extract_dirs_from_files): Avoid useless copy operations.
This avoids a warning valgrind about memcpy with overlapping
source and destination.
2003-11-12 09:23:03 +00:00
Jim Meyering
b15ebcd4a7 *** empty log message *** 2003-11-11 12:42:09 +00:00
Jim Meyering
35fcd6024f (@chownchgrpoptions): add index entry for this. 2003-11-11 12:42:02 +00:00
Jim Meyering
b24c54e8ee (chown invocation) [chownchgrpoptions]: New macro
describing -H, -L, -P options.  Use it here.
(chgrp invocation): And here.
2003-11-11 12:38:07 +00:00
Jim Meyering
dd994a63c3 Require automake-1.7.8. 2003-11-11 12:35:49 +00:00
Jim Meyering
056c6ad1aa no longer used -- replaced by fts*.[ch] 2003-11-11 12:21:38 +00:00
Jim Meyering
2a12811f21 *** empty log message *** 2003-11-11 12:21:12 +00:00
Jim Meyering
98a4c708d5 update from gnulib 2003-11-11 07:13:26 +00:00
Jim Meyering
c6e903bd69 *** empty log message *** 2003-11-11 07:07:00 +00:00
Jim Meyering
e6c342016d Update from gnulib. 2003-11-11 07:06:53 +00:00
Jim Meyering
f4f47f1bca *** empty log message *** 2003-11-09 21:19:43 +00:00
Jim Meyering
5ce5b23f26 . 2003-11-09 21:19:18 +00:00
Jim Meyering
1130a40962 *** empty log message *** 2003-11-09 21:18:35 +00:00
Jim Meyering
3bd82a1260 *** empty log message *** 2003-11-09 21:16:27 +00:00
Jim Meyering
97cac0c9ae (libfetish_a_SOURCES): Add root-dev-ino.c root-dev-ino.h. 2003-11-09 21:16:01 +00:00
Jim Meyering
5adb3084c7 *** empty log message *** 2003-11-09 21:15:19 +00:00
Jim Meyering
cb3632e2b1 Add lib/root-dev-ino.h. 2003-11-09 21:15:16 +00:00
Jim Meyering
51d9df3a2e Include <sys/types.h> and <sys/stat.h>. 2003-11-09 21:10:55 +00:00
Jim Meyering
46e5242253 *** empty log message *** 2003-11-09 21:10:15 +00:00
Jim Meyering
423c09438e Support new options: --preserve-root and --no-preserve-root. 2003-11-09 21:10:11 +00:00
Jim Meyering
34e3ea0557 Support new options: --preserve-root and --no-preserve-root. 2003-11-09 21:09:27 +00:00
Jim Meyering
c2c165a173 Include "root-dev-ino.h".
(chopt_init): Initialize new member.
(change_file_owner): Support rm's new --preserve-root option.
2003-11-09 21:07:31 +00:00
Jim Meyering
70698e5bc7 Include "root-dev-ino.h".
(remove_cwd_entries): Remove now-obsolete FIXME comment.
(remove_dir): Support rm's new --preserve-root option.
2003-11-09 21:06:16 +00:00
Jim Meyering
b23e990800 (usage): Describe new options. 2003-11-09 21:04:20 +00:00
Jim Meyering
567bfed936 (usage): Describe new options. 2003-11-09 21:03:57 +00:00
Jim Meyering
c3a7cbe225 Include "root-dev-ino.h".
(process_file): Use newly-factored-out ROOT_DEV_INO_CHECK and
ROOT_DEV_INO_WARN macros.
(get_root_dev_ino): Remove function definition, now that it's
been moved to a separate file.
2003-11-09 20:53:21 +00:00
Jim Meyering
e172def2ec Initialized new member. 2003-11-09 20:50:37 +00:00
Jim Meyering
7c1e749471 . 2003-11-09 20:49:58 +00:00
Jim Meyering
237a5c2571 Include "dev-ino.h".
(struct rm_options): Add new member: root_dev_ino.
2003-11-09 20:47:54 +00:00
Jim Meyering
7cebcfb565 Include "dev-ino.h".
(struct Chown_option): Add new member: root_dev_ino.
2003-11-09 20:47:15 +00:00
Jim Meyering
94c645d1cf . 2003-11-09 20:16:31 +00:00
Jim Meyering
19376dd257 (dd invocation): Fix typo in example. 2003-11-09 07:21:47 +00:00
Jim Meyering
dcbd92dce7 *** empty log message *** 2003-11-08 13:26:25 +00:00
Jim Meyering
03dc7e0b83 Sync from gnulib (this file was previously empty,
to work around some sort of problem).
2003-11-08 13:26:21 +00:00
Jim Meyering
6fbebdd811 . 2003-11-08 13:25:10 +00:00
Jim Meyering
11ff1a5380 *** empty log message *** 2003-11-08 13:24:18 +00:00
Jim Meyering
a70f678c69 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
value, $ac_cv_search_nanosleep, if it's "none required".
2003-11-08 13:24:12 +00:00
Jim Meyering
b29cc48feb *** empty log message *** 2003-11-07 10:42:40 +00:00
Jim Meyering
642478a27f *** empty log message *** 2003-11-06 10:02:27 +00:00
Jim Meyering
1223022f76 whoops. One more. 2003-11-06 10:01:06 +00:00
Jim Meyering
85011d8cd5 (paste_parallel): Use sizeof *var' rather than hard-coding sizeof FILE*'. 2003-11-06 09:54:28 +00:00
Jim Meyering
5e97cd934e *** empty log message *** 2003-11-06 09:36:50 +00:00
Jim Meyering
1c8fcb100e *** empty log message *** 2003-11-06 09:32:25 +00:00
Jim Meyering
f114052f13 *** empty log message *** 2003-11-06 09:28:45 +00:00
Jim Meyering
ac5d4cb798 (who): Free `utmp_buf' so there is no confusion about
whether it's leaked or not.
2003-11-06 09:28:40 +00:00
Jim Meyering
a5aaf05fbf (main): Free `fstatus' so there is no confusion about
whether it's leaked or not.
2003-11-06 09:28:13 +00:00
Jim Meyering
c1f33f59f5 Fix 'cut' problems with size_t overflow and unsigned int.
More generally, resize integer variables to fit use more precisely.

(ADD_RANGE_PAIR): Remove unnecessary parens.
(struct range_pair): Make members to be of type size_t, not unsigned.
(max_range_endpoint, eol_range_start): Now size_t, not unsigned.
(suppress_non_delimited, output_delimiter_specified,
have_read_stdin, print_kth, set_fields): Now bool, nt int.
(delim): Now unsigned char, not int.
(mark_printable_field, is_printable_field, is_range_start_index,
set_fields, set_fields, cut_bytes, cut_fields):
Use size_t, not unsigned, for field and byte counts.
(hash_int): Use uintptr_t, not unsigned, for pointers converted
to integers.  This squeezes more info out of them.
(set_fields, cut_bytes, cut_fields, main):
Use bool, not int, for booleans.
(set_fields): Allocate zeroed byte array with xzalloc, not xcalloc.
2003-11-06 08:37:55 +00:00
Jim Meyering
da13dd4431 *** empty log message *** 2003-11-06 08:37:17 +00:00
Jim Meyering
5b2ca52688 *** empty log message *** 2003-11-06 08:37:13 +00:00
Jim Meyering
32cc366160 (jm_CHECK_ALL_TYPES): Check for uintptr_t. 2003-11-06 08:37:09 +00:00
Jim Meyering
9c99c1247a . 2003-11-06 08:06:58 +00:00
Jim Meyering
d3d81daf32 *** empty log message *** 2003-11-06 08:03:33 +00:00
Jim Meyering
9bc557bf88 (check-programs-vs-x):
Work even if $(programs) contains '$'.
Work even if 'missing=1' in environment.
Don't report an error simply because $(programs) outputs nothing.
2003-11-06 08:03:27 +00:00
Jim Meyering
9e4ee6ce82 New file. From gnulib. 2003-11-06 06:08:07 +00:00
Jim Meyering
79879e13f0 *** empty log message *** 2003-11-06 06:07:44 +00:00
Jim Meyering
16e4df0708 (jm_MACROS): Require gl_FUNC_FREE. 2003-11-05 22:47:44 +00:00
Jim Meyering
2397cca268 *** empty log message *** 2003-11-05 22:47:37 +00:00
Jim Meyering
77697dc798 Update from gnulib. 2003-11-05 21:56:05 +00:00
Jim Meyering
62105db3d6 Update from gnulib. 2003-11-05 21:47:00 +00:00
Jim Meyering
30a2df0376 *** empty log message *** 2003-11-05 21:44:14 +00:00
Jim Meyering
426dc6dad7 (jm_MACROS): Require autoconf-2.58.
(AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
2003-11-05 21:44:10 +00:00
Jim Meyering
ea276c1b60 *** empty log message *** 2003-11-05 21:42:49 +00:00
Jim Meyering
d87b612132 . 2003-11-05 14:55:33 +00:00
Jim Meyering
d675fc09bd *** empty log message *** 2003-11-05 03:55:48 +00:00
Jim Meyering
e3158db155 *** empty log message *** 2003-11-05 03:53:25 +00:00
Jim Meyering
df81ab2911 Cast NULL to `(char *)' in call to variadic function,
parse_long_options, so that it works even on systems for which
sizeof char* != sizeof int.
2003-11-05 03:53:19 +00:00
Jim Meyering
25e8fe4172 *** empty log message *** 2003-11-05 03:49:44 +00:00
Jim Meyering
bea0f02fc7 (spec_init): Fix typo in last change. 2003-11-05 03:49:29 +00:00
Jim Meyering
e809d156e9 (main): Cast NULL to `(char *)' in
call to variadic version_etc function, so that it works even on systems
for which sizeof char* != sizeof int.
2003-11-05 03:43:30 +00:00
Jim Meyering
6e2c46ce47 (case_GETOPT_VERSION_CHAR): Cast NULL to `(char *)' in
call to variadic version_etc function, so that it works even on systems
for which sizeof char* != sizeof int.
2003-11-05 03:43:22 +00:00
Jim Meyering
b05cf2dee5 *** empty log message *** 2003-11-05 03:34:15 +00:00
Jim Meyering
875086bc91 Document _POSIX2_VERSION. 2003-11-05 03:34:09 +00:00
Jim Meyering
d324de53cb *** empty log message *** 2003-11-05 03:19:14 +00:00
Jim Meyering
0a9816d8ba (users): Free `utmp_buf' explicitly so that people
don't mistake this for a real leak.
2003-11-05 03:15:21 +00:00
Jim Meyering
f920b8b66e *** empty log message *** 2003-11-05 03:14:28 +00:00
Jim Meyering
4f081364fb . 2003-11-04 14:42:54 +00:00
Jim Meyering
0dd12bdc03 *** empty log message *** 2003-11-04 14:42:09 +00:00
Jim Meyering
62236f25e8 (ADD_FIELD, initseq, getseq): Use x2nrealloc rather than xrealloc. 2003-11-04 14:42:05 +00:00
Jim Meyering
6228ff86bd (fold_file): Use x2nrealloc rather than xrealloc. 2003-11-04 10:27:24 +00:00
Jim Meyering
dfed7d19ac (store_char): Use x2nrealloc rather than xrealloc. 2003-11-04 09:32:16 +00:00
Jim Meyering
bf4248b344 (memrchr): Remove #if-0'd function.
(tac_stdin_to_mem): Clean up #if-0'd code.
2003-11-04 09:31:08 +00:00
Jim Meyering
5506fdeffd (new_key): Use xzalloc, not xcalloc. 2003-11-04 09:28:28 +00:00
Jim Meyering
e1c6989ecf (show_date): Use x2nrealloc rather than xrealloc. 2003-11-04 09:27:54 +00:00
Jim Meyering
eab4bc5278 (decode_format_string): Remove unnecessary casts.
Use more maintainable `sizeof *var'.
(main): Call decode_format_string rather than decode_one_format,
now that `spec' may be NULL.
2003-11-04 09:27:19 +00:00
Jim Meyering
59436e7b92 (decode_format_string, dump_strings): Use x2nrealloc rather than xrealloc. 2003-11-04 06:32:51 +00:00
Jim Meyering
6ffc95a9e3 (ADD_RANGE_PAIR): Use x2nrealloc rather than xrealloc,
to avoid potential overflow in pointer arithmetic.
(set_fields): Use not `1', but rather `sizeof *printable_field' as
second argument to xcalloc.
2003-11-04 06:28:01 +00:00
Jim Meyering
26809f0450 (next_file_name): Use `sizeof *var' rather than
hard-coding `sizeof size_t'.
2003-11-04 06:25:45 +00:00
Jim Meyering
11e97f430c (AUTHORS): Add my name. 2003-11-04 06:21:03 +00:00
Jim Meyering
45240f2481 (main): Use sizeof *var' rather than sizeof EXPLICIT_TYPE'.
The former is more maintainable and usually shorter.
2003-11-04 06:13:55 +00:00
Jim Meyering
d63bdf9a4d (initseq, add_field, make_blank): Use `sizeof *var' rather
than `sizeof EXPLICIT_TYPE'.
The former is more maintainable and usually shorter.
2003-11-04 06:07:01 +00:00
Jim Meyering
62e944695c *** empty log message *** 2003-11-03 16:11:14 +00:00
Jim Meyering
88d5e8e8f1 (TESTS_ENVIRONMENT): Define PACKAGE_VERSION. 2003-11-03 16:11:06 +00:00
Jim Meyering
30543245a1 Fail the test immediately if we're not running
the expected version of fold.
2003-11-03 16:10:58 +00:00
Jim Meyering
8994346d65 . 2003-11-03 15:08:50 +00:00
Jim Meyering
50dc32eafe wrap long copyright line 2003-11-03 14:57:41 +00:00
Jim Meyering
72896c44d5 . 2003-11-03 12:42:58 +00:00
Jim Meyering
a80f1ede42 *** empty log message *** 2003-11-02 20:39:40 +00:00
Jim Meyering
9c76808b89 (alloc_and_compile_regex, main): Use `sizeof *var' rather
than `sizeof EXPLICIT_TYPE'.
The former is more maintainable and usually shorter.
2003-11-02 20:39:26 +00:00
Jim Meyering
0abb38e587 (new_item, record_relation): Use `sizeof *var' rather
than `sizeof EXPLICIT_TYPE'.
The former is more maintainable and usually shorter.
2003-11-02 20:24:14 +00:00
Jim Meyering
55760c106b (add_fs_type, add_excluded_fs_type, main): Use `sizeof *var' rather
than `sizeof EXPLICIT_TYPE'.
The former is more maintainable and usually shorter.
(main): Also remove anachronistic cast of xmalloc return value.
2003-11-02 20:22:54 +00:00
Jim Meyering
e5dda0ab93 (make_path_private): Use sizeof *var' rather than sizeof EXPLICIT_TYPE'.
The former is more maintainable and usually shorter.
2003-11-02 20:17:46 +00:00
Jim Meyering
4265d0095e (copy_internal): Use sizeof *var' rather than sizeof EXPLICIT_TYPE'.
The former is more maintainable and usually shorter.
2003-11-02 20:17:04 +00:00
Jim Meyering
08fd60e693 (inittables): Use sizeof *var' rather than sizeof EXPLICIT_TYPE'.
The former is more maintainable and usually shorter.
(sort): Split a long line.
2003-11-02 20:16:19 +00:00
Jim Meyering
9ecbfc3886 *** empty log message *** 2003-11-02 19:54:01 +00:00
Jim Meyering
108be09181 (append_normal_char, append_range, append_char_class)
(append_repeated_char, append_equiv_class, spec_init): Use more maintainable
and usually-shorter `sizeof *var' rather than `sizeof EXPLICIT_TYPE'.
2003-11-02 19:50:48 +00:00
Jim Meyering
fdc7d5bdd7 *** empty log message *** 2003-11-01 08:54:59 +00:00
Jim Meyering
ec3a9002ce (SIZE_MAX): Define if not defined already.
(read_filesystem_list): Set and use me_type_malloced.
Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
whatever the type happens to be), for brevity and consistency.
Check for size calculation overflow on Alphas running OSF/1.
2003-11-01 08:54:54 +00:00
Jim Meyering
fed2b79e89 (struct mount_entry.me_type_malloced): New member. 2003-11-01 08:54:35 +00:00
Jim Meyering
95ce7b860a *** empty log message *** 2003-10-31 14:07:10 +00:00
Jim Meyering
284c516cb1 *** empty log message *** 2003-10-31 14:06:04 +00:00
Jim Meyering
4fd41898ae Include "xalloc.h". 2003-10-31 14:05:55 +00:00
Jim Meyering
27acea311d *** empty log message *** 2003-10-31 14:04:40 +00:00
Jim Meyering
f7f606641f Update from gnulib. 2003-10-31 14:00:18 +00:00
Jim Meyering
7291dc2b9d *** empty log message *** 2003-10-31 13:50:17 +00:00
Jim Meyering
ec31c91ef8 Include <string.h> for declaration of memset. 2003-10-31 13:50:11 +00:00
Jim Meyering
e92d6b0c4b *** empty log message *** 2003-10-31 13:48:19 +00:00
Jim Meyering
328a409b21 Update from gnulib. 2003-10-31 13:48:07 +00:00
Jim Meyering
d0f832a512 *** empty log message *** 2003-10-31 13:47:27 +00:00
Jim Meyering
87e53abf55 Update from gnulib. 2003-10-31 13:47:11 +00:00
Jim Meyering
2f7002a28f *** empty log message *** 2003-10-31 13:46:37 +00:00
Jim Meyering
946bb954db Update from gnulib. 2003-10-31 13:46:26 +00:00
Jim Meyering
58ccaaf6f5 *** empty log message *** 2003-10-31 13:44:41 +00:00
Jim Meyering
1d5daf4d88 Update from gnulib. 2003-10-31 13:44:24 +00:00
Jim Meyering
e3f195ba3c Update from gnulib. 2003-10-31 13:43:55 +00:00
Jim Meyering
1ddab8a09e Update from gnulib. 2003-10-31 13:42:15 +00:00
Jim Meyering
6a9591f5b8 Update from gnulib. 2003-10-31 13:41:44 +00:00
Jim Meyering
4fc19cfd41 from gnulib -- merely increment serial number 2003-10-31 13:41:08 +00:00
Jim Meyering
fdeec6de0b Update from gnulib. 2003-10-31 13:39:58 +00:00
Jim Meyering
83967b1ad0 *** empty log message *** 2003-10-25 15:34:12 +00:00
Jim Meyering
fc80caecd8 (triple_hash, triple_hash_no_name): Adjust to reflect
type changes (unsigned int -> size_t) in hash.c.
2003-10-25 15:34:01 +00:00
Jim Meyering
0a875d3d7b (src_to_dest_hash): Adjust to reflect
type changes (unsigned int -> size_t) in hash.c.
2003-10-25 15:33:43 +00:00
Jim Meyering
24a7d395e3 (hash_int): Adjust to reflect
type changes (unsigned int -> size_t) in hash.c.
2003-10-25 15:33:28 +00:00
Jim Meyering
c965791d3e (entry_hash): Adjust to reflect
type changes (unsigned int -> size_t) in hash.c.
2003-10-25 15:33:05 +00:00
Jim Meyering
b2c8266f8b (dev_ino_hash): Adjust to reflect
type changes (unsigned int -> size_t) in hash.c.
2003-10-25 15:32:07 +00:00
Jim Meyering
7795d5d04a *** empty log message *** 2003-10-25 15:31:02 +00:00
Jim Meyering
bd67ac6ff2 Update from gnulib. 2003-10-25 15:29:56 +00:00
Jim Meyering
fdb31735a2 *** empty log message *** 2003-10-25 15:28:42 +00:00
Jim Meyering
d34b02aa12 Update from gnulib, plus filter through cppi. 2003-10-25 15:28:09 +00:00
Jim Meyering
dc3b769bd7 Update from gnulib. 2003-10-25 15:27:19 +00:00
Jim Meyering
970d5f60e9 *** empty log message *** 2003-10-25 15:24:12 +00:00
Jim Meyering
7cc1940663 Include <features.h> only if _LIBC.
[!_LIBC]: Define-away __THROW, __BEGIN_DECLS, __END_DECLS.
2003-10-25 15:24:07 +00:00
Jim Meyering
6dfffb70f2 *** empty log message *** 2003-10-21 16:07:51 +00:00
Jim Meyering
7e9a874be6 Don't fail when run with VERBOSE=yes.
Do `set +x' before starting the subshell
from which we invoke chgrp.  Otherwise, the output from the
VERBOSE=yes-induced `set -x' would result in spurious differences.
2003-10-21 16:07:47 +00:00
Jim Meyering
71453277f0 *** empty log message *** 2003-10-20 08:59:16 +00:00
Jim Meyering
d684ca2db8 . 2003-10-19 20:59:11 +00:00
Jim Meyering
fd1e5aba83 (vasnprintf): Work around losing snprintf on e.g. HPUX 10.20. 2003-10-19 20:59:02 +00:00
Jim Meyering
14dd23ac24 tweak diagnostic 2003-10-19 19:11:00 +00:00
Jim Meyering
b620493440 *** empty log message *** 2003-10-19 19:04:41 +00:00
Jim Meyering
2a02dcc817 *** empty log message *** 2003-10-19 18:54:48 +00:00
Jim Meyering
547eb80ef4 *** empty log message *** 2003-10-19 18:54:16 +00:00
Jim Meyering
96a5d2ce6a chmod now uses fts to perform a directory traversal when -R is
specified.  Before, it operated on full path names, and as such
would encounter the PATH_MAX (often 4096) limit.

Include "xfts.h".
(process_file): Rename from change_file_mode.
Adapt to be used with fts.
(process_files): New function.
2003-10-19 18:54:10 +00:00
Jim Meyering
ab91539398 *** empty log message *** 2003-10-18 13:09:51 +00:00
Jim Meyering
5e54e08bbf Ensure that du -D now dereferences all
symlinks specified on the command line, not just those that
reference directories.
2003-10-18 13:09:45 +00:00
Jim Meyering
672f1510e1 . 2003-10-18 10:10:50 +00:00
Jim Meyering
9ee57109a7 *** empty log message *** 2003-10-18 10:07:07 +00:00
Jim Meyering
cf4fdf373f Most .c files (AUTHORS): Revert the WRITTEN_BY/AUTHORS change
of 2003-09-19.  Now, AUTHORS is a comma-separated list of strings.
Update the call to parse_long_options so that `AUTHORS, NULL' are the
last parameters.

* src/true.c (main): Append NULL to version_etc argument list.
* src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise.
2003-10-18 10:05:47 +00:00
Jim Meyering
f81b126bd4 . 2003-10-18 10:05:08 +00:00
Jim Meyering
0cecd156c6 tweak diagnostic to match actual output 2003-10-18 08:41:56 +00:00
Jim Meyering
1356245302 *** empty log message *** 2003-10-18 08:11:26 +00:00
Jim Meyering
33924e7306 (parse_long_options): Change prototype: the authors
string is moved to the end and becomes variadic.
2003-10-18 08:11:19 +00:00
Jim Meyering
cb822ba93f Include stdarg.h.
(parse_long_options): Make this function variadic, too.
Call version_etc_va, not version_etc.
2003-10-18 08:11:09 +00:00
Jim Meyering
79b9e74be5 Include stdarg.h, stdlib.h.
(version_etc_copyright): Declare as readonly.
(version_etc_va): New function. Provide a different translatable string
for each possible number of authors < 10. Abbreviate when there are 10
authors or more.
(version_etc): Make this function variadic. Call version_etc_va.
2003-10-18 08:10:55 +00:00
Jim Meyering
ff6e8b8078 Include stdarg.h.
(version_etc_copyright): Declare as readonly.
(version_etc): Make this function variadic with a NULL-terminated list
of author name strings.
(version_etc_va): New declaration.
2003-10-18 08:10:31 +00:00
Jim Meyering
09a7735220 regenerate 2003-10-18 06:41:17 +00:00
Jim Meyering
9b9034eb18 . 2003-10-18 06:40:58 +00:00
Jim Meyering
75f251613a *** empty log message *** 2003-10-18 06:40:32 +00:00
Jim Meyering
be73fb7200 ($(srcdir)/$x-tests): Pass $(srcdir) as first argument of mk-script.
($(srcdir)/Makefile.am): Likewise.  Prepend $(srcdir) to target.
2003-10-18 06:39:04 +00:00
Jim Meyering
569c3b26a6 Get $srcdir from first parameter instead of hardcoding it.
(main): Update usage.
2003-10-18 06:38:31 +00:00
Jim Meyering
704e1e5554 *** empty log message *** 2003-10-18 05:04:39 +00:00
Jim Meyering
b729765ba0 (usage): Tweak descriptions of -i and -f so that the
generated `man' page is more readable.  Suggestion from Dan Jacobson.
2003-10-18 05:04:29 +00:00
Jim Meyering
46a137de8d . 2003-10-17 13:50:12 +00:00
Jim Meyering
b63578e594 . 2003-10-17 13:49:05 +00:00
Jim Meyering
3d25496085 *** empty log message *** 2003-10-17 13:45:28 +00:00
Jim Meyering
2838e6195e Add lib/xfts.c. 2003-10-17 13:45:25 +00:00
Jim Meyering
f5e3004d53 *** empty log message *** 2003-10-17 13:41:24 +00:00
Jim Meyering
50bb29092d *** empty log message *** 2003-10-17 13:41:11 +00:00
Jim Meyering
84a4aa958f *** empty log message *** 2003-10-17 13:37:31 +00:00
Jim Meyering
0c73b9e2c5 (change_file_owner): Handle the cases in
which fts_info indicates an error with the given entry.
2003-10-17 13:37:23 +00:00
Jim Meyering
ae7d7b4ad4 (main): Simply assign to bit_flags.
Don't bother with bit arithmetic.
2003-10-17 13:34:46 +00:00
Jim Meyering
43c89831d8 . 2003-10-17 13:33:23 +00:00
Jim Meyering
2f28897780 *** empty log message *** 2003-10-17 13:31:36 +00:00
Jim Meyering
0cdca03662 (TESTS): Add no-x. 2003-10-17 13:31:26 +00:00
Jim Meyering
37505e3181 (TESTS): Add no-x. 2003-10-17 13:29:01 +00:00
Jim Meyering
9176a26bd3 *** empty log message *** 2003-10-17 13:28:45 +00:00
Jim Meyering
aac3bf53f9 *** empty log message *** 2003-10-17 11:12:53 +00:00
Jim Meyering
d0557a6294 Include "xfts.h".
(chown_files): Use xfts_open, rather than fts_open.
2003-10-17 11:12:44 +00:00
Jim Meyering
433a4c3059 Include "xfts.h".
(du_files): Use xfts_open, rather than fts_open.
2003-10-17 11:12:11 +00:00
Jim Meyering
a0f90d0290 (libfetish_a_SOURCES): Add xfts.c and xfts.h. 2003-10-17 11:08:42 +00:00
Jim Meyering
5788d8e9b2 tweak comment 2003-10-17 10:50:13 +00:00
Jim Meyering
1bac4198f2 tweak comment 2003-10-17 10:49:38 +00:00
Jim Meyering
689e38ae7c *** empty log message *** 2003-10-17 08:28:26 +00:00
Jim Meyering
777cf19af3 Update from gnulib. 2003-10-17 08:28:13 +00:00
Jim Meyering
48cfcdf501 . 2003-10-17 08:27:35 +00:00
Jim Meyering
e15cff65a2 Update from gnulib. 2003-10-17 08:26:58 +00:00
Jim Meyering
e3985ae055 Update from gnulib. 2003-10-17 08:26:16 +00:00
Jim Meyering
b64c67fd1e . 2003-10-17 06:18:49 +00:00
Jim Meyering
827c0490aa *** empty log message *** 2003-10-16 09:21:15 +00:00
Jim Meyering
165a7852fe *** empty log message *** 2003-10-16 08:23:46 +00:00
Jim Meyering
5b18a21b2d Include <errno.h>, <stdlib.h>.
(getgroups): First arg is int, not size_t.
Don't let 'free' mangle errno.
2003-10-16 08:23:41 +00:00
Jim Meyering
5ee14fea3f *** empty log message *** 2003-10-16 07:58:57 +00:00
Jim Meyering
26f4d67342 Fix indentation, from gnulib. 2003-10-16 07:58:53 +00:00
Jim Meyering
db3888c865 . 2003-10-16 07:56:35 +00:00
Jim Meyering
9a35ea11d4 (main): Simply assign to bit_flags.
Don't bother with bit arithmetic.
Rename a couple of local variables.
Remove unnecessary casts.
2003-10-16 07:56:02 +00:00
Jim Meyering
029d5937c4 (main): Simply assign to bit_flags.
Don't bother with bit arithmetic.
2003-10-16 07:51:57 +00:00
Jim Meyering
7997248101 *** empty log message *** 2003-10-16 07:28:12 +00:00
Jim Meyering
841cfd35c9 (start_bytes): Rename local, remainder, to avoid
gcc's warning about shadowing a global.
2003-10-16 07:28:01 +00:00
Jim Meyering
c8dbed5cca *** empty log message *** 2003-10-16 07:08:47 +00:00
Jim Meyering
3691d6c0aa Include <string.h>, for declarations of memset and memcpy. 2003-10-16 07:07:33 +00:00
Jim Meyering
523b7f35cd Update from gnulib. 2003-10-16 07:05:31 +00:00
Jim Meyering
2a557bab23 *** empty log message *** 2003-10-16 07:05:26 +00:00
Jim Meyering
3fbdbf8f54 (libfetish_a_SOURCES): Add xgethostname.h. 2003-10-16 06:27:37 +00:00
Jim Meyering
72fa414709 Include xgethostname.h. 2003-10-16 06:26:56 +00:00
Jim Meyering
201111c99b (xgethostname): New file, from gnulib. 2003-10-16 06:26:23 +00:00
Jim Meyering
1c5ec523a4 . 2003-10-15 21:47:54 +00:00
Jim Meyering
14481892fe change to 5.1.0 2003-10-15 21:25:37 +00:00
Jim Meyering
7902d68a1b *** empty log message *** 2003-10-15 21:25:20 +00:00
Jim Meyering
f12f5edbad *** empty log message *** 2003-10-15 21:23:53 +00:00
Jim Meyering
aef3dbf2d9 Update tests accordingly. 2003-10-15 21:23:46 +00:00
Jim Meyering
6f5cbd2925 . 2003-10-15 21:22:02 +00:00
Jim Meyering
21ed960c0f . 2003-10-15 21:21:42 +00:00
Jim Meyering
feede2bf33 *** empty log message *** 2003-10-15 21:21:34 +00:00
Jim Meyering
0ebfdf25d1 Include "fts_.h".
(WRITTEN_BY): Add my name.
(MAXUID, MAXGID): Remove definitions.  Use GID_T_MAX instead of
the latter.
(usage): Update.
(main): Handle new options.
Call new function, chown_files rather than change_file_owner.
2003-10-15 21:21:29 +00:00
Jim Meyering
fe9f5bdf77 chown now accepts POSIX-mandated -H, -L, -P options and uses
fts to perform a directory traversal when -R is specified.
Before, it used explicit recursion, and as such was limited by
the user's stack size to handling hierarchies no deeper than
about 30,000 levels.

Include "userspec.h" and "fts_.h".
(WRITTEN_BY): Add my name.
(getpwnam, getgrnam, getgrgid): Remove declarations.
(endpwent): Remove definition.
(usage): Update
(main): Handle new options.
Call new function, chown_files rather than change_file_owner.
2003-10-15 21:16:46 +00:00
Jim Meyering
a2740f057a *** empty log message *** 2003-10-15 14:23:37 +00:00
Jim Meyering
ec118e6018 Include "userspec.h". 2003-10-15 14:23:25 +00:00
Jim Meyering
130378f8c2 *** empty log message *** 2003-10-15 14:22:19 +00:00
Jim Meyering
7b60fac170 (libfetish_a_SOURCES): Add userspec.h. 2003-10-15 14:22:13 +00:00
Jim Meyering
cf04b8d092 *** empty log message *** 2003-10-15 14:21:51 +00:00
Jim Meyering
dcac334f28 [enum Dereference_symlink]: Remove declaration.
[struct Chown_option] (recurse, force_silent): Change type to `bool'.
[struct Chown_option] (dereference): Remove member with ambiguous name.
[struct Chown_option] (affect_symlink_referent): New member.
(chown_files): New prototype.
2003-10-15 13:57:21 +00:00
Jim Meyering
9c81925d00 Rewrite to iterate through hierarchies using fts rather than
via explicit recursion.

Include "fts_.h"
(change_file_owner): Rewrite to use FTS* and FTSENT* and to operate
on a single file at a time.
(chown_files): New function.
2003-10-15 13:56:28 +00:00
Jim Meyering
e50c7e853f *** empty log message *** 2003-10-15 08:39:41 +00:00
Jim Meyering
7d3d2fb075 *** empty log message *** 2003-10-15 07:43:07 +00:00
Jim Meyering
0d3c3801d6 (ln invocation): Note that --directory, -d, -F
probably won't work even for superuser.
2003-10-15 07:43:04 +00:00
Jim Meyering
38f68e78ae (usage): Clarify that --directory, -d, -F probably won't
work even for superuser.  Suggestion from Dan Jacobson.
2003-10-15 07:40:52 +00:00
Jim Meyering
0eab16782d *** empty log message *** 2003-10-15 07:27:00 +00:00
Jim Meyering
c8043fb655 Sync with gnulib. 2003-10-15 07:26:36 +00:00
Jim Meyering
7edceab01c Sync with gnulib. 2003-10-15 07:26:01 +00:00
Jim Meyering
3cb9191034 *** empty log message *** 2003-10-15 07:25:53 +00:00
Jim Meyering
a9825dd2a6 (parse_field_count): Handle the case where overflow
and invalid suffix char are both reported.
2003-10-15 07:24:39 +00:00
Jim Meyering
92f4be12b1 (decode_switches) [TIOCGWINSZ]: Comment out the
warning-inducing test, ws.ws_col <= SIZE_MAX, since it was always
true on Linux.
2003-10-14 20:59:50 +00:00
Jim Meyering
8061cc6dbc *** empty log message *** 2003-10-14 14:55:18 +00:00
Jim Meyering
150d562831 . 2003-10-14 14:44:28 +00:00
Jim Meyering
e5bc5afc7b . 2003-10-14 14:43:59 +00:00
Jim Meyering
91e5e022c6 *** empty log message *** 2003-10-14 14:04:35 +00:00
Jim Meyering
5a3141adaa *** empty log message *** 2003-10-14 13:58:18 +00:00
Jim Meyering
25a26bee10 (TESTS): Add posix-H. 2003-10-14 13:22:32 +00:00
Jim Meyering
1c4bd21e70 add a blank line 2003-10-14 09:34:05 +00:00
Jim Meyering
94531ab4b7 *** empty log message *** 2003-10-14 09:09:47 +00:00
Jim Meyering
d7bed21394 Fix to avoid a denial-of-service attack if the display width is
enormous.  Also, clean up the code a bit by removing duplicate code.

(init_column_info): Remove forward decl; no longer needed.
(calculate_columns): New function, that contains code that used
to be common to print_many_per_line and print_horizontal.
(print_many_per_line, print_horizontal): Use it.
(decode_switches): Set max_idx here, not in calculate_columns.
(print_current_files): Don't call init_column_info; calculate_columns
now does that.
(init_column_info): Don't allocate a lot more space than is needed
to represent the current set of files.  Allocate all the new
size_t cells in one call to xnmalloc, rather than a row at a time.
2003-10-14 09:09:43 +00:00
Jim Meyering
49c9c00c8a *** empty log message *** 2003-10-14 09:04:57 +00:00
Jim Meyering
26afdbc959 *** empty log message *** 2003-10-14 09:04:36 +00:00
Jim Meyering
6f46445e68 *** empty log message *** 2003-10-13 20:50:46 +00:00
Jim Meyering
ae2e1ea1dc (init_column_info): Add another FIXME comment. 2003-10-13 20:50:40 +00:00
Jim Meyering
1b1fc9b9ee *** empty log message *** 2003-10-13 16:02:08 +00:00
Jim Meyering
dbe372ab32 *** empty log message *** 2003-10-13 15:59:11 +00:00
Jim Meyering
12af30108d *** empty log message *** 2003-10-13 15:28:36 +00:00
Jim Meyering
d8cb14e234 Import latest version from gnulib. 2003-10-13 15:28:29 +00:00
Jim Meyering
9255d03f39 *** empty log message *** 2003-10-13 15:27:18 +00:00
Jim Meyering
0e59370bc6 Import latest version from gnulib. 2003-10-13 15:27:11 +00:00
Jim Meyering
ccfc4801cb Import latest version from gnulib. 2003-10-13 15:26:45 +00:00
Jim Meyering
7be8d88dd3 Import latest version from gnulib. 2003-10-13 15:17:05 +00:00
Jim Meyering
a8e60e65f8 (struct bin_str.len, length_of_file_name_and_frills, indent,
nfiles, files_index, tabsize, line_length, struct column_info.line_len,
struct column_info.col_arr[0], max_idx):
Now size_t, not int.
(get_funky_string): Return bool indicating success, instead of
a negative count to indicate failure.  Store number of columns
through new parameter OUTPUT_COUNT; that way, they can never
go negative.  Change equals_end from int to bool.  All uses
changed.
(struct column_info.valid_len): Now bool, not int.  All uses changed.
(dired_dump_obstack, get_funky_string, clear_files,
extract_dirs_from_files, print_current_files,
print_many_per_line, print_horizontal, init_column_info,
put_indicator, length_of_file_name_and_frills,
print_with_commas): Use size_t, not int, for local variables
that count sizes.
(decode_switches): Decode sizes using xstrtoul, not xstrtol.
Check for TIOCGWINSZ returing negative values (or values greater
than SIZE_MAX!).
(visit_dir, main, parse_ls_color, queue_directory, add_ignore_pattern,
init_column_info):
Use xmalloc and xnmalloc, not XMALLOC.
(gobble_file): Use xnrealloc, not XREALLOC.
(print_color_indicator): Remove now-unnecessary cast to size_t.
2003-10-13 15:16:27 +00:00
Jim Meyering
aa615387af (print_many_per_line): Add FIXME comment. 2003-10-13 14:26:50 +00:00
Jim Meyering
6e2f5aeeb6 Change wording of diagnostic to match latest du.c. 2003-10-13 06:56:47 +00:00
Jim Meyering
1d3f87109d *** empty log message *** 2003-10-13 06:56:40 +00:00
Jim Meyering
bffa99072f *** empty log message *** 2003-10-13 06:54:23 +00:00
Jim Meyering
f89cc866b3 Remove from CVS; assume that people
brave enough to check coreutils out from CVS can rebuild it.
2003-10-13 06:53:50 +00:00
Jim Meyering
f28258e142 *** empty log message *** 2003-10-12 14:20:14 +00:00
Jim Meyering
9be74f6f12 New options: --preserve-root and --no-preserve-root.
(change_file_mode): Honor new option.
(change_file_mode): Strip trailing slashes on directory
argument passed to change_dir_mode.
(get_root_dev_ino): New function.
(main): Initialize global, root_dev_ino.
2003-10-12 14:19:25 +00:00
Jim Meyering
820a623d7d *** empty log message *** 2003-10-12 07:05:30 +00:00
Jim Meyering
4a992bfdd8 (change_file_mode): Don't #ifdef-out a simple use of
S_ISLNK.  The S_IS* macros are guaranteed to be defined
via system.h.
2003-10-12 07:05:16 +00:00
Jim Meyering
498de26ac5 (copy_internal): Don't #ifdef-out simple uses of
S_ISLNK or S_ISSOCK.  The S_IS* macros are guaranteed to be defined
via system.h.
2003-10-12 07:03:57 +00:00
Jim Meyering
4c3c0debef . 2003-10-09 16:16:17 +00:00
Jim Meyering
d681c9a662 tweak comments 2003-10-09 08:43:15 +00:00
Jim Meyering
0a7bc58064 *** empty log message *** 2003-10-08 18:24:15 +00:00
Jim Meyering
20fd309527 (main): Remove obsolete FIXME. 2003-10-08 18:24:04 +00:00
Jim Meyering
d0dfb248ae *** empty log message *** 2003-10-08 17:55:26 +00:00
Jim Meyering
59e7627371 *** empty log message *** 2003-10-08 17:55:06 +00:00
Jim Meyering
32533b8cfa (libfetish_a_SOURCES): Add xstrtoimax.c. 2003-10-08 17:55:02 +00:00
Jim Meyering
0b693b7d02 csplit cleanup.
Be more careful about int widths.  For example, remove some
arbitrary limits by replacing 'unsigned' with 'size_t',
'uintmax_t', etc.  Use standard bool rather than a homegrown type.

(FALSE, TRUE, boolean): Remove.  All uses changed
to <stdbool.h> usage.
(struct control): offset is now intmax_t, not int.
repeat_forever is now bool, not int.
(struct cstring): len is now size_t, not unsigned int.
(struct buffer_record): bytes_alloc, bytes_used, num_lines are now
size_t, not unsigned.  start_line, first_available are now
uintmax_t, not unsigned.
(hold_count, control_used): Now size_t, not unsigned.
(last_line_number, current_line, bytes_written):
Now uintmax_t, not unsigned.
(save_to_hold_area, red_input, keep_new_line, record_line_starts,
create_new_buffer, get_new_buffer, load_buffer, find_line,
process_regexp, split_file, new_control_record, extract_regexp,
get_format_width, get_format_prec, max_out):
size args, locals, and returned values are now size_t, not unsigned
or int.
(get_first_line_in_buffer, find_line, write_to_file,
handle_line_error, process_line_count, regexp_error, process_regexp,
split_file):
File line, byte, and repetition counts are now uintmax_t, not unsigned.
(check_for_offset): Don't require a sign before the offset.
Use xstrtoimax to do the real work.
(extract_regexp): Remove harmful cast of size to unsigned.
256 -> 1<<CHAR_BIT, for clarity.
(get_format_flags): Return at most 3, to avoid worries about overflow.

(bytes_to_octal_digits): Remove.

(cleanup): Don't check whether output_stream is NULL, since
close_output_file does that for us.

(new_line_control, create_new_buffer): Use "foo *p = xmalloc
(sizeof *p);" instead of the more long-winded alternatives.

(get_new_buffer): Use O(1) algorithm for resizing a buffer
to a much larger size, instead of an O(N) algorithm.

(process_regexp): Use plain NULL rather than casted 0.

(make_filename): Use %u, not %d, to format unsigned file number.

(new_control_record): Use xrealloc exclusively, since it handles
NULL reliably,

(extract_regexp): Change misspelled word in diagnostic.

(get_format_width): Even if a minimum field width is specified,
allow room for enough octal digits to represent the value of
the maximum representible integer.  This fixes a potential
buffer overrun.  Calculate this room at compile-time, not
at run-time; this removes the need for bytes_to_octal_digits.
Check for overflow; this removes a FIXME.

(get_format_prec): Don't allow precision to be signed; it's
not ANSI.  Check for overflow.  Remove hardcoded "11" as
default precision; this fixes a potential buffer overrun
on hosts with wider size_t.

(get_format_conv_type): Change local variable to be of type
unsigned char, not int; this removes a potential subscript
violation on hosts where char is signed.

(max_out): Replace "for (;*p;)" with more-standard "while (*p)".
Allow "%%" in format.  Don't overflow when
counting lots of percents.

(usage): Default sprintf format is %02u, not %d.
2003-10-08 17:54:19 +00:00
Jim Meyering
1fa0bdedfa *** empty log message *** 2003-10-08 17:53:28 +00:00
Jim Meyering
49e0862ebb (csplit invocation):
The regexp offset need not have a sign; POSIX requires support
for signless offets.
2003-10-08 17:53:18 +00:00
Jim Meyering
5b00b41da4 . 2003-10-08 12:35:00 +00:00
Jim Meyering
37f18d586f . 2003-10-07 15:23:08 +00:00
Jim Meyering
6d9a639624 . 2003-10-07 13:05:04 +00:00
Jim Meyering
9376bfaf9a *** empty log message *** 2003-10-07 07:22:13 +00:00
Jim Meyering
65cf146ccb . 2003-10-07 07:21:37 +00:00
Jim Meyering
159100e710 . 2003-10-06 17:42:22 +00:00
Jim Meyering
8ae169aa8d . 2003-10-06 07:55:11 +00:00
Jim Meyering
43d15f0721 *** empty log message *** 2003-10-06 07:54:45 +00:00
Jim Meyering
7fb1375c83 remove now-unused file 2003-10-06 07:53:44 +00:00
Jim Meyering
d3e958c35d *** empty log message *** 2003-10-05 16:26:51 +00:00
Jim Meyering
9f761eaf90 (change_file_owner): Remove set-but-not-used local. 2003-10-05 16:26:45 +00:00
Jim Meyering
77549cb5c3 s/nftw/fts/g in a comment 2003-10-05 15:35:27 +00:00
Jim Meyering
6439683433 *** empty log message *** 2003-10-05 11:43:02 +00:00
Jim Meyering
875c32f4e6 (du_files): Mark diagnostic for translation. 2003-10-05 11:42:55 +00:00
Jim Meyering
6c154f854a *** empty log message *** 2003-10-05 11:42:16 +00:00
Jim Meyering
dcd207cd60 (jm_MACROS): Don't require AC_FUNC_FTW. 2003-10-05 11:42:11 +00:00
Jim Meyering
b21194d622 . 2003-10-05 11:41:18 +00:00
Jim Meyering
500c410d96 *** empty log message *** 2003-10-04 19:57:06 +00:00
Jim Meyering
74f48809ba *** empty log message *** 2003-10-04 19:56:38 +00:00
Jim Meyering
7da7011b65 (du_files): Ignore any failure of fts_close. 2003-10-04 19:56:32 +00:00
Jim Meyering
6e075a0f87 *** empty log message *** 2003-10-04 17:01:22 +00:00
Jim Meyering
e2d3450c72 (du_files): Give better diagnostics for failed fts_open. 2003-10-04 17:01:13 +00:00
Jim Meyering
2190e5a5d8 *** empty log message *** 2003-10-04 12:16:12 +00:00
Jim Meyering
b5eef18d40 (MAX_N_DESCRIPTORS): Remove now-unused definition. 2003-10-04 12:16:00 +00:00
Jim Meyering
4a7bc58d00 *** empty log message *** 2003-10-04 12:14:24 +00:00
Jim Meyering
685c7c4707 *** empty log message *** 2003-10-04 12:13:26 +00:00
Jim Meyering
2331952ff1 (enum) [HUMAN_SI_OPTION]: New member.
[long_options]: Use HUMAN_SI_OPTION, not 'H'.
(main): Warn that the meaning of -H will soon change.
2003-10-04 12:11:51 +00:00
Jim Meyering
bc7d3363ac *** empty log message *** 2003-10-04 11:58:47 +00:00
Jim Meyering
3596e7186a *** empty log message *** 2003-10-03 20:17:29 +00:00
Jim Meyering
3e2474e7c4 Accept --no-dereference (-P). 2003-10-03 20:17:18 +00:00
Jim Meyering
4bb11ad5bf *** empty log message *** 2003-10-03 20:15:40 +00:00
Jim Meyering
b1c0650ca5 (du invocation): Describe -P, --no-dereference. 2003-10-03 20:15:36 +00:00
Jim Meyering
870b12372e . 2003-10-02 20:30:47 +00:00
Jim Meyering
90d369d90a . 2003-10-02 20:30:19 +00:00
Jim Meyering
3efc708abb *** empty log message *** 2003-10-02 20:30:09 +00:00
Jim Meyering
2601bad546 (TESTS): Add inaccessible-cwd. 2003-10-02 20:30:05 +00:00
Jim Meyering
00567c8369 *** empty log message *** 2003-10-02 20:29:21 +00:00
Jim Meyering
2e59a4b3e6 Adjust for slightly different output. 2003-10-02 20:29:12 +00:00
Jim Meyering
95c948b06a Include "fts_.h", not ftw.h.
(opt_dereference_arguments, arg_length, suffix_length): Remove globals.
(IS_FTW_DIR_TYPE): Remove definition.
(IS_DIR_TYPE): Define.
(is_symlink_to_dir): Remove now-unnecessary function.
(process_file, du_files): Rewrite to use fts.
2003-10-02 20:26:41 +00:00
Jim Meyering
43cee1d6fc *** empty log message *** 2003-10-02 20:26:06 +00:00
Jim Meyering
82dfbcee7b . 2003-10-02 20:24:00 +00:00
Jim Meyering
a9c27a6da1 *** empty log message *** 2003-10-02 20:23:49 +00:00
Jim Meyering
63082bb3a3 (libfetish_a_SOURCES): Add fts.c fts_.h.
Remove ftw_.h.
2003-10-02 20:23:35 +00:00
Jim Meyering
321136f30b *** empty log message *** 2003-10-02 17:56:00 +00:00
Jim Meyering
c7707f643c *** empty log message *** 2003-10-02 17:47:22 +00:00
Jim Meyering
7e25757f8b Don't require that the maximum length of a file name
encountered in a traversal fit in an `unsigned short',
and fix some portability bugs (don't depend on gcc).

Include "fts_.h", not <fts.h>.
(ALIGNBYTES) [!(__GNUC__ >= 2)]: Add a definition that works with
compilers that don't have __alignof__.
(MAX): Use a definition that doesn't depend on gcc.
(fts_build): Make `len' and `maxlen' be of type size_t, not int.
Test for overflow in a less type-dependent manner.
Test HAVE_STRUCT_DIRENT_D_TYPE, rather than
defined DT_DIR && defined _DIRENT_HAVE_D_TYPE.
(fts_palloc): Test for overflow in a less type-dependent manner.
(fts_safe_changedir): Use stat, not stat64.
Use fstat, not __fxstat64(_STAT_VER.
2003-10-02 17:33:54 +00:00
Jim Meyering
caf4f07912 Don't require that the maximum length of a file name
encountered in a traversal fit in an `unsigned short',
and fix some portability bugs (don't depend on gcc).

[FTS] (fts_pathlen): Change type from int to size_t.
[FTSENT] (fts_pathlen): Change type from u_short to size_t.
(fts_level): Change type from u_short to int.
2003-10-02 17:33:42 +00:00
Jim Meyering
2d854fdf1b *** empty log message *** 2003-10-02 17:21:05 +00:00
Jim Meyering
aeccc1752d *** empty log message *** 2003-10-02 17:20:04 +00:00
Jim Meyering
55ad6cc692 *** empty log message *** 2003-10-02 17:15:35 +00:00
Jim Meyering
77043f0f21 *** empty log message *** 2003-10-02 17:14:39 +00:00
Jim Meyering
858d2b2f73 *** empty log message *** 2003-10-02 17:13:50 +00:00
Jim Meyering
36337bfd18 Ensure that du can process a hierarchy
of depth 400 while using no more than 50KB of stack space.
2003-10-02 17:05:34 +00:00
Jim Meyering
c57d0486d0 *** empty log message *** 2003-10-01 08:11:45 +00:00
Jim Meyering
2b730915f8 (print_news_deltas): New function, extracted from main.
(main): Make `news_file' an array.
Use '...=s' => \@var for --news and --url-directory specs.
Before there were a couple of problems.
2003-10-01 08:09:02 +00:00
Jim Meyering
2ec43c609b *** empty log message *** 2003-09-30 06:44:35 +00:00
Jim Meyering
49061e6bde (tm_diff) [! HAVE_TM_GMTOFF]: Fix arg typo in previous patch. 2003-09-30 06:44:32 +00:00
Jim Meyering
a981c15fd2 . 2003-09-28 12:38:38 +00:00
Jim Meyering
cc0d217786 . 2003-09-28 12:36:51 +00:00
Jim Meyering
b127b8e824 *** empty log message *** 2003-09-28 08:39:37 +00:00
Jim Meyering
7f7abaa447 (sc_cast_of_alloca_return_value): New rule.
(syntax-check-rules): Add it.
2003-09-28 08:39:31 +00:00
Jim Meyering
969e23d12a *** empty log message *** 2003-09-28 08:25:40 +00:00
Jim Meyering
c0db07f7f9 (sc_cast_of_x_alloc_return_value): Also check for alloca casts. 2003-09-28 08:25:24 +00:00
Jim Meyering
3d56cf5c1d Remove unnecessary casts of alloca, since now it's guaranteed to be (void *). 2003-09-28 08:23:28 +00:00
Jim Meyering
b19d106cdb Remove unnecessary casts of alloca, since now it's guaranteed to be (void *). 2003-09-28 08:22:35 +00:00
Jim Meyering
9d35e5e049 (ASSIGN_STRDUPA):
Remove unnecessary casts of alloca, since now it's guaranteed to be (void *).
2003-09-28 08:22:15 +00:00
Jim Meyering
8f98e0e4dd Remove unnecessary casts of alloca, since now it's guaranteed to be (void *). 2003-09-28 08:21:35 +00:00
Jim Meyering
793eadf8a9 Remove unnecessary casts of alloca, since now it's guaranteed to be (void *). 2003-09-28 08:21:14 +00:00
Jim Meyering
9691f1611e Remove unnecessary cast of alloca, since now it's guaranteed to be (void *). 2003-09-28 08:20:52 +00:00
Jim Meyering
819f39dc9b Remove unnecessary cast of alloca, since now it's guaranteed to be (void *). 2003-09-28 08:17:39 +00:00
Jim Meyering
401673f8dd Minor efficiency tweak.
(PATH_BASENAME_CONCAT): Use memcpy rather than strcpy.
(do_link): Likewise.
2003-09-28 08:14:34 +00:00
Jim Meyering
156549eb5d *** empty log message *** 2003-09-28 08:09:46 +00:00
Jim Meyering
4f58c187da Update from gnulib. 2003-09-28 08:09:28 +00:00
Jim Meyering
5fba963d34 (Translating): Correct typo in menu description. 2003-09-28 08:00:50 +00:00
Jim Meyering
fc1f8d7354 *** empty log message *** 2003-09-28 08:00:35 +00:00
Jim Meyering
47b9de17a1 sync from gnulib -- just changes comments 2003-09-27 17:26:26 +00:00
Jim Meyering
6135224e97 *** empty log message *** 2003-09-27 06:57:20 +00:00
Jim Meyering
a204154711 *** empty log message *** 2003-09-27 06:57:15 +00:00
Jim Meyering
6ab7d9e425 Don't exhaust virtual memory when processing large inputs.
Fix this by removing csplit's internal free-list management;
instead rely on malloc for that.

(free_list): Remove global.
(clear_all_line_control): Remove function.
(get_new_buffer): Always use create_new_buffer to obtain a
new buffer, rather than searching free_list.
(free_buffer): Just call free.
2003-09-27 06:57:07 +00:00
Jim Meyering
de5bdb6fd0 *** empty log message *** 2003-09-27 06:52:38 +00:00
Jim Meyering
6e7f3fae30 . 2003-09-26 20:11:15 +00:00
Jim Meyering
841d9837dc *** empty log message *** 2003-09-26 13:47:26 +00:00
Jim Meyering
5eb4f2ce17 Also list `chattr' in SEE ALSO section. 2003-09-26 13:47:19 +00:00
Jim Meyering
4f77354540 *** empty log message *** 2003-09-26 13:47:05 +00:00
Jim Meyering
1906c91498 *** empty log message *** 2003-09-25 18:01:32 +00:00
Jim Meyering
a4e040da21 Don't invoke AC_AIX or AC_MINIX explicitly, now
that we use gl_USE_SYSTEM_EXTENSIONS, since it AC_REQUIREs them.
2003-09-25 18:01:25 +00:00
Jim Meyering
0874e07909 *** empty log message *** 2003-09-25 17:50:05 +00:00
Jim Meyering
8e9cd6e1c0 . 2003-09-24 17:57:03 +00:00
Jim Meyering
e7bebd6729 (check_and_close, dump, dump_strings): Don't report bogus errno value
after ferror discovers an output error.  We don't know the proper
errno value, since it might have been caused by any of a whole
bunch of calls, and it might have been trashed in the meantime.
Fixing this problem will require much more extensive changes;
in the meantime just say "write error".

(skip): If a read fails, don't retry it later, so
that we report the proper errno.
2003-09-24 08:21:30 +00:00
Jim Meyering
1790ed9cb8 . 2003-09-23 22:02:44 +00:00
Jim Meyering
a8c942e915 (TESTS): Add deref-args. 2003-09-23 22:02:26 +00:00
Jim Meyering
c50b02c852 *** empty log message *** 2003-09-23 22:00:51 +00:00
Jim Meyering
0af594adb4 (get_line): Report error right away if I/O fails,
so that the proper errno value is used.
2003-09-23 21:57:52 +00:00
Jim Meyering
8839f376d3 *** empty log message *** 2003-09-23 21:57:19 +00:00
Jim Meyering
93bf700a94 (close_output_file): Don't report bogus errno value
after ferror discovers an output error.  We don't know the proper
errno value, since it might have been caused by any of a whole
bunch of calls, and it might have been trashed in the meantime.
Fixing this problem will require much more extensive changes;
in the meantime just say "write error".
2003-09-23 21:57:13 +00:00
Jim Meyering
a3f05cf720 (paste_serial): Save errno after input error,
to report proper errno value.
Based on a patch from Paul Eggert.
2003-09-23 17:47:59 +00:00
Jim Meyering
57a5d2a4db (fold_file): Save errno after input error, to report proper errno value. 2003-09-23 12:12:25 +00:00
Jim Meyering
80aa0840d7 (compare_files): Save errno after input error, to report proper errno value. 2003-09-23 12:09:33 +00:00
Jim Meyering
46369400c7 (unexpand): Save errno after input error, to report proper errno value. 2003-09-23 08:01:26 +00:00
Jim Meyering
bac3a335c9 *** empty log message *** 2003-09-23 07:53:25 +00:00
Jim Meyering
c0042c884d (tee): Adjust fwrite arguments so that the return
value is the number of bytes written.
2003-09-23 07:51:02 +00:00
Jim Meyering
f5f6e466d4 *** empty log message *** 2003-09-22 21:49:18 +00:00
Jim Meyering
39f17b6a2a *** empty log message *** 2003-09-22 18:58:34 +00:00
Jim Meyering
2ba94076b6 (XGETTEXT_OPTIONS): Add --from-code=UTF-8 to accommodate the
non-ASCII comment to translators in ptx.c regarding the author's name.
2003-09-22 18:58:30 +00:00
Jim Meyering
3e5af77932 (tac_mem): Don't return a value; nobody uses it. 2003-09-22 16:03:21 +00:00
Jim Meyering
09203489dd (tee): Once a write failure has occurred, don't bother
writing anything more to that stream.
2003-09-22 16:00:49 +00:00
Jim Meyering
8a0be33fd7 (check_file): Report error right away if I/O fails,
so that the proper errno value is used.
(check_file): Check for ferror (stdout) even if ostream == stdout.
(check_file): Don't report bogus errno value
after ferror discovers an output error.  We don't know the proper
errno value, since it might have been caused by any of a whole
bunch of calls, and it might have been trashed in the meantime.
Fixing this problem will require much more extensive changes;
in the meantime just say "write error".
2003-09-22 15:59:29 +00:00
Jim Meyering
afd3a1e066 (UNROLL): Remove.
(main): Exit immediately when write failure is detected.
Simplify code by assigning to argv when argc == 1.
2003-09-22 15:41:05 +00:00
Jim Meyering
b867137563 . 2003-09-22 15:31:06 +00:00
Jim Meyering
6d62ecd749 . 2003-09-22 15:29:51 +00:00
Jim Meyering
e0c1d81ac2 . 2003-09-22 15:29:02 +00:00
Jim Meyering
e04eff898e *** empty log message *** 2003-09-22 07:26:17 +00:00
Jim Meyering
0b037ea945 Switch encoding from Latin-1 to UTF-8.
(WRITTEN_BY): Change "Franc,ois" (actually using
c-with-cedilla in Latin-1) to "F.", so that it's ASCII, as
xgettext requires.
2003-09-22 07:07:16 +00:00
Jim Meyering
7ca1908d76 *** empty log message *** 2003-09-20 08:05:51 +00:00
Jim Meyering
91bc10f713 *** empty log message *** 2003-09-19 08:29:09 +00:00
Jim Meyering
567e58cd2d *** empty log message *** 2003-09-19 08:27:29 +00:00
Jim Meyering
8f51c46818 *** empty log message *** 2003-09-19 07:40:55 +00:00
Jim Meyering
969d9407d3 `du -D symlink-to-dir' would mistakenly omit the slash in
lines like this:  24	symlink-to-dir/subdir

(process_file): Fix offset calculation.
Reported by Jeff Sheinberg as Debian bug #211591;
http://bugs.debian.org/205251
2003-09-19 07:39:04 +00:00
Jim Meyering
ff9bb9d85e *** empty log message *** 2003-09-19 07:38:26 +00:00
Jim Meyering
f1151cf61f *** empty log message *** 2003-09-19 06:52:12 +00:00
Jim Meyering
32eccc9d08 (process_file): Remove useless disjunct. 2003-09-19 06:51:59 +00:00
Jim Meyering
48294f6a14 *** empty log message *** 2003-09-18 22:23:09 +00:00
Jim Meyering
068b372ab0 . 2003-09-18 22:22:37 +00:00
Jim Meyering
82ca831856 *** empty log message *** 2003-09-18 22:22:17 +00:00
Jim Meyering
79ade1ea9c (version_etc): Rename parameter, authors, to written_by. 2003-09-18 22:21:41 +00:00
Jim Meyering
33c7b98bbc *** empty log message *** 2003-09-18 22:21:10 +00:00
Jim Meyering
b14965fae9 (version_etc): Rename parameter, authors, to written_by.
Combine fprintf and following putc('\n'.
2003-09-18 22:20:44 +00:00
Jim Meyering
bafd927f03 (WRITTEN_BY): Rename from AUTHORS.
Begin each WRITTEN_BY string with `Written by ' and end it with `.'.
Mark each WRITTEN_BY string as translatable.
2003-09-18 22:19:03 +00:00
Jim Meyering
424b8a4ff8 (case_GETOPT_VERSION_CHAR): Rename parameter, Authors, to Written_by. 2003-09-18 22:16:00 +00:00
Jim Meyering
243ea2b5e9 *** empty log message *** 2003-09-18 22:09:05 +00:00
Jim Meyering
c6ec144494 revert previous change 2003-09-18 19:39:12 +00:00
Jim Meyering
2c5fbb29a6 *** empty log message *** 2003-09-18 18:23:19 +00:00
Jim Meyering
3280bf4b55 Update AUTHORS definition to be a comma-separated list of strings and/or update
the call to parse_long_options so that `AUTHORS, NULL' are the last parameters.
2003-09-18 18:22:23 +00:00
Jim Meyering
588291785c *** empty log message *** 2003-09-18 18:13:57 +00:00
Jim Meyering
ac58291e4d (parse_long_options): Update prototype. 2003-09-18 18:13:44 +00:00
Jim Meyering
6e1f55d40f Include stdarg.h.
(parse_long_options): Make this function variadic (authors), too.
Call version_etc_va, not version_etc.
2003-09-18 18:13:18 +00:00
Jim Meyering
0ed744a035 (version_etc_va): Declare it. 2003-09-18 18:10:22 +00:00
Jim Meyering
28a8798c03 This lets translators provide better translations for the
`Written by ...' part of --version output.

Include stdarg.h, stdlib.h, string.h, and xalloc.h.
(version_etc): Make this function variadic,
with a NULL-terminated list of author name strings.
(version_etc_va): New function.
2003-09-18 18:09:44 +00:00
Jim Meyering
fd0dcfbc74 *** empty log message *** 2003-09-18 18:09:00 +00:00
Jim Meyering
e6a1dc4d4c (case_GETOPT_VERSION_CHAR): Append NULL to version_etc argument list. 2003-09-18 17:39:02 +00:00
Jim Meyering
2ca6722ca4 (main): Append NULL to version_etc argument list. 2003-09-18 17:38:47 +00:00
Jim Meyering
4d80860a66 *** empty log message *** 2003-09-18 16:41:18 +00:00
Jim Meyering
b7d75fb5f6 Update from gnulib.
(gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
to avoid spurious warnings like "AC_RUN_IFELSE was called before
gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
2003-09-18 16:41:11 +00:00
Jim Meyering
0683fa78c4 *** empty log message *** 2003-09-18 16:28:53 +00:00
Jim Meyering
df1f0a8083 (numcompare): Rename local, logb, to log_b to avoid
shadowing the math function name.  Also rename loga to log_a.
2003-09-18 16:28:47 +00:00
Jim Meyering
20a24ef302 *** empty log message *** 2003-09-17 18:49:41 +00:00
Jim Meyering
39468cd38f (read_utmp): Likewise.
Check for fstat error.  Close stream and free storage when failing.
2003-09-17 18:49:34 +00:00
Jim Meyering
651fd58f8f (getndelim2): Don't trash errno when a read
fails, so that the caller gets the proper errno.
2003-09-17 18:46:57 +00:00
Jim Meyering
21158aed3a (readlinebuffer): Return NULL immediately upon
input error, instead of returning NULL the next time we are called
(and therefore losing track of errno).
2003-09-17 18:45:24 +00:00
Jim Meyering
7620cc92c2 Add comment from Bruno Haible. 2003-09-17 18:43:25 +00:00
Jim Meyering
57f62d58c3 *** empty log message *** 2003-09-15 09:34:29 +00:00
Jim Meyering
6a2b41cc9a *** empty log message *** 2003-09-14 17:25:25 +00:00
Jim Meyering
b97f8bb5ce (print_factors): Give a separate diagnostic
for numbers that are too large, but otherwise valid.
2003-09-14 17:25:16 +00:00
Jim Meyering
589f2ab6ba *** empty log message *** 2003-09-14 17:24:38 +00:00
Jim Meyering
395d134eef . 2003-09-14 08:29:44 +00:00
Jim Meyering
6335f4404f Update from gnulib. 2003-09-13 22:12:21 +00:00
Jim Meyering
e028b4dd48 . 2003-09-13 22:04:16 +00:00
Jim Meyering
4377eca42f . 2003-09-13 22:03:55 +00:00
Jim Meyering
edd9eaa9c0 *** empty log message *** 2003-09-13 22:03:50 +00:00
Jim Meyering
bb9cf91d91 (libfetish_a_SOURCES): Add exit.h, strndup.h, time_r.c, time_r.h. 2003-09-13 22:03:45 +00:00
Jim Meyering
540ca8b305 *** empty log message *** 2003-09-13 22:03:02 +00:00
Jim Meyering
dce9582d2c Update from gnulib. 2003-09-13 22:01:20 +00:00
Jim Meyering
2be39af412 Update from gnulib. 2003-09-13 21:54:35 +00:00
Jim Meyering
07f3bfba3a New file, from gnulib. 2003-09-13 21:53:33 +00:00
Jim Meyering
9ba06e55a5 Update from gnulib. 2003-09-13 19:54:00 +00:00
Jim Meyering
6e149418b7 Update from gnulib. 2003-09-13 19:53:18 +00:00
Jim Meyering
38c61c8bcb Update from gnulib. 2003-09-13 19:52:30 +00:00
Jim Meyering
83a9f384ae New file, from gnulib. 2003-09-13 19:50:59 +00:00
Jim Meyering
dbdd37af64 New file, from GNU gettext, via gnulib. 2003-09-13 18:02:10 +00:00
Jim Meyering
4d5f314e75 from gnulib 2003-09-13 18:00:43 +00:00
Jim Meyering
6fe4848ea5 from gnulib 2003-09-13 18:00:08 +00:00
Jim Meyering
a05e8213a3 (my_mktime_localtime_r): Remove; all uses changed to __localtime_r.
(__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
(__mktime_internal) [!defined _LIBC]: Now extern, not static.
2003-09-13 17:59:53 +00:00
Jim Meyering
f4bf3aa571 (my_strftime_gmtime_r): Remove; all uses changed to __gmtime_r.
(my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
(__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
Include <time_r.h>.
2003-09-13 17:58:57 +00:00
Jim Meyering
932e5a2ecc . 2003-09-13 12:29:15 +00:00
Jim Meyering
8e3272f546 . 2003-09-13 11:58:35 +00:00
Jim Meyering
454ab825e9 . 2003-09-13 11:53:36 +00:00
Jim Meyering
b8f6904733 (gl_FUNC_STRTOL): Do not check for limits.h. 2003-09-13 10:49:33 +00:00
Jim Meyering
2578da5ec6 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h, strtol. 2003-09-13 10:49:25 +00:00
Jim Meyering
078252a865 (gl_FUNC_STRTOD): Do not check for float.h. 2003-09-13 10:49:17 +00:00
Jim Meyering
15b13deb57 (_jm_STRFTIME_PREREQS): Don't check for limits.h, memcpy, memset.
(jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
2003-09-13 10:48:46 +00:00
Jim Meyering
89ed823555 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol, strtoul. 2003-09-13 10:48:09 +00:00
Jim Meyering
d511e0ec84 (gl_XSTRTOD): Likewise. 2003-09-13 10:47:56 +00:00
Jim Meyering
2e4c8c13f8 (gl_PREREQ_XMALLOC): Likewise. 2003-09-13 10:47:43 +00:00
Jim Meyering
cffaaf9a62 (gl_USERSPEC): Do not require standard C headers.
(gl_USERSPEC): Do not check for string.h.
2003-09-13 10:47:05 +00:00
Jim Meyering
93810d912a (jm_PREREQ_TEMPNAME): Do not require standard C headers. 2003-09-13 10:46:07 +00:00
Jim Meyering
f2068f01c6 *** empty log message *** 2003-09-13 10:41:15 +00:00
Jim Meyering
31a32dc3c4 Update from gnulib. 2003-09-13 10:39:48 +00:00
Jim Meyering
48f79abea5 (gl_FUNC_STRDUP): Don't check for standard C headers. 2003-09-13 10:38:39 +00:00
Jim Meyering
742d16985a *** empty log message *** 2003-09-13 10:34:43 +00:00
Jim Meyering
1ca9d52ec4 (jm_PREREQ_ADDEXT): Remove. All uses removed.
This macro has been superseded by gl_BACKUPFILE.
2003-09-13 10:34:12 +00:00
Jim Meyering
c004a12eea (gl_PREREQ_STRTOUMAX): Don't check for stdlb.h or strtoul. 2003-09-13 10:33:39 +00:00
Jim Meyering
8812a8630b (gl_PREREQ_READUTMP): Don't check for standard C headers or for string.h. 2003-09-13 10:33:26 +00:00
Jim Meyering
ee92795646 (GL_FUNC_READDIR): Don't check for string.h. 2003-09-13 10:33:14 +00:00
Jim Meyering
60bed9c371 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free. 2003-09-13 10:32:55 +00:00
Jim Meyering
278a8c86af (AC_FUNC_GETTIMEOFDAY_CLOBBER):
Include <string.h>, <stdlib.h> unconditionally.
2003-09-13 10:32:07 +00:00
Jim Meyering
f14e3a31e5 (gl_CLOSEOUT): Don't check for stdlib.h. 2003-09-13 10:31:57 +00:00
Jim Meyering
a92aadf892 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h> unconditionally. 2003-09-13 10:31:48 +00:00
Jim Meyering
745c63c70c *** empty log message *** 2003-09-13 10:30:48 +00:00
Jim Meyering
d5308cf4bb (gl_ERROR): Don't check for vprintf.
Require AC_FUNC_STRERROR_R rather than invoking it.
2003-09-13 10:29:49 +00:00
Jim Meyering
c32fb8f43e (error_tail): Assume vprintf. 2003-09-13 10:29:28 +00:00
Jim Meyering
d366ff1e4a Update from gnulib. 2003-09-13 10:28:58 +00:00
Jim Meyering
36adf17e1d (EXIT_FAILURE): Remove; now done by exit.h
Don't include stdlib.h; no longer needed.
2003-09-13 10:25:44 +00:00
Jim Meyering
6305639766 Include "xalloc.h" first, to check interface.
Include <stdlib.h> unconditionally.

Include exit.h.
(EXIT_FAILURE): Remove; now done by exit.h
2003-09-13 10:23:46 +00:00
Jim Meyering
ea2c919bf2 [!defined _LIBC]: Include exit.h.
Remove; now done by exit.h.
2003-09-13 10:21:07 +00:00
Jim Meyering
e151df91d8 Include exit.h.
Remove; now done by exit.h
2003-09-13 10:20:45 +00:00
Jim Meyering
3da69c62ed Include exit.h.
(EXIT_FAILURE): Remove; now done by exit.h
2003-09-13 10:19:33 +00:00
Jim Meyering
ce1fb5e5cb *** empty log message *** 2003-09-13 10:14:03 +00:00
Jim Meyering
c3aeca266c (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
and AC_MINIX, too, so that their extensions are available.
2003-09-13 10:12:50 +00:00
Jim Meyering
3d70894112 *** empty log message *** 2003-09-13 10:08:58 +00:00
Jim Meyering
5b44f5ef16 (gl_UNICODEIO): Remove <string.h> check. 2003-09-13 10:08:50 +00:00
Jim Meyering
f566b02c23 (gl_PREREQ_STRSTR): Remove <string.h> check. 2003-09-13 10:08:23 +00:00
Jim Meyering
89f02884ad (gl_PREREQ_STRPBRK): Remove <string.h> check. 2003-09-13 10:08:14 +00:00
Jim Meyering
6aa8c869f3 (gl_PREREQ_STRCSPN): Remove <string.h> check. 2003-09-13 10:07:41 +00:00
Jim Meyering
0f53b413bd . 2003-09-13 10:06:29 +00:00
Jim Meyering
8d964cec02 *** empty log message *** 2003-09-13 09:48:56 +00:00
Jim Meyering
b179f7989d (gl_YESNO): Remove <stdlib.h> check. 2003-09-13 09:48:14 +00:00
Jim Meyering
b91fd59b38 (gl_XREADLINK): Remove <stdlib.h> check. 2003-09-13 09:47:52 +00:00
Jim Meyering
7c7a279031 (jm_PREREQ): Require gl_GETUGROUPS. 2003-09-13 09:45:24 +00:00
Jim Meyering
8cd4e706c9 *** empty log message *** 2003-09-13 09:45:04 +00:00
Jim Meyering
8b4501c266 *** empty log message *** 2003-09-13 09:43:52 +00:00
Jim Meyering
7f6bf0eb94 (jm_PREREQ): Require gl_IDCACHE. 2003-09-13 09:43:42 +00:00
Jim Meyering
e747c52901 . 2003-09-13 06:47:24 +00:00
Jim Meyering
eb07c85e9f (gl_EXITFAIL): Do not check for stdlib.h. 2003-09-13 06:46:46 +00:00
Jim Meyering
170d369938 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h. 2003-09-13 06:46:15 +00:00
Jim Meyering
f019605d4a (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h. 2003-09-13 06:32:59 +00:00
Jim Meyering
47bf8f957c (gl_GETOPT): Don't check for string.h. 2003-09-13 06:32:47 +00:00
Jim Meyering
c97e79fe50 (gl_PREREQ_GETUSERSHELL): Do not check for stdlib.h. 2003-09-13 06:31:59 +00:00
Jim Meyering
cc3b23def3 (gl_PREREQ_GROUP_MEMBER): Do not require standard C headers. 2003-09-13 06:31:26 +00:00
Jim Meyering
d2ae942a85 (gl_HASH): Do not check for stdlib.h, malloc, free. 2003-09-13 06:30:49 +00:00
Jim Meyering
0a6d9e524e (gl_HUMAN): Do not check for stdlib.h, string.h, getenv. 2003-09-13 06:30:24 +00:00
Jim Meyering
abfefa0bba (jm_PREREQ): Require gl_LONG_OPTIONS. 2003-09-12 21:17:02 +00:00
Jim Meyering
943791895c new file, from gnulib 2003-09-12 21:16:17 +00:00
Jim Meyering
af4c2451f3 (jm_PREREQ): Require gl_MAKEPATH. 2003-09-12 21:15:19 +00:00
Jim Meyering
8e4da82dfb new file, from gnulib 2003-09-12 21:13:43 +00:00
Jim Meyering
2685f87341 (jm_PREREQ): Require gl_MD5. 2003-09-12 21:12:14 +00:00
Jim Meyering
4288c07755 new file, from gnulib 2003-09-12 21:11:30 +00:00
Jim Meyering
4781e7eb41 (jm_PREREQ): Require gl_READTOKENS. 2003-09-12 21:10:35 +00:00
Jim Meyering
ca163a1536 undo last change 2003-09-12 21:10:04 +00:00
Jim Meyering
3c2c099754 (gl_SHA): Don't check for standard Cheaders, memcpy. 2003-09-12 21:08:06 +00:00
Jim Meyering
9bfd9a3e94 (gl_PREREQ_MEMCMP): Don't check for string.h. 2003-09-12 21:06:29 +00:00
Jim Meyering
d8e6675000 (gl_MEMCOLL): Likewise. 2003-09-12 20:43:03 +00:00
Jim Meyering
69c7ce785d (gl_PREREQ_MEMRCHR): Don't check for limits.h. 2003-09-12 20:42:38 +00:00
Jim Meyering
7421b83e79 (gl_PREREQ_MKDIR): Don't check for stdlib.h, string.h, free. 2003-09-12 20:42:27 +00:00
Jim Meyering
50948a1bb2 (gl_PREREQ_MKTIME): Don't check for standard C headers. 2003-09-12 20:41:57 +00:00
Jim Meyering
ddeb6f76d6 (gl_MODECHANGE): Don't check for standard C headers. 2003-09-12 20:41:32 +00:00
Jim Meyering
e038d7f023 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
C headers, or for string.h.
2003-09-12 20:41:05 +00:00
Jim Meyering
f1be8ef837 (gl_OBSTACK): Don't check for stddefe.h, string.h.
(gl_PREREQ_OBSTACK): Don't check for stdlib.h.
2003-09-12 20:16:13 +00:00
Jim Meyering
6c13b6b3e8 (gl_PATH_CONCAT): Don't check for standard C
headers, memory.h, stdlib.h, string.h, strings.h.
2003-09-12 20:15:32 +00:00
Jim Meyering
b3d41cc62c (gl_POSIXTM): Don't check for stdlib.h, string.h. 2003-09-12 20:15:09 +00:00
Jim Meyering
cfae70e4cd (gl_POSIXVER): Don't check for getenv. 2003-09-12 20:14:43 +00:00
Jim Meyering
e7522d9937 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy, strchr. 2003-09-12 20:14:24 +00:00
Jim Meyering
10063a3a48 *** empty log message *** 2003-09-12 20:13:45 +00:00
Jim Meyering
3bb70f17d5 (jm_MACROS): Require gl_READTOKENS. 2003-09-12 20:13:37 +00:00
Jim Meyering
e60274e35e (jm_PREREQ_REGEX): Do not check for limits.h, string.h. 2003-09-12 20:11:06 +00:00
Jim Meyering
6a680010ab (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h, free. 2003-09-12 20:09:18 +00:00
Jim Meyering
9f4851b293 (gl_PREREQ_RPMATCH): Don't check for standard C headers. 2003-09-12 20:09:01 +00:00
Jim Meyering
334e2ecfba (gl_SAVE_CWD): Don't check for standard C headers. 2003-09-12 20:08:06 +00:00
Jim Meyering
230511b6b9 (gl_SAVEDIR): Don't check for standard C headers. 2003-09-12 20:07:47 +00:00
Jim Meyering
79d8b34481 (gl_XGETCWD): Don't check for stdlib.h. 2003-09-12 20:05:08 +00:00
Jim Meyering
5c11c04cad (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the C89 spec. 2003-09-12 20:04:47 +00:00
Jim Meyering
e0594cfaed (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h. 2003-09-12 20:04:21 +00:00
Jim Meyering
4d08c701f9 (gl_BACKUPFILE): Don't check for stdlib.h, string.h, getenv, malloc. 2003-09-12 20:03:41 +00:00
Jim Meyering
22b0198398 (gl_DIRNAME): Don't check for string.h or C standard headers. 2003-09-12 20:03:01 +00:00
Jim Meyering
38715bdf88 (gl_CANON_HOST): Don't check for string.h, stdlib.h. 2003-09-12 20:01:54 +00:00
Jim Meyering
7f8eb38c05 (jm_PREREQ_ERROR): Do not require STDC headers, and do not check for strerror. 2003-09-12 20:01:31 +00:00
Jim Meyering
935960ac67 Do not check for stdlib.h, string.h, strings.h. 2003-09-12 20:01:08 +00:00
Jim Meyering
c21873f8bb (gl_PREREQ_FNMATCH_EXTRA): Remove. All uses removed. 2003-09-12 20:00:33 +00:00
Jim Meyering
0ef9dd611a (gl_GETDATE): Don't check for stdlib.h or string.h. 2003-09-12 19:59:57 +00:00
Jim Meyering
a6d7c63bf8 *** empty log message *** 2003-09-11 09:09:02 +00:00
Jim Meyering
fa751c2b25 Include <stdlib.h>, <string.h> unconditionally.
(free): Remove decl.
2003-09-11 09:08:29 +00:00
Jim Meyering
4e150ea968 Include <stdlib.h> unconditionally. 2003-09-11 09:07:35 +00:00
Jim Meyering
e60a0548b7 Include <stdlib.h> unconditionally. 2003-09-11 09:06:50 +00:00
Jim Meyering
03dd48e562 Include <stdlib.h>, <string.h> unconditionally.
(free): Remove decl.
2003-09-11 09:06:31 +00:00
Jim Meyering
e1ba7e7e94 (_RE_ARGS): Remove. All uses removed. 2003-09-11 09:06:19 +00:00
Jim Meyering
2917b8fbad (PARAMS): Remove. All uses removed.
All uses of _RE_ARGS removed, too.
Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
unconditionally.
(bzero): Assume memset exists.
(memcmp, memcpy, NULL): Remove.
(SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
char, or assignments to local vars of type signed char.
(init_syntax_once, PREFIX(extract_number_and_incr),
PREFIX(print_partial_compiled_pattern),
PREFIX(print_compiled_pattern), PREFIX(print_double_string),
convert_mbs_to_wcs, print_fastmap, re_set_syntax,
PREFIX(regex_grow_registers), PREFIX(regex_compile),
PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
PREFIX(insert_op2), PREFIX(at_begline_loc_p),
PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
wcs_compile_range, byte_compile_range, truncate_wchar,
PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
count_mbs_length, wcs_re_match_2_internal,
byte_re_match_2_internal, PREFIX(group_match_null_string_p),
PREFIX(alt_match_null_string_p),
PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
regfree, PREFIX(extract_number)): Define with prototype.  Remove
now-unnecessary declaration, if any.
(byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
regcomp, regexec):
Remove now-unnecessary casts among pointer types.
2003-09-11 09:06:10 +00:00
Jim Meyering
f7742ce7ce . 2003-09-10 09:35:54 +00:00
Jim Meyering
6f2815f4d3 *** empty log message *** 2003-09-10 09:35:30 +00:00
Jim Meyering
adc224e5b1 . 2003-09-10 09:35:07 +00:00
Jim Meyering
35fa8e6ddc Include <sys/types.h>, so that this file is self-contained. 2003-09-10 09:32:52 +00:00
Jim Meyering
6efb5fad77 *** empty log message *** 2003-09-10 09:27:03 +00:00
Jim Meyering
8e9121a740 (programs, check-x-vs-1): Use ../src/tr -s ' ' '\n' in place
of `fmt -1'.  Using the just-built tr is a little cleaner.
Christian Krackowizer reported that HPUX 10.20 doesn't have fmt.
2003-09-10 09:26:56 +00:00
Jim Meyering
8bf64609dc (programs): Use ../src/tr -s ' ' '\n' in place
of `fmt -1'.  Using the just-built tr is a little cleaner.
Christian Krackowizer reported that HPUX 10.20 doesn't have fmt.
2003-09-10 09:24:00 +00:00
Jim Meyering
17019d2056 Include readtokens.h first, to test interface.
Include <stdlib.h>, <string.h> unconditionally.
(init_tokenbuffer): Define with a prototype.
2003-09-10 09:08:01 +00:00
Jim Meyering
548b033dd6 (malloc): Returns void *, not char *.
Include <string.h> unconditionally.
(strchr, memcpy, NULL): Do not define.
2003-09-10 09:07:43 +00:00
Jim Meyering
c69779b7bc (getenv): Remove decl. 2003-09-10 09:07:30 +00:00
Jim Meyering
1512acb7e5 Include <stdlib.h>, <string.h> unconditionally.
(main): Define with a prototype.
2003-09-10 09:07:17 +00:00
Jim Meyering
8afa24fc2f (physmem_total, physmem_available, main): Define with prototypes. 2003-09-10 09:07:03 +00:00
Jim Meyering
4c50a3aea2 Include <stdlib.h>, <string.h> unconditionally. 2003-09-10 09:06:51 +00:00
Jim Meyering
165cfed262 (POINTER): Remove. All uses changed to void *.
(obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
_obstack_begin, _obstack_begin_1, _obstack_allocated_p)
(defined __STDC__ && __STDC__)]:
Remove nonprototyped code.
Include <stdlib.h> unconditionally.
(_obstack_begin, _obstack_begin_1, _obstack_newchunk,
_obstack_allocated_p, _obstack_free, obstack_free,
_obstack_memory_used, print_and_abort):
Define using prototypes.
(obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
obstack_next_free, obstack_object_size, obstack_room) [0]:
Remove unused, unprototyped code.
2003-09-10 09:06:37 +00:00
Jim Meyering
bae2a5d7f4 (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
(This type really should be intptr_t, but that's a C99ism.)
(_obstack_memcpy): Remove: all uses changed to memcpy.
Include <string.h> unconditionally.
(struct obstack): Assume __STDC__ for types of members
chunkfun, freefun, extra_arg.
(_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
_obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
obstack_begin, obstack_specify_allocation,
obstack_specify_allocation_with_arg, obstack_chunkfun,
obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
Remove unprototyped decls and the macros that use them.
2003-09-10 09:06:23 +00:00
Jim Meyering
77438a47c0 Include <stdlib.h>, <string.h> unconditionally.
(free): Remove decl.
2003-09-10 09:05:41 +00:00
Jim Meyering
ec98adbc22 Include <stdlib.h> unconditionally.
(malloc): Remove decl.
2003-09-10 09:05:31 +00:00
Jim Meyering
820c8fc670 (STDC_HEADERS): Remove.
Include <stdlib.h>, <string.h> unconditionally.
2003-09-10 09:05:16 +00:00
Jim Meyering
76b378fe2a (rmdir): Define with a prototype. 2003-09-10 09:04:49 +00:00
Jim Meyering
c219e453f5 Include <stdlib.h>, <string.h> unconditionally.
Include savedir.h first, to test interface.
2003-09-10 09:03:56 +00:00
Jim Meyering
71827bcf04 Include <stdlib.h>, <string.h> unconditionally.
(free): Remove decl.
2003-09-10 09:03:45 +00:00
Jim Meyering
d10831f97b Include <stddef.h>.
Use types required by C89 in prototype.
2003-09-10 09:03:31 +00:00
Jim Meyering
e0a2e262a5 Include <string.h> unconditionally. 2003-09-10 08:56:48 +00:00
Jim Meyering
9d22c710ad (__ptr_t): Remove; all uses changed to void *.
Include <string.h> unconditionally.
Include <limits.h> unconditionally.
(LONG_MAX): Remove.
(__memchr): Define via a prototype.
2003-09-10 08:56:00 +00:00
Jim Meyering
384a314210 (__ptr_t): Remove; all uses changed to void *.
Include <string.h> unconditionally.
(__P): Remove, and remove all uses.
(memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
Remove forward decls; no longer needed.
2003-09-10 08:55:48 +00:00
Jim Meyering
b6508927a3 (__ptr_t): Remove; all uses changed to void *.
Include <string.h> unconditionally.
Include <limits.h> unconditionally.
Include <stdlib.h> unconditionally.
(LONG_MAX): Remove.
(__memchr): Define via a prototype.
2003-09-10 08:55:39 +00:00
Jim Meyering
606627a9f6 Include "sha.h" first.
Include <stdlib.h>, <string.h> unconditionally.
2003-09-10 08:55:24 +00:00
Jim Meyering
b43985e28a (__P): Remove all uses. (It wasn't defined??) 2003-09-10 08:55:04 +00:00
Jim Meyering
a72a98a7fb Include "md5.h" first.
(md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
md5_buffer, md5_process_bytes, md5_process_block):
Define with prototypes.
2003-09-10 08:54:26 +00:00
Jim Meyering
88be547a30 Include <limits.h> unconditionally.
(UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
(__P): Remove; all uses removed.
2003-09-10 08:54:09 +00:00
Jim Meyering
fe6f9d5a66 (rpl_realloc): Likewise. Also, define with a prototype. 2003-09-10 08:53:52 +00:00
Jim Meyering
9ff401ebc9 Include <stdlib.h>, for malloc; don't bother with stddef.h.
rpl_malloc returns void *, not char *.
2003-09-10 08:53:42 +00:00
Jim Meyering
e1ddafb2f0 Include <stdlib.h>.
(free): Remove decl.
2003-09-10 08:50:00 +00:00
Jim Meyering
0d87ae92fb Include makepath.h first, to test interface.
Include <stdlib.h> and <string.h> unconditionally.
2003-09-10 08:49:49 +00:00
Jim Meyering
06d7d0633c Include long-options.h first, to test interface.
Include <stdlib.h> unconditionally.
2003-09-10 08:49:38 +00:00
Jim Meyering
153a18589c Include <string.h> unconditionally. 2003-09-10 08:49:26 +00:00
Jim Meyering
890fdbf0c4 Include <stdlib.h>, <string.h> unconditionally.
(getenv): Do not declare.
2003-09-10 08:49:12 +00:00
Jim Meyering
9f8cacb16f (free, malloc): Remove decls.
Include <stdlib.h> unconditionally.
2003-09-10 08:48:43 +00:00
Jim Meyering
1561362640 Include hard-locale.h first.
Include <stdlib.h>, <string.h> unconditionally.
2003-09-10 08:48:30 +00:00
Jim Meyering
ccddbf4faf Include group-member.h first.
Include <stdlib.h> unconditionally.
2003-09-10 08:47:38 +00:00
Jim Meyering
e705d572fa Include <string.h> unconditionally. 2003-09-10 08:45:43 +00:00
Jim Meyering
7700fca526 (const): Remove macro.
(getopt_long, getopt_long_only, main): Define with prototype.
2003-09-10 08:45:08 +00:00
Jim Meyering
f846451580 (const): Remove macro.
Include <string.h> unconditionally.
(my_index): Remove; all uses changed to strchr.
(strlen): Remove decl.
(exchange): Remove forward decl; no longer needed.
(exchange, _getopt_initialize, _getopt_internal, getopt, main):
Define with prototype.
2003-09-10 08:44:46 +00:00
Jim Meyering
9209af4c98 (struct option.name): Assume C89, and use 'const'.
(getopt, etopt_long, getopt_long_only, _getopt_internal)
[defined __GNU_LIBRARY__]: Assume C89, so we can always declare
with a prototype.
2003-09-10 08:44:28 +00:00
Jim Meyering
8f4368f10b (getloadavg, main): Define via prototypes. 2003-09-10 08:44:15 +00:00
Jim Meyering
dfd16eff6d Assume stdlib.h per the C89 spec. 2003-09-10 08:42:04 +00:00
Jim Meyering
73ec01a112 Include <stddef.h>.
(gethostname): Define with prototype.  Length is size_t, not int.
2003-09-10 08:37:38 +00:00
Jim Meyering
a8a090ae08 Include <stdlib.h>, <string.h> unconditionally. 2003-09-10 08:37:15 +00:00
Jim Meyering
07c211b0f8 (FCT): Remove forward decl; no longer needed.
(FCT): Define using a prototype.
2003-09-10 08:36:52 +00:00
Jim Meyering
2ce7736853 Include fnmatch.h first, to test interface.
Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
(getenv): Remove decl.
(fnmatch): Define using a prototype.
2003-09-10 08:36:22 +00:00
Jim Meyering
2939998ed7 (__P): Remove. All uses changed to assume prototypes. 2003-09-10 08:35:47 +00:00
Jim Meyering
74916e8628 Include <stdlib.h> unconditionally. 2003-09-10 08:31:57 +00:00
Jim Meyering
bcbbea5319 Include <stdlib.h>, <string.h> unconditionally. 2003-09-10 08:31:47 +00:00
Jim Meyering
3db9acf5e6 (main): Define with a prototype. 2003-09-10 08:31:35 +00:00
Jim Meyering
012067ccf5 Include error.h first, to check interface.
Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
(VA_START): Remove; all uses changeed to va_start.
(exit, strerror): Remove decls.
(error_print_progname): Prototype uncondionally.
Don't include <errno.h>; no longer needed.
(private_strerror): Remove.
(error_tail): Always define.
(error, error_at_line): Assume C89 or better; always use prototypes.
2003-09-10 08:31:14 +00:00
Jim Meyering
86ee01bc32 (error, error_at_line, error_print_progname)
[! (defined (__STDC__) && __STDC__)]: Remove decls.
2003-09-10 08:30:18 +00:00
Jim Meyering
0364e73411 Include <stdlib.h>, <string.h> unconditionally. 2003-09-10 08:29:47 +00:00
Jim Meyering
a57cb0b077 Include <stddef.h>.
(bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
2003-09-10 08:29:31 +00:00
Jim Meyering
3d82b922c1 Include <string.h> unconditionally. 2003-09-10 08:28:38 +00:00
Jim Meyering
02889673a1 (atexit): Define using a prototype. 2003-09-10 08:27:55 +00:00
Jim Meyering
a76d1c83c1 Include <string.h>, <stdlib.h> unconditionally.
(POINTER_TYPE, pointer): Remove; all uses changed to void *.
(NULL): Remove.
(find_stack_direction, alloca): Use prototypes.
2003-09-10 08:27:32 +00:00
Jim Meyering
0d84cc66ee Include <string.h>, <stdlib.h> unconditionally.
Don't declare getenv or malloc.
2003-09-10 08:26:42 +00:00
Jim Meyering
cf61cc9303 Include <string.h> unconditionally. 2003-09-10 08:25:43 +00:00
Jim Meyering
6634cb92ec Include <stdlib.h> unconditionally.
(getusershell, setusershell, endusershell, readname, main):
Define with prototypes.

(readname, default_index, line_size, readname):
Use size_t, not int, for sizes.
(readname): If the size overflows, report an error instead of
looping forever.
2003-09-10 08:24:00 +00:00
Jim Meyering
fb24f78198 *** empty log message *** 2003-09-10 06:33:31 +00:00
Jim Meyering
b24bc317c5 [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
(utime_null): Fix typo: 'st' was sometimes called 'sb'.
2003-09-10 06:33:25 +00:00
Jim Meyering
6247161d8c *** empty log message *** 2003-09-09 17:25:14 +00:00
Jim Meyering
f29d0b1c91 Alphabetize includes.
Remove duplicate inclusion of "same.h".
2003-09-09 17:25:02 +00:00
Jim Meyering
cbd260b93d . 2003-09-09 07:14:03 +00:00
Jim Meyering
3edc0cce07 *** empty log message *** 2003-09-09 05:50:28 +00:00
Jim Meyering
b706478b1b . 2003-09-09 05:46:48 +00:00
Jim Meyering
d8c96acf65 *** empty log message *** 2003-09-08 13:25:38 +00:00
Jim Meyering
ca59d9494e (GZIP_ENV): Remove --rsyncable.
Didn't give enough of a benefit, mainly because it's not yet
in wide enough use.
2003-09-08 13:25:32 +00:00
Jim Meyering
56adf95bee *** empty log message *** 2003-09-08 13:21:22 +00:00
Jim Meyering
aaa25b03dc *** empty log message *** 2003-09-08 13:03:07 +00:00
Jim Meyering
38deedf2d9 (VERSION): Bump to 5.0.92 2003-09-08 12:38:00 +00:00
Jim Meyering
8e393ae0b9 . 2003-09-08 11:22:45 +00:00
Jim Meyering
38b23506a8 . 2003-09-08 09:17:47 +00:00
Jim Meyering
1a2db043f4 *** empty log message *** 2003-09-08 09:17:38 +00:00
Jim Meyering
a1e0d54e2d (programs): Use ../src, not $(srcdir)/../src.
(check-programs-vs-x): Fail if $(programs) is empty.
2003-09-08 09:17:32 +00:00
Jim Meyering
a1dfc8dc22 . 2003-09-08 06:38:37 +00:00
Jim Meyering
c054f7cdc6 . 2003-09-08 06:09:10 +00:00
Jim Meyering
f0a5c8d223 Add a comment. 2003-09-08 06:08:13 +00:00
Jim Meyering
d637d9d5b2 . 2003-09-08 06:05:50 +00:00
Jim Meyering
d54a0f81f2 *** empty log message *** 2003-09-07 17:34:23 +00:00
Jim Meyering
e18e98b627 *** empty log message *** 2003-09-07 17:33:47 +00:00
Jim Meyering
d477526690 (D_INO, ENABLE_CYCLE_CHECK) [D_INO_IN_DIRENT]:
Don't define.  These symbols are no longer used.
2003-09-07 17:33:42 +00:00
Jim Meyering
a4f98360e4 *** empty log message *** 2003-09-07 17:21:52 +00:00
Jim Meyering
1f36aa5121 Write ^D as \cD.
Complete the change of 2003-08-02.
2003-09-07 17:21:48 +00:00
Jim Meyering
edd0e9f89b *** empty log message *** 2003-09-07 17:17:57 +00:00
Jim Meyering
b628bdae1a *** empty log message *** 2003-09-07 17:17:54 +00:00
Jim Meyering
fbb58571c6 (EXTRA_DIST): Add vfat. 2003-09-07 17:17:35 +00:00
Jim Meyering
1c7aabc4d2 *** empty log message *** 2003-09-07 17:16:31 +00:00
Jim Meyering
891878156b *** empty log message *** 2003-09-07 17:12:48 +00:00
Jim Meyering
f5ca703c2c (po-check): Use cvsu, so that a temporary source
file in lib/ or src/ doesn't induce an unwarranted failure.
Add a kludge to filter out the sole generated source file that
also has translatable messages: false.c.
2003-09-07 17:12:34 +00:00
Jim Meyering
b278b201b5 . 2003-09-07 16:57:30 +00:00
Jim Meyering
4492580885 *** empty log message *** 2003-09-07 16:46:16 +00:00
Jim Meyering
6119885e07 *** empty log message *** 2003-09-07 16:45:27 +00:00
Jim Meyering
0895ee0069 *** empty log message *** 2003-09-07 16:43:40 +00:00
Jim Meyering
b3361039bb *** empty log message *** 2003-09-07 16:37:33 +00:00
Jim Meyering
aafd2487a7 *** empty log message *** 2003-09-07 16:36:05 +00:00
Jim Meyering
61a679bbea *** empty log message *** 2003-09-07 16:34:01 +00:00
Jim Meyering
101f307f3c *** empty log message *** 2003-09-07 16:32:02 +00:00
Jim Meyering
b2c5dd9d70 *** empty log message *** 2003-09-06 21:44:17 +00:00
Jim Meyering
220f481d5f *** empty log message *** 2003-09-06 21:37:44 +00:00
Jim Meyering
29b73a0e5e *** empty log message *** 2003-09-06 09:17:10 +00:00
Jim Meyering
0b8a15929c *** empty log message *** 2003-09-06 08:49:43 +00:00
Jim Meyering
93b183e3ad (enum): Add ALLOW_MISSING_OPTION.
(parse_options): Give a diagnostic for (but still accept) the
deprecated --allow-missing option.
2003-09-06 08:49:37 +00:00
Jim Meyering
00b25daa96 . 2003-09-05 20:55:28 +00:00
Jim Meyering
740b0b6e12 *** empty log message *** 2003-09-05 20:53:37 +00:00
Jim Meyering
1f4715e0e8 Don't ignore -S if input is a pipe. Bug report by Michael McFarland in
<http://mail.gnu.org/archive/html/bug-coreutils/2003-09/msg00008.html>.

(sort_buffer_size): Omit SIZE_BOUND arg.  Compute the
size_bound ourselves. if an input file is a pipe and the user
specified a size, use that size instead of trying to guess the
pipe size.  This has the beneficial side effect of avoiding the
overhead of default_sort_size in that case.  All callers changed.
(sort): Remove static var size; now done by sort_buffer_size.
2003-09-05 20:53:08 +00:00
Jim Meyering
098a0f56ca *** empty log message *** 2003-09-05 20:45:32 +00:00
Jim Meyering
1061c70284 (elide_tail_lines_pipe): Don't assign 0 or SAFE_READ_ERROR to tmp->nbytes.
(struct linebuffer): Change nbytes and nlines
from unsigned int to size_t.  unsigned int is safe (after the
2003-09-03 patch) but size_t is cleaner.

Standardize on BUFSIZ as opposed to other macro names and values.
(BUFSIZE): Remove.  All uses changed to BUFSIZ.
2003-09-05 20:45:26 +00:00
Jim Meyering
968be3baa5 (pipe_lines, pipe_bytes): Don't assign 0 or SAFE_READ_ERROR to tmp->nbytes.
(struct linebuffer, struct charbuffer): Change nbytes and nlines from
unsigned int to size_t.  unsigned int is safe (after the 2003-09-03 patch)
but size_t is cleaner.
(pipe_bytes): Likewise for local variable 'i', which was 'int'.

Standardize on BUFSIZ as opposed to other macro names and values.

(BUFSIZ) [!defined BUFSIZ]: Remove. stdio.h has always defined it,
and other code already assumes it's defined.
2003-09-05 20:44:20 +00:00
Jim Meyering
566dee1e96 *** empty log message *** 2003-09-05 19:11:20 +00:00
Jim Meyering
51fe03e45c Standardize on BUFSIZ as opposed to other macro names and values.
(BUFSIZ) [!defined BUFSIZ]: Don't define.
(IO_BUF_SIZE): Remove; replace all uses with sizeof io_buf.
(io_buf): IO_BUF_SIZE -> BUFSIZ.
2003-09-05 14:27:27 +00:00
Jim Meyering
eb8fc598b0 *** empty log message *** 2003-09-05 07:56:52 +00:00
Jim Meyering
df4a189e23 Wait .5 seconds for backgrounded process
to start, rather than just .1.  Upon failure, print unexpected state.
2003-09-05 07:56:39 +00:00
Jim Meyering
23181a481d *** empty log message *** 2003-09-05 06:59:32 +00:00
Jim Meyering
6d913bbe43 (onearg-2): Output should be empty. 2003-09-05 06:56:38 +00:00
Jim Meyering
1ba2d9615e (step): Default to 1.
(print_numbers): Allow the output to be empty.
(main): The default step is 1, even if LAST < FIRST;
as per documentation.
2003-09-05 06:54:59 +00:00
Jim Meyering
9746b175d7 *** empty log message *** 2003-09-05 06:43:14 +00:00
Jim Meyering
75c85c36af (wget_files): Temporarily disable, until master
versions are restored to ftp.gnu.org.
2003-09-05 06:43:03 +00:00
Jim Meyering
5fe692927c . 2003-09-04 22:28:35 +00:00
Jim Meyering
8863b3d3b3 . 2003-09-04 22:27:47 +00:00
Jim Meyering
c4a4716553 *** empty log message *** 2003-09-04 22:27:07 +00:00
Jim Meyering
a0a5e1ca28 (AM_INIT_AUTOMAKE): Specify automake-1.7.6. 2003-09-04 22:27:00 +00:00
Jim Meyering
b9ebf17c3b *** empty log message *** 2003-09-04 22:25:58 +00:00
Jim Meyering
438038167d sort -t '\0' now uses a NUL tab.
sort option order no longer matters, unless POSIX requires it.
2003-09-04 22:25:53 +00:00
Jim Meyering
c39acefee8 (sort invocation): -d now overrides -i.
"whitespace" -> "blanks"; "whitespace" isn't correct.
-t '\0' now specifies a NUL tab.
2003-09-04 22:25:34 +00:00
Jim Meyering
d702490003 *** empty log message *** 2003-09-04 22:24:21 +00:00
Jim Meyering
4b60fac4da *** empty log message *** 2003-09-04 22:22:05 +00:00
Jim Meyering
221e569fbf This makes seq's --width (-w) option work properly even when the
endpoint requiring the largest width is negative and smaller than
the other endpoint.

(get_width_format): Include `-' in the set of bytes
allowed in a `simple' number (no decimal point, no exponent).
2003-09-04 22:21:25 +00:00
Jim Meyering
0bfd14e9b6 *** empty log message *** 2003-09-04 22:20:51 +00:00
Jim Meyering
a1f9e115c7 *** empty log message *** 2003-09-04 22:13:20 +00:00
Jim Meyering
1871cb1fd0 *** empty log message *** 2003-09-04 22:13:08 +00:00
Jim Meyering
70293df29a (usage): Say "blanks" instead of "whitespace",
Similar fixes for many comments.
(TAB_DEFAULT): New constant, so that we can support NUL as
the field separator.
(tab): Now int, not char.  Initialize to TAB_DEFAULT.
(specify_sort_size): If multiple sizes are specified, use the largest.
(begfield, limfield): Support NUL tab char.
(set_ordering): Do not let -i override -d.
(main): Report an error if incompatible -o or -t options are given.
Report an error for "-t ''".  Allow "-t '\0'" to specify a NUL tab.
2003-09-04 22:12:59 +00:00
Jim Meyering
6503d273a2 [o2, nul-tab]: New tests for changes of 2003-09-02. 2003-09-04 22:11:16 +00:00
Jim Meyering
169a0a3f49 (elide_tail_lines_pipe): Don't truncate return value from safe_read. 2003-09-04 21:43:35 +00:00
Jim Meyering
7750d1ac2d (pipe_lines): Don't truncate return value from safe_read. 2003-09-04 21:43:12 +00:00
Jim Meyering
7cda1f5373 *** empty log message *** 2003-09-03 20:30:40 +00:00
Jim Meyering
04191c7a34 *** empty log message *** 2003-09-03 20:30:31 +00:00
Jim Meyering
a42a4b7bd3 (human_readable): Fix bug that rounded 10501 to 10k.
Bug reported by Lute Kamstra in
<http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
2003-09-03 20:30:25 +00:00
Jim Meyering
c8b7d2500d *** empty log message *** 2003-09-03 08:53:29 +00:00
Jim Meyering
6f3fcc3168 (AUTHORS): Remove Larry McVoy's name, since the relatively
small amount of code from him was first moved to lib/human.c, and was
subsequently rewritten entirely.
2003-09-03 08:53:19 +00:00
Jim Meyering
ae8c5ba47a *** empty log message *** 2003-09-03 08:28:12 +00:00
Jim Meyering
54feed1c1a (relative_time_table): Use tDAY_UNIT for "tomorrow",
"yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
course with correspondingly smaller numbers for tomorrow and
yesterday.  From Tadayoshi Funaba.  Originally installed into
sh-utils on 1999-08-07, but the patch was mistakenly reverted by
the next change to that shared file (but this time in fileutils)
on 1999-08-29.
2003-09-03 08:28:08 +00:00
Jim Meyering
ccef10d373 *** empty log message *** 2003-09-02 21:48:18 +00:00
Jim Meyering
e23f19a810 *** empty log message *** 2003-08-31 11:26:40 +00:00
Jim Meyering
33ed497451 Reorder/rename the last 3 tests to make them consistent with
those in tests/sha1sum/basic-1.
2003-08-31 11:26:23 +00:00
Jim Meyering
53576d2eda (check-bsd2, check-bsd3): New tests for
--check exit status and BSD SHA1 format (adapted from tests
in tests/md5sum/basic-1).
2003-08-31 11:23:57 +00:00
Jim Meyering
a95cc22613 (check-bsd3): New test to make sure that
`md5sum --check' doesn't accept the BSD SHA1 format (adapted
from `check-bsd' test in tests/sha1sum/basic-1).
2003-08-31 11:19:53 +00:00
Jim Meyering
7b1f0fa519 (split_3): Accept the BSD format for generic
message digest modes.  Currently works with BSD's MD5 and SHA1
formats since these are the two algorithms presently used in
coreutils.  Updated comments to reflect this change.
(bsd_split_3): Updated comments.
2003-08-31 11:11:10 +00:00
Jim Meyering
a78c9ec4f0 Change meaning of -l from --lookup to --login, per POSIX.
who's -l option has been eliciting an unconditional warning about
this impending change since sh-utils-2.0.12 (April 2002).
2003-08-31 08:24:41 +00:00
Jim Meyering
48494e2cd1 *** empty log message *** 2003-08-31 05:54:59 +00:00
Jim Meyering
a71deb5316 *** empty log message *** 2003-08-30 20:26:49 +00:00
Jim Meyering
27a8f1e732 (do_link): Use SAME_INODE rather than open-coding it. 2003-08-30 20:26:42 +00:00
Jim Meyering
ab7bdb3919 *** empty log message *** 2003-08-30 18:13:27 +00:00
Jim Meyering
97bf7dae4f When source and destination arguments refer to the same file, reside
on a partition (e.g. VFAT) on which distinct names may refer to the
same directory entry (often due to variations in case), and when the
link count for the file is 1, mv no longer unlinks the file.
FIXME: this is a band-aid fix.  If the file happens to have a link
count of 2 or greater, mv will still unlink it.

(same_file_ok): Invoke same_name (which might still
return false for names that refer to the same directory entry)
only if the link count is 2 or more.
2003-08-30 18:13:23 +00:00
Jim Meyering
c612365c07 *** empty log message *** 2003-08-27 13:37:38 +00:00
Jim Meyering
91c35e3464 . 2003-08-27 11:42:19 +00:00
Jim Meyering
91225dcfe0 *** empty log message *** 2003-08-27 11:42:09 +00:00
Jim Meyering
5bd780f6a3 (paste_parallel): Don't output EOF' (aka -1) as a char'.
This would happen for nonempty files not ending with a newline.
2003-08-27 11:41:49 +00:00
Jim Meyering
94b763cc88 *** empty log message *** 2003-08-27 11:41:05 +00:00
Jim Meyering
87052bad50 (TESTS): Add paste-no-nl. 2003-08-27 11:35:34 +00:00
Jim Meyering
9cddf00834 *** empty log message *** 2003-08-27 09:18:28 +00:00
Jim Meyering
9591df25d1 *** empty log message *** 2003-08-27 09:05:50 +00:00
Jim Meyering
e563c61167 Update from gettext-0.12.2. 2003-08-27 09:05:47 +00:00
Jim Meyering
ddc3343bf9 . 2003-08-27 09:04:55 +00:00
Jim Meyering
c5637a8751 . 2003-08-27 09:01:16 +00:00
Jim Meyering
2f9876c910 (TESTS): Add stat-fmt. 2003-08-27 09:01:01 +00:00
Jim Meyering
2bfb4145e4 *** empty log message *** 2003-08-27 09:00:47 +00:00
Jim Meyering
bd26acdde7 *** empty log message *** 2003-08-27 08:55:33 +00:00
Jim Meyering
e37cd8f9f4 (print_it): Avoid buffer overrun that would occur
when the user-specified format string ends with `%'.
2003-08-27 08:55:01 +00:00
Jim Meyering
e364229e33 *** empty log message *** 2003-08-27 07:22:53 +00:00
Jim Meyering
bdd47cd6ad *** empty log message *** 2003-08-27 06:42:34 +00:00
Jim Meyering
19a897c05f Require that the system mkstemp be able to create
70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
would fail after 32.  Reported by Danny Levinson.  Details here:
http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
2003-08-27 06:42:31 +00:00
Jim Meyering
96eeabcd47 *** empty log message *** 2003-08-27 06:29:25 +00:00
Jim Meyering
9a934ed3a7 *** empty log message *** 2003-08-26 12:08:05 +00:00
Jim Meyering
0d89345cdd *** empty log message *** 2003-08-26 09:29:31 +00:00
Jim Meyering
18c090ec11 (local-checks-to-skip): New. 2003-08-26 09:29:26 +00:00
Jim Meyering
d1f0b99838 (local-check): Rename as...
(local-checks-available): this.
(local-check): New.
2003-08-26 09:29:15 +00:00
Jim Meyering
af78d9c564 Apply changes from bison.
(WGETFLAGS): Define to `-C off'.
Update all uses of $(WGET).
2003-08-26 07:49:44 +00:00
Jim Meyering
92aefc30dc (SHELL): Define to `sh', if necessary.
Add copyright.
2003-08-26 07:40:04 +00:00
Jim Meyering
5c3ef41e0d *** empty log message *** 2003-08-26 07:20:03 +00:00
Jim Meyering
fb980e53f9 (print_changelog_deltas): Neutralize "<#" as
"<\#" to avoid magic from Gnus when posting parts of this script.
2003-08-26 07:19:57 +00:00
Jim Meyering
19ef24661f *** empty log message *** 2003-08-26 06:39:10 +00:00
Jim Meyering
6b50f6f76a *** empty log message *** 2003-08-25 07:39:36 +00:00
Jim Meyering
6bb625621f (main): Warn about use of deprecated `-l' option. 2003-08-25 07:39:26 +00:00
Jim Meyering
adbc34bacb . 2003-08-25 06:30:06 +00:00
Jim Meyering
48341936d7 *** empty log message *** 2003-08-23 12:23:50 +00:00
Jim Meyering
671f12d8fd *** empty log message *** 2003-08-23 12:23:35 +00:00
Jim Meyering
64bd38cf92 *** empty log message *** 2003-08-22 09:46:16 +00:00
Jim Meyering
2b99adb3be *** empty log message *** 2003-08-22 08:20:29 +00:00
Jim Meyering
c63799d99d (do_stat): For link count at end of line, use %h format,
instead of %-5h.  The latter would make stat emit trailing spaces.
2003-08-22 08:20:05 +00:00
Jim Meyering
4cebecbf06 *** empty log message *** 2003-08-20 15:32:56 +00:00
Jim Meyering
52577e5c1a (EXTRA_DIST): Add .x-sc_space_tab .x-sc_sun_os_names 2003-08-20 15:32:48 +00:00
Jim Meyering
3bbe6b3d1b *** empty log message *** 2003-08-20 15:30:49 +00:00
Jim Meyering
941b28ec5b . 2003-08-19 21:05:04 +00:00
Jim Meyering
548abe8519 *** empty log message *** 2003-08-19 17:55:59 +00:00
Jim Meyering
fe3e80fc68 *** empty log message *** 2003-08-19 17:50:32 +00:00
Jim Meyering
a734efef05 (MSGID_BUGS_ADDRESS): Define. 2003-08-19 17:49:48 +00:00
Jim Meyering
11250c5fe3 *** empty log message *** 2003-08-19 17:02:25 +00:00
Jim Meyering
eb2f6b8f90 Revert yesterday's change, per Bruno's request here:
http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
2003-08-19 17:02:22 +00:00
Jim Meyering
1b99dfd7cc *** empty log message *** 2003-08-19 17:00:36 +00:00
Jim Meyering
dcb6dfae32 . 2003-08-19 10:25:37 +00:00
Jim Meyering
cd30f3ad32 *** empty log message *** 2003-08-19 10:24:21 +00:00
Jim Meyering
6a27043931 Include stdlib.h unconditionally,
as we're now assuming that part of hosted C89.
2003-08-19 10:07:33 +00:00
Jim Meyering
19853d3f0b *** empty log message *** 2003-08-19 10:03:22 +00:00
Jim Meyering
d3bfb37e64 *** empty log message *** 2003-08-19 10:02:57 +00:00
Jim Meyering
7c4acc4f65 Include <stdlib.h> and <string.h> unconditionally,
as we're now assuming that part of hosted C89.
(free) [!HAVE_DECL_FREE]: Remove decl; no longer needed.
(same_name): Invoke pathconf on destination, not source, as
that's a bit clearer even if they are the same dir.
2003-08-19 10:02:53 +00:00
Jim Meyering
d7787443ec *** empty log message *** 2003-08-19 10:02:00 +00:00
Jim Meyering
2d8da32339 (gl_SAME): Do not check for stdlib.h or string.h or free.
Check for pathconf.
2003-08-19 10:01:52 +00:00
Jim Meyering
a7c82c47a0 tweak serial number 2003-08-18 21:07:47 +00:00
Jim Meyering
a5a51177e5 *** empty log message *** 2003-08-18 20:59:05 +00:00
Jim Meyering
cf85337681 (AM_PO_SUBDIRS, AM_NLS): Don't define as no-ops.
Their absence provoked a failure due to non-creation of po/Makefile.
2003-08-18 20:59:02 +00:00
Jim Meyering
71bbe4cea6 bump serial number 2003-08-18 20:57:27 +00:00
Jim Meyering
0c4a53f36a . 2003-08-18 20:56:46 +00:00
Jim Meyering
69239d1f6f *** empty log message *** 2003-08-18 20:56:37 +00:00
Jim Meyering
a977821d5b New file, from gnulib. 2003-08-18 20:56:23 +00:00
Jim Meyering
e4cdd499f7 *** empty log message *** 2003-08-18 15:30:47 +00:00
Jim Meyering
5fef25cfe5 bump serial number 2003-08-18 15:28:05 +00:00
Jim Meyering
c8e6082065 . 2003-08-18 12:32:46 +00:00
Jim Meyering
8ac00d52ce *** empty log message *** 2003-08-18 12:15:22 +00:00
Jim Meyering
111217fed2 Remove space before TAB. 2003-08-18 12:15:12 +00:00
Jim Meyering
0d11732ef2 *** empty log message *** 2003-08-18 12:14:07 +00:00
Jim Meyering
4edbebf4d2 Use `[\t ]', not [ \t] (where \t is a literal TAB). 2003-08-18 12:13:50 +00:00
Jim Meyering
51a8e701c0 *** empty log message *** 2003-08-18 12:09:55 +00:00
Jim Meyering
74ed024a23 (textdomain, bindtextdomain) [! ENABLE_NLS]: Define away,
to avoid warnings from gcc.
2003-08-18 12:09:42 +00:00
Jim Meyering
48e6983c88 . 2003-08-18 09:46:12 +00:00
Jim Meyering
ae363218fa Sync with gnulib. 2003-08-18 09:45:57 +00:00
Jim Meyering
afb16a5a4a . 2003-08-18 09:45:27 +00:00
Jim Meyering
b1b4af8047 Sync with gnulib. 2003-08-18 09:44:49 +00:00
Jim Meyering
84a9ab5a07 *** empty log message *** 2003-08-18 09:44:40 +00:00
Jim Meyering
e709e6cdb6 add a few, to let me check in Paul's big merge from gnulib 2003-08-18 09:44:00 +00:00
Jim Meyering
ce87cf867c undo last change -- duh 2003-08-18 09:41:31 +00:00
Jim Meyering
8ad845b926 . 2003-08-18 09:39:31 +00:00
Jim Meyering
dfc0543023 Add a bunch so I can commit Paul's big merge from gnulib 2003-08-18 09:38:54 +00:00
Jim Meyering
9108d06bd3 Sync with gnulib, and indent nested cpp directives. 2003-08-18 09:04:37 +00:00
Jim Meyering
6e0aaab30e Sync with gnulib. 2003-08-18 08:58:27 +00:00
Jim Meyering
024b29b7e8 Sync with gnulib. 2003-08-18 08:53:29 +00:00
Jim Meyering
f8a1a4ef0c Sync with gnulib. 2003-08-18 08:52:59 +00:00
Jim Meyering
419c8ff0fe *** empty log message *** 2003-08-18 08:34:34 +00:00
Jim Meyering
d81acc0826 Merge from gnulib.
(libfetish_a_SOURCES): Remove getndelim2.c,
getndelim2.h, xstrtoimax.c.  Add localcharset.h.
(CLEANFILES, SUFFIXES): Initialize to empty.
(EXTRA_DIST): Add getndelim2.c, getndelim2.h.
(install-exec-local): Use $(GLIBC21), not @GLIBC21@.
Do not mkdir libdir if not glibc21.
(charset.alias): @host@ -> $(host).
(SUFFIXES, .sin.sed, CLEANFILES): Reorder rules
to match gnulib module suggestions.
2003-08-18 07:51:29 +00:00
Jim Meyering
0fc380c89d Include <stdbool.h>, <limits.h>.
(_POSIX_NAME_MAX): Define if not defined.
(MIN): New macro.
(same_name): If file names are silently truncated, report
that the file names are the same if they are the same after
the silent truncation.
2003-08-18 07:47:40 +00:00
Jim Meyering
d957e165d4 *** empty log message *** 2003-08-17 17:58:22 +00:00
Jim Meyering
22e0b84f86 New file, from gnulib. 2003-08-17 17:58:01 +00:00
Jim Meyering
69d741ae8e Sync with gnulib. 2003-08-17 17:57:38 +00:00
Jim Meyering
56f3c86407 . 2003-08-17 17:55:24 +00:00
Jim Meyering
c0937a7d34 (fu_cv_sys_truncating_statfs): Remove; now done by gnulib .m4 files.
(jm_DUMMY_1): Require gl_READUTMP, not jm_PREREQ_READUTMP.
2003-08-17 17:50:30 +00:00
Jim Meyering
4d863fd68b (strtoull): Remove unused declaration. 2003-08-17 17:48:14 +00:00
Jim Meyering
2a1a23828c (who invocation): Begin adding missing option documentation. 2003-08-17 17:10:25 +00:00
Jim Meyering
485e87fc26 (who invocation): Add an entry for -l, --login.
Remove `-l' from the entry for --lookup.
2003-08-17 16:13:30 +00:00
Jim Meyering
be7c8576a5 *** empty log message *** 2003-08-17 16:04:04 +00:00
Jim Meyering
f976fd6f38 Avoid unnecessary and sometimes time-consuming hostname lookups.
(print_user): Likewise.

This fixes a typo I introduced in who-users.c on 1996-02-23.
2003-08-17 16:04:00 +00:00
Jim Meyering
7cea884787 Avoid unnecessary and sometimes time-consuming hostname lookups.
(print_entry): Likewise.

This fixes a typo I introduced in who-users.c on 1996-02-23.
2003-08-17 16:03:42 +00:00
Jim Meyering
c3796f404a (makefile-check): Add 0-9 to the range of characters disallowed between `@...@'. 2003-08-17 07:57:29 +00:00
Jim Meyering
ba55eeb402 *** empty log message *** 2003-08-17 07:53:48 +00:00
Jim Meyering
b0eb260de0 *** empty log message *** 2003-08-17 07:50:40 +00:00
Jim Meyering
1ead947b79 . 2003-08-17 07:49:10 +00:00
Jim Meyering
d69f5304ab (TESTS): Add tail-n0f. 2003-08-17 07:47:03 +00:00
Jim Meyering
86ab22a0dd (.x.1): `@'-prefix a few commands 2003-08-16 20:49:04 +00:00
Jim Meyering
6835a10298 use only -f, not -rf 2003-08-16 20:46:47 +00:00
Jim Meyering
16262f2ce7 *** empty log message *** 2003-08-16 20:46:13 +00:00
Jim Meyering
4f8f680c78 (.x.1): Ensure that generated PROGRAM.1 files are read-only. 2003-08-16 20:46:08 +00:00
Jim Meyering
eebf88c0b6 *** empty log message *** 2003-08-16 17:39:51 +00:00
Jim Meyering
f6008be14a (tail_lines): Fix a potential (but very hard to exercise)
race condition bug.  The bug would be triggered when tailing a file
with file pointer not at beginning of file, and where the file was
truncated to have a length of less than the initial offset at just
the right moment (between the two lseek calls in this function).
2003-08-16 17:34:41 +00:00
Jim Meyering
f4be51104a An invalid initial value for *read_pos would result in
`tail -n0 -f FILE' and `tail -c0 -f FILE' doing what amounted to a
busy-wait rather than sleeping between iterations.  The bug manifests
itself only when tailing regular files that are initially nonempty.

(tail_bytes): Set *read_pos to new file offset after
each xlseek call.
(tail_lines): Likewise, after lseek calls.
2003-08-16 17:28:33 +00:00
Jim Meyering
d14d30c58f (tail_bytes): Set *read_pos to new file offset after each xlseek call.
(tail_lines): Likewise, after lseek calls.
2003-08-16 17:27:52 +00:00
Jim Meyering
6c4fe5054c *** empty log message *** 2003-08-16 13:22:23 +00:00
Jim Meyering
4c34fab639 *** empty log message *** 2003-08-15 11:03:31 +00:00
Jim Meyering
f5802d93d8 *** empty log message *** 2003-08-15 09:33:59 +00:00
Jim Meyering
64e9a26fdc (sc_sun_os_names): Use exclusion list in separate file. 2003-08-15 09:33:55 +00:00
Jim Meyering
19a2367b63 *** empty log message *** 2003-08-15 09:32:59 +00:00
Jim Meyering
cececc79b9 *** empty log message *** 2003-08-15 09:32:16 +00:00
Jim Meyering
80dc705750 *** empty log message *** 2003-08-15 09:28:38 +00:00
Jim Meyering
776b34aaef *** empty log message *** 2003-08-15 09:13:23 +00:00
Jim Meyering
f305619bb0 (sc_space_tab): Use exclusion list in separate file. 2003-08-15 09:13:06 +00:00
Jim Meyering
63000d3797 *** empty log message *** 2003-08-15 09:09:35 +00:00
Jim Meyering
6f82d20ec8 Remove some SPACEs before TAB. 2003-08-15 09:08:29 +00:00
Jim Meyering
dcdee393d7 . 2003-08-15 06:54:15 +00:00
Jim Meyering
2faafb8512 (ASSORT): New var.
(all_programs): Use it.
2003-08-15 06:53:38 +00:00
Jim Meyering
4f6b3338a1 (ASSORT): New var.
(check-README, ../AUTHORS): Use it.
2003-08-15 06:53:02 +00:00
Jim Meyering
a38f52d855 (ASSORT): New var.
(check-x-vs-1, programs): Use it.
2003-08-15 06:52:34 +00:00
Jim Meyering
9b0f2e56af (LC_ALL): Set to C. 2003-08-15 06:51:20 +00:00
Jim Meyering
bffade8728 regenerate 2003-08-15 06:50:09 +00:00
Jim Meyering
11d239448d . 2003-08-15 06:43:29 +00:00
Jim Meyering
0997b687a2 *** empty log message *** 2003-08-15 06:43:19 +00:00
Jim Meyering
60886b408a Include "physmem.h" before system includes. 2003-08-15 06:43:16 +00:00
Jim Meyering
10cd173e5c *** empty log message *** 2003-08-15 06:34:42 +00:00
Jim Meyering
22ef681cc1 (gl_FUNC_UTIMES): Use `conftest.utimes' as the test
file name, not `x'.  The former will be removed automatically.
2003-08-15 06:34:38 +00:00
Jim Meyering
2287875cfd (Makefile.am): Remove README. 2003-08-13 09:37:02 +00:00
Jim Meyering
99a52006e4 . 2003-08-13 09:36:39 +00:00
Jim Meyering
da27e40fa1 . 2003-08-13 09:35:14 +00:00
Jim Meyering
885ee3b94c regenerate 2003-08-13 09:35:04 +00:00
Jim Meyering
b226b6589c Simplify. 2003-08-13 09:34:51 +00:00
Jim Meyering
d5871aa850 *** empty log message *** 2003-08-13 09:19:08 +00:00
Jim Meyering
ab091d085d Remove extra copy of cvs-diff-check rule.
Remove reference to config-log.
2003-08-13 07:33:17 +00:00
Jim Meyering
046557715c (syntax checks): Use cvsu more (so we check only
version-controlled files), rather than hard-coding exclusions
for generated files like cppi.c.
2003-08-13 07:03:09 +00:00
Jim Meyering
4f9e9c540a new version from autoconf 2003-08-13 06:14:50 +00:00
Jim Meyering
564fa6ab88 *** empty log message *** 2003-08-12 16:17:42 +00:00
Jim Meyering
ce355eafc3 Add Irish (ga). 2003-08-12 16:17:38 +00:00
Jim Meyering
e7c7e938e0 version: 5.0.90 2003-08-12 16:17:10 +00:00
Jim Meyering
a538bd3824 grammar tweak 2003-08-12 11:35:24 +00:00
Jim Meyering
2d64d7ff66 *** empty log message *** 2003-08-11 18:27:58 +00:00
Jim Meyering
31f092ff08 . 2003-08-11 18:25:04 +00:00
Jim Meyering
2a2f75c9c7 . 2003-08-11 14:35:58 +00:00
Jim Meyering
d761e22b60 fold -s -wN would infloop for N < 8 with TABs in the input.
E.g., this would not terminate: printf 'a\tb' | fold -w2 -s

(fold_file): Move contents of `else'-block
out of conditional so it's used also for --spaces (-s).
2003-08-11 14:35:52 +00:00
Jim Meyering
7f502e489c test for fix of 2003-08-11 2003-08-11 14:35:13 +00:00
Jim Meyering
2a06944a15 (TESTS): Add fold. 2003-08-11 14:34:51 +00:00
Jim Meyering
1229203186 *** empty log message *** 2003-08-10 17:50:14 +00:00
Jim Meyering
cc664579f8 [!NICE_PRIORITY]: Include <sys/resource.h> after
system.h so the types from time.h and sys/time.h are available.
It appears that this is necessary for OpenBSD, NetBSD, and
Darwin 6.5 (MacOS 10.2.5).  Reported by Nelson Beebe.
2003-08-10 17:50:11 +00:00
Jim Meyering
8dc1a94ca6 . 2003-08-10 13:33:11 +00:00
Jim Meyering
d9fd41f319 *** empty log message *** 2003-08-10 13:32:24 +00:00
Jim Meyering
950a94e748 . 2003-08-10 13:32:18 +00:00
Jim Meyering
8892d683be tweak comments 2003-08-10 13:31:42 +00:00
Jim Meyering
54c5324dbd Require gl_FUNC_UTIMES.
Don't check for utime or utimes.
2003-08-10 13:30:39 +00:00
Jim Meyering
3db25ecc35 *** empty log message *** 2003-08-10 13:30:03 +00:00
Jim Meyering
5701c74f6d (utimens): Revert most of last change.
Test HAVE_WORKING_UTIMES instead of HAVE_UTIMES.
2003-08-10 13:29:56 +00:00
Jim Meyering
8bdd034bd4 (gl_FUNC_UTIMES): New file. 2003-08-10 13:28:38 +00:00
Jim Meyering
c68ad5dff0 Rename to utimes-null.m4. 2003-08-10 10:06:14 +00:00
Jim Meyering
84450a03e4 Renamed from utimes.m4. 2003-08-10 09:57:26 +00:00
Jim Meyering
88d7fc08b1 *** empty log message *** 2003-08-10 06:21:10 +00:00
Jim Meyering
21ffba9df7 . 2003-08-09 18:38:02 +00:00
Jim Meyering
d30bd06760 *** empty log message *** 2003-08-09 18:37:52 +00:00
Jim Meyering
d51e9c474b . 2003-08-09 18:37:08 +00:00
Jim Meyering
67c22b0af2 *** empty log message *** 2003-08-09 18:36:27 +00:00
Jim Meyering
3be772cf1e (jm_PREREQ): Require gl_UTIMENS. 2003-08-09 18:36:16 +00:00
Jim Meyering
9b1bd49df2 Include utimens.h.
Set file timestamps with utimens, not utime.
2003-08-09 18:35:07 +00:00
Jim Meyering
a1b1ddb9ae (libeftish_a_SOURCES): Add utimens.c, utimens.h. 2003-08-09 18:24:52 +00:00
Jim Meyering
9fd1e90a36 Test HAVE_UTIME, not HAVE_UTIMES.
Prefer utime, since it works and utimes doesn't on some systems.
2003-08-09 18:23:45 +00:00
Jim Meyering
9b51a5db83 Include utimens.h.
(copy_internal): Set file timestamps with utimens, not utime.
2003-08-09 17:48:41 +00:00
Jim Meyering
c9df366ee5 Include utimens.h.
(change_timestamps): Set file timestamps with utimens, not utime.
2003-08-09 17:47:34 +00:00
Jim Meyering
40802a2fbd Include utimens.h.
(re_protect): Set file timestamps with utimens, not utime.
2003-08-09 17:46:13 +00:00
Jim Meyering
c78cec0951 *** empty log message *** 2003-08-09 17:23:13 +00:00
Jim Meyering
87d488c5d5 (gl_PREREQ_VASNPRINTF): Solaris 2.5.1 needs -lw to get the wcslen function. 2003-08-09 17:23:09 +00:00
Jim Meyering
b60792f5ac *** empty log message *** 2003-08-09 17:01:55 +00:00
Jim Meyering
dddfbc0b5b (sc_sun_os_names): New rule.
(syntax-check-rules): Add it.
2003-08-09 17:01:23 +00:00
Jim Meyering
cc586690cf Tweak Solaris OS version number in comment. 2003-08-09 16:35:19 +00:00
Jim Meyering
4352921096 (main): Tweak Solaris OS version number in comment. 2003-08-09 16:34:32 +00:00
Jim Meyering
dc14125393 Tweak Solaris OS version number in comment. 2003-08-09 16:34:22 +00:00
Jim Meyering
b42129829a *** empty log message *** 2003-08-09 16:34:02 +00:00
Jim Meyering
0ac638c6ea Change Solaris 2.7 to Solaris 5.7 in comment. 2003-08-09 16:33:55 +00:00
Jim Meyering
374f08d5fc Change Solaris2.7 to Solaris 5.7. 2003-08-09 16:29:28 +00:00
Jim Meyering
6a04189787 *** empty log message *** 2003-08-09 16:27:57 +00:00
Jim Meyering
f48eac58b8 *** empty log message *** 2003-08-09 16:26:54 +00:00
Jim Meyering
2a456d35b7 (unicode_to_mb): Change Solaris 2.7 to Solaris 5.7 in comment. 2003-08-09 16:26:32 +00:00
Jim Meyering
5bd35c41b0 . 2003-08-09 16:20:35 +00:00
Jim Meyering
1491e1981e *** empty log message *** 2003-08-09 15:33:20 +00:00
Jim Meyering
607cb34ef2 *** empty log message *** 2003-08-09 15:32:50 +00:00
Jim Meyering
fd54759957 (pipe_lines): Use memchr to skip lines, rather than an explicit loop. 2003-08-09 15:32:42 +00:00
Jim Meyering
5422ec14ea Add new undocumented option, --presume-input-pipe. 2003-08-09 15:31:13 +00:00
Jim Meyering
2376c2480d . 2003-08-09 14:11:42 +00:00
Jim Meyering
d3b7bfd25d . 2003-08-09 14:10:59 +00:00
Jim Meyering
a6a72740c6 superceded by extensions.m4 from gnulib 2003-08-09 14:05:19 +00:00
Jim Meyering
58d174529d replaced by unlocked-io.m4 from gnulib 2003-08-09 14:04:55 +00:00
Jim Meyering
e2ea041e9d *** empty log message *** 2003-08-09 14:04:04 +00:00
Jim Meyering
a991da3bd6 Merge from gnulib. 2003-08-09 14:03:59 +00:00
Jim Meyering
8e30ef7363 New files, from gnulib. 2003-08-09 14:03:30 +00:00
Jim Meyering
74daee992c Use new gnulib 'extensions' module.
Invoke gl_USE_SYSTEM_EXTENSIONS instead of
AC_GNU_SOURCE.
2003-08-09 14:02:52 +00:00
Jim Meyering
1151e71f11 . 2003-08-09 14:00:46 +00:00
Jim Meyering
b8315632af *** empty log message *** 2003-08-09 14:00:39 +00:00
Jim Meyering
b50550c508 *** empty log message *** 2003-08-09 11:38:59 +00:00
Jim Meyering
8b56ea9ff5 Ensure that a/b/F has at least 65 bytes too. 2003-08-09 11:38:57 +00:00
Jim Meyering
e1bb200a92 . 2003-08-09 10:57:04 +00:00
Jim Meyering
7a4363a7ba . 2003-08-09 10:56:40 +00:00
Jim Meyering
69ca659567 *** empty log message *** 2003-08-09 10:44:33 +00:00
Jim Meyering
23ee422fe8 Use the e.g., `$(FNMATCH_H)' notation for AC_REPLACED
variable names, rather than @FNMATCH_H@.
Likewise for $(ALLOCA_H).
(fnmatch.h): Use `$@' in the commands, in place of the three copies
of the literal target, `fnmatch.h'.
(alloca.h): Likewise.
2003-08-09 10:44:06 +00:00
Jim Meyering
a62ac802d4 *** empty log message *** 2003-08-09 10:28:01 +00:00
Jim Meyering
6e75699530 *** empty log message *** 2003-08-09 10:22:01 +00:00
Jim Meyering
24a45a41d5 (jm_MACROS): Replace jm_INCLUDED_REGEX([lib/regex.c]) with gl_REGEX.
Replace jm_FUNC_MKTIME with gl_FUNC_MKTIME.
Remove redundant AC_FUNC_FNMATCH_GNU, jm_FUNC_MKTIME.
Remove AC_FUNC_VPRINTF.
Add gl_ERROR.
2003-08-09 10:21:58 +00:00
Jim Meyering
8ae0c38a78 *** empty log message *** 2003-08-09 09:58:34 +00:00
Jim Meyering
5a2082acb6 (libfetish_a_SOURCES): Remove fnmatch_.h.
(lib_OBJECTS): New macro, for convenience when cutting and
pasting Makefile.am templates from gnulib.
(EXTRA_DIST): Remove fnmatch_loop.c.
(BUILT_SOURCES): Append $(FNMATCH_H).

Import the following changes from gnulib templates
for alloca and fnmatch):
(all-local $(lib_OBJECTS)): New dependencies.
(alloca.h): Use alloca.h-t for temporary.
(EXTRA_DIST): Append fnmatch_.h, fnmatch_loop.c.
(fnmatch.h): New rule.
(MOSTLYCLEANFILES): Add fnmatch.h, fnmatch.h-t.
(DISTCLEANFILES): Remove fnmatch.h
2003-08-09 09:58:30 +00:00
Jim Meyering
4bbd70a251 *** empty log message *** 2003-08-09 09:52:37 +00:00
Jim Meyering
923ca8c812 (split invocation): Add -d or --numeric-suffixes option to 'split'. 2003-08-09 09:50:52 +00:00
Jim Meyering
96590c3f79 *** empty log message *** 2003-08-09 09:47:10 +00:00
Jim Meyering
5d70602ed3 Reflect that `split -a 0' is now accepted. 2003-08-09 09:46:13 +00:00
Jim Meyering
27c678fc89 (suffix_alphabet): New var.
(longopts, usage, next_file_name, main): Support -d.
(next_file_name, main): Allow -a0, as POSIX requires.
(next_file_name): Don't assume ASCII-like encoding;
'a' through 'z' are not contiguous in EBCDIC.
2003-08-09 09:16:39 +00:00
Jim Meyering
d1b40cdc9e *** empty log message *** 2003-08-08 21:15:01 +00:00
Jim Meyering
f19043fbc0 (read_filesystem_list) [MOUNTED_GETFSSTAT]:
Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
hang on OSF/1 5.1 for DIR on both local and remote file systems.
Reported by (and fix confirmed by) Nelson H. F. Beebe.
2003-08-08 21:14:57 +00:00
Jim Meyering
54288039b7 . 2003-08-07 09:41:34 +00:00
Jim Meyering
24b89f94b6 *** empty log message *** 2003-08-07 09:36:43 +00:00
Jim Meyering
1c50c3a60c (RE_SYNTAX_POSIX_AWK): Remove SPACE in SPACE-TAB sequence. 2003-08-07 09:36:38 +00:00
Jim Meyering
27498a37d0 *** empty log message *** 2003-08-07 09:33:53 +00:00
Jim Meyering
00f84b1e64 Include getndelim2.h rather than getdelim2.h.
(cut_fields): Invoke getndelim2 rather than getdelim2.
2003-08-07 09:33:48 +00:00
Jim Meyering
c71f78dad6 . 2003-08-07 09:32:44 +00:00
Jim Meyering
84ae8c3ad4 *** empty log message *** 2003-08-07 09:32:07 +00:00
Jim Meyering
41996af5d2 New file, from gnulib. 2003-08-07 09:31:47 +00:00
Jim Meyering
744316d8f7 Merge from gnulib. 2003-08-07 09:31:22 +00:00
Jim Meyering
6e6122cb1e (jm_MACROS): Use gl_GETNDELIM2 rather than checking for getdelim.
(jm_CHECK_ALL_TYPES): Use gt_TYPE_SSIZE_T for ssize_t rather
than rolling our own.
2003-08-07 09:30:09 +00:00
Jim Meyering
8f7bd2c0e5 *** empty log message *** 2003-08-07 09:26:21 +00:00
Jim Meyering
4512fc1668 Merge from gnulib. 2003-08-07 09:26:06 +00:00
Jim Meyering
08fd4795f3 Merge from gnulib. 2003-08-07 09:25:26 +00:00
Jim Meyering
5e7260dd56 superseded by getndelim2.[ch] 2003-08-07 09:24:34 +00:00
Jim Meyering
2a12cb5fce New files, from gnulib. 2003-08-07 09:23:16 +00:00
Jim Meyering
909b176780 New files, from gnulib. 2003-08-07 09:22:36 +00:00
Jim Meyering
08b3074489 (libfetish_a_SOURCES): Change getdelim2.c and
getdelim2.h to getndelim2.c and getndelim2.h.
2003-08-07 09:20:18 +00:00
Jim Meyering
312a5a6a2f *** empty log message *** 2003-08-07 09:13:55 +00:00
Jim Meyering
a103bb4a08 Merge with gnulib.
(gl_C_RESTRICT): Renamed from ACX_C_RESTRICT.  All uses changed.
Rename cache vars to gl_cv_*.  Incorporate latest Autoconf CVS tricks.
2003-08-07 09:13:50 +00:00
Jim Meyering
e38f0569b3 Merge with gnulib.
(gl_REGEX): New macro.
(jm_INCLUDED_REGEX): Don't assume Latin-1 encoding of source code.
2003-08-07 09:12:15 +00:00
Jim Meyering
5340feef74 *** empty log message *** 2003-08-07 09:09:12 +00:00
Jim Meyering
3b3e8d0f25 Sync with gnulib. 2003-08-07 09:09:00 +00:00
Jim Meyering
33faa30817 *** empty log message *** 2003-08-07 08:04:52 +00:00
Jim Meyering
5dfc40658f . 2003-08-07 08:03:12 +00:00
Jim Meyering
0d99fa47ed . 2003-08-07 07:40:58 +00:00
Jim Meyering
ca876f123b *** empty log message *** 2003-08-07 07:38:41 +00:00
Jim Meyering
02a569d50e Sync with gnulib (white space change only). 2003-08-07 07:38:25 +00:00
Jim Meyering
e3e83a2395 (jm_CHECK_ALL_TYPES): Call gl_TIMESPEC rather
than jm_CHECK_TYPE_STRUCT_TIMESPEC.
2003-08-07 07:38:12 +00:00
Jim Meyering
b7e958a36e Sync with gnulib, except also require AC_GNU_SOURCE. 2003-08-07 07:37:51 +00:00
Jim Meyering
73890aec77 New file, taken from gnulib, with support added for __EXTENSIONS__ a la Solaris. 2003-08-07 07:36:41 +00:00
Jim Meyering
a5722af878 *** empty log message *** 2003-08-07 06:37:16 +00:00
Jim Meyering
7e7c738d65 (jm_PREREQ_PHYSMEM, jm_PREREQ_STAT): Ignore headers
that are present but cannot be compiled.  This avoids spurious warnings
on Solaris 9 sparc with Forte Developer 7 C 5.4.
2003-08-07 06:37:11 +00:00
Jim Meyering
896f4a1c19 . 2003-08-06 23:10:37 +00:00
Jim Meyering
1f5d2131d2 *** empty log message *** 2003-08-06 23:09:28 +00:00
Jim Meyering
23d06dca01 (jm_MACROS): Require gl_FUNC_FNMATCH_GNU instead of AC_FUNC_ERROR_AT_LINE. 2003-08-06 23:09:24 +00:00
Jim Meyering
a54bde8859 New file, from gnulib. 2003-08-06 23:09:10 +00:00
Jim Meyering
5a6401d82e . 2003-08-06 19:36:32 +00:00
Jim Meyering
4550181ae1 *** empty log message *** 2003-08-05 17:11:01 +00:00
Jim Meyering
f790a86fde Sync from gnulib. 2003-08-05 17:10:58 +00:00
Jim Meyering
01c8ab7082 . 2003-08-05 07:23:41 +00:00
Jim Meyering
29496816be *** empty log message *** 2003-08-04 08:56:07 +00:00
Jim Meyering
cf572dd1d0 (main): Use unsigned int instead of int for `nsigs'
and for the indices to iterate through nsigs.
2003-08-04 08:55:44 +00:00
Jim Meyering
58a90860fc *** empty log message *** 2003-08-03 10:28:23 +00:00
Jim Meyering
c009c921e1 *** empty log message *** 2003-08-03 10:28:14 +00:00
Jim Meyering
801362fc36 Minor code cleanups, mostly to use more accurate
types and to remove unnecessary casts.
(min, max): Remove.  All uses changed to MIN and MAX.
(hard_lc_collate, hard_LC_TIME, struct buffer.eof, struct
keyfield.skipsblanks, struct keyfield.skipeblanks, struct
keyfield.numeric, struct keyfield.general_numeric, struct
keyfield.month, struct keyfield.reverse, reverse, unique,
have_read_stdin): Now bool, not int.  All uses changed.
(eolchar): Now char, not int.
(struct keyfield.ignore): Now bool const *, not int *.
(struct keyfield.translate): Now char const *, not char *.
(struct month.name): Likewise.
(blanks, nonprinting, nondictionary): Now bool[], not int[].
(cleanup, inittables, keycompare, check, mergefps, first_same_file,
check, sort, main): Use const * pointers when possible.
(month_cmp): Rewrite to avoid casts.
(inittables): Initialize tables unconditionally, to avoid branches.
(fillbuf): Return bool, not int.  All uses changed.
(fillbuf, keycompare, new_key, main):
Use SIZE_MAX rather than (size_t) -1.
(trailing_blanks): Renamed from trim_trailing_blanks.
Return the number of blanks to trim.  All uses changed.
(getmonth): Use trailing_blanks rather than open code.
(keycompare): Do not cast char * to unsigned char *; not needed.
CMP_WITH_IGNORE converts args to UCHAR, so no need to convert it
ourselves.
(compare, main): Use | rather than || to avoid jumps.
Replace "diff = NONZERO (alen)" with "diff = 1", since alen must
be nonzero there.
(check, first_same_file, sort, main):
Use bool instead of int local vars when possible.
(check): Merge the old 'checkfp' and 'check' into a single function,
that returns a boolean (true if the file was ordered).
All uses changed.
(main): Use int instead of unsigned for iterating through nsigs.
Rename local var "posix_pedantic" to "posixly_correct".
2003-08-03 10:28:10 +00:00
Jim Meyering
a875d6bc23 *** empty log message *** 2003-08-03 10:20:35 +00:00
Jim Meyering
016c2ea295 (_Bool): Use a #define, not a typedef. 2003-08-03 10:20:32 +00:00
Jim Meyering
c36e601b67 *** empty log message *** 2003-08-02 21:16:04 +00:00
Jim Meyering
9070de3ea2 *** empty log message *** 2003-08-02 20:39:13 +00:00
Jim Meyering
846a7a53eb [!NICE_PRIORITY]: Include <time.h> before <sys/resource.h>
to avoid compilation error on Ultrix. Reported by Christian Krackowizer.
2003-08-02 20:39:06 +00:00
Jim Meyering
4c3962cc7a *** empty log message *** 2003-08-02 20:07:57 +00:00
Jim Meyering
fa446c2243 . 2003-08-02 20:07:12 +00:00
Jim Meyering
445b9e169b *** empty log message *** 2003-08-02 19:53:59 +00:00
Jim Meyering
aca28ca9ac (cut_fields): Don't read again after encountering EOF.
E.g., `cut -f2' would do so.
2003-08-02 19:53:52 +00:00
Jim Meyering
40944ce6ce Add a test for the above fix.
`cut -f2' would read after EOF.
2003-08-02 19:41:28 +00:00
Jim Meyering
ca78a418b2 *** empty log message *** 2003-08-02 19:40:48 +00:00
Jim Meyering
f9971e4c43 . 2003-08-02 06:27:30 +00:00
Jim Meyering
93f9ffc614 Document in TODO Paul's desire to make sort faster (and how he
was foiled this time around).

from Paul Eggert.
2003-08-02 06:27:13 +00:00
Jim Meyering
054819d791 (sortlines): Add description and references.
From Paul Eggert.
2003-08-02 06:25:50 +00:00
Jim Meyering
2300c75a6d *** empty log message *** 2003-08-01 22:40:58 +00:00
Jim Meyering
187adbe0b1 *** empty log message *** 2003-08-01 22:40:16 +00:00
Jim Meyering
37eb1bb333 *** empty log message *** 2003-08-01 22:38:50 +00:00
Jim Meyering
cd5b47646f (General date syntax): Add --rfc-2822 option to GNU date. 2003-08-01 22:38:36 +00:00
Jim Meyering
6f2002699e (Options for date): Fix a typo in format: it's now %d not %_d. Add URLs.
(Time directives, Options for date, Examples of date): Add --rfc-2822
option to GNU date.
2003-08-01 22:37:20 +00:00
Jim Meyering
953ab84d68 (long_options, usage, main): Add --rfc-2822 option to GNU date. 2003-08-01 22:36:34 +00:00
Jim Meyering
832557df66 Add --rfc-2822 option to GNU date. 2003-08-01 22:35:57 +00:00
Jim Meyering
572d582d8d Ensure that $? is 0 for the final `exit 0'.
Otherwise, with at least the /bin/sh from HPUX 10.20,
the trap code would end up converting that to exit 1 and thus an
unexpected test failure.  Reported by Christian Krackowizer.
2003-08-01 22:33:04 +00:00
Jim Meyering
77b694e03a *** empty log message *** 2003-08-01 22:32:47 +00:00
Jim Meyering
f9bbf80f93 (TESTS_ENVIRONMENT): Set PATH so that
the tests in help-version will use the just-built binaries.
2003-08-01 22:32:41 +00:00
Jim Meyering
8355cbbdfc *** empty log message *** 2003-08-01 06:44:33 +00:00
Jim Meyering
09df41c60f Do not include bumpalloc.h.
(WORD_TABLE): New member alloc.
(ALLOC_NEW_WORD): Remove.
(occurs_alloc): New var.
(digest_word_file, find_occurs_in_text): Check for arithmetic
overflow when computing table size.  Use xrealloc rather than
bumpalloc primitives.
2003-08-01 06:44:28 +00:00
Jim Meyering
7f18ea73ce *** empty log message *** 2003-08-01 06:39:01 +00:00
Jim Meyering
3e65255557 (libfetish_a_SOURCES): Remove bumpalloc.h. 2003-08-01 06:38:38 +00:00
Jim Meyering
ecc4d8f34d . 2003-08-01 06:38:15 +00:00
Jim Meyering
85dfddc659 *** empty log message *** 2003-07-31 20:33:48 +00:00
Jim Meyering
fed2d190f0 (Relative items in date strings): Warn about fuzz in relative units. 2003-07-31 20:33:45 +00:00
Jim Meyering
689ba6d996 . 2003-07-31 11:14:56 +00:00
Jim Meyering
4bc98a14dd *** empty log message *** 2003-07-31 11:10:52 +00:00
Jim Meyering
ed1951c7c7 . 2003-07-30 19:31:03 +00:00
Jim Meyering
2c8255c34b . 2003-07-29 21:20:01 +00:00
Jim Meyering
1e47145d72 When running tests as root, suggest using sudo with NON_ROOT_USERNAME=$USER. 2003-07-29 20:55:00 +00:00
Jim Meyering
c2b4cbc163 *** empty log message *** 2003-07-29 20:54:50 +00:00
Jim Meyering
55804c74a2 . 2003-07-29 19:38:34 +00:00
Jim Meyering
1bb4c2c6b6 *** empty log message *** 2003-07-29 18:21:35 +00:00
Jim Meyering
4867e7aa90 (tail invocation): Restore two end-of-sentence
words that were mistakenly removed on 2002-09-13.
2003-07-29 18:20:56 +00:00
Jim Meyering
ff83ba2830 . 2003-07-29 06:44:28 +00:00
Jim Meyering
bbf7fda701 *** empty log message *** 2003-07-29 06:41:17 +00:00
Jim Meyering
7261a4b4d8 (all_programs): Makefile is in ../src, not $(srcdir)/../src. 2003-07-29 06:41:08 +00:00
Jim Meyering
9f39cea8a1 . 2003-07-29 06:22:25 +00:00
Jim Meyering
a586b992d7 *** empty log message *** 2003-07-28 10:15:14 +00:00
Jim Meyering
9943b0564a (dd invocation): Explain that a SIGUSR1 signal
makes dd give a progress report to stderr.
2003-07-28 10:15:11 +00:00
Jim Meyering
69aae1e511 . 2003-07-28 10:04:56 +00:00
Jim Meyering
6c11db0ce5 *** empty log message *** 2003-07-28 08:40:32 +00:00
Jim Meyering
e7f67448e8 (GZIP_ENV): Try Debian/gzip's new --rsyncable option. 2003-07-28 08:40:27 +00:00
Jim Meyering
55b3d957f1 . 2003-07-28 08:38:54 +00:00
Jim Meyering
9e830b1297 . 2003-07-28 08:37:08 +00:00
Jim Meyering
29672bbdbc rename to stdbool_.h 2003-07-28 08:36:52 +00:00
Jim Meyering
8850ffba65 *** empty log message *** 2003-07-28 08:36:32 +00:00
Jim Meyering
f9ce93f70e *** empty log message *** 2003-07-28 08:35:44 +00:00
Jim Meyering
af9317571f Renamed from stdbool.hin. 2003-07-28 08:35:37 +00:00
Jim Meyering
042a04f8b3 Renamed from stdbool.hin. 2003-07-28 08:35:23 +00:00
Jim Meyering
ac7752c41a *** empty log message *** 2003-07-28 08:34:48 +00:00
Jim Meyering
550970f03c Reflect renaming: stdbool.hin -> stdbool_.h. 2003-07-28 08:34:33 +00:00
Jim Meyering
52392fe3c2 *** empty log message *** 2003-07-28 08:32:27 +00:00
Jim Meyering
32d9cf7b5b (sortlines_temp): Undo previous change. 2003-07-28 08:31:11 +00:00
Jim Meyering
3ba3228857 bump copyright 2003-07-28 08:30:49 +00:00
Jim Meyering
8b70bf19ab (_Bool): Make it signed char, instead of
an enum type, so that it's guaranteed to promote to int.
2003-07-28 08:30:32 +00:00
Jim Meyering
a3fba24479 *** empty log message *** 2003-07-27 22:05:47 +00:00
Jim Meyering
682d905a29 (sortlines_temp): Declare local swap' to be int', not
`bool'.  Otherwise, at least one buggy compiler (alpha gcc-2.95.4)
would cause lines[-1 - swap] (with swap = false) to evaluate to
lines[4294967295].
2003-07-27 22:05:43 +00:00
Jim Meyering
446a751f63 *** empty log message *** 2003-07-27 20:45:55 +00:00
Jim Meyering
79047d4850 . 2003-07-27 20:35:25 +00:00
Jim Meyering
5dc6ad7e5c *** empty log message *** 2003-07-27 20:04:52 +00:00
Jim Meyering
a458a6984e (my_uid): Use !', not ^' in case pattern `[!0-9]',
since /bin/sh of at least NetBSD 1.6 and OpenBSD 3.2 don't accept `^'.
2003-07-27 20:04:48 +00:00
Jim Meyering
d529228c88 . 2003-07-27 19:48:11 +00:00
Jim Meyering
5395255560 (TESTS): Add dir-no-w. 2003-07-27 19:47:58 +00:00
Jim Meyering
bf04c616ae *** empty log message *** 2003-07-27 19:47:46 +00:00
Jim Meyering
c50b21161b (prompt) [! recursive]: Don't prompt about unwritable
directories, as required by POSIX.   Reported by Karl Berry.
2003-07-27 19:47:25 +00:00
Jim Meyering
e8f7ac5e25 *** empty log message *** 2003-07-27 13:15:11 +00:00
Jim Meyering
9cc4399476 *** empty log message *** 2003-07-27 12:34:16 +00:00
Jim Meyering
5f59e60d9d *** empty log message *** 2003-07-27 10:02:16 +00:00
Jim Meyering
6e83b30cc7 . 2003-07-27 10:01:55 +00:00
Jim Meyering
4b64fb9a6a regenerate 2003-07-27 10:01:25 +00:00
Jim Meyering
379405a3a3 remove trailing blanks 2003-07-27 08:58:55 +00:00
Jim Meyering
60b028fdae *** empty log message *** 2003-07-27 08:51:17 +00:00
Jim Meyering
1b675cd273 Emit `$xx', not its expansion. 2003-07-27 08:51:12 +00:00
Jim Meyering
662c204daa *** empty log message *** 2003-07-27 08:29:09 +00:00
Jim Meyering
6013cbabde (sort): Don't require two `struct line's per text line,
the new sort algorithm requires just 1.5.
2003-07-27 08:28:13 +00:00
Jim Meyering
665f7a2d0f This change was inspired by a similar proposal by Stepan Kasal.
(mergelines, sortlines_temp): New functions.
(sortlines): Use them, to reduce the number of times that
we need to copy 'struct line' values.  This improved CPU
performance by about 30% on one 18 MB test.
(sort): Don't invoke sortlines unless we have 2 or more lines.
2003-07-27 08:26:49 +00:00
Jim Meyering
9ee5095608 (is_printable_field): Simplify bit arithmetic. 2003-07-27 06:45:56 +00:00
Jim Meyering
09f231aac3 *** empty log message *** 2003-07-27 06:45:31 +00:00
Jim Meyering
036e172a16 (validate_path): Use %lu, not %ld. 2003-07-27 06:45:25 +00:00
Jim Meyering
b595cc6f24 (sort_files): Put `volatile' in the right place. 2003-07-27 06:34:52 +00:00
Jim Meyering
e206ab7b6f . 2003-07-26 14:54:50 +00:00
Jim Meyering
ed660bc4a5 *** empty log message *** 2003-07-26 14:53:27 +00:00
Jim Meyering
f396c2cbc2 *** empty log message *** 2003-07-26 12:26:40 +00:00
Jim Meyering
62d873b4c7 *** empty log message *** 2003-07-26 12:23:53 +00:00
Jim Meyering
7c67ca4a3e (test_vector): Add several tests to check the changes of 2003-07-24.
Syntax errors now exit with status 2, not 1.
2003-07-26 12:23:27 +00:00
Jim Meyering
9fed987cf2 Include exitfail.h.
(TEST_FAILURE): New constant, used for exit status if 'test' fails.
(test-syntax_error): Use it.
(binary_operator): Now takes bool arg specifying whether left operand
is -l ARG, so that caller determines this rather than us.
All uses changed.
(term): Use posixtest to evaluate parenthesized subexpressions.
(unary_operator, one_argument): Remove support for -t without operand.
(one_argument): Take argument from argv[pos].
(one_argument, two_arguments, three_arguments): Advance pos.
All callers changed.
(three_arguments): Look for binary ops before "!".  Then look
for parenthesized one_argument expressions, instead of trusting
expr () to do the right thing.
(posixtest): Now takes number of args.  All callers changed.
Treat "( A B )" like "A B".
(main): Set exit_failure to TEST_FAILURE.  Don't depend on
POSIXLY_CORRECT, as we now conform to POSIX by default.
(main) [!LBRACKET]: Do not recognize "--help" or "--verbose" unless.
2003-07-26 12:22:42 +00:00
Jim Meyering
8f808b6208 *** empty log message *** 2003-07-26 12:18:27 +00:00
Jim Meyering
0cffa272aa Document changes of 2003-07-24. 2003-07-26 12:18:21 +00:00
Jim Meyering
24d7f94749 *** empty log message *** 2003-07-26 09:40:25 +00:00
Jim Meyering
df1bfa25aa Use only one bit per field/offset in array, not one `int'.
(printable_field): Change type to `unsigned char'.
(mark_printable_field, is_printable_field): New functions.
Use them in place of all direct accesses of `printable_field'.
2003-07-26 09:40:14 +00:00
Jim Meyering
421680e11c (set_fields): Detect overflow properly. 2003-07-26 09:12:30 +00:00
Jim Meyering
cab4bde6e1 (parse_tabstops): Detect overflow properly. 2003-07-26 09:10:45 +00:00
Jim Meyering
46baf9f422 * src/rm.c: Include "dirname.h".
(usage): Use base_name (program_name) in body of --help output.
	This lets me...
	* man/Makefile.am (.x.1): ...back out the kludge of 2003-07-22.
2003-07-26 09:02:54 +00:00
Jim Meyering
a207cf0b03 . 2003-07-26 09:02:33 +00:00
Jim Meyering
4b434deee1 *** empty log message *** 2003-07-26 08:59:15 +00:00
Jim Meyering
3ea73260f1 * src/rm.c: Include "dirname.h".
(usage): Use base_name (program_name) in body of --help output.
	This lets me...
	* man/Makefile.am (.x.1): ...back out the kludge of 2003-07-22.
2003-07-26 08:59:09 +00:00
Jim Meyering
c165be06cb (mapped_name): Use `../src/[' binary to create test.1. 2003-07-26 08:54:23 +00:00
Jim Meyering
7d03e2bd71 *** empty log message *** 2003-07-26 08:20:30 +00:00
Jim Meyering
2cbcf12b24 *** empty log message *** 2003-07-26 07:28:48 +00:00
Jim Meyering
0c006268e6 (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Exempt test. 2003-07-26 07:28:43 +00:00
Jim Meyering
40d1cfe729 Adjust for above change in test behavior:
`[' exits with 2, not 1, and test doesn't accept --help or --version.
2003-07-26 06:48:40 +00:00
Jim Meyering
3ad9bec32d *** empty log message *** 2003-07-26 06:35:57 +00:00
Jim Meyering
97d00fe836 (ME): Don't use trick suggested in Make manual.
It doesn't work for make-3.79.1.  Reported by Christian Krackowizer.

(sc_system_h_headers): Another syntax check.
(syntax-check-rules): Add it to the list.
2003-07-26 06:35:51 +00:00
Jim Meyering
bf7cca9996 . 2003-07-26 06:32:04 +00:00
Jim Meyering
e63a1cef2f *** empty log message *** 2003-07-26 06:31:45 +00:00
Jim Meyering
a2e3a45c1d . 2003-07-26 06:31:23 +00:00
Jim Meyering
3a2f76335a (validate_path): Cast strlen value to `unsigned long'
so it matches `%ld' format even on 32-bit systems.
2003-07-26 06:31:03 +00:00
Jim Meyering
d5476ff41f *** empty log message *** 2003-07-26 06:27:55 +00:00
Jim Meyering
75a4774491 (flush_paragraph): Cast field width to `int' to avoid warning on 64-bit systems. 2003-07-26 06:27:51 +00:00
Jim Meyering
2658b0703e *** empty log message *** 2003-07-26 06:21:01 +00:00
Jim Meyering
7176ac4940 (sort_files): Make `func' volatile, so it can't be
clobbered by a `longjmp' into this function.
2003-07-26 06:20:54 +00:00
Jim Meyering
de786959dd *** empty log message *** 2003-07-25 08:40:58 +00:00
Jim Meyering
edd488734a (validate_path): Use %ld format (not %d) for size_t value. 2003-07-25 08:40:49 +00:00
Jim Meyering
4f2b44f787 *** empty log message *** 2003-07-25 07:45:51 +00:00
Jim Meyering
7fd3564489 (usage): Document the fact that SIGUSR1 makes dd
output its current record counts.  Reported by Jurriaan.
2003-07-25 07:45:20 +00:00
Jim Meyering
afbd32c040 Disable the --line-bytes=$_4gb test,
because it'd evoke spurious failure on 64-bit systems.
2003-07-25 07:23:40 +00:00
Jim Meyering
7877740b09 *** empty log message *** 2003-07-24 18:40:35 +00:00
Jim Meyering
17f96e3004 *** empty log message *** 2003-07-24 09:29:15 +00:00
Jim Meyering
28c66112b8 (su invocation): Use @subsection', not invalid @heading'. 2003-07-24 09:29:04 +00:00
Jim Meyering
4df8fb5bc6 *** empty log message *** 2003-07-24 09:20:18 +00:00
Jim Meyering
19785d4bfe (test_vector): Disable the `PIPE' tests when running
`wc' with no options.  This goes along with the change of 2003-07-20.
2003-07-24 07:13:10 +00:00
Jim Meyering
37fd290bd7 *** empty log message *** 2003-07-24 07:12:58 +00:00
Jim Meyering
302add28cb update from master 2003-07-24 06:57:42 +00:00
Jim Meyering
66e33c9cf5 . 2003-07-24 06:56:21 +00:00
Jim Meyering
c5624a1702 *** empty log message *** 2003-07-23 08:13:37 +00:00
Jim Meyering
db7745de98 Don't include headers already included by system.h:
Don't include version-etc.h.
2003-07-23 08:13:33 +00:00
Jim Meyering
4f4e9aa8e1 Don't include headers already included by system.h:
Don't include closeout.h.
2003-07-23 07:29:54 +00:00
Jim Meyering
2841d4bb91 *** empty log message *** 2003-07-23 07:15:43 +00:00
Jim Meyering
d845589c72 *** empty log message *** 2003-07-23 07:15:40 +00:00
Jim Meyering
9459b2d0b0 Don't include headers already included by system.h:
Don't include stdlib.h.
2003-07-23 07:15:20 +00:00
Jim Meyering
d2524a710e *** empty log message *** 2003-07-23 07:12:04 +00:00
Jim Meyering
132d2982d4 Don't include headers already included by system.h:
Don't include errno.h.
2003-07-23 07:11:56 +00:00
Jim Meyering
0b62d5c293 *** empty log message *** 2003-07-23 07:11:18 +00:00
Jim Meyering
b4fa822482 Don't include headers already included by system.h:
Don't include limits.h or error.h.
2003-07-23 07:11:14 +00:00
Jim Meyering
e2da85e0b7 *** empty log message *** 2003-07-23 07:09:32 +00:00
Jim Meyering
a54b2d998d Don't include unistd.h or time.h; system.h already does it. 2003-07-23 07:09:28 +00:00
Jim Meyering
f2ef867901 Don't include stdlib.h, unistd.h, or limits.h; system.h already does it. 2003-07-23 07:08:03 +00:00
Jim Meyering
b78c9ccbd5 Don't include time.h; system.h already does it. 2003-07-23 07:07:07 +00:00
Jim Meyering
1e6e2a0101 Don't include errno.h; system.h already does it. 2003-07-23 07:06:13 +00:00
Jim Meyering
effc1da025 Don't include sys/time.h; system.h already does it. 2003-07-23 07:05:41 +00:00
Jim Meyering
01b8949299 *** empty log message *** 2003-07-23 07:03:49 +00:00
Jim Meyering
9c8f60eaa0 (TESTS_ENVIRONMENT): Define PACKAGE_VERSION. 2003-07-23 07:03:42 +00:00
Jim Meyering
6cf4280099 Add a check for whether $NON_ROOT_USERNAME
can access the required version of rm.
2003-07-23 07:03:31 +00:00
Jim Meyering
5256994141 . 2003-07-23 07:01:36 +00:00
Jim Meyering
6224687c1b *** empty log message *** 2003-07-23 07:01:24 +00:00
Jim Meyering
24ec26fbca (out-delim3a): New test. 2003-07-23 07:01:19 +00:00
Jim Meyering
8d4d26f39f *** empty log message *** 2003-07-23 07:00:35 +00:00
Jim Meyering
1725e8a642 Update to version 1.33. 2003-07-23 07:00:29 +00:00
Jim Meyering
9efbdbc75b . 2003-07-23 06:59:54 +00:00
Jim Meyering
873a22151f . 2003-07-23 06:59:26 +00:00
Jim Meyering
e8794d23ec *** empty log message *** 2003-07-23 06:58:25 +00:00
Jim Meyering
f9c9ff7475 *** empty log message *** 2003-07-23 06:58:01 +00:00
Jim Meyering
6315f15a23 (parse_tabstops): Detect overflow in tabstop sizes. 2003-07-23 06:57:57 +00:00
Jim Meyering
496c3add2b *** empty log message *** 2003-07-23 06:39:47 +00:00
Jim Meyering
8d69e13ee5 Include xstrndup.h.
(xstrndup): Remove function, now that it's been factored out into
it's own file.
2003-07-23 06:39:44 +00:00
Jim Meyering
b220480e9d Tweak comment: Solaris2.5.1 -> Solaris 2.5.1 2003-07-23 06:38:18 +00:00
Jim Meyering
1818879388 Tweak comment: Solaris2.7 -> Solaris 2.7 2003-07-23 06:37:45 +00:00
Jim Meyering
5bbf05f92a Normalize naming of Sun operating systems in comments, e.g., SunOS4 -> SunOS 4,
Solaris5.9 -> Solaris 9.  From Paul Eggert.
2003-07-23 06:27:07 +00:00
Jim Meyering
2dd33cf2b1 *** empty log message *** 2003-07-23 06:26:25 +00:00
Jim Meyering
9817a27dc0 Normalize naming of Sun operating systems, e.g., SunOS4 -> SunOS 4,
Solaris5.9 -> Solaris 9.  From Paul Eggert.
2003-07-23 06:24:12 +00:00
Jim Meyering
8c67c629b7 *** empty log message *** 2003-07-23 06:23:47 +00:00
Jim Meyering
ed5baef6bd . 2003-07-23 06:18:23 +00:00
Jim Meyering
4b45560264 *** empty log message *** 2003-07-23 06:17:55 +00:00
Jim Meyering
789e064aaf *** empty log message *** 2003-07-23 06:16:14 +00:00
Jim Meyering
8c0ec86f25 include "xstrndup.h" 2003-07-23 06:16:05 +00:00
Jim Meyering
ee6abf82dd Factored out of dircolors.c from coreutils. 2003-07-23 06:14:20 +00:00
Jim Meyering
6c61676f7d (libfetish_a_SOURCES): Add xstrndup.c and xstrndup.h. 2003-07-23 06:00:50 +00:00
Jim Meyering
47316ed6df Use `SunOS 4', not SunOS4
Solaris 2.6, not Solaris 5.6, etc.
From Paul Eggert.
2003-07-23 06:00:07 +00:00
Jim Meyering
100354efca *** empty log message *** 2003-07-23 05:48:02 +00:00
Jim Meyering
3d0b2cc66a (wc): Fix typo in computation of file from file_x,
which caused the former to be used uninitialized if file_x was
nonzero.
2003-07-23 05:47:57 +00:00
Jim Meyering
a68226bb5b *** empty log message *** 2003-07-23 05:38:41 +00:00
Jim Meyering
0ff72c1f5c (XCALLOC, XREALLOC, CCLONE): Fix under- and over-parenthesization in macros. 2003-07-23 05:38:36 +00:00
Jim Meyering
a19486436f tweak comment 2003-07-22 21:56:23 +00:00
Jim Meyering
d146304528 *** empty log message *** 2003-07-22 21:53:44 +00:00
Jim Meyering
9239223865 (set_fields): Use xcalloc in place of xmalloc+memset. 2003-07-22 21:53:39 +00:00
Jim Meyering
9903c3432c *** empty log message *** 2003-07-22 16:32:38 +00:00
Jim Meyering
1277d8b91c (.x.1): Substitute 's,$t/$*,$*,' on output of
help2man, to avoid having `rm.td/rm' appear in rm.1.  Reported by
Thomas Luzat.  See http://bugs.debian.org/202413 for details.
2003-07-22 16:32:33 +00:00
Jim Meyering
f7259485a4 *** empty log message *** 2003-07-22 16:31:16 +00:00
Jim Meyering
4457508c7a don't include stdboo.h. it's already included via system.h 2003-07-22 14:18:58 +00:00
Jim Meyering
0bdc16c6f5 . 2003-07-22 14:16:50 +00:00
Jim Meyering
52393e15b7 *** empty log message *** 2003-07-22 14:15:40 +00:00
Jim Meyering
6dc75c643b (main) [lint]: Initialize spec_list_string to avoid warning. 2003-07-22 14:15:31 +00:00
Jim Meyering
e21334b795 Don't include <unistd.h>. system.h already does that. 2003-07-22 14:13:37 +00:00
Jim Meyering
15890cb3df *** empty log message *** 2003-07-22 13:00:48 +00:00
Jim Meyering
3fe298f13f (set_fields): Mark all selected indices before trying to
determine range endpoints.
2003-07-22 13:00:45 +00:00
Jim Meyering
c55974d115 New test for the above fix. 2003-07-22 12:44:22 +00:00
Jim Meyering
68371a1d4c *** empty log message *** 2003-07-22 11:56:37 +00:00
Jim Meyering
bf2cf0b7ba Begin to address this comment: What if someone wants to
extract the 1,000,000-th field of some huge input file?
The first step is to rearrange things so that the values
in the printable_field array are all 0/1 rather than 0/1/2.

(RANGE_START_SENTINEL): Remove.
Store range-start indices in a hash table, rather than
overloading the `printable_field' array.
(range_start_ht): New global.
(hash_int, hash_compare_ints, is_range_start_index): New functions.
(print_kth): Use is_range_start_index; don't test printable_field.
(set_fields): Detect overflow.
(set_fields): Insert each range-start index into range_start_ht.
(main): Call set_fields only once, and only after
output_delimiter_specified and (if required) range_start_ht have
been defined.
2003-07-22 11:56:24 +00:00
Jim Meyering
a5eacea399 *** empty log message *** 2003-07-20 21:13:08 +00:00
Jim Meyering
1eb0fd1dd1 (get_input_fstatus): Fix typo: `stat' was being
invoked with a null pointer when there were no file arguments.
2003-07-20 21:13:04 +00:00
Jim Meyering
1fb0960527 *** empty log message *** 2003-07-20 16:04:04 +00:00
Jim Meyering
c279f529aa (sc_changelog): Add another nit-picky check. 2003-07-20 16:03:58 +00:00
Jim Meyering
72214f2990 . 2003-07-20 16:02:28 +00:00
Jim Meyering
1fdb5a48fa . 2003-07-20 15:57:27 +00:00
Jim Meyering
8b5fe89e35 *** empty log message *** 2003-07-20 15:51:06 +00:00
Jim Meyering
4840b689ee *** empty log message *** 2003-07-20 15:45:58 +00:00
Jim Meyering
bec97d9ee9 *** empty log message *** 2003-07-20 15:45:32 +00:00
Jim Meyering
224d5c8170 (write_counts): Add a comment.
(wc): Rename `file' parameter.
Set new local, `file', to be the file name, or (when it's NULL)
_("standard output") so that all uses of `file' use the proper value.
Use STREQ, not strcmp.
2003-07-20 15:45:29 +00:00
Jim Meyering
47c0b910f1 *** empty log message *** 2003-07-20 15:25:02 +00:00
Jim Meyering
b17a0f8d39 Adjust to the new output widths. 2003-07-20 15:24:52 +00:00
Jim Meyering
6c32aa26a2 wc count field widths now are heuristically adjusted depending
on the input size, if known.  If only one count is printed, it
is guaranteed to be printed without leading spaces.

Previously, wc did not align the count fields if
POSIXLY_CORRECT was set, but POSIX did not actually require
this undesirable behavior, so it has been removed.

* doc/coreutils.texi (wc invocation): Likewise.
2003-07-20 15:24:21 +00:00
Jim Meyering
85c6c1592c *** empty log message *** 2003-07-20 15:22:42 +00:00
Jim Meyering
6e1923f4c1 (number_width): New var.
(posixly_correct): Remove.
(struct fstatus): New struct.
(write_counts): Output fields of width number_width.
Do not worry about POSIXLY_CORRECT.
Use null file, not empty-string file, to denote stdin,
since "" is a valid file name on some hosts.
(wc, wc_file): New arg fstatus.  Use it to avoid invoking fstat
if possible.
(wc):  Avoid problems if end_pos - current_pos overflows.
Do not print odd message if stdin has a read error.
(get_input_fstatus, compute_number_width): New functions.
(main): Use them to implement the new behavior.
Ignore POSIXLY_CORRECT.
2003-07-20 15:22:25 +00:00
Jim Meyering
32d2cea9b8 convert each 8-space prefix to a TAB 2003-07-20 11:19:12 +00:00
Jim Meyering
107ee59889 convert each 8-space prefix to a TAB 2003-07-20 11:18:12 +00:00
Jim Meyering
018d21f27b convert each 8-space prefix to a TAB 2003-07-20 11:17:51 +00:00
Jim Meyering
34ecf6b086 convert each 8-space prefix to a TAB 2003-07-20 11:17:26 +00:00
Jim Meyering
a9c557304a *** empty log message *** 2003-07-20 06:30:06 +00:00
Jim Meyering
c67f098cb7 *** empty log message *** 2003-07-20 05:38:28 +00:00
Jim Meyering
4383217a7b *** empty log message *** 2003-07-20 05:36:10 +00:00
Jim Meyering
479038b02c from gnulib 2003-07-20 05:35:54 +00:00
Jim Meyering
e13407adf9 (jm_MACROS): Invoke gl_MEMCOLL. 2003-07-20 05:35:38 +00:00
Jim Meyering
18695bd657 *** empty log message *** 2003-07-19 17:30:49 +00:00
Jim Meyering
51ff0dc7c0 Restore definition of $verbose. 2003-07-19 12:00:38 +00:00
Jim Meyering
30c42b2089 Don't create temporary directory -- we don't use it. 2003-07-19 11:59:12 +00:00
Jim Meyering
1ce4f09d1e *** empty log message *** 2003-07-19 11:59:02 +00:00
Jim Meyering
afd207eda5 remove now-redundant VERSION check 2003-07-19 11:54:39 +00:00
Jim Meyering
dc701b5cf2 *** empty log message *** 2003-07-19 11:47:22 +00:00
Jim Meyering
d7a263ce2a Don't open-code test for UID != 0.
Use priv-check's require-non-root instead.
Update to use newer framework.
2003-07-19 11:47:17 +00:00
Jim Meyering
0aa4df1070 *** empty log message *** 2003-07-19 11:39:27 +00:00
Jim Meyering
1f3c90c6a5 (expected_failure_status_expr): Record that
expr exits with status of 3 for e.g., a write error.
2003-07-19 11:39:22 +00:00
Jim Meyering
ae481a2cb7 *** empty log message *** 2003-07-19 11:19:16 +00:00
Jim Meyering
1d510c3f9b Use `id -u' to see if we're running as root,
rather than trying go write to an write-protected file.
When running as root, ensure $NON_ROOT_USERNAME is valid.
When running as root with `require-non-root', ensure that `.'
is writable by $NON_ROOT_USERNAME, then reinvoke $0 set-user-ID
to $NON_ROOT_USERNAME.  If `.' is not writable, then skip the test.
2003-07-19 11:19:12 +00:00
Jim Meyering
c321e53e88 *** empty log message *** 2003-07-19 08:17:16 +00:00
Jim Meyering
db34cf4ee6 Include "exitfail.h".
(main): Set exit_failure rather than calling close_stdout_set_status.
2003-07-19 08:17:06 +00:00
Jim Meyering
fe52d65af0 Include "exitfail.h".
(main): Set exit_failure rather than calling close_stdout_set_status.
2003-07-19 08:16:38 +00:00
Jim Meyering
3fd76bf433 *** empty log message *** 2003-07-19 08:09:01 +00:00
Jim Meyering
9802c059ff Likewise. Include "closeout.h" right after config.h,
to test that it can stand by itself.  Include "exitfail.h".
Clients should set exit_failure instead.
(EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
2003-07-19 08:08:56 +00:00
Jim Meyering
2925e558cb (close_stdout_set_status, close_stdout_status): Remove. 2003-07-19 08:05:44 +00:00
Jim Meyering
8ed1e0ab9a *** empty log message *** 2003-07-18 18:08:08 +00:00
Jim Meyering
eea7d0c8da (memcoll) [!HAVE_STRCOLL]: Clear errno. 2003-07-18 18:07:48 +00:00
Jim Meyering
d2cc1e9856 *** empty log message *** 2003-07-18 09:58:59 +00:00
Jim Meyering
05b4128b5d Update to use newer framework. 2003-07-18 09:48:16 +00:00
Jim Meyering
c42d31bc78 Use $srcdir/../priv-check, create a temporary
directory, and remove Perl-coded `you may not run as root' test.
2003-07-18 09:12:23 +00:00
Jim Meyering
10c48512f0 Use $srcdir/../priv-check, rather than
hard-coding something not quite equivalent.  Reported by Paul Jarc.
2003-07-18 09:05:49 +00:00
Jim Meyering
8dd15f024c *** empty log message *** 2003-07-18 08:53:32 +00:00
Jim Meyering
1d7432c0ef (main): Use close_stdout via atexit.
Now `sort --version' and `sort --help' fail, as they should
when their output is redirected to /dev/full.
2003-07-18 08:53:05 +00:00
Jim Meyering
ec5c04d7d8 (usage): Don't call close_stdout here.
(main): Use close_stdout via atexit.
Now `su --version > /dev/full' fails, as it should.
Somehow, the change of 2000-05-07 that purports to fix this
was not checked in.
2003-07-18 08:38:43 +00:00
Jim Meyering
c03aeeae23 *** empty log message *** 2003-07-18 08:38:29 +00:00
Jim Meyering
429c70029c *** empty log message *** 2003-07-18 08:12:00 +00:00
Jim Meyering
daced4a5fb (--help/--version vs. /dev/full): Special-case
`[' to protect it from expected_failure_status-`eval'.
2003-07-18 08:11:55 +00:00
Jim Meyering
0f16eafda9 *** empty log message *** 2003-07-18 08:01:36 +00:00
Jim Meyering
4efc97aa9f (101, 102): Update tests of -c accordingly. 2003-07-18 08:01:26 +00:00
Jim Meyering
66021e0b0f *** empty log message *** 2003-07-18 07:50:45 +00:00
Jim Meyering
7bb7cd570a (expr invocation): Exit status is 2 if the
expression is syntactically invalid, 3 if there is some other error.
This change is for conformance to POSIX.
2003-07-18 07:50:39 +00:00
Jim Meyering
5a323d4063 *** empty log message *** 2003-07-18 07:49:36 +00:00
Jim Meyering
e4584fcd73 *** empty log message *** 2003-07-18 07:48:37 +00:00
Jim Meyering
7f1636878f (writeline): Use a SPACE, not a TAB between the
count and the corresponding line, as required by POSIX.
2003-07-18 07:47:05 +00:00
Jim Meyering
470285bb48 *** empty log message *** 2003-07-18 07:46:27 +00:00
Jim Meyering
dafa884427 *** empty log message *** 2003-07-18 07:29:45 +00:00
Jim Meyering
c7e335bcda Add tests when exit status is 2. 2003-07-18 07:29:01 +00:00
Jim Meyering
7a0ebf5a7b Invalid value exits with status 3, not 2. 2003-07-18 07:25:39 +00:00
Jim Meyering
30d8071d60 Include "exitfail.h".
(main): Set exit_failure, not xalloc_exit_failure and xmemcoll_exit_failure.
2003-07-18 07:23:38 +00:00
Jim Meyering
1eaf0e9870 Include "exitfail.h", "quotearg.h".
(EXPR_INVALID, EXPR_ERROR): New constants.
(nomoreargs, null, toarith, nextarg): Return bool, not int.
(syntax_error): New function, exiting with status 2.  Use it
insteading of printing "syntax error" ourselves.
(main): Initialize exit_failure to EXPR_ERROR.
Exit with EXPR_INVALID on syntax error (too few arguments).
(nextarg): Use strcmp, not strcoll; strcoll might return
an undesirable 0, or might fail.
(docolon, eval4, eval3): Exit with status 3 on invalid argument type
or other such error.
(eval2): Report an error if strcoll fails in a string comparison.
2003-07-18 07:22:38 +00:00
Jim Meyering
e992d666e1 (NOHUP_FOUND_BUT_CANNOT_INVOKE, NOHUP_FAILURE):
Use an anonymous `enum', rather than #define.
2003-07-18 07:18:54 +00:00
Jim Meyering
309d778d05 *** empty log message *** 2003-07-18 07:12:27 +00:00
Jim Meyering
3ca9cb979e Merge with gnulib. Use a single exit_failure variable rather
than a separate one for each module.
2003-07-18 07:12:20 +00:00
Jim Meyering
f73bf4c5d3 Merge with gnulib. Use a single exit_failure variable rather
than a separate one for each module.
2003-07-18 07:11:50 +00:00
Jim Meyering
45a5d9f023 Merge with gnulib. Use a single exit_failure variable rather
than a separate one for each module.
2003-07-18 07:10:53 +00:00
Jim Meyering
393c48ec79 Merge with gnulib. Use a single exit_failure variable rather
than a separate one for each module.
2003-07-18 07:02:34 +00:00
Jim Meyering
8a4cf4bcfc *** empty log message *** 2003-07-18 06:59:33 +00:00
Jim Meyering
c7cbe29307 *** empty log message *** 2003-07-18 06:50:03 +00:00
Jim Meyering
a73e45f9d3 . 2003-07-18 06:34:14 +00:00
Jim Meyering
3497dfc9c1 . 2003-07-17 22:27:44 +00:00
Jim Meyering
2d7fe7786b *** empty log message *** 2003-07-16 20:51:08 +00:00
Jim Meyering
0cd3fbee59 *** empty log message *** 2003-07-16 20:50:30 +00:00
Jim Meyering
64cdeb8d39 Use 5.0.90, rather than 5.0.2, per GNU maintainer
guidelines.  The next non-beta release will be 5.1.
2003-07-16 20:50:21 +00:00
Jim Meyering
a9d48f53d5 *** empty log message *** 2003-07-16 20:07:47 +00:00
Jim Meyering
ce5b4fc9f7 *** empty log message *** 2003-07-16 20:07:37 +00:00
Jim Meyering
f373160c3d This script would have caught at least two recent bugs: those in [ and kill.
Revive this script.
It wasn't doing anything useful, since $all_programs wasn't being
defined by the invoking Makefile.am.
Reflect that nohup is no longer a script, so don't exclude it.
Add framework to handle the programs added since it was last run:
kill, stat, unlink, [, link, readlink.
Fix path-related problems deriving from the move of this script
from src/ to its present location.
2003-07-16 19:54:13 +00:00
Jim Meyering
9416c7da09 (all_programs): Define.
(TESTS_ENVIRONMENT): Use it.
2003-07-16 19:51:05 +00:00
Jim Meyering
81b607d2a0 *** empty log message *** 2003-07-16 19:43:04 +00:00
Jim Meyering
17d2d3a72f (main): Fix bug introduced on 2003-05-10 (for 5.0.1)
whereby kill would always attempt to operate on argv[0] and fail.
2003-07-16 19:42:34 +00:00
Jim Meyering
c032f45669 . 2003-07-16 10:54:52 +00:00
Jim Meyering
4436b81b54 *** empty log message *** 2003-07-16 10:28:59 +00:00
Jim Meyering
b1fd798094 (integer_expected_error): Improve diagnostic -- now,
it also matches the one from bash's builtin test.
(binary_operator): Add \n at end of diagnostic.
2003-07-16 10:28:52 +00:00
Jim Meyering
f7ed03fa50 Remove setuidgid-related code. Moved to ../priv-check. 2003-07-16 08:31:04 +00:00
Jim Meyering
a0306325d2 Move setuidgid-related and
NON_ROOT_USERNAME-checking code to this file.
2003-07-16 08:30:06 +00:00
Jim Meyering
152d9ca522 *** empty log message *** 2003-07-16 07:59:08 +00:00
Jim Meyering
fd35a8b081 Update section on testing as `root'.
Suggestion from Paul Jarc.
2003-07-16 07:59:05 +00:00
Jim Meyering
aad28eb267 (AUTHORS): Replace 3-letter usernames with the actual
names of authors that I just found in bash's builtins/test.def.
2003-07-16 06:54:33 +00:00
Jim Meyering
23752dca61 *** empty log message *** 2003-07-16 06:43:05 +00:00
Jim Meyering
0049fa1eda Running `[' with no arguments would evoke a segfault.
(main) [LBRACKET]: Move initialization of argv to
precede potential use via test_syntax_error.
2003-07-16 06:43:02 +00:00
Jim Meyering
02ba301550 (AM_CPPFLAGS): Rename from `INCLUDES', to avoid warning from automake -Wall. 2003-07-16 06:33:39 +00:00
Jim Meyering
35f71d4a00 (AM_CPPFLAGS): Rename from `INCLUDES', to avoid warning from automake -Wall. 2003-07-16 06:33:09 +00:00
Jim Meyering
ed9026bfcb bump to 5.0.2 2003-07-16 06:10:55 +00:00
Jim Meyering
bd3a955a95 *** empty log message *** 2003-07-15 22:00:42 +00:00
Jim Meyering
a7c67f32d0 . 2003-07-15 13:39:02 +00:00
1121 changed files with 290594 additions and 182518 deletions

View File

@@ -1,6 +1,10 @@
.kludge-stamp
Makefile
THANKS-to-translators
autom4te.cache
config.cache
config.h
config.log
config.status
config.status.lineno
stamp-h1
autom4te.cache

View File

@@ -1 +1 @@
5.0
5.91

32
.vg-suppressions Normal file
View File

@@ -0,0 +1,32 @@
{
libc_dl_open
Memcheck:Cond
fun:_dl_relocate_object
obj:/lib/libc-2.3.2.so
fun:_dl_catch_error
fun:_dl_open
}
{
libc_dl_catch_error__map_object
Memcheck:Addr1
obj:/lib/ld-2.3.2.so
fun:_dl_map_object
obj:/lib/libc-2.3.2.so
fun:_dl_catch_error
}
{
libc_dl_catch_error__map_versions
Memcheck:Addr1
obj:/lib/ld-2.3.2.so
fun:_dl_check_map_versions
obj:/lib/libc-2.3.2.so
fun:_dl_catch_error
}
{
jm_libc_sigaction
Memcheck:Param
sigaction(act)
fun:__libc_sigaction
}

7
.x-sc_file_system Normal file
View File

@@ -0,0 +1,7 @@
ChangeLog
Makefile.maint
NEWS
config-log
po/
src/df.c
src/stat.c

View File

5
.x-sc_obsolete_symbols Normal file
View File

@@ -0,0 +1,5 @@
ChangeLog*
Makefile.maint
config.hin
configure
m4/jm-macros.m4

7
.x-sc_prohibit_atoi_atof Normal file
View File

@@ -0,0 +1,7 @@
^configure$
ChangeLog
^lib/mktime\.c$
^lib/getloadavg\.c$
^lib/euidaccess\.c$
^lib/group-member\.c$
^Makefile\.maint$

10
.x-sc_space_tab Normal file
View File

@@ -0,0 +1,10 @@
config(ure|\.(guess|sub))
tests/pr
lib/regex.c
config-log
tests/misc/nl
po/de.po
m4/lib-ld.m4
m4/lib-prefix.m4
m4/po.m4
aclocal.m4

2
.x-sc_sun_os_names Normal file
View File

@@ -0,0 +1,2 @@
config-log
build-aux/config.guess

5
.x-sc_trailing_blank Normal file
View File

@@ -0,0 +1,5 @@
^tests/pr/
Makefile\.in$
^config-log/
^build-aux/texinfo\.tex$
\.gdb-history$

View File

@@ -0,0 +1 @@
^lib/xstrtol\.h$

14
.x-sc_useless_cpp_parens Normal file
View File

@@ -0,0 +1,14 @@
^build-aux/config.guess
^configure
^lib/alloca.c
^lib/fileblocks.c
^lib/fts.c
^lib/getdate.c
^lib/getloadavg.c
^lib/gettext.h
^lib/getusershell.c
^lib/mbswidth.c
^lib/readutmp.h
^lib/strtod.c
^lib/xstrtol.c
^m4/

793
ABOUT-NLS
View File

@@ -1,8 +1,8 @@
Notes on the Free Translation Project
*************************************
Free software is going international! The Free Translation Project
is a way to get maintainers of free software, translators, and users all
Free software is going international! The Free Translation Project is
a way to get maintainers of free software, translators, and users all
together, so that will gradually become able to speak many languages.
A few packages already provide translations for their messages.
@@ -25,7 +25,7 @@ related to internationalization, you should tell about the version of
Quick configuration advice
==========================
If you want to exploit the full power of internationalization, you
If you want to exploit the full power of internationalization, you
should configure it using
./configure --with-included-gettext
@@ -48,10 +48,10 @@ included `libintl'.
INSTALL Matters
===============
Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'. Other packages have their own
ways to internationalization, predating GNU `gettext'.
Some packages are "localizable" when properly installed; the programs
they contain can be made to speak your own native language. Most such
packages use GNU `gettext'. Other packages have their own ways to
internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
@@ -98,7 +98,7 @@ codes, stating which languages are allowed.
Using This Package
==================
As a user, if your language has been installed for this package, you
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
and `CC' is an ISO 3166 two-letter country code. For example, let's
@@ -140,7 +140,7 @@ to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
Translating Teams
=================
For the Free Translation Project to be a success, we need interested
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list. The up-to-date list of
@@ -170,275 +170,515 @@ programming skill, here.
Available Packages
==================
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of February
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of December
2003. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a
translation percentage of at least 50%.
Ready PO files az be bg ca cs da de el en en_GB eo es et fa fi
+-------------------------------------------------+
a2ps | [] [] [] [] [] |
aegis | () |
anubis | |
ap-utils | |
bash | [] [] [] |
batchelor | |
bfd | [] [] |
binutils | [] [] |
bison | [] [] [] [] |
clisp | [] [] [] |
clisp | |
coreutils | [] [] [] [] |
cpio | [] [] [] |
darkstat | () [] |
diffutils | [] [] [] [] [] [] [] |
enscript | [] [] [] |
error | [] [] [] [] |
fetchmail | [] () [] [] [] |
fileutils | [] [] [] [] |
findutils | [] [] [] [] [] [] [] |
flex | [] [] [] [] |
gas | [] |
gawk | [] [] [] |
gcal | [] |
gcc | [] [] |
gettext | [] [] [] [] [] |
gimp-print | |
gliv | |
gnucash | [] () |
gnucash-glossary| [] () [] |
gnupg | [] [] [] [] [] [] [] |
gpe-todo | |
gphoto2 | [] [] |
gprof | [] [] |
gpsdrive | () () () () |
grep | [] [] [] [] [] [] [] |
gretl | [] |
hello | [] [] [] [] [] [] [] [] [] |
id-utils | [] [] |
indent | [] [] [] [] [] [] |
jpilot | () [] [] [] |
jwhois | [] |
kbd | [] [] [] |
ld | [] [] |
libc | [] [] [] [] [] [] [] |
libgpewidget | |
libiconv | [] [] [] [] [] [] |
lifelines | [] () |
lilypond | [] |
lingoteach | [] |
lingoteach_lessons| () () |
lynx | [] [] [] [] [] |
m4 | [] [] [] [] |
mailutils | [] [] |
make | [] [] [] |
man-db | [] () [] () |
mysecretdiary | [] [] [] |
nano | [] () [] [] [] |
nano_1_0 | [] () [] [] [] |
opcodes | [] [] |
parted | [] [] [] [] |
ptx | [] [] [] [] [] [] [] |
python | |
radius | |
recode | [] [] [] [] [] |
sed | [] [] [] [] [] [] |
sh-utils | [] [] [] [] |
sharutils | [] [] [] [] [] [] [] |
sketch | [] () [] |
soundtracker | [] [] [] |
sp | [] |
tar | [] [] [] [] [] [] |
texinfo | [] [] [] [] |
textutils | [] [] [] [] |
tin | () () [] |
util-linux | [] [] [] [] [] [] [] |
vorbis-tools | [] [] |
wastesedge | () |
wdiff | [] [] [] [] [] |
wget | [] [] [] [] [] [] [] [] [] |
xchat | |
xpad | |
+-------------------------------------------------+
az be bg ca cs da de el en en_GB eo es et fa fi
0 1 2 26 9 49 46 9 1 1 11 52 19 1 15
fr gl he hr hu id it ja ko lg lv ms nb nl
+-------------------------------------------+
a2ps | [] () () [] [] |
aegis | () |
anubis | [] [] |
ap-utils | [] |
bash | [] [] |
batchelor | |
bfd | [] [] |
binutils | [] [] |
bison | [] [] [] [] |
clisp | [] [] |
clisp | |
coreutils | [] [] [] |
cpio | [] [] [] [] [] |
darkstat | () [] [] [] |
diffutils | [] [] [] [] [] [] |
enscript | [] [] [] |
error | [] [] [] |
fetchmail | [] |
fileutils | [] [] [] [] |
findutils | [] [] [] [] [] [] [] [] [] |
flex | [] [] |
gas | [] |
gawk | [] [] |
gcal | [] |
gcc | [] |
gettext | [] [] [] |
gimp-print | |
gliv | () |
gnucash | [] [] [] |
gnucash-glossary| [] [] |
gnupg | [] [] [] [] [] |
gpe-todo | |
gphoto2 | [] [] [] |
gprof | [] [] |
gpsdrive | () [] () () |
grep | [] [] [] [] [] [] [] [] |
gretl | [] |
hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
id-utils | [] [] [] |
indent | [] [] [] [] [] [] |
jpilot | [] () () |
jwhois | [] [] [] [] |
kbd | [] |
ld | [] |
libc | [] [] [] [] [] [] |
libgpewidget | |
libiconv | [] [] [] [] [] [] |
lifelines | () |
lilypond | [] [] |
lingoteach | [] |
lingoteach_lessons| |
lynx | [] [] [] [] |
m4 | [] [] [] [] [] |
mailutils | |
make | [] [] [] [] [] [] [] |
man-db | [] () () |
mysecretdiary | [] [] |
nano | [] [] [] [] [] [] |
nano_1_0 | [] [] [] [] [] [] |
opcodes | [] [] [] |
parted | [] [] [] |
ptx | [] [] [] [] [] [] |
python | |
radius | |
recode | [] [] [] [] [] |
sed | [] [] [] [] [] |
sh-utils | [] [] [] [] [] |
sharutils | [] [] [] [] [] |
sketch | [] |
soundtracker | [] [] [] |
sp | [] () |
tar | [] [] [] [] [] [] [] [] [] |
texinfo | [] [] [] [] |
textutils | [] [] [] [] [] [] |
tin | |
util-linux | [] [] () [] [] |
vorbis-tools | [] |
wastesedge | () |
wdiff | [] [] [] [] [] |
wget | [] [] [] [] [] [] [] |
xchat | |
xpad | |
+-------------------------------------------+
fr gl he hr hu id it ja ko lg lv ms nb nl
59 23 8 10 26 20 18 26 8 0 1 8 7 24
nn no pl pt pt_BR ro ru sk sl sv tr uk zh_CN zh_TW
+----------------------------------------------------+
a2ps | () () () [] [] [] [] [] [] | 14
aegis | () | 0
anubis | [] [] | 4
ap-utils | () () | 1
bash | [] [] | 7
batchelor | | 0
bfd | [] [] | 6
binutils | [] [] | 6
bison | [] [] [] | 11
clisp | | 5
clisp | | 0
coreutils | [] [] [] [] [] | 12
cpio | [] [] [] [] [] | 13
darkstat | [] [] () () | 6
diffutils | [] [] [] [] [] [] | 19
enscript | [] [] [] [] | 10
error | [] [] [] [] | 11
fetchmail | () () [] | 6
fileutils | [] [] [] [] [] [] | 14
findutils | [] [] [] [] [] [] [] [] | 24
flex | [] [] [] [] | 10
gas | [] | 3
gawk | [] [] | 7
gcal | [] [] | 4
gcc | [] | 4
gettext | [] [] [] [] [] [] | 14
gimp-print | | 0
gliv | [] | 1
gnucash | [] [] [] [] [] | 9
gnucash-glossary| [] [] [] [] | 8
gnupg | [] [] [] [] | 16
gpe-todo | | 0
gphoto2 | [] [] | 7
gprof | [] [] [] | 7
gpsdrive | [] [] | 3
grep | [] [] [] [] [] | 20
gretl | | 2
hello | [] [] [] [] [] [] [] [] [] | 31
id-utils | [] [] [] [] | 9
indent | [] [] [] [] [] | 17
jpilot | () [] [] [] [] | 8
jwhois | [] () () [] [] | 8
kbd | [] [] | 6
ld | [] [] | 5
libc | [] [] [] [] [] [] [] | 20
libgpewidget | | 0
libiconv | [] [] [] [] [] [] | 18
lifelines | [] | 2
lilypond | [] | 4
lingoteach | [] [] | 4
lingoteach_lessons| () | 0
lynx | [] [] [] [] | 13
m4 | [] [] [] [] | 13
mailutils | | 2
make | [] [] [] [] [] | 15
man-db | [] | 4
mysecretdiary | [] [] [] | 8
nano | [] [] [] | 13
nano_1_0 | [] [] [] [] [] | 15
opcodes | [] [] [] | 8
parted | [] [] [] [] [] | 12
ptx | [] [] [] [] [] [] [] | 20
python | | 0
radius | | 0
recode | [] [] [] [] [] [] | 16
sed | [] [] [] [] [] | 16
sh-utils | [] [] [] | 12
sharutils | [] [] [] [] | 16
sketch | [] [] | 5
soundtracker | [] | 7
sp | [] | 3
tar | [] [] [] [] [] [] [] [] [] | 24
texinfo | [] [] [] [] | 12
textutils | [] [] [] [] [] | 15
tin | | 1
util-linux | [] [] [] | 14
vorbis-tools | [] | 4
wastesedge | | 0
wdiff | [] [] [] [] [] | 15
wget | [] [] [] [] [] [] [] [] | 24
xchat | | 0
xpad | | 0
+----------------------------------------------------+
43 teams nn no pl pt pt_BR ro ru sk sl sv tr uk zh_CN zh_TW
82 domains 3 4 14 4 34 1 29 14 13 53 46 6 9 13 723
Ready PO files am az be bg ca cs da de el en en_GB eo es
+-------------------------------------------+
a2ps | [] [] [] [] |
aegis | () |
ant-phone | () |
anubis | |
ap-utils | |
bash | [] [] [] [] |
batchelor | |
bfd | [] [] |
binutils | [] [] |
bison | [] [] [] |
bluez-pin | [] [] |
clisp | |
clisp | [] [] [] |
coreutils | [] [] [] [] |
cpio | [] [] [] |
darkstat | [] () [] |
diffutils | [] [] [] [] [] [] [] |
e2fsprogs | [] [] |
enscript | [] [] [] [] |
error | [] [] [] [] [] |
fetchmail | [] () [] [] [] [] |
fileutils | [] [] [] |
findutils | [] [] [] [] [] [] [] |
flex | [] [] [] [] |
fslint | |
gas | [] |
gawk | [] [] [] [] |
gbiff | [] |
gcal | [] |
gcc | [] [] |
gettext | [] [] [] [] [] |
gettext-examples | [] [] [] |
gettext-runtime | [] [] [] [] [] |
gettext-tools | [] [] [] |
gimp-print | [] [] [] [] [] |
gliv | |
glunarclock | [] [] |
gnubiff | [] |
gnucash | [] () [] [] |
gnucash-glossary | [] () [] |
gnupg | [] () [] [] [] [] |
gpe-aerial | [] |
gpe-beam | [] [] |
gpe-calendar | [] [] |
gpe-clock | [] [] |
gpe-conf | [] [] |
gpe-contacts | [] [] |
gpe-edit | [] |
gpe-go | [] |
gpe-login | [] [] |
gpe-ownerinfo | [] [] |
gpe-sketchbook | [] [] |
gpe-su | [] [] |
gpe-taskmanager | [] [] |
gpe-timesheet | [] |
gpe-today | [] [] |
gpe-todo | [] [] |
gphoto2 | [] [] [] [] |
gprof | [] [] [] |
gpsdrive | () () () |
gramadoir | [] |
grep | [] [] [] [] [] [] |
gretl | [] |
gtick | () |
hello | [] [] [] [] [] [] |
id-utils | [] [] |
indent | [] [] [] [] |
jpilot | [] [] [] |
jtag | |
jwhois | [] |
kbd | [] [] [] [] [] |
latrine | () |
ld | [] [] |
libc | [] [] [] [] [] [] |
libgpewidget | [] [] |
libiconv | [] [] [] [] [] |
lifelines | [] () |
lilypond | [] |
lingoteach | |
lingoteach_lessons | () () |
lynx | [] [] [] [] |
m4 | [] [] [] [] |
mailutils | [] [] |
make | [] [] [] |
man-db | [] () [] [] () |
minicom | [] [] [] |
mysecretdiary | [] [] [] |
nano | [] () [] [] [] |
nano_1_0 | [] () [] [] [] |
opcodes | [] |
parted | [] [] [] [] [] |
ptx | [] [] [] [] [] |
python | |
radius | [] |
recode | [] [] [] [] [] [] [] |
rpm | [] [] |
screem | |
scrollkeeper | [] [] [] [] [] [] |
sed | [] [] [] [] [] |
sh-utils | [] [] [] |
shared-mime-info | |
sharutils | [] [] [] [] [] [] |
silky | () |
skencil | [] () [] |
sketch | [] () [] |
soundtracker | [] [] [] |
sp | [] |
tar | [] [] [] [] |
texinfo | [] [] [] |
textutils | [] [] [] [] |
tin | () () |
tuxpaint | [] [] [] [] [] [] [] |
util-linux | [] [] [] [] [] |
vorbis-tools | [] [] [] [] |
wastesedge | () |
wdiff | [] [] [] [] |
wget | [] [] [] [] [] [] |
xchat | [] [] [] [] |
xfree86_xkb_xml | [] |
xpad | [] |
+-------------------------------------------+
am az be bg ca cs da de el en en_GB eo es
0 0 8 3 37 38 56 73 15 1 5 12 64
et fa fi fr ga gl he hr hu id is it ja
+----------------------------------------+
a2ps | [] [] [] () |
aegis | |
ant-phone | |
anubis | [] |
ap-utils | [] |
bash | [] [] |
batchelor | [] |
bfd | [] |
binutils | [] [] |
bison | [] [] [] [] |
bluez-pin | [] [] [] [] [] |
clisp | |
clisp | [] |
coreutils | [] [] [] [] [] [] |
cpio | [] [] [] |
darkstat | () [] [] [] |
diffutils | [] [] [] [] [] [] [] |
e2fsprogs | |
enscript | [] [] |
error | [] [] [] [] |
fetchmail | [] |
fileutils | [] [] [] [] [] [] |
findutils | [] [] [] [] [] [] [] [] [] [] |
flex | [] [] |
fslint | |
gas | [] |
gawk | [] [] [] |
gbiff | |
gcal | [] |
gcc | [] |
gettext | [] [] |
gettext-examples | [] [] |
gettext-runtime | [] [] [] [] |
gettext-tools | [] [] |
gimp-print | [] [] |
gliv | () |
glunarclock | [] [] [] [] |
gnubiff | |
gnucash | () [] |
gnucash-glossary | [] |
gnupg | [] [] [] [] [] [] [] |
gpe-aerial | [] |
gpe-beam | [] |
gpe-calendar | [] [] [] |
gpe-clock | [] |
gpe-conf | [] |
gpe-contacts | [] [] |
gpe-edit | [] [] |
gpe-go | [] |
gpe-login | [] [] |
gpe-ownerinfo | [] [] [] |
gpe-sketchbook | [] |
gpe-su | [] |
gpe-taskmanager | [] |
gpe-timesheet | [] [] [] |
gpe-today | [] [] |
gpe-todo | [] [] |
gphoto2 | [] [] [] |
gprof | [] [] |
gpsdrive | () [] () () |
gramadoir | [] |
grep | [] [] [] [] [] [] [] [] [] [] [] |
gretl | [] |
gtick | [] [] |
hello | [] [] [] [] [] [] [] [] [] [] [] [] |
id-utils | [] [] [] [] |
indent | [] [] [] [] [] [] [] [] [] |
jpilot | [] () |
jtag | |
jwhois | [] [] [] [] |
kbd | [] |
latrine | |
ld | [] |
libc | [] [] [] [] [] |
libgpewidget | [] [] [] [] |
libiconv | [] [] [] [] [] [] [] [] [] |
lifelines | () |
lilypond | [] |
lingoteach | [] [] |
lingoteach_lessons | |
lynx | [] [] [] [] |
m4 | [] [] [] [] |
mailutils | |
make | [] [] [] [] [] |
man-db | () () |
minicom | [] [] [] [] |
mysecretdiary | [] [] |
nano | [] [] [] [] |
nano_1_0 | [] [] [] [] |
opcodes | [] |
parted | [] [] [] |
ptx | [] [] [] [] [] [] [] |
python | |
radius | [] |
recode | [] [] [] [] [] [] |
rpm | |
screem | |
scrollkeeper | [] |
sed | [] [] [] [] [] [] [] [] [] |
sh-utils | [] [] [] [] [] [] [] |
shared-mime-info | [] |
sharutils | [] [] [] [] [] |
silky | [] () |
skencil | [] |
sketch | [] |
soundtracker | [] [] [] [] |
sp | [] () |
tar | [] [] [] [] [] [] [] [] [] |
texinfo | [] [] [] [] |
textutils | [] [] [] [] [] |
tin | [] () |
tuxpaint | [] [] [] [] [] [] [] [] |
util-linux | [] [] [] [] () [] |
vorbis-tools | [] |
wastesedge | () |
wdiff | [] [] [] [] [] [] |
wget | [] [] [] [] [] [] [] |
xchat | [] [] [] |
xfree86_xkb_xml | |
xpad | [] |
+----------------------------------------+
et fa fi fr ga gl he hr hu id is it ja
21 1 25 86 24 24 8 10 38 31 1 23 32
ko lg lt lv ms nb nl nn no pl pt pt_BR ro
+-------------------------------------------+
a2ps | () [] [] () () [] [] |
aegis | () () |
ant-phone | [] [] |
anubis | [] [] [] [] [] |
ap-utils | [] () [] |
bash | [] [] |
batchelor | [] |
bfd | [] |
binutils | |
bison | [] [] [] [] |
bluez-pin | [] [] [] |
clisp | |
clisp | [] |
coreutils | [] |
cpio | [] [] [] [] [] |
darkstat | [] [] [] [] |
diffutils | [] [] [] [] |
e2fsprogs | [] |
enscript | [] [] [] |
error | [] [] [] |
fetchmail | [] [] () |
fileutils | [] [] |
findutils | [] [] [] [] [] |
flex | [] [] [] [] |
fslint | [] [] |
gas | |
gawk | [] [] [] |
gbiff | [] [] |
gcal | |
gcc | |
gettext | [] [] [] |
gettext-examples | [] [] |
gettext-runtime | [] [] [] |
gettext-tools | [] [] [] |
gimp-print | [] |
gliv | [] [] [] |
glunarclock | [] [] [] |
gnubiff | |
gnucash | [] [] () |
gnucash-glossary | [] [] |
gnupg | [] |
gpe-aerial | [] [] [] |
gpe-beam | [] [] [] |
gpe-calendar | [] [] [] |
gpe-clock | [] [] [] |
gpe-conf | [] [] [] |
gpe-contacts | [] [] [] |
gpe-edit | [] [] [] |
gpe-go | [] [] |
gpe-login | [] [] [] |
gpe-ownerinfo | [] [] [] |
gpe-sketchbook | [] [] [] |
gpe-su | [] [] [] |
gpe-taskmanager | [] [] [] |
gpe-timesheet | [] [] [] |
gpe-today | [] [] [] |
gpe-todo | [] [] [] |
gphoto2 | [] |
gprof | [] [] |
gpsdrive | () () () [] |
gramadoir | [] |
grep | [] [] [] [] |
gretl | |
gtick | [] [] |
hello | [] [] [] [] [] [] [] [] [] [] |
id-utils | [] [] [] |
indent | [] [] [] |
jpilot | () () |
jtag | |
jwhois | [] [] [] [] |
kbd | [] [] [] |
latrine | [] |
ld | |
libc | [] [] [] [] [] |
libgpewidget | [] [] [] |
libiconv | [] [] [] [] |
lifelines | |
lilypond | |
lingoteach | |
lingoteach_lessons | |
lynx | [] [] |
m4 | [] [] [] [] |
mailutils | [] [] |
make | [] [] [] [] |
man-db | [] |
minicom | [] [] [] |
mysecretdiary | [] [] [] |
nano | [] [] [] [] |
nano_1_0 | [] [] [] [] [] |
opcodes | [] [] |
parted | [] [] [] [] |
ptx | [] [] [] [] [] [] [] |
python | |
radius | [] |
recode | [] [] [] |
rpm | [] [] |
screem | |
scrollkeeper | [] [] [] [] |
sed | [] [] [] |
sh-utils | [] |
shared-mime-info | [] |
sharutils | [] |
silky | |
skencil | [] [] |
sketch | [] [] |
soundtracker | |
sp | |
tar | [] [] [] [] [] [] |
texinfo | [] [] [] |
textutils | [] [] |
tin | |
tuxpaint | [] [] [] [] [] [] [] [] [] |
util-linux | [] [] |
vorbis-tools | [] [] |
wastesedge | |
wdiff | [] [] [] [] |
wget | [] [] |
xchat | [] [] |
xfree86_xkb_xml | [] |
xpad | [] [] |
+-------------------------------------------+
ko lg lt lv ms nb nl nn no pl pt pt_BR ro
12 0 1 2 12 10 60 4 4 38 25 35 76
ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
+-------------------------------------------+
a2ps | [] [] [] [] [] | 16
aegis | () | 0
ant-phone | | 2
anubis | [] [] [] | 9
ap-utils | () | 3
bash | [] | 9
batchelor | | 2
bfd | [] [] | 6
binutils | [] [] [] | 7
bison | [] [] [] | 14
bluez-pin | [] [] [] | 13
clisp | | 0
clisp | | 5
coreutils | [] [] [] [] [] | 16
cpio | [] [] [] | 14
darkstat | [] [] [] () () | 12
diffutils | [] [] [] [] | 22
e2fsprogs | [] [] | 5
enscript | [] [] [] | 12
error | [] [] [] | 15
fetchmail | [] [] [] | 11
fileutils | [] [] [] [] [] [] | 17
findutils | [] [] [] [] [] [] [] | 29
flex | [] [] [] | 13
fslint | | 2
gas | [] | 3
gawk | [] [] | 12
gbiff | | 3
gcal | [] [] | 4
gcc | [] | 4
gettext | [] [] [] [] [] [] | 16
gettext-examples | [] [] [] [] | 11
gettext-runtime | [] [] [] [] [] [] [] [] [] | 21
gettext-tools | [] [] [] [] [] [] | 14
gimp-print | [] [] | 10
gliv | | 3
glunarclock | [] [] [] [] | 13
gnubiff | | 1
gnucash | [] [] [] | 9
gnucash-glossary | [] [] [] | 8
gnupg | [] [] [] [] | 17
gpe-aerial | [] [] | 7
gpe-beam | [] [] | 8
gpe-calendar | [] [] [] [] [] | 13
gpe-clock | [] [] [] [] | 10
gpe-conf | [] [] [] | 9
gpe-contacts | [] [] [] [] | 11
gpe-edit | [] [] [] [] [] [] | 12
gpe-go | [] | 5
gpe-login | [] [] [] [] [] [] | 13
gpe-ownerinfo | [] [] [] [] [] | 13
gpe-sketchbook | [] [] [] | 9
gpe-su | [] [] [] [] | 10
gpe-taskmanager | [] [] [] [] | 10
gpe-timesheet | [] [] [] [] [] | 12
gpe-today | [] [] [] [] [] [] | 13
gpe-todo | [] [] [] [] [] | 12
gphoto2 | [] [] [] | 11
gprof | [] [] | 9
gpsdrive | [] [] | 4
gramadoir | | 3
grep | [] [] [] [] [] | 26
gretl | | 2
gtick | [] | 5
hello | [] [] [] [] [] | 33
id-utils | [] [] [] | 12
indent | [] [] [] [] [] | 21
jpilot | [] [] [] [] [] | 9
jtag | [] | 1
jwhois | () () [] [] | 11
kbd | [] [] | 11
latrine | | 1
ld | [] [] | 5
libc | [] [] [] [] | 20
libgpewidget | [] [] [] [] | 13
libiconv | [] [] [] [] [] [] [] [] [] | 27
lifelines | [] | 2
lilypond | [] | 3
lingoteach | | 2
lingoteach_lessons | () | 0
lynx | [] [] [] [] | 14
m4 | [] [] [] | 15
mailutils | [] | 5
make | [] [] [] [] | 16
man-db | [] | 5
minicom | [] | 11
mysecretdiary | [] [] | 10
nano | [] [] [] [] [] | 17
nano_1_0 | [] [] [] [] | 17
opcodes | [] [] | 6
parted | [] [] [] | 15
ptx | [] [] [] | 22
python | | 0
radius | [] | 4
recode | [] [] [] [] | 20
rpm | [] [] [] | 7
screem | [] [] | 2
scrollkeeper | [] [] [] [] | 15
sed | [] [] [] [] [] [] | 23
sh-utils | [] [] [] | 14
shared-mime-info | [] [] | 4
sharutils | [] [] [] [] [] | 17
silky | () | 2
skencil | [] | 6
sketch | [] | 6
soundtracker | [] [] | 9
sp | [] | 3
tar | [] [] [] [] [] | 24
texinfo | [] [] [] [] | 14
textutils | [] [] [] [] [] | 16
tin | | 1
tuxpaint | [] [] [] [] [] | 29
util-linux | [] [] [] | 15
vorbis-tools | [] | 8
wastesedge | | 0
wdiff | [] [] [] [] | 18
wget | [] [] [] [] [] [] [] [] | 23
xchat | [] [] [] [] [] | 14
xfree86_xkb_xml | [] [] [] [] [] [] | 8
xpad | | 4
+-------------------------------------------+
51 teams ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
120 domains 59 42 16 25 81 0 56 12 1 10 21 22 1260
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
@@ -451,7 +691,7 @@ distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.
If February 2003 seems to be old, you may fetch a more recent copy
If December 2003 seems to be old, you may fetch a more recent copy
of this `ABOUT-NLS' file on most GNU archive sites. The most
up-to-date matrix with full percentage details can be found at
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
@@ -459,7 +699,7 @@ up-to-date matrix with full percentage details can be found at
Using `gettext' in new packages
===============================
If you are writing a freely available program and want to
If you are writing a freely available program and want to
internationalize it you are welcome to use GNU `gettext' in your
package. Of course you have to respect the GNU Library General Public
License which covers the use of the GNU `gettext' library. This means
@@ -474,4 +714,3 @@ developed inside the GNU project. Therefore the information given above
applies also for every other Free Software Project. Contact
`translation@iro.umontreal.ca' to make the `.pot' files available to
the translation teams.

94
AUTHORS
View File

@@ -2,85 +2,91 @@ Here are the names of the programs in this package,
each followed by the name(s) of its author(s).
basename: FIXME unknown
cat: Torbjorn Granlund and Richard M. Stallman
chgrp: David MacKenzie
chmod: David MacKenzie
chown: David MacKenzie
cat: Torbjorn Granlund, Richard M. Stallman
chgrp: David MacKenzie, Jim Meyering
chmod: David MacKenzie, Jim Meyering
chown: David MacKenzie, Jim Meyering
chroot: Roland McGrath
cksum: Q. Frank Xia
comm: Richard Stallman and David MacKenzie
cp: Torbjorn Granlund, David MacKenzie, and Jim Meyering
csplit: Stuart Kemp and David MacKenzie
cut: David Ihnat, David MacKenzie, and Jim Meyering
comm: Richard Stallman, David MacKenzie
cp: Torbjorn Granlund, David MacKenzie, Jim Meyering
csplit: Stuart Kemp, David MacKenzie
cut: David Ihnat, David MacKenzie, Jim Meyering
date: David MacKenzie
dd: Paul Rubin, David MacKenzie, and Stuart Kemp
df: Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert
dd: Paul Rubin, David MacKenzie, Stuart Kemp
df: Torbjorn Granlund, David MacKenzie, Paul Eggert
dir: Richard Stallman, David MacKenzie
dircolors: H. Peter Anvin
dirname: David MacKenzie and Jim Meyering
du: Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert
dirname: David MacKenzie, Jim Meyering
du: Torbjorn Granlund, David MacKenzie, Paul Eggert, Jim Meyering
echo: FIXME unknown
env: Richard Mlynarik and David MacKenzie
env: Richard Mlynarik, David MacKenzie
expand: David MacKenzie
expr: Mike Parker
factor: Paul Rubin
false: no one
false: Jim Meyering
fmt: Ross Paterson
fold: David MacKenzie
head: David MacKenzie
ginstall: David MacKenzie
groups: David MacKenzie
head: David MacKenzie, Jim Meyering
hostid: Jim Meyering
hostname: Jim Meyering
id: Arnold Robbins and David MacKenzie
install: David MacKenzie
id: Arnold Robbins, David MacKenzie
join: Mike Haertel
kill: Paul Eggert
link: Michael Stone
ln: Mike Parker and David MacKenzie
ln: Mike Parker, David MacKenzie
logname: FIXME: unknown
ls: Richard Stallman and David MacKenzie
md5sum: Ulrich Drepper and Scott Miller
ls: Richard Stallman, David MacKenzie
md5sum: Ulrich Drepper, Scott Miller
mkdir: David MacKenzie
mkfifo: David MacKenzie
mknod: David MacKenzie
mv: Mike Parker, David MacKenzie, and Jim Meyering
mv: Mike Parker, David MacKenzie, Jim Meyering
nice: David MacKenzie
nl: Scott Bartram and David MacKenzie
nl: Scott Bartram, David MacKenzie
nohup: Jim Meyering
od: Jim Meyering
paste: David M. Ihnat and David MacKenzie
pathchk: David MacKenzie and Jim Meyering
pinky: Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi
pr: Pete TerMaat and Roland Huebner
printenv: David MacKenzie and Richard Mlynarik
paste: David M. Ihnat, David MacKenzie
pathchk: Paul Eggert, David MacKenzie, Jim Meyering
pinky: Joseph Arceneaux, David MacKenzie, Kaveh Ghazi
pr: Pete TerMaat, Roland Huebner
printenv: David MacKenzie, Richard Mlynarik
printf: David MacKenzie
ptx: François Pinard
ptx: F. Pinard
pwd: Jim Meyering
rm: Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering
readlink: Dmitry V. Levin
rm: Paul Rubin, David MacKenzie, Richard Stallman, Jim Meyering
rmdir: David MacKenzie
seq: Ulrich Drepper
sha1sum: Ulrich Drepper, Scott Miller
shred: Colin Plumb
sleep: Jim Meyering and Paul Eggert
sort: Mike Haertel and Paul Eggert
split: Torbjorn Granlund and Richard M. Stallman
sleep: Jim Meyering, Paul Eggert
sort: Mike Haertel, Paul Eggert
split: Torbjorn Granlund, Richard M. Stallman
stat: Michael Meskes
stty: David MacKenzie
su: David MacKenzie
sum: Kayvan Aghaiepour and David MacKenzie
sum: Kayvan Aghaiepour, David MacKenzie
sync: Jim Meyering
tac: Jay Lepreau and David MacKenzie
tail: Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering
tee: Mike Parker, Richard M. Stallman, and David MacKenzie
test: FIXME: ksb and mjb
touch: Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith
tac: Jay Lepreau, David MacKenzie
tail: Paul Rubin, David MacKenzie, Ian Lance Taylor, Jim Meyering
tee: Mike Parker, Richard M. Stallman, David MacKenzie
test: Kevin Braunsdorf, Matthew Bradburn
touch: Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, Randy Smith
tr: Jim Meyering
true: no one
true: Jim Meyering
tsort: Mark Kettenis
tty: David MacKenzie
uname: David MacKenzie
unexpand: David MacKenzie
uniq: Richard Stallman and David MacKenzie
uniq: Richard Stallman, David MacKenzie
unlink: Michael Stone
uptime: Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi
users: Joseph Arceneaux and David MacKenzie
wc: Paul Rubin and David MacKenzie
who: Joseph Arceneaux, David MacKenzie, and Michael Stone
uptime: Joseph Arceneaux, David MacKenzie, Kaveh Ghazi
users: Joseph Arceneaux, David MacKenzie
vdir: Richard Stallman, David MacKenzie
wc: Paul Rubin, David MacKenzie
who: Joseph Arceneaux, David MacKenzie, Michael Stone
whoami: Richard Mlynarik
yes: David MacKenzie

View File

@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.

8335
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@@ -4,9 +4,31 @@
# It is necessary if you want to build targets usually of interest
# only to the maintainer.
# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Systems where /bin/sh is not the default shell need this. The $(shell)
# command below won't work with e.g. stock DOS/Windows shells.
ifeq ($(wildcard /bin/s[h]),/bin/sh)
SHELL = /bin/sh
else
# will be used only with the next shell-test line, then overwritten
# by a configured-in value
SHELL = sh
endif
have-Makefile := $(shell test -f Makefile && echo yes)

28
INSTALL
View File

@@ -1,5 +1,5 @@
Copyright 1994, 1995, 1996, 1999, 2000, 2001 Free Software Foundation,
Inc.
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
@@ -71,8 +71,9 @@ Compilers and Options
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for variables by setting
them in the environment. You can do that on the command line like this:
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
@@ -137,9 +138,10 @@ Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it cannot guess the host type, give it the
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
@@ -151,20 +153,16 @@ where SYSTEM can have one of these forms:
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the host
platform (i.e., that on which the generated programs will eventually be
run) with `--host=TYPE'. In this case, you should also specify the
build platform with `--build=TYPE', because, in this case, it may not
be possible to guess the build platform (it sometimes involves
compiling and running simple test programs, and this can't be done if
the compiler is a cross compiler).
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================

View File

@@ -1,9 +1,15 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
SUBDIRS = lib src doc man m4 po tests
SUBDIRS = lib src doc man po tests
EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
.kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
.x-sc_space_tab .x-sc_sun_os_names \
.x-sc_file_system .x-sc_obsolete_symbols \
.x-sc_unmarked_diagnostics \
.x-sc_useless_cpp_parens \
.x-sc_no_if_have_config_h \
announce-gen \
m4/ChangeLog \
old/fileutils/ChangeLog \
old/fileutils/ChangeLog-1997 \
old/sh-utils/ChangeLog \
@@ -22,6 +28,9 @@ ACLOCAL_AMFLAGS = -I m4
check-root:
cd tests && $(MAKE) $@
dist-hook:
test -x $(srcdir)/build-aux/install-sh
distcheck-hook:
$(MAKE) my-distcheck

View File

@@ -1,31 +1,51 @@
# -*- makefile -*-
## Customize Makefile.maint.
# Customize Makefile.maint. -*- makefile -*-
# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# Use alpha.gnu.org for alpha and beta releases.
# Use ftp.gnu.org for major releases.
gnu_ftp_host-alpha = alpha
gnu_ftp_host-beta = alpha
gnu_ftp_host-major = ftp
gnu_ftp_host-alpha = alpha.gnu.org
gnu_ftp_host-beta = alpha.gnu.org
gnu_ftp_host-major = ftp.gnu.org
gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE))
url_dir_list = \
ftp://$(gnu_rel_host).gnu.org/gnu/coreutils \
http://fetish.sf.net
ftp://$(gnu_rel_host)/gnu/coreutils
# Files to update automatically.
wget_files = \
$(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/config/texinfo.tex
$(srcdir)/build-aux/config.guess \
$(srcdir)/build-aux/config.sub \
$(srcdir)/build-aux/texinfo.tex
# Of the above, texinfo.tex is out of date,
# and the other two are not available.
wget_files =
cvs_files = \
$(srcdir)/config/elisp-comp \
$(srcdir)/config/depcomp \
$(srcdir)/config/mdate-sh \
$(srcdir)/config/missing \
$(srcdir)/config/install-sh \
$(srcdir)/config/mkinstalldirs
$(srcdir)/build-aux/elisp-comp \
$(srcdir)/build-aux/depcomp \
$(srcdir)/build-aux/mdate-sh \
$(srcdir)/build-aux/missing \
$(srcdir)/build-aux/install-sh \
$(srcdir)/build-aux/mkinstalldirs
# $(srcdir)/src/ansi2knr.c
local_updates = wget-update cvs-update
# Tests not to run.
local-checks-to-skip =

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.6 from Makefile.am.
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -35,7 +33,163 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.hin \
$(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \
INSTALL NEWS THANKS TODO build-aux/ChangeLog \
build-aux/config.guess build-aux/config.rpath \
build-aux/config.sub build-aux/depcomp build-aux/install-sh \
build-aux/mdate-sh build-aux/missing build-aux/mkinstalldirs \
build-aux/texinfo.tex
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/afs.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/allocsa.m4 \
$(top_srcdir)/m4/argmatch.m4 $(top_srcdir)/m4/assert.m4 \
$(top_srcdir)/m4/atexit.m4 $(top_srcdir)/m4/autobuild.m4 \
$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/basename.m4 \
$(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \
$(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \
$(top_srcdir)/m4/canon-host.m4 \
$(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \
$(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \
$(top_srcdir)/m4/cloexec.m4 $(top_srcdir)/m4/closeout.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/cycle-check.m4 \
$(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/d-type.m4 \
$(top_srcdir)/m4/diacrit.m4 $(top_srcdir)/m4/dirfd.m4 \
$(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
$(top_srcdir)/m4/eoverflow.m4 $(top_srcdir)/m4/error.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fd-reopen.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \
$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
$(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \
$(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
$(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \
$(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \
$(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \
$(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
$(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash-pjw.m4 \
$(top_srcdir)/m4/hash.m4 $(top_srcdir)/m4/host-os.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/idcache.m4 $(top_srcdir)/m4/intmax_t.m4 \
$(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \
$(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/linebuffer.m4 $(top_srcdir)/m4/link-follow.m4 \
$(top_srcdir)/m4/localcharset.m4 \
$(top_srcdir)/m4/long-options.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbstate_t.m4 \
$(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/md5.m4 \
$(top_srcdir)/m4/memcasecmp.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
$(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdir-p.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/obstack.m4 \
$(top_srcdir)/m4/onceonly_2_57.m4 $(top_srcdir)/m4/openat.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \
$(top_srcdir)/m4/physmem.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \
$(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
$(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \
$(top_srcdir)/m4/readtokens.m4 $(top_srcdir)/m4/readutmp.m4 \
$(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
$(top_srcdir)/m4/restrict.m4 $(top_srcdir)/m4/rmdir-errno.m4 \
$(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/root-dev-ino.m4 \
$(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \
$(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
$(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
$(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/settime.m4 \
$(top_srcdir)/m4/sha1.m4 $(top_srcdir)/m4/sig2str.m4 \
$(top_srcdir)/m4/signed.m4 $(top_srcdir)/m4/socklen.m4 \
$(top_srcdir)/m4/sockpfaf.m4 $(top_srcdir)/m4/ssize_t.m4 \
$(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/stat-macros.m4 \
$(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \
$(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stpcpy.m4 \
$(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strcspn.m4 \
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
$(top_srcdir)/m4/stripslash.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \
$(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strstr.m4 \
$(top_srcdir)/m4/strtod.m4 $(top_srcdir)/m4/strtoimax.m4 \
$(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
$(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
$(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/strverscmp.m4 \
$(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
$(top_srcdir)/m4/tzset.m4 $(top_srcdir)/m4/uint32_t.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/uintptr_t.m4 \
$(top_srcdir)/m4/ullong_max.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
$(top_srcdir)/m4/unlink-busy.m4 $(top_srcdir)/m4/unlinkdir.m4 \
$(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/uptime.m4 \
$(top_srcdir)/m4/userspec.m4 $(top_srcdir)/m4/utimbuf.m4 \
$(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimecmp.m4 \
$(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
$(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
$(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
$(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xfts.m4 \
$(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xnanosleep.m4 \
$(top_srcdir)/m4/xreadlink.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtoimax.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/xstrtoumax.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
@@ -52,6 +206,7 @@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
@@ -59,12 +214,15 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EOVERFLOW = @EOVERFLOW@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
FNMATCH_H = @FNMATCH_H@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GETOPT_H = @GETOPT_H@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
GREP = @GREP@
HAVE__BOOL = @HAVE__BOOL@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
@@ -72,6 +230,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -80,6 +239,9 @@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_EACCESS = @LIB_EACCESS@
LIB_FDATASYNC = @LIB_FDATASYNC@
LIB_GETHRXTIME = @LIB_GETHRXTIME@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
@@ -107,7 +269,6 @@ RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STDBOOL_H = @STDBOOL_H@
STRIP = @STRIP@
U = @U@
@@ -115,6 +276,7 @@ USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
YACC = @YACC@
YFLAGS = @YFLAGS@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
@@ -123,6 +285,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@@ -130,31 +294,44 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = lib src doc man m4 po tests
SUBDIRS = lib src doc man po tests
EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
.kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
.x-sc_space_tab .x-sc_sun_os_names \
.x-sc_file_system .x-sc_obsolete_symbols \
.x-sc_unmarked_diagnostics \
.x-sc_useless_cpp_parens \
.x-sc_no_if_have_config_h \
announce-gen \
m4/ChangeLog \
old/fileutils/ChangeLog \
old/fileutils/ChangeLog-1997 \
old/sh-utils/ChangeLog \
@@ -164,10 +341,8 @@ EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
old/sh-utils/NEWS \
old/textutils/NEWS
ACLOCAL_AMFLAGS = -I m4
# Just prior to distribution, ...
# transform the automake-generated rule that runs `rm -f rm'.
# On some systems, that command would fail with a diagnostic like
@@ -178,44 +353,42 @@ ACLOCAL_AMFLAGS = -I m4
rm_subst = \
s!(rm -f (rm|\$$\(bin_PROGRAMS\)))$$!$$1 > /dev/null 2>&1 || /bin/$$1!
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS THANKS TODO aclocal.m4 config.hin \
config/ChangeLog config/config.guess config/config.rpath \
config/config.sub config/depcomp config/install-sh \
config/mdate-sh config/missing config/mkinstalldirs \
config/texinfo.tex configure configure.ac
DIST_SUBDIRS = $(SUBDIRS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \
cd $(srcdir) && $(AUTOMAKE) --gnits \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.ac m4/acl.m4 m4/afs.m4 m4/alloca.m4 m4/assert.m4 m4/bison.m4 m4/boottime.m4 m4/c-stack.m4 m4/canonicalize.m4 m4/check-decl.m4 m4/chown.m4 m4/codeset.m4 m4/d-ino.m4 m4/d-type.m4 m4/dirfd.m4 m4/dos.m4 m4/error.m4 m4/fpending.m4 m4/fstypename.m4 m4/fsusage.m4 m4/ftruncate.m4 m4/ftw.m4 m4/getcwd-path-max.m4 m4/getcwd.m4 m4/getgroups.m4 m4/getline.m4 m4/gettext.m4 m4/gettimeofday.m4 m4/glibc.m4 m4/glibc21.m4 m4/group-member.m4 m4/host-os.m4 m4/human.m4 m4/iconv.m4 m4/intdiv0.m4 m4/intmax_t.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/jm-glibc-io.m4 m4/jm-macros.m4 m4/jm-mktime.m4 m4/jm-winsz1.m4 m4/jm-winsz2.m4 m4/lchown.m4 m4/lcmessage.m4 m4/lib-check.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/link-follow.m4 m4/longdouble.m4 m4/longlong.m4 m4/ls-mntd-fs.m4 m4/lstat.m4 m4/mbrtowc.m4 m4/mbswidth.m4 m4/memcmp.m4 m4/mkdir-slash.m4 m4/mkstemp.m4 m4/mktime.m4 m4/nanosleep.m4 m4/onceonly.m4 m4/open-max.m4 m4/perl.m4 m4/prereq.m4 m4/progtest.m4 m4/putenv.m4 m4/readdir.m4 m4/regex.m4 m4/rename.m4 m4/restrict.m4 m4/rmdir-errno.m4 m4/search-libs.m4 m4/signed.m4 m4/st_dm_mode.m4 m4/st_mtim.m4 m4/stat.m4 m4/stdbool.m4 m4/stdint_h.m4 m4/strftime.m4 m4/timespec.m4 m4/tm_gmtoff.m4 m4/tzset.m4 m4/uintmax_t.m4 m4/unlink-busy.m4 m4/uptime.m4 m4/utimbuf.m4 m4/utime.m4 m4/utimes.m4 m4/vasnprintf.m4 m4/vasprintf.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/xstrtoimax.m4 m4/xstrtoumax.m4
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@@ -227,10 +400,10 @@ config.h: stamp-h1
stamp-h1: $(srcdir)/config.hin $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.hin: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
$(srcdir)/config.hin: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.hin
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
@@ -243,7 +416,13 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -255,7 +434,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@@ -263,7 +442,13 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -284,7 +469,7 @@ maintainer-clean-recursive:
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -295,14 +480,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -311,19 +488,22 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
@@ -333,10 +513,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@@ -359,19 +540,6 @@ GTAGS:
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \
@@ -382,7 +550,7 @@ distdir: $(DISTFILES)
esac
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/config $(distdir)/old/fileutils $(distdir)/old/sh-utils $(distdir)/old/textutils $(distdir)/po
$(mkdir_p) $(distdir)/build-aux $(distdir)/m4 $(distdir)/old/fileutils $(distdir)/old/sh-utils $(distdir)/old/textutils $(distdir)/po
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -394,7 +562,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@@ -409,43 +577,70 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
@@ -466,19 +661,20 @@ distcheck: dist
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@@ -502,7 +698,6 @@ check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -514,7 +709,7 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -522,7 +717,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -533,12 +728,15 @@ clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
@@ -556,6 +754,7 @@ installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
@@ -574,22 +773,20 @@ uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
clean-generic clean-recursive ctags ctags-recursive dist \
dist-all dist-bzip2 dist-gzip distcheck distclean \
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-generic clean-recursive ctags \
ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-recursive \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am dvi-recursive info info-am info-recursive install \
install-am install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
ps-recursive tags tags-recursive uninstall uninstall-am \
uninstall-info-am uninstall-info-recursive uninstall-recursive
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-info-am
install-root:
@@ -599,6 +796,9 @@ install-root:
check-root:
cd tests && $(MAKE) $@
dist-hook:
test -x $(srcdir)/build-aux/install-sh
distcheck-hook:
$(MAKE) my-distcheck
.kludge-stamp: $(srcdir)/src/Makefile.in

View File

@@ -2,7 +2,7 @@
# This Makefile fragment is shared between the coreutils,
# CPPI, Bison, and Autoconf.
## Copyright (C) 2001-2003 Free Software Foundation, Inc.
## Copyright (C) 2001-2005 Free Software Foundation, Inc.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -16,21 +16,26 @@
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
## 02110-1301, USA.
ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
# This is reported not to work with make-3.79.1
# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
ME := Makefile.maint
# Do not save the original name or timestamp in the .tar.gz file.
GZIP_ENV = '--no-name --best'
GZIP_ENV = '--no-name --best --rsyncable'
CVS = cvs
CVS_LIST = cvsu --find --types=AFGM
ifeq ($(origin prev_version_file), undefined)
prev_version_file = .prev-version
endif
PREV_VERSION := $(shell cat $(prev_version_file))
VERSION_REGEXP = $(subst .,\.,$(VERSION))
tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
tag-this-version = $(subst .,_,$(VERSION))
@@ -41,6 +46,10 @@ my_distdir = $(PACKAGE)-$(VERSION)
# Used for diffs and xdeltas.
release_archive_dir ?= ../release
# Prevent programs like 'sort' from considering distinct strings to be equal.
# Doing it here saves us from having to set LC_ALL elsewhere in this file.
export LC_ALL = C
## --------------- ##
@@ -50,23 +59,34 @@ release_archive_dir ?= ../release
# Checks that don't require cvs.
# Run `changelog-check' last, as previous test may reveal problems requiring
# new ChangeLog entries.
local-check = \
local-checks-available = \
po-check copyright-check writable-files m4-check author_mark_check \
changelog-check strftime-check syntax-check makefile_path_separator_check \
makefile-check
.PHONY: $(local-check)
.PHONY: $(local-checks-available)
local-check = $(filter-out $(local-checks-to-skip), $(local-checks-available))
# Make sure C source files in src/ don't include xalloc.h directly,
# since they all already include it via sys2.h.
# It's not a big deal -- just aesthetics.
.PHONY: $(syntax-check-rules)
syntax-check-rules = \
sc_unmarked_diagnostics \
sc_cast_of_argument_to_free \
sc_cast_of_x_alloc_return_value \
sc_space_tab \
sc_cast_of_alloca_return_value \
sc_dd_max_sym_length \
sc_error_exit_success \
sc_xalloc_h_in_src
sc_file_system \
sc_no_if_have_config_h \
sc_obsolete_symbols \
sc_prohibit_atoi_atof \
sc_prohibit_jm_in_m4 \
sc_root_tests \
sc_space_tab \
sc_sun_os_names \
sc_system_h_headers \
sc_tight_scope \
sc_trailing_blank \
sc_unmarked_diagnostics \
sc_useless_cpp_parens
syntax-check: $(syntax-check-rules)
# @grep -E '# *include <(limits|std(def|arg|bool))\.h>' \
@@ -80,14 +100,11 @@ syntax-check: $(syntax-check-rules)
# exit 1; } || :
# FIXME: don't allow `#include .strings\.h' anywhere
# Look for diagnostics that aren't marked for translation.
# This won't find any for which error's format string is on a separate line.
sc_unmarked_diagnostics:
@grep --exclude=$(srcdir)/src/shred.c -E \
'\<error \([^"]*"[^"]*[a-z]{3}' $(srcdir)/{lib,src}/*.c \
| grep -v '_(' && \
{ echo '$(ME): found unmarked diagnostic(s)' 1>&2; \
exit 1; } || :
# FIXME: add a check for this.
# Nearly every lib/*.c file must include config.h, like this:
# #ifdef HAVE_CONFIG_H
# # include <config.h>
# #endif
sc_cast_of_argument_to_free:
@grep -E '\<free \(\(' $(srcdir)/{lib,src}/*.[chly] && \
@@ -96,18 +113,34 @@ sc_cast_of_argument_to_free:
sc_cast_of_x_alloc_return_value:
@grep -E --exclude=$(srcdir)/lib/regex.c \
'\*\) *x(m|c|re)alloc\>' $(srcdir)/{lib,src}/*.[chy] && \
'\*\) *x(m|c|re)alloc\>' \
$(srcdir)/{lib,src}/*.[chy] && \
{ echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \
exit 1; } || :
sc_space_tab:
@grep -E '[ ] ' --exclude=$(srcdir)/lib/regex.c \
$(srcdir)/{lib,src}/*.[chly] \
$(find -name Makefile.am) && \
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
1>&2; \
sc_cast_of_alloca_return_value:
@grep -E '\*\) *alloca\>' \
$(srcdir)/src/*.[chy] && \
{ echo '$(ME): don'\''t cast alloca return value' 1>&2; \
exit 1; } || :
sc_space_tab:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep '[ ] ' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) && \
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
1>&2; exit 1; } || :
# Don't use atoi, atof, atol, atoll, or atoq in `real' code.
# They provide no error checking mechanism.
# Instead, use strto* functions.
sc_prohibit_atoi_atof:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep -E '\<(ato[filq]|atoll)\>' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) && \
{ echo '$(ME): do not use atof, atoi, atol, atoll, or atoq' \
1>&2; exit 1; } || :
# Using EXIT_SUCCESS as the first argument to error is misleading,
# since when that parameter is 0, error does not exit. Use `0' instead.
sc_error_exit_success:
@@ -116,15 +149,132 @@ sc_error_exit_success:
{ echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \
exit 1; } || :
# xalloc.h is included via system.h, so should not be included
# directly by any file in src/.
sc_xalloc_h_in_src:
@if test -f $(srcdir)/src/sys2.h; then \
if grep 'xalloc\.h' $(srcdir)/src/*.c; then \
exit 1; \
fi; \
sc_file_system:
@grep -i 'filesystem' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) && \
{ echo '$(ME): found use of "filesystem";' \
'rewrite to use "file system"' 1>&2; \
exit 1; } || :
sc_no_if_have_config_h:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep '^# *if HAVE_CONFIG_H' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) && \
{ echo '$(ME): found use of #if HAVE_CONFIG_H; use #ifdef' \
1>&2; exit 1; } || :
sc_obsolete_symbols:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep -E '\<(HAVE_FCNTL_H)\>' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) && \
{ echo '$(ME): do not use HAVE_FCNTL_H' \
1>&2; exit 1; } || :
# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ
# Each nonempty line must start with a year number, or a TAB.
sc_changelog:
@grep '^[^12 ]' $$(find . -maxdepth 2 -name ChangeLog) && \
{ echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2; \
exit 1; } || :
# Ensure that dd's definition of LONGEST_SYMBOL stays in sync
# with the strings from the two affected variables.
dd_c = $(srcdir)/src/dd.c
sc_dd_max_sym_length:
@test -f $(dd_c) || exit 0; \
len=$$( (sed -n '/conversions\[\] =$$/,/^};/p' $(dd_c); \
sed -n '/flags\[\] =$$/,/^};/p' $(dd_c) ) \
|sed -n '/"/s/^[^"]*"\([^"]*\)".*/\1/p' \
| wc --max-line-length); \
max=$$(sed -n '/^#define LONGEST_SYMBOL /s///p' $(dd_c) \
|tr -d '"' | wc --max-line-length); \
if test "$$len" = "$$max"; then :; else \
echo 'dd.c: LONGEST_SYMBOL is not longest' 1>&2; \
exit 1; \
fi
# Many m4 macros names once began with `jm_'.
# On 2004-04-13, they were all changed to start with gl_ instead.
# Make sure that none are inadvertently reintroduced.
sc_prohibit_jm_in_m4:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep -E 'jm_[A-Z]' \
$$($(CVS_LIST) $(srcdir)/m4 |grep '\.m4$$') && \
{ echo '$(ME): do not use jm_ in m4 macro names' \
1>&2; exit 1; } || :
sc_root_tests:
@t1=sc-root.expected; t2=sc-root.actual; \
grep -l '^PRIV_CHECK_ARG=require-root' \
$$($(CVS_LIST) tests) |sed s,tests,., |sort > $$t1; \
sed -n 's, cd \([^ ]*\) .*MAKE..check TESTS=\(.*\),./\1/\2,p' \
$(srcdir)/tests/Makefile.am |sort > $$t2; \
diff -u $$t1 $$t2 || diff=1; \
rm -f $$t1 $$t2; \
test "$$diff" \
&& { echo 'tests/Makefile.am: missing check-root action'>&2; \
exit 1; } || :
# Create a list of regular expressions matching the names
# of files included from system.h. Exclude a couple.
.re-list:
@sed -n '/^# *include /s///p' $(srcdir)/src/system.h \
| grep -Ev 'sys/(param|file)\.h' \
| sed 's/ .*//;;s/^["<]/^# *include [<"]/;s/\.h[">]$$/\\.h[">]/' \
> $@-t
@mv $@-t $@
# Files in src/ should not include directly any of
# the headers already included via system.h.
sc_system_h_headers: .re-list
@if test -f $(srcdir)/src/system.h; then \
( $(CVS_LIST) ) > /dev/null 2>&1 || exit 0; \
trap 'rc=$$?; rm -f .re-list; exit $$rc' 0 1 2 3 15; \
grep -E -f .re-list \
$$($(CVS_LIST) src | grep -Ev '(copy|system)\.h$$') \
&& { echo '$(ME): the above are already included via system.h'\
1>&2; exit 1; } || :; \
fi
sc_sun_os_names:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep -Ei \
'solaris[^[:alnum:]]*2\.(7|8|9|[1-9][0-9])|sunos[^[:alnum:]][6-9]' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) && \
{ echo '$(ME): found misuse of Sun OS version numbers' 1>&2; \
exit 1; } || :
sc_tight_scope:
$(MAKE) -C src $@
sc_trailing_blank:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep '[ ]$$' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) && \
{ echo '$(ME): found trailing blank(s)' \
1>&2; exit 1; } || :
# Look for diagnostics that aren't marked for translation.
# This won't find any for which error's format string is on a separate line.
sc_unmarked_diagnostics:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep -E \
'\<error \([^"]*"[^"]*[a-z]{3}' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) \
| grep -v '_(' && \
{ echo '$(ME): found unmarked diagnostic(s)' 1>&2; \
exit 1; } || :
# Avoid useless parentheses like those in this example:
# #if defined (SYMBOL) || defined (SYM2)
sc_useless_cpp_parens:
@( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
grep '^# *if .*defined *(' \
$$($(CVS_LIST) | grep -vEf .x-$@ ) && \
{ echo '$(ME): found useless parentheses in cpp directive' \
1>&2; exit 1; } || :
# Ensure that date's --help output stays in sync with the info
# documentation for GNU strftime. The only exception is %N,
# which date accepts but GNU strftime does not.
@@ -144,11 +294,22 @@ strftime-check:
# not @...@ in Makefile.am, now that we can rely on automake
# to emit a definition for each substituted variable.
makefile-check:
grep -E '@[A-Z_]+@' `find . -name Makefile.am` \
&& { echo 'Makefile.maint: use $(...), not @...@' 1>&2; exit 1; } || :
grep -E '@[A-Z_0-9]+@' `find . -name Makefile.am` \
&& { echo 'Makefile.maint: use $$(...), not @...@' 1>&2; exit 1; } || :
news-date-check: NEWS
today=`date +%Y-%m-%d`; \
if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \
>/dev/null; then \
:; \
else \
echo "version or today's date is not in NEWS" 1>&2; \
exit 1; \
fi
changelog-check:
if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \
>/dev/null; then \
:; \
else \
echo "$(VERSION) not in ChangeLog" 1>&2; \
@@ -161,21 +322,24 @@ m4-check:
exit 1; } || :
# Verify that all source files using _() are listed in po/POTFILES.in.
# FIXME: don't hard-code src/false.c below; use a more general mechanism.
po-check:
if test -f po/POTFILES.in; then \
grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \
files=; \
for file in lib/*.[chly] src/*.[chly]; do \
case $$file in \
*.[ch]) \
base=`expr " $$file" : ' \(.*\)\..'`; \
{ test -f $$base.l || test -f $$base.y; } && continue;; \
esac; \
files="$$files $$file"; \
done; \
grep -E -l '\bN?_\([^)"]*("|$$)' $$files | sort > $@-2; \
diff -u $@-1 $@-2 || exit 1; \
rm -f $@-1 $@-2; \
( $(CVS_LIST) ) > /dev/null 2>&1 || : && \
if test -f po/POTFILES.in; then \
grep -E -v '^(#|$$)' po/POTFILES.in \
| grep -v '^src/false\.c$$' | sort > $@-1; \
files=; \
for file in $$($(CVS_LIST) lib src | grep '\.[chly]$$'); do \
case $$file in \
*.[ch]) \
base=`expr " $$file" : ' \(.*\)\..'`; \
{ test -f $$base.l || test -f $$base.y; } && continue;; \
esac; \
files="$$files $$file"; \
done; \
grep -E -l '\bN?_\([^)"]*("|$$)' $$files | sort > $@-2; \
diff -u $@-1 $@-2 || exit 1; \
rm -f $@-1 $@-2; \
fi
# In a definition of #define AUTHORS "... and ..." where the RHS contains
@@ -215,7 +379,7 @@ v_etc_file = lib/version-etc.c
# Make sure that the copyright date in $(v_etc_file) is up to date.
copyright-check:
@if test -f $(v_etc_file); then \
grep '"Copyright (C) $(shell date +%Y) Free' $(v_etc_file) \
grep 'enum { COPYRIGHT_YEAR = 2005 };' $(v_etc_file) \
>/dev/null \
|| { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
exit 1; }; \
@@ -266,21 +430,23 @@ null_AM_MAKEFLAGS = \
# Detect format-string/arg-list mismatches that would normally be obscured
# by the use of _(). The --disable-nls effectively defines away that macro,
# and building with CFLAGS='-Wformat -Werror' causes any format warning to be
# treated as a failure.
# treated as a failure. Also, check for shadowing problems with -Wshadow.
# These CFLAGS are pretty strict. If you build this target, you probably
# have to have a recent version of gcc and glibc headers.
TMPDIR ?= /tmp
t=$(TMPDIR)/$(PACKAGE)/test
my-distcheck: $(local-check)
my-distcheck: $(local-check) $(release_archive_dir)/$(prev-tgz)
-rm -rf $(t)
mkdir -p $(t)
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
cd $(t)/$(distdir) \
&& ./configure --disable-nls \
&& $(MAKE) CFLAGS='-Wformat -Werror' \
AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \
&& $(MAKE) dvi \
&& $(MAKE) check \
cd $(t)/$(distdir) \
&& ./configure --disable-nls \
&& $(MAKE) CFLAGS='-Werror -Wall -Wformat -Wshadow' \
AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \
&& $(MAKE) dvi \
&& $(MAKE) check \
&& $(MAKE) distclean
(cd $(t) && mv $(distdir) $(distdir).old \
(cd $(t) && mv $(distdir) $(distdir).old \
&& $(AMTAR) -zxf - ) < $(distdir).tar.gz
diff -ur $(t)/$(distdir).old $(t)/$(distdir)
-rm -rf $(t)
@@ -288,6 +454,9 @@ my-distcheck: $(local-check)
echo "$(distdir).tar.gz is ready for distribution"; \
echo "========================"
WGET = wget
WGETFLAGS = -C off
tgz-md5 = $(shell md5sum < $(my_distdir).tar.gz|sed 's/ -//')
tgz-sha1 = $(shell sha1sum < $(my_distdir).tar.gz|sed 's/ -//')
bz2-md5 = $(shell md5sum < $(my_distdir).tar.bz2|sed 's/ -//')
@@ -303,20 +472,15 @@ rel-check:
md5_tmp=/tmp/rel-check-md5-$$$$; \
set -e; \
trap 'status=$$?; rm -f $$tarz $$md5_tmp; exit $$status' 0 1 2 3 15; \
wget -q --output-document=$$tarz $(url); \
$(WGET) $(WGETFLAGS) -q --output-document=$$tarz $(url); \
echo "$(md5) -" > $$md5_tmp; \
md5sum -c $$md5_tmp < $$tarz
prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
signatures ?= $(distdir).tar.bz2.asc $(distdir).tar.gz.asc
%.asc: %
rm -f $@
gpg --armor --detach-sign -o $@ $<
rel-files = $(xd-delta) $(distdir).tar.bz2 $(distdir).tar.gz $(signatures)
announcement: NEWS ChangeLog $(rel-files) $(signatures)
rel-files = $(xd-delta) $(DIST_ARCHIVES)
announcement: NEWS ChangeLog $(rel-files)
@./announce-gen \
--release-type=$(RELEASE_TYPE) \
--package=$(PACKAGE) \
@@ -331,7 +495,6 @@ announcement: NEWS ChangeLog $(rel-files) $(signatures)
## Updating files. ##
## ---------------- ##
WGET = wget
ftp-gnu = ftp://ftp.gnu.org/gnu
www-gnu = http://www.gnu.org
@@ -358,7 +521,8 @@ do-po-update:
tmppo=/tmp/$(PACKAGE)-$(VERSION)-po &&\
rm -rf $$tmppo && \
mkdir $$tmppo && \
(cd $$tmppo && $(WGET) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
(cd $$tmppo && \
$(WGET) $(WGETFLAGS) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
cp $$tmppo/*.po po
cd po && $(MAKE) update-po
$(MAKE) po-check
@@ -375,14 +539,16 @@ po-update:
# The following pseudo table associates a local directory and a URL
# with each of the files that belongs to some other package and is
# regularly updated from the specified URL.
wget_files ?= $(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/src/ansi2knr.c \
$(srcdir)/config/texinfo.tex
wget_files ?= \
$(srcdir)/build-aux/config.guess \
$(srcdir)/build-aux/config.sub \
$(srcdir)/build-aux/texinfo.tex \
$(srcdir)/src/ansi2knr.c
get-targets = $(patsubst %, get-%, $(wget_files))
config.guess-url_prefix = $(ftp-gnu)/config/
config.sub-url_prefix = $(ftp-gnu)/config/
config.guess-url_prefix = $(ftp-gnu)/build-aux/
config.sub-url_prefix = $(ftp-gnu)/build-aux/
ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/
@@ -396,12 +562,15 @@ url = $($(notdir $(target))-url_prefix)$(notdir $(target))
.PHONY: $(get-targets)
$(get-targets):
$(WGET) $(url) -O $(target).t \
$(WGET) $(WGETFLAGS) $(url) -O $(target).t \
&& $(move_if_change) $(target).t $(target)
cvs_files ?= $(srcdir)/config/depcomp $(srcdir)/config/missing \
$(srcdir)/config/mkinstalldirs \
$(srcdir)/config/install-sh $(srcdir)/src/ansi2knr.c
cvs_files ?= \
$(srcdir)/build-aux/depcomp \
$(srcdir)/build-aux/install-sh \
$(srcdir)/build-aux/missing \
$(srcdir)/build-aux/mkinstalldirs \
$(srcdir)/src/ansi2knr.c
automake_repo=:pserver:anoncvs:anoncvs@sources.redhat.com:/cvs/automake
.PHONY: wget-update
wget-update: $(get-targets)
@@ -421,25 +590,26 @@ cvs-update:
done; \
test "$$fail" && exit 1
define emit-upload-commands
echo =====================================
echo =====================================
echo upload $(PACKAGE) $(PREV_VERSION) $(VERSION)
echo '# send the /tmp/announcement e-mail'
echo =====================================
echo =====================================
endef
emit_upload_commands:
@echo =====================================
@echo =====================================
@echo "$(srcdir)/gnupload $(GNUPLOADFLAGS) \\"
@echo " --to $(gnu_rel_host):coreutils \\"
@echo " $(rel-files)"
@echo '# send the /tmp/announcement e-mail'
@echo =====================================
@echo =====================================
$(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
xdelta delta -9 $^ $@ || :
.PHONY: alpha beta major
alpha beta major: $(local-check)
alpha beta major: news-date-check $(local-check)
$(MAKE) cvs-dist
$(MAKE) $(xd-delta)
$(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
ln $(rel-files) $(release_archive_dir)
chmod a-w $(rel-files)
$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
echo $(VERSION) > $(prev_version_file)
$(CVS) ci -m. $(prev_version_file)
@$(emit-upload-commands)

861
NEWS
View File

@@ -1,5 +1,858 @@
GNU coreutils NEWS -*- outline -*-
* Major changes in release 5.0.1:
* Major changes in release 5.92 (2005-10-22) [stable]
** Bug fixes
chmod now diagnoses an invalid mode string starting with an octal digit
dircolors now properly quotes single-quote characters
* Major changes in release 5.91 (2005-10-17) [stable candidate]
** Bug fixes
"mkdir -p /a/b/c" no longer fails merely because a leading prefix
directory (e.g., /a or /a/b) exists on a read-only file system.
** Removed options
tail's --allow-missing option has been removed. Use --retry instead.
stat's --link and -l options have been removed.
Use --dereference (-L) instead.
** Deprecated options
Using ls, du, or df with the --kilobytes option now evokes a warning
that the long-named option is deprecated. Use `-k' instead.
du's long-named --megabytes option now evokes a warning.
Use -m instead.
* Major changes in release 5.90 (2005-09-29) [unstable]
** Bring back support for `head -NUM', `tail -NUM', etc. even when
conforming to POSIX 1003.1-2001. The following changes apply only
when conforming to POSIX 1003.1-2001; there is no effect when
conforming to older POSIX versions.
The following usages now behave just as when conforming to older POSIX:
date -I
expand -TAB1[,TAB2,...]
fold -WIDTH
head -NUM
join -j FIELD
join -j1 FIELD
join -j2 FIELD
join -o FIELD_NAME1 FIELD_NAME2...
nice -NUM
od -w
pr -S
split -NUM
tail -[NUM][bcl][f] [FILE]
The following usages no longer work, due to the above changes:
date -I TIMESPEC (use `date -ITIMESPEC' instead)
od -w WIDTH (use `od -wWIDTH' instead)
pr -S STRING (use `pr -SSTRING' instead)
A few usages still have behavior that depends on which POSIX standard is
being conformed to, and portable applications should beware these
problematic usages. These include:
Problematic Standard-conforming replacement, depending on
usage whether you prefer the behavior of:
POSIX 1003.2-1992 POSIX 1003.1-2001
sort +4 sort -k 5 sort ./+4
tail +4 tail -n +4 tail ./+4
tail - f tail f [see (*) below]
tail -c 4 tail -c 10 ./4 tail -c4
touch 12312359 f touch -t 12312359 f touch ./12312359 f
uniq +4 uniq -s 4 uniq ./+4
(*) "tail - f" does not conform to POSIX 1003.1-2001; to read
standard input and then "f", use the command "tail -- - f".
These changes are in response to decisions taken in the January 2005
Austin Group standardization meeting. For more details, please see
"Utility Syntax Guidelines" in the Minutes of the January 2005
Meeting <http://www.opengroup.org/austin/docs/austin_239.html>.
** Binary input and output are now implemented more consistently.
These changes affect only platforms like MS-DOS that distinguish
between binary and text files.
The following programs now always use text input/output:
expand unexpand
The following programs now always use binary input/output to copy data:
cp install mv shred
The following programs now always use binary input/output to copy
data, except for stdin and stdout when it is a terminal.
head tac tail tee tr
(cat behaves similarly, unless one of the options -bensAE is used.)
cat's --binary or -B option has been removed. It existed only on
MS-DOS-like platforms, and didn't work as documented there.
md5sum and sha1sum now obey the -b or --binary option, even if
standard input is a terminal, and they no longer report files to be
binary if they actually read them in text mode.
** Changes for better conformance to POSIX
cp, ln, mv, rm changes:
Leading white space is now significant in responses to yes-or-no questions.
For example, if "rm" asks "remove regular file `foo'?" and you respond
with " y" (i.e., space before "y"), it counts as "no".
dd changes:
On a QUIT or PIPE signal, dd now exits without printing statistics.
On hosts lacking the INFO signal, dd no longer treats the USR1
signal as if it were INFO when POSIXLY_CORRECT is set.
If the file F is non-seekable and contains fewer than N blocks,
then before copying "dd seek=N of=F" now extends F with zeroed
blocks until F contains N blocks.
fold changes:
When POSIXLY_CORRECT is set, "fold file -3" is now equivalent to
"fold file ./-3", not the obviously-erroneous "fold file ./-w3".
ls changes:
-p now marks only directories; it is equivalent to the new option
--indicator-style=slash. Use --file-type or
--indicator-style=file-type to get -p's old behavior.
nice changes:
Documentation and diagnostics now refer to "nicenesses" (commonly
in the range -20...19) rather than "nice values" (commonly 0...39).
nohup changes:
nohup now ignores the umask when creating nohup.out.
nohup now closes stderr if it is a terminal and stdout is closed.
nohup now exits with status 127 (not 1) when given an invalid option.
pathchk changes:
It now rejects the empty name in the normal case. That is,
"pathchk -p ''" now fails, and "pathchk ''" fails unless the
current host (contra POSIX) allows empty file names.
The new -P option checks whether a file name component has leading "-",
as suggested in interpretation "Austin-039:XCU:pathchk:pathchk -p"
<http://www.opengroup.org/austin/interps/doc.tpl?gdid=6232>.
It also rejects the empty name even if the current host accepts it; see
<http://www.opengroup.org/austin/interps/doc.tpl?gdid=6233>.
The --portability option is now equivalent to -p -P.
** Bug fixes
chmod, mkdir, mkfifo, and mknod formerly mishandled rarely-used symbolic
permissions like =xX and =u, and did not properly diagnose some invalid
strings like g+gr, ug,+x, and +1. These bugs have been fixed.
csplit could produce corrupt output, given input lines longer than 8KB
dd now computes statistics using a realtime clock (if available)
rather than the time-of-day clock, to avoid glitches if the
time-of-day is changed while dd is running. Also, it avoids
using unsafe code in signal handlers; this fixes some core dumps.
expr and test now correctly compare integers of unlimited magnitude.
expr now detects integer overflow when converting strings to integers,
rather than silently wrapping around.
ls now refuses to generate time stamps containing more than 1000 bytes, to
foil potential denial-of-service attacks on hosts with very large stacks.
"mkdir -m =+x dir" no longer ignores the umask when evaluating "+x",
and similarly for mkfifo and mknod.
"mkdir -p /tmp/a/b dir" no longer attempts to create the `.'-relative
directory, dir (in /tmp/a), when, after creating /tmp/a/b, it is unable
to return to its initial working directory. Similarly for "install -D
file /tmp/a/b/file".
"pr -D FORMAT" now accepts the same formats that "date +FORMAT" does.
stat now exits nonzero if a file operand does not exist
** Improved robustness
Date no longer needs to allocate virtual memory to do its job,
so it can no longer fail due to an out-of-memory condition,
no matter how large the result.
** Improved portability
hostid now prints exactly 8 hexadecimal digits, possibly with leading zeros,
and without any spurious leading "fff..." on 64-bit hosts.
nice now works on Darwin 7.7.0 in spite of its invalid definition of NZERO.
`rm -r' can remove all entries in a directory even when it is on a
file system for which readdir is buggy and that was not checked by
coreutils' old configure-time run-test.
sleep no longer fails when resumed after being suspended on linux-2.6.8.1,
in spite of that kernel's buggy nanosleep implementation.
** New features
chmod -w now complains if its behavior differs from what chmod a-w
would do, and similarly for chmod -r, chmod -x, etc.
cp and mv: the --reply=X option is deprecated
date accepts the new option --rfc-3339=TIMESPEC. The old --iso-8602 (-I)
option is deprecated; it still works, but new applications should avoid it.
date, du, ls, and pr's time formats now support new %:z, %::z, %:::z
specifiers for numeric time zone offsets like -07:00, -07:00:00, and -07.
dd has new iflag= and oflag= flags "binary" and "text", which have an
effect only on nonstandard platforms that distinguish text from binary I/O.
dircolors now supports SETUID, SETGID, STICKY_OTHER_WRITABLE,
OTHER_WRITABLE, and STICKY, with ls providing default colors for these
categories if not specified by dircolors.
du accepts new options: --time[=TYPE] and --time-style=STYLE
join now supports a NUL field separator, e.g., "join -t '\0'".
join now detects and reports incompatible options, e.g., "join -t x -t y",
ls no longer outputs an extra space between the mode and the link count
when none of the listed files has an ACL.
md5sum --check now accepts multiple input files, and similarly for sha1sum.
If stdin is a terminal, nohup now redirects it from /dev/null to
prevent the command from tying up an OpenSSH session after you logout.
"rm -FOO" now suggests "rm ./-FOO" if the file "-FOO" exists and
"-FOO" is not a valid option.
stat -f -c %S outputs the fundamental block size (used for block counts).
stat -f's default output format has been changed to output this size as well.
stat -f recognizes file systems of type XFS and JFS
"touch -" now touches standard output, not a file named "-".
uname -a no longer generates the -p and -i outputs if they are unknown.
* Major changes in release 5.3.0 (2005-01-08) [unstable]
** Bug fixes
Several fixes to chgrp and chown for compatibility with POSIX and BSD:
Do not affect symbolic links by default.
Now, operate on whatever a symbolic link points to, instead.
To get the old behavior, use --no-dereference (-h).
--dereference now works, even when the specified owner
and/or group match those of an affected symlink.
Check for incompatible options. When -R and --dereference are
both used, then either -H or -L must also be used. When -R and -h
are both used, then -P must be in effect.
-H, -L, and -P have no effect unless -R is also specified.
If -P and -R are both specified, -h is assumed.
Do not optimize away the chown() system call when the file's owner
and group already have the desired value. This optimization was
incorrect, as it failed to update the last-changed time and reset
special permission bits, as POSIX requires.
"chown : file", "chown '' file", and "chgrp '' file" now succeed
without changing the uid or gid, instead of reporting an error.
Do not report an error if the owner or group of a
recursively-encountered symbolic link cannot be updated because
the file system does not support it.
chmod now accepts multiple mode-like options, e.g., "chmod -r -w f".
chown is no longer subject to a race condition vulnerability, when
used with --from=O:G and without the (-h) --no-dereference option.
cut's --output-delimiter=D option works with abutting byte ranges.
dircolors's documentation now recommends that shell scripts eval
"`dircolors`" rather than `dircolors`, to avoid shell expansion pitfalls.
du no longer segfaults when a subdirectory of an operand
directory is removed while du is traversing that subdirectory.
Since the bug was in the underlying fts.c module, it also affected
chown, chmod, and chgrp.
du's --exclude-from=FILE and --exclude=P options now compare patterns
against the entire name of each file, rather than against just the
final component.
echo now conforms to POSIX better. It supports the \0ooo syntax for
octal escapes, and \c now terminates printing immediately. If
POSIXLY_CORRECT is set and the first argument is not "-n", echo now
outputs all option-like arguments instead of treating them as options.
expand and unexpand now conform to POSIX better. They check for
blanks (which can include characters other than space and tab in
non-POSIX locales) instead of spaces and tabs. Unexpand now
preserves some blanks instead of converting them to tabs or spaces.
"ln x d/" now reports an error if d/x is a directory and x a file,
instead of incorrectly creating a link to d/x/x.
ls no longer segfaults on systems for which SIZE_MAX != (size_t) -1.
md5sum and sha1sum now report an error when given so many input
lines that their line counter overflows, instead of silently
reporting incorrect results.
Fixes for "nice":
If it fails to lower the niceness due to lack of permissions,
it goes ahead and runs the command anyway, as POSIX requires.
It no longer incorrectly reports an error if the current niceness
happens to be -1.
It no longer assumes that nicenesses range from -20 through 19.
It now consistently adjusts out-of-range nicenesses to the
closest values in range; formerly it sometimes reported an error.
pathchk no longer accepts trailing options, e.g., "pathchk -p foo -b"
now treats -b as a file name to check, not as an invalid option.
`pr --columns=N' was not equivalent to `pr -N' when also using
either -s or -w.
pr now supports page numbers up to 2**64 on most hosts, and it
detects page number overflow instead of silently wrapping around.
pr now accepts file names that begin with "+" so long as the rest of
the file name does not look like a page range.
printf has several changes:
It now uses 'intmax_t' (not 'long int') to format integers, so it
can now format 64-bit integers on most modern hosts.
On modern hosts it now supports the C99-inspired %a, %A, %F conversion
specs, the "'" and "0" flags, and the ll, j, t, and z length modifiers
(this is compatible with recent Bash versions).
The printf command now rejects invalid conversion specifications
like %#d, instead of relying on undefined behavior in the underlying
printf function.
ptx now diagnoses invalid values for its --width=N (-w)
and --gap-size=N (-g) options.
mv (when moving between partitions) no longer fails when
operating on too many command-line-specified nonempty directories.
rm (without -f) no longer hangs when attempting to remove a symlink
to a file on an off-line NFS-mounted partition.
rm no longer gets a failed assertion under some unusual conditions.
rm no longer requires read access to the current directory.
"rm -r" would mistakenly fail to remove files under a directory
for some types of errors (e.g., read-only file system, I/O error)
when first encountering the directory.
"sort" fixes:
"sort -o -" now writes to a file named "-" instead of to standard
output; POSIX requires this.
An unlikely race condition has been fixed where "sort" could have
mistakenly removed a temporary file belonging to some other process.
"sort" no longer has O(N**2) behavior when it creates many temporary files.
tac can now handle regular, nonseekable files like Linux's
/proc/modules. Before, it would produce no output for such a file.
tac would exit immediately upon I/O or temp-file creation failure.
Now it continues on, processing any remaining command line arguments.
"tail -f" no longer mishandles pipes and fifos. With no operands,
tail now ignores -f if standard input is a pipe, as POSIX requires.
When conforming to POSIX 1003.2-1992, tail now supports the SUSv2 b
modifier (e.g., "tail -10b file") and it handles some obscure cases
more correctly, e.g., "tail +cl" now reads the file "+cl" rather
than reporting an error, "tail -c file" no longer reports an error,
and "tail - file" no longer reads standard input.
tee now exits when it gets a SIGPIPE signal, as POSIX requires.
To get tee's old behavior, use the shell command "(trap '' PIPE; tee)".
Also, "tee -" now writes to standard output instead of to a file named "-".
"touch -- MMDDhhmm[yy] file" is now equivalent to
"touch MMDDhhmm[yy] file" even when conforming to pre-2001 POSIX.
tr no longer mishandles a second operand with leading "-".
who now prints user names in full instead of truncating them after 8 bytes.
The following commands now reject unknown options instead of
accepting them as operands, so that users are properly warned that
options may be added later. Formerly they accepted unknown options
as operands; e.g., "basename -a a" acted like "basename -- -a a".
basename dirname factor hostname link nohup sync unlink yes
** New features
For efficiency, `sort -m' no longer copies input to a temporary file
merely because the input happens to come from a pipe. As a result,
some relatively-contrived examples like `cat F | sort -m -o F - G'
are no longer safe, as `sort' might start writing F before `cat' is
done reading it. This problem cannot occur unless `-m' is used.
When outside the default POSIX locale, the 'who' and 'pinky'
commands now output time stamps like "2004-06-21 13:09" instead of
the traditional "Jun 21 13:09".
pwd now works even when run from a working directory whose name
is longer than PATH_MAX.
cp, install, ln, and mv have a new --no-target-directory (-T) option,
and -t is now a short name for their --target-directory option.
cp -pu and mv -u (when copying) now don't bother to update the
destination if the resulting time stamp would be no newer than the
preexisting time stamp. This saves work in the common case when
copying or moving multiple times to the same destination in a file
system with a coarse time stamp resolution.
cut accepts a new option, --complement, to complement the set of
selected bytes, characters, or fields.
dd now also prints the number of bytes transferred, the time, and the
transfer rate. The new "status=noxfer" operand suppresses this change.
dd has new conversions for the conv= option:
nocreat do not create the output file
excl fail if the output file already exists
fdatasync physically write output file data before finishing
fsync likewise, but also write metadata
dd has new iflag= and oflag= options with the following flags:
append append mode (makes sense for output file only)
direct use direct I/O for data
dsync use synchronized I/O for data
sync likewise, but also for metadata
nonblock use non-blocking I/O
nofollow do not follow symlinks
noctty do not assign controlling terminal from file
stty now provides support (iutf8) for setting UTF-8 input mode.
With stat, a specified format is no longer automatically newline terminated.
If you want a newline at the end of your output, append `\n' to the format
string.
'df', 'du', and 'ls' now take the default block size from the
BLOCKSIZE environment variable if the BLOCK_SIZE, DF_BLOCK_SIZE,
DU_BLOCK_SIZE, and LS_BLOCK_SIZE environment variables are not set.
Unlike the other variables, though, BLOCKSIZE does not affect
values like 'ls -l' sizes that are normally displayed as bytes.
This new behavior is for compatibility with BSD.
du accepts a new option --files0-from=FILE, where FILE contains a
list of NUL-terminated file names.
Date syntax as used by date -d, date -f, and touch -d has been
changed as follows:
Dates like `January 32' with out-of-range components are now rejected.
Dates can have fractional time stamps like 2004-02-27 14:19:13.489392193.
Dates can be entered via integer counts of seconds since 1970 when
prefixed by `@'. For example, `@321' represents 1970-01-01 00:05:21 UTC.
Time zone corrections can now separate hours and minutes with a colon,
and can follow standard abbreviations like "UTC". For example,
"UTC +0530" and "+05:30" are supported, and are both equivalent to "+0530".
Date values can now have leading TZ="..." assignments that override
the environment only while that date is being processed. For example,
the following shell command converts from Paris to New York time:
TZ="America/New_York" date --date='TZ="Europe/Paris" 2004-10-31 06:30'
`date' has a new option --iso-8601=ns that outputs
nanosecond-resolution time stamps.
echo -e '\xHH' now outputs a byte whose hexadecimal value is HH,
for compatibility with bash.
ls now exits with status 1 on minor problems, 2 if serious trouble.
ls has a new --hide=PATTERN option that behaves like
--ignore=PATTERN, except that it is overridden by -a or -A.
This can be useful for aliases, e.g., if lh is an alias for
"ls --hide='*~'", then "lh -A" lists the file "README~".
In the following cases POSIX allows the default GNU behavior,
so when POSIXLY_CORRECT is set:
false, printf, true, unlink, and yes all support --help and --option.
ls supports TABSIZE.
pr no longer depends on LC_TIME for the date format in non-POSIX locales.
printf supports \u, \U, \x.
tail supports two or more files when using the obsolete option syntax.
The usual `--' operand is now supported by chroot, hostid, hostname,
pwd, sync, and yes.
`od' now conforms to POSIX better, and is more compatible with BSD:
The older syntax "od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]" now works
even without --traditional. This is a change in behavior if there
are one or two operands and the last one begins with +, or if
there are two operands and the latter one begins with a digit.
For example, "od foo 10" and "od +10" now treat the last operand as
an offset, not as a file name.
-h is no longer documented, and may be withdrawn in future versions.
Use -x or -t x2 instead.
-i is now equivalent to -t dI (not -t d2), and
-l is now equivalent to -t dL (not -t d4).
-s is now equivalent to -t d2. The old "-s[NUM]" or "-s NUM"
option has been renamed to "-S NUM".
The default output format is now -t oS, not -t o2, i.e., short int
rather than two-byte int. This makes a difference only on hosts like
Cray systems where the C short int type requires more than two bytes.
The stat option --filesystem has been renamed to --file-system, for
consistency with POSIX "file system" and with cp and du --one-file-system.
** Removed features
md5sum and sha1sum's undocumented --string option has been removed.
tail's undocumented --max-consecutive-size-changes option has been removed.
* Major changes in release 5.2.1 (2004-03-12) [stable]
** Bug fixes
mv could mistakenly fail to preserve hard links when moving two
or more arguments between partitions.
`cp --sparse=always F /dev/hdx' no longer tries to use lseek to create
holes in the destination.
nohup now sets the close-on-exec flag for its copy of the stderr file
descriptor. This avoids some nohup-induced hangs. For example, before
this change, if you ran `ssh localhost', then `nohup sleep 600 </dev/null &',
and then exited that remote shell, the ssh session would hang until the
10-minute sleep terminated. With the fixed nohup, the ssh session
terminates immediately.
`expr' now conforms to POSIX better:
Integers like -0 and 00 are now treated as zero.
The `|' operator now returns 0, not its first argument, if both
arguments are null or zero. E.g., `expr "" \| ""' now returns 0,
not the empty string.
The `|' and `&' operators now use short-circuit evaluation, e.g.,
`expr 1 \| 1 / 0' no longer reports a division by zero.
** New features
`chown user.group file' now has its traditional meaning even when
conforming to POSIX 1003.1-2001, so long as no user has a name
containing `.' that happens to equal `user.group'.
* Major changes in release 5.2.0 (2004-02-19) [stable]
** Bug fixes
none
* Major changes in release 5.1.3 (2004-02-08): candidate to become stable 5.2.0
** Bug fixes
`cp -d' now works as required even on systems like OSF V5.1 that
declare stat and lstat as `static inline' functions.
time stamps output by stat now include actual fractional seconds,
when available -- or .0000000 for files without that information.
seq no longer infloops when printing 2^31 or more numbers.
For reference, seq `echo 2^31|bc` > /dev/null takes about one hour
on a 1.6 GHz Athlon 2000 XP. Now it can output 2^53-1 numbers before
misbehaving.
* Major changes in release 5.1.2 (2004-01-25):
** Bug fixes
rmdir -p exits with status 1 on error; formerly it sometimes exited
with status 0 when given more than one argument.
nohup now always exits with status 127 when it finds an error,
as POSIX requires; formerly it sometimes exited with status 1.
Several programs (including cut, date, dd, env, hostname, nl, pr,
stty, and tr) now always exit with status 1 when they find an error;
formerly they sometimes exited with status 2.
factor no longer reports a usage error if stdin has the wrong format.
paste no longer infloops on ppc systems (bug introduced in 5.1.1)
* Major changes in release 5.1.1 (2004-01-17):
** Configuration option
You can select the default level of POSIX conformance at configure-time,
e.g., by ./configure DEFAULT_POSIX2_VERSION=199209
** Bug fixes
fold -s works once again on systems with differing sizes for int
and size_t (bug introduced in 5.1.0)
** New features
touch -r now specifies the origin for any relative times in the -d
operand, if both options are given. For example, "touch -r FOO -d
'-5 seconds' BAR" sets BAR's modification time to be five seconds
before FOO's.
join: The obsolete options "-j1 FIELD", "-j2 FIELD", and
"-o LIST1 LIST2..." are no longer supported on POSIX 1003.1-2001 systems.
Portable scripts should use "-1 FIELD", "-2 FIELD", and
"-o LIST1,LIST2..." respectively. If join was compiled on a
POSIX 1003.1-2001 system, you may enable the old behavior
by setting _POSIX2_VERSION=199209 in your environment.
[This change was reverted in coreutils 5.3.1.]
* Major changes in release 5.1.0 (2003-12-21):
** New features
chgrp, chmod, and chown can now process (with -R) hierarchies of virtually
unlimited depth. Before, they would fail to operate on any file they
encountered with a relative name of length PATH_MAX (often 4096) or longer.
chgrp, chmod, chown, and rm accept the new options:
--preserve-root, --no-preserve-root (default)
chgrp and chown now accept POSIX-mandated -L, -H, and -P options
du can now process hierarchies of virtually unlimited depth.
Before, du was limited by the user's stack size and it would get a
stack overflow error (often a segmentation fault) when applied to
a hierarchy of depth around 30,000 or larger.
du works even when run from an inaccessible directory
du -D now dereferences all symlinks specified on the command line,
not just the ones that reference directories
du now accepts -P (--no-dereference), for compatibility with du
of NetBSD and for consistency with e.g., chown and chgrp
du's -H option will soon have the meaning required by POSIX
(--dereference-args, aka -D) rather then the current meaning of --si.
Now, using -H elicits a warning to that effect.
When given -l and similar options, ls now adjusts the output column
widths to fit the data, so that output lines are shorter and have
columns that line up better. This may adversely affect shell
scripts that expect fixed-width columns, but such shell scripts were
not portable anyway, even with old GNU ls where the columns became
ragged when a datum was too wide.
du accepts a new option, -0/--null, to make it produce NUL-terminated
output lines
** Bug fixes
printf, seq, tail, and sleep now parse floating-point operands
and options in the C locale. POSIX requires this for printf.
od -c -w9999999 no longer segfaults
csplit no longer reads from freed memory (dumping core on some systems)
csplit would mistakenly exhaust virtual memory in some cases
ls --width=N (for very large N) is no longer subject to an address
arithmetic bug that could result in bounds violations.
ls --width=N (with -x or -C) no longer allocates more space
(potentially much more) than necessary for a given directory.
dd `unblock' and `sync' may now be combined (e.g., dd conv=unblock,sync)
* Major changes in release 5.0.91 (2003-09-08):
** New features
date accepts a new option --rfc-2822, an alias for --rfc-822.
split accepts a new option -d or --numeric-suffixes.
cp, install, mv, and touch now preserve microsecond resolution on
file timestamps, on platforms that have the 'utimes' system call.
Unfortunately there is no system call yet to preserve file
timestamps to their full nanosecond resolution; microsecond
resolution is the best we can do right now.
sort now supports the zero byte (NUL) as a field separator; use -t '\0'.
The -t '' option, which formerly had no effect, is now an error.
sort option order no longer matters for the options -S, -d, -i, -o, and -t.
Stronger options override weaker, and incompatible options are diagnosed.
`sha1sum --check' now accepts the BSD format for SHA1 message digests
in addition to the BSD format for MD5 ones.
who -l now means `who --login', not `who --lookup', per POSIX.
who's -l option has been eliciting an unconditional warning about
this impending change since sh-utils-2.0.12 (April 2002).
** Bug fixes
Mistakenly renaming a file onto itself, e.g., via `mv B b' when `B' is
the same directory entry as `b' no longer destroys the directory entry
referenced by both `b' and `B'. Note that this would happen only on
file systems like VFAT where two different names may refer to the same
directory entry, usually due to lower->upper case mapping of file names.
Now, the above can happen only on file systems that perform name mapping and
that support hard links (stat.st_nlink > 1). This mitigates the problem
in two ways: few file systems appear to be affected (hpfs and ntfs are),
when the bug is triggered, mv no longer removes the last hard link to a file.
*** ATTENTION ***: if you know how to distinguish the following two cases
without writing to the file system in question, please let me know:
1) B and b refer to the same directory entry on a file system like NTFS
(B may well have a link count larger than 1)
2) B and b are hard links to the same file
stat no longer overruns a buffer for format strings ending in `%'
fold -s -wN would infloop for N < 8 with TABs in the input.
E.g., this would not terminate: printf 'a\t' | fold -w2 -s
`split -a0', although of questionable utility, is accepted once again.
`df DIR' used to hang under some conditions on OSF/1 5.1. Now it doesn't.
seq's --width (-w) option now works properly even when the endpoint
requiring the larger width is negative and smaller than the other endpoint.
seq's default step is 1, even if LAST < FIRST.
paste no longer mistakenly outputs 0xFF bytes for a nonempty input file
without a trailing newline.
`tail -n0 -f FILE' and `tail -c0 -f FILE' no longer perform what amounted
to a busy wait, rather than sleeping between iterations.
tail's long-undocumented --allow-missing option now elicits a warning
* Major changes in release 5.0.90 (2003-07-29):
** New features
sort is now up to 30% more CPU-efficient in some cases
`test' is now more compatible with Bash and POSIX:
`test -t', `test --help', and `test --version' now silently exit
with status 0. To test whether standard output is a terminal, use
`test -t 1'. To get help and version info for `test', use
`[ --help' and `[ --version'.
`test' now exits with status 2 (not 1) if there is an error.
wc count field widths now are heuristically adjusted depending on the input
size, if known. If only one count is printed, it is guaranteed to
be printed without leading spaces.
Previously, wc did not align the count fields if POSIXLY_CORRECT was set,
but POSIX did not actually require this undesirable behavior, so it
has been removed.
** Bug fixes
kill no longer tries to operate on argv[0] (introduced in 5.0.1)
Why wasn't this noticed? Although many tests use kill, none of
them made an effort to avoid using the shell's built-in kill.
`[' invoked with no arguments no longer evokes a segfault
rm without --recursive (aka -r or -R) no longer prompts regarding
unwritable directories, as required by POSIX.
uniq -c now uses a SPACE, not a TAB between the count and the
corresponding line, as required by POSIX.
expr now exits with status 2 if the expression is syntactically valid,
and with status 3 if an error occurred. POSIX requires this.
expr now reports trouble if string comparison fails due to a collation error.
split now generates suffixes properly on EBCDIC hosts.
split -a0 now works, as POSIX requires.
`sort --version' and `sort --help' fail, as they should
when their output is redirected to /dev/full.
`su --version > /dev/full' now fails, as it should.
** Fewer arbitrary limitations
cut requires 97% less memory when very large field numbers or
byte offsets are specified.
* Major changes in release 5.0.1 (2003-07-15):
** New programs
- new program: `[' (much like `test')
@@ -65,7 +918,7 @@ GNU coreutils NEWS -*- outline -*-
Before `rm -rf DIR' would fail to remove all files in DIR
if there were more than 338.
* Major changes in release 5.0:
* Major changes in release 5.0 (2003-04-02):
- false --help now exits nonzero
[4.5.12]
@@ -362,10 +1215,10 @@ point at which the packages merged to form the coreutils:
--process (-p), --runlevel (-r), --short (-s), --time (-t), --users (-u).
The -u option now produces POSIX-specified results and is the same as
the long option `--users'. --idle is no longer the same as -u.
* The following changes apply on systems conforming to POSIX 1003.1-2001,
and are required by the new POSIX standard:
* The following changes apply on systems conforming to POSIX 1003.1-2001:
- `date -I' is no longer supported. Instead, use `date --iso-8601'.
- `nice -NUM' is no longer supported. Instead, use `nice -n NUM'.
[This change was reverted in coreutils 5.3.1.]
* New 'uname' options -i or --hardware-platform, and -o or --operating-system.
'uname -a' now outputs -i and -o information at the end.
New uname option --kernel-version is an alias for -v.

82
README
View File

@@ -19,8 +19,13 @@ See the file NEWS for a list of major changes in the current release.
See the file INSTALL for compilation and installation instructions.
These programs are intended to be POSIX.2 compliant (with BSD and other
extensions), like the rest of the GNU system.
These programs are intended to conform to POSIX (with BSD and other
extensions), like the rest of the GNU system. By default they conform
to older POSIX (1003.2-1992), and therefore support obsolete usages
like "head -10" and "chown owner.group file". This default is
overridden at build-time by the value of <unistd.h>'s _POSIX2_VERSION
macro, and this in turn can be overridden at runtime as described in
the documentation under "Standards conformance".
The ls, dir, and vdir commands are all separate executables instead of
one program that checks argv[0] because people often rename these
@@ -29,18 +34,18 @@ file shouldn't affect how it operates, so that people can get the
behavior they want with whatever name they want.
Special thanks to Paul Eggert, Brian Matthews, Bruce Evans, Karl Berry,
Kaveh Ghazi, and François Pinard for help with debugging and porting
Kaveh Ghazi, and François Pinard for help with debugging and porting
these programs. Many thanks to all of the people who have taken the
time to submit problem reports and fixes. All contributed changes are
attributed in the ChangeLog file.
attributed in the ChangeLog files.
And thanks to the following people who have provided accounts for
portability testing on many different types of systems: Bob Proulx,
Christian Robert, François Pinard, Greg McGary, Harlan Stenn,
Christian Robert, François Pinard, Greg McGary, Harlan Stenn,
Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe,
Réjean Payette, Sam Tardieu.
Réjean Payette, Sam Tardieu.
Thanks to Michael Stone for inflicting test releases of the fileutils
Thanks to Michael Stone for inflicting test releases of this package
on Debian's unstable distribution, and to all the kind folks who used
that distribution and found and reported bugs.
@@ -53,19 +58,20 @@ If you run the tests on a SunOS4.1.4 system, expect the ctime-part of
the ls `time-1' test to fail. I believe that is due to a bug in the
way Sun implemented link(2) and chmod(2).
***************************************
Last-minute notes, before coreutils-5.0
---------------------------------------
***********************
HPUX 11.x build failure
-----------------------
A known problem exists when compiling on HPUX on both hppa and ia64
in 64-bit mode (i.e. +DD64) on all known HPUX 11.x versions. This
in 64-bit mode (i.e. +DD64) on HP-UX 11.0, 11.11, and 11.23. This
is not due to a bug in the package but instead due to a bug in the
system header file which breaks things in 64-bit mode. The default
compilation mode is 32-bit and the software compiles fine using the
default mode. To build this software in 64-bit mode you will need
to fix the system /usr/include/inttypes.h header file. After
correcting that file the software also compiles fine in 64-bit mode.
Here is one possible patch to correct the problem.
Here is one possible patch to correct the problem:
--- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996
+++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003
@@ -73,10 +79,48 @@ Here is one possible patch to correct the problem.
-#ifndef __STDC_32_MODE__
+#ifndef __LP64__
On some systems, some of the tests fail when run as root. All failures
I've seen appear to be due to problems in the testing framework, not
in the tools themselves. I'll address that for the next release by
using a program like setuidgid (see the comment in TODO).
**********************
Running tests as root:
----------------------
If you run the tests as root, note that a few of them create files
and/or run programs as a non-root user, `nobody' by default.
If you want to use some other non-root username, specify it via
the NON_ROOT_USERNAME environment variable. Depending on the
permissions with which the working directories have been created,
using `nobody' may fail, because that user won't have the required
read and write access to the build and test directories.
I find that it is best to unpack and build as a non-privileged
user, and then to run the following command as that user in order
to run the privilege-requiring tests:
sudo env NON_ROOT_USERNAME=$USER make -k check
If you can run the tests as root, please do so and report any
problems. We get much less test coverage in that mode, and it's
arguably more important that these tools work well when run by
root than when run by less privileged users.
***************
Reporting bugs:
---------------
IMPORTANT: if you take the time to report a test failure,
please be sure to include the output of running `make check'
in verbose mode for each each failing test. For example,
if the test that fails is tests/mv/hard-link-1, then you
would run this command:
env VERBOSE=yes make check -C tests/mv TESTS=hard-link-1 >> log 2>&1
For some tests, you can get even more detail by including
DEBUG=yes in the environment:
env DEBUG=yes VERBOSE=yes make check -C tests/mv TESTS=hard-link-1 >> log 2>&1
and then include the contents of the file `log' in your bug report.
***************************************
@@ -117,9 +161,9 @@ use the versions of
Usually it's fine to use versions that are newer than those specified.
These programs all recognize the `--version' option. When reporting
bugs, please include in the subject line both the package name/version
and the name of the program for which you found a problem.
All of these programs except `test' recognize the `--version' option.
When reporting bugs, please include in the subject line both the package
name/version and the name of the program for which you found a problem.
For general documentation on the coding and usage standards
this distribution follows, see the GNU Coding Standards,

View File

@@ -1,22 +1,25 @@
#! /bin/bash
# Fix valgrind script to exec "$@", not some var.
# Fix valgrind sources to know about syscall 252, for exit_group
# Convert Makefile.am files:
# find tests -name Makefile.am \
# | xargs grep -wl PATH|xargs perl -pi -e 's,src:\$\$PATH,src/vg:\$\$PATH,'
# find tests -name Makefile.am | xargs grep -wl PATH|xargs perl -pi -e \
# 's,src(\$\(PATH_SEPARATOR\)\$\$PATH),src/vg$1,'
# To restore:
# find tests -name Makefile.am|xargs grep -wl PATH|xargs perl -pi -e 's,src/vg,src,'
#
# Create this symlink for suppressions (this is no longer necessary,
# with linux-2.6.9 and valgrind-2.2.0):
# ln -s $PWD/.vg-suppressions /tmp/cu-vg
# Create src/vg:
coreutils=$(echo 'spy:;@echo $(all_programs)' | (cd src; make -f Makefile -f - spy | tr -s '\n ' ' '))
mkdir src/vg
mkdir -p src/vg
pwd=`pwd`
up=`dirname $pwd`
path='export PATH='$up':${PATH#*:}'
srcdir=$pwd/src
path='export PATH='$srcdir':${PATH#*:}'
pre='#!/bin/sh\n'"$path"'\n'
n=9
vg='exec /p/bin/valgrind --quiet --num-callers='$n
n=15
vg='exec /usr/bin/valgrind --suppressions=/tmp/cu-vg --log-fd=3 --leak-check=yes --track-fds=yes --quiet --num-callers='$n
cat <<EOF > src/vg/gen
for i in $coreutils; do
printf "$pre$vg \$i"' "\$@"\n' > \$i

96
THANKS
View File

@@ -3,11 +3,14 @@ textutils, and/or sh-utils packages). Some have reported problems, others
have contributed improvements to the documentation, actual code, and even
complete programs. Those contributions are described in the ChangeLog
files. If your name has been left out, if you'd rather not be listed,
or if you'd prefer a different address be used, please let me know.
or if you'd prefer a different address be used, please send a note to
the bug-report mailing list (as seen on last line of e.g., cp --help).
??? kytek@cybercomm.net
A Costa agcosta@gis.net
Achim Blumensath blume@corona.oche.de
Adam Klein aklein@debian.org
Adrian Bunk bunk@stusta.de
Akim Demaille demaille@inf.enst.fr
Alain Magloire alain@qnx.com
Alan Iwi iwi@atm.ox.ac.uk
@@ -31,11 +34,13 @@ Andrei Gaponenko andr@triumf.ca
Andres Soolo andres@soolo.matti.ee
Andrew Burgess aab@cichlid.com
Andrew Dalke dalke@bioreason.com
Andrew Fabbro andrew@fabbro.org
Andrew Pham andpha@us.ibm.com
Andrew Tridgell tridge@samba.org
Andrey Borzenkov arvidjaar@mail.ru
Andries Brouwer Andries.Brouwer@cwi.nl
Andy Longton alongton@metamark.com
Anthony Thyssen anthony@griffith.edu.au
Antonio Rendas ajrendas@yahoo.com
Ariel Faigon ariel@cthulhu.engr.sgi.com
Arne H. Juul arnej@solan.unit.no
@@ -43,14 +48,17 @@ Arne Henrik Juul arnej@imf.unit.no
Arnold Robbins arnold@skeeve.com
Arthur Pool pool@commerce.uq.edu.au
Arun Sharma arun.sharma@intel.com
Arvind Autar Autar022@planet.nl
Augey Mikus mikus@dqc.org
Austin Donnelly Austin.Donnelly@cl.cam.ac.uk
Axel Kittenberger Anshil@gmx.net
Bauke Jan Douma bjdouma@xs4all.nl
Ben Elliston bje@air.net.au
Ben Harris bjh21@netbsd.org
Benjamin Cutler cutlerbc@simla.colostate.edu
Bengt Martensson bengt@mathematik.uni-Bremen.de
Bernard Giroud bernard.giroud@creditlyonnais.ch
Bernd Eckenfels ecki@debian.org
Bernd Leibing bernd.leibing@rz.uni-ulm.de
Bernd Melchers melchers@cis.fu-berlin.de
Bernhard Baehr bernhard.baehr@gmx.de
@@ -66,6 +74,7 @@ Brendan O'Dea bod@compusol.com.au
Brian Kimball bfk@footbag.org
Brian Youmans 3diff@gnu.org
Bruce Korb bkorb@veritas.com
Bruce Robertson brucer@theodolite.dyndns.org
Bruno Haible haible@clisp.cons.org
Carl Johnson carlj@cjlinux.home.org
Carl Lowenstein cdl@mpl.UCSD.EDU
@@ -85,24 +94,31 @@ Christian Rose menthos@menthos.com
Christian von Roques roques@pond.sub.org
Chuck Hedrick hedrick@klinzhai.rutgers.edu
Clark Morgan cmorgan@aracnet.com
Clement Wang clem.wang@overture.com
Colin Plumb colin@nyx.net
Colin Watson cjw44@riva.ucam.org
Collin Rogowski collin@rogowski.de
Cray-Cyber Project http://www.cray-cyber.org
Cyril Bouthors cyril@bouthors.org
Dale Scheetz dwarf@polaris.net
Dan Hagerty hag@gnu.ai.it.edu
Dan Jacobson http://www.geocities.com/jidani
Dan Pascu dan@services.iiruc.ro
Daniel Bergstrom noa@melody.se
Dániel Varga danielv@axelero.hu
Danny Levinson danny.levinson@overture.com
Darren Salt ds@youmustbejoking.demon.co.uk
Dave Beckett dajobe@dajobe.org
David Alan Gilbert gilbertd@treblig.org
David Dyck dcd@tc.fluke.COM
David Eisner cradle@umd.edu
David Flynn dav@chess.plus.com
David Godfrey dave@delta.demon.co.uk
David Luyer david_luyer@pacific.net.au
David Malone dwmalone@cnri.dit.ie
Deepak Goel deego@gnufans.org
Dennis Henriksen opus@flamingo.osrl.dk
Dennis Smit ds@nerds-incorporated.org
Derek Clegg dclegg@next.com
Dick Streefland dick_streefland@tasking.com
Dirk Lattermann dlatt@t-online.de
@@ -116,12 +132,14 @@ Doug McLaren dougmc@comco.com
Dragos Harabor dharabor@us.oracle.com
Duncan Roe duncanr@optimation.com.au
Ed Avis ed@membled.com
Edward Welbourne eddy@opera.com
Edzer Pebesma Edzer.Pebesma@rivm.nl
Eirik Fuller eirik@hackrat.com
Eivind eivindt@multinet.no
Eli Zaretskii eliz@is.elta.co.il
Emile LeBlanc leblanc@math.toronto.edu
Eric Backus ericb@lsid.hp.com
Eric Blake ebb9@byu.net
Eric G. Miller egm2@jps.net
Eric Pemente pemente@northpark.edu
Eric S. Raymond esr@snark.thyrsus.com
@@ -131,23 +149,26 @@ Felix Lee flee@teleport.com
Ferdinand fw@scenic.mine.nu
Fletcher Mattox fletcher@cs.utexas.edu
Florin Iucha fiucha@hsys.mic.ro
François Pinard pinard@iro.umontreal.ca
François Pinard pinard@iro.umontreal.ca
Frank Adler fadler@allesklar.de
Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU
Fred Fish fnf@ninemoons.com
Frédéric L. W. Meunier 0@pervalidus.net
Frédéric L. W. Meunier 0@pervalidus.net
Frederik Eaton frederik@caltech.edu
Gabor Z. Papp gzp@gzp.org.hu
Gaël Quéri gqueri@mail.dotcom.fr
Gaël Quéri gqueri@mail.dotcom.fr
Galen Hazelwood galenh@micron.net
Gary Anderson ganderson@clark.net
Gary V. Vaughan gary@gnu.org
Gaute Hvoslef Kvalnes gaute@verdsveven.com
Geoff Collyer geoff at collyer.net
Geoff Kuenning geoff@cs.hmc.edu
Geoff Odhner geoff@franklin.com
Geoff Whale geoffw@cse.unsw.EDU.AU
Gerhard Poul gpoul@gnu.org
Germano Leichsenring germano@jedi.cs.kobe-u.ac.jp
Göran Uddeborg goeran@uddeborg.pp.se
Göran Uddeborg goeran@uddeborg.pp.se
Guochun Shi gshi@ncsa.uiuc.edu
GOTO Masanori gotom@debian.or.jp
Greg Louis glouis@dynamicro.on.ca
Greg McGary gkm@gnu.org
@@ -155,11 +176,15 @@ Greg Schafer gschafer@zip.com.au
Greg Troxel gdt@bbn.com
Greg Wooledge gawooledge@sherwin.com
Gregory Leblanc gleblanc@cu-portland.edu
Guido Leenders guido.leenders@invantive.com
H. J. Lu hjl@valinux.com
Hans Ginzel hans@matfyz.cz
Hans Lermen lermen@fgan.de
Hans Verkuil hans@wyst.hobby.nl
Harald Dunkel harald.dunkel@t-online.de
Harry Liu rliu@lek.ugcs.caltech.edu
Harti Brandt brandt@fokus.fraunhofer.de
Helen Faulkner helen_ml_faulkner@yahoo.co.uk
Herbert Xu herbert@gondor.apana.org.au
Holger Berger hberger@ess.nec.de
Hon-Yin Kok hkok@yoda.unl.edu
@@ -173,6 +198,7 @@ Ingo Saitz ingo@debian.org
Ivo Timmermans ivo@debian.org
James james@albion.glarp.com
James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk
James Lemley James.Lemley@acxiom.com
James Sneeringer jvs@ocslink.com
James Tanis jtt@soscorp.com
James Youngman james+usenet@free-lunch.demon.co.uk
@@ -183,11 +209,12 @@ Janos Farkas chexum@shadow.banki.hu
Jarkko Hietaniemi jhi@epsilon.hut.fi
Jean Charles Delepine delepine@u-picardie.fr
Jeff Moore jbm@mordor.com
Jeff Sheinberg jeffsh@localnet.com
Jeff Sheinberg jeff@bsrd.net
Jens Elkner elkner@imsgroup.de
Jens Schmidt jms@jsds.hamburg.com
Jerome Abela abela@hsc.fr
Jérôme Zago bug-coreutils-ml@agt-the-walker.net
Jérôme Zago bug-coreutils-ml@agt-the-walker.net
Jesse Kornblum kornblum@usna.edu
Jesse Thilo jgt2@eecs.lehigh.edu
Jie Xu xuj@iag.net
Jim Blandy jimb@cyclic.com
@@ -195,6 +222,7 @@ Jim Dennis jimd@starshine.org
Joakim Rosqvist dvljrt@cs.umu.se
Jochen Hein jochen@jochen.org
Joe Orton joe@manyfish.co.uk
Johan Boule bohan@bohan.dyndns.org
Johan Danielsson joda@pdc.kth.se
John Bley jbb6@acpub.duke.edu
John David Anglin dave.anglin@nrc.ca
@@ -206,16 +234,20 @@ John Murphy jam@philabs.research.philips.com
John Roll john@panic.harvard.edu
John Salmon johns@mullet.anu.edu.au
John Summerfield summer@OS2.ami.com.au
Jon Peatfield J.S.Peatfield@damtp.cam.ac.uk
Joost van Baal joostvb@xs4all.nl
Jorge Stolfi stolfi@ic.unicamp.br
Joseph S. Myers jsm28@cam.ac.uk
Juan F. Codagnone juam@arnet.com.ar
Juan M. Guerrero st001906@hrz1.hrz.tu-darmstadt.de
Jungshik Shin jshin@pantheon.yale.edu
Jürgen Fluk louis@dachau.marco.de
Jürgen Fluk louis@dachau.marco.de
Jurriaan thunder7@xs4all.nl
Justin Pryzby justinpryzby@users.sourceforge.net
jvogel jvogel@linkny.com
Kai Henningsen kai@debian.org
Kai-Uwe Rommel rommel@informatik.tu-muenchen.de
Kalle Olavi Niemitalo tosi@stekt.oulu.fi
Kalle Olavi Niemitalo kon@iki.fi
Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu
Karl Eichwalder keichwa@gmx.net
Karl Heuer kwzh@gnu.org
@@ -226,31 +258,39 @@ Keith M. Briggs keith.briggs@bt.com
Keith Owens kaos@audio.apana.org.au
Keith Thompson kst@cts.com
Ken Pizzini kenp@halcyon.com
Kevin Mudrick kmudrick@healthmarketscience.com
Kristin E Thomas kristint@us.ibm.com
Kjetil Torgrim Homme kjetilho@ifi.uio.no
Kristoffer Rose kris@diku.dk
Larry McVoy lm@sgi.com
Lars Hecking lhecking@nmrc.ucc.ie
Leah Q eequor@earthlink.net
Lehti Rami rammer@cs.tut.fi
Leonard N. Zubkoff lnz@dandelion.com
Leonardo Milano lmilano@udel.edu
Lorne Baker lbaker@nitro.avint.net
Luke Hassell lukehassell@yahoo.com
Luke Kendall lukekendall@optushome.com.au
M. P. Suzuki mpsuzuki@hiroshima-u.ac.jp
Maciej Kwapulinski pikpok@univ.gda.pl
Manas Garg manas@cygsoft.com
Manfred Hollstein manfred@s-direktnet.de
Marc Boucher marc@mbsi.ca
Marc Haber mh+debian-bugs@zugschlus.de
Marc Olzheim marcolz@stack.nl
Marco Franzen Marco.Franzen@Thyron.com
Marcus Brinkmann http://www.marcus-brinkmann.de
Marcus Daniels marcus@ee.pdx.edu
Mark A. Thomas thommark@access.digex.net
Mark Conty Mark_Conty@cargill.com
Mark D. Roth roth@uiuc.edu
Mark Funkenhauser mfunkenhauser@rogers.com
Mark Harris mark@monitor.designacc.com
Mark Hewitt mhewitt@armature.com
Mark Hounschell markh@compro.net
Mark Hubbart discord@mac.com
Mark Kettenis kettenis@phys.uva.nl
Mark Melahn mmelahn@gmail.com
Mark Nudelman marknu@flash.net
Mark W. Eichin eichin@cygnus.com
Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de
@@ -265,8 +305,10 @@ Marty Leisner leisner@sdsp.mc.xerox.com
Masami Takikawa takikawm@CS.ORST.EDU
Mate Wierdl mw@moni.msci.memphis.edu
Matej Vela mvela@public.srce.hr
Matt Kraai kraai@ftbfs.org
Matt Perry matt@primefactor.com
Matt Schalit mschalit@pacbell.net
Matt Swift swift@alum.mit.edu
Matthew Arnison maffew@cat.org.au
Matthew Braun matthew@ans.net
Matthew Clarke Matthew_Clarke@mindlink.bc.ca
@@ -277,13 +319,16 @@ Matthias Urlichs smurf@noris.de
Matti Aarnio matti.aarnio@zmailer.org
Mattias Wadenstein maswan@acc.umu.se
Meelis Roos mroos@tartu.cyber.ee
Michael michael@aplatform.com
Michael ??? michael@roka.net
Michael Bacarella mbac@netgraft.com>
Michael Deutschmann michael@talamasca.ocis.net
Michael Elizabeth Chastain mec.gnu@mindspring.com
Michael Gaughen mgaughen@polyserve.com
Michael Hasselberg mikelh@zonta.ping.de
Michael Hohn hohn@math.utah.edu
Michael J. Croghan mcroghan@usatoday.com
Michael McFarland sidlon@yahoo.com
Michael Piefel piefel@informatik.hu-berlin.de
Michael Steffens michael.steffens@s.netic.de
Michael Stone mstone@debian.org
@@ -291,38 +336,47 @@ Michael Stutz stutz@dsl.org
Michael van Elst mlelstv@dev.de.cw.net
Michael Veksler mveksler@techunix.technion.ac.il
Michail Litvak mci@owl.openwall.com
Michal Politowski mpol@charybda.icm.edu.pl
Michal Svec msvec@suse.cz
Michel Robitaille robitail@IRO.UMontreal.CA
Michiel Bacchiani bacchian@raven.bu.edu
Mike Castle dalgoda@ix.netcom.com
Mike Coleman mkc@mathdogs.com
Mike Jetzer mjetzer@mke.catalystwms.com
Mike Frysinger vapier@gentoo.org
Mikko Tuumanen m@sorvankyla.yok.utu.fi
Mikulas Patocka mikulas@artax.karlin.mff.cuni.cz
Miles Bader miles@gnu.ai.mit.edu
Minh Tran-Le tranle@intellicorp.com
Morten Welinder terra@diku.dk
Neal H Walfield neal@cs.uml.edu
Neil Brown neilb@cse.unsw.edu.au
Nelson H. F. Beebe beebe@math.utah.edu
Nick Estes debian@nickstoys.com
Nick Lawes nlawes@silverplatter.com
Niklas Edmundsson nikke@acc.umu.se
Nikola Milutinovic Nikola.Milutinovic@ev.co.yu
Noah Friedman friedman@splode.com
Noel Cragg noel@red-bean.com
Norbert Kiesel nkiesel@tbdnetworks.com
Olatunji Oluwabukunmi Ruwase tjruwase@stanford.edu
Olav Morkrid olav@funcom.com
Ole Laursen olau@hardworking.dk
Oliver Kiddle okiddle@yahoo.co.uk
Ørn E. Hansen oehansen@daimi.aau.dk
Ørn E. Hansen oehansen@daimi.aau.dk
Oskar Liljeblad osk@hem.passagen.se
Patrick Mauritz oxygene@studentenbude.ath.cx
Paul Eggert eggert@twinsun.com
Paul Jarc prj@po.cwru.edu
Paul Nevai nevai@ops.mps.ohio-state.edu
Paul Sauer paul@alexa.com
Paul Slootman paul@debian.org
Paul Worrall paul@basilisk.uklinux.net
Pawel Prokop pablo@wizard.ae.krakow.pl
Per Cederqvist ceder@lysator.liu.se
Per Kristian Hove perhov@math.ntnu.no
Peter Eriksson peter@ifm.liu.se
Peter Horst peter@ointment.org
Peter Moulder reiter@netspace.net.au
Peter Samuelson psamuels@sampo.creighton.edu
Peter Seebach seebs@taniemarie.solon.com
@@ -339,10 +393,11 @@ Rainer Orth ro@TechFak.Uni-Bielefeld.DE
Ralf W. Stephan stephan@tmt.de
Ralph Loader loader@maths.ox.ac.uk
Raul Miller moth@magenta.com
Raúl Núñez de Arenas Coronado raul@pleyades.net
Raúl Núñez de Arenas Coronado raul@pleyades.net
Reuben Thomas rrt@sc3d.org
Richard A Downing richard.downing@bcs.org.uk
Richard Braakman dark@xs4all.nl
Richard Dawe richdawe@bigfoot.com
Richard Dawe rich@phekda.freeserve.co.uk
Richard J. Rauenzahn rrauenza@hairball.cup.hp.com
Richard Neill rn214@hermes.cam.ac.uk
Richard Sharman rsharman@magmacom.com
@@ -350,10 +405,11 @@ Rick Sladkey jrs@world.std.com
Rik Faith faith@cs.unc.edu
Risto Kankkunen kankkune@lingsoft.fi
Robert H. de Vries robert@and.nl
Robert Lindgren robert@orcafat.com
Robert Millan zeratul2@wanadoo.es
Rogier Wolff R.E.Wolff@BitWizard.nl
Roland Huebner ro-huebner@gmx.de
Roland Turner raz@raz.cx
Roland Turner raz.tah.bet@raz.cx
Ronald F. Guilmette rfg@netcom.com
Ross Alexander r.alexander@auckland.ac.nz
Ross Paterson rap@doc.ic.ac.uk
@@ -365,11 +421,12 @@ Sander van Malssen svm@kozmix.ow.nl
Santiago Vila Doncel sanvila@unex.es
Savochkin Andrey Vladimirovich saw@msu.ru
Scott Lurndal slurn@griffin.engr.sgi.com
Sébastien Maret smaret@umich.edu
Shing-Shong Shei shei@cs.indiana.edu
Soeren Sonnenburg sonnenburg@informatik.hu-berlin.de
Solar Designer solar@owl.openwall.com
Stanislav Ievlev inger@altlinux.ru
Stéphane Chazelas Stephane_CHAZELAS@yahoo.fr
Stéphane Chazelas Stephane_CHAZELAS@yahoo.fr
Stephen Depooter sbdep@myrealbox.com
Stephen Eglen eglen@pcg.wustl.edu
Stephen Gildea gildea@stop.mail-abuse.org
@@ -379,32 +436,43 @@ Steven G. Johnson stevenj@alum.mit.edu
Steven Mocking ufo@quicknet.nl
Steven P Watson steven@magelico.net
Stuart Kemp skemp@peter.bmc.com
Szakacsits Szabolcs szaka@sienet.hu
Tadayoshi Funaba tadf@kt.rim.or.jp
TAKAI Kousuke takai@vlsi.kuee.kyoto-u.ac.jp
Theodore Ts'o tytso@rsts-11.mit.edu
Thomas Bushnell thomas@gnu.ai.mit.edu
Thomas Goerlich thomas@schnappmatik.de
Thomas Luzat thomas@luzat.com
Thomas M.Ott thmo-13@gmx.de
Thomas Quinot thomas@Cuivre.FR.EU.ORG
Thomas Wolff mined@towo.net
Tim J. Robbins tjr@FreeBSD.org
Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu
Tim Smithers mouse@dmouse.com.au
Tim Waugh twaugh@redhat
Toby Peterson toby@opendarwin.org
Todd A. Jacobs tjacobs@codegnome.org
Tom Haynes thomas@netapp.com
Tom Quinn trq@dionysos.thphys.ox.ac.uk
Tommi Kyntola tkyntola@cc.hut.fi
Ton Hospel thospel@mail.dma.be
Ton Nijkes ton@murphy.nl
Tony Kocurko akocurko@mun.ca
Tony Leneis tony@plaza.ds.adp.com
Tony Robinson ajr@eng.cam.ac.uk
Torbjorn Granlund tege@nada.kth.se
Torbjorn Lindgren tl@funcom.no
Torsten Landschoff torsten@pclab.ifg.uni-kiel.de
Tristan Miller psychonaut@nothingisreal.com
Ulrich Drepper drepper@gnu.org
Ulrich Hermisson ulrich_hermisson@hotmail.com
Urs Thuermann urs@isnogud.escape.de
Uwe H. Steinfeld usteinfeld@gmx.net
Vesselin Atanasov vesselin@bgnet.bg
Vin Shelton acs@alumni.princeton.edu
Vlada Macek tuttle@bbs.fsik.cvut.cz
Volker Borchert bt@teknon.de
Volker Paul vpaul@dohle.com
Wartan Hachaturow wart@tepkom.ru
Wayne Stewart wstewa@atl.com
Wenjun Zheng zwj@yahoo.com

165
TODO
View File

@@ -1,8 +1,6 @@
restore djgpp, eventually
merge TODO lists
add unit tests for lib/*.c
rewrite lib/ftw.c not to use explicit recursion, and then use nftw in
chown, chgrp, chmod, du
strip: add an option to specify the program used to strip binaries.
suggestion from Karl Berry
@@ -49,40 +47,177 @@ seq: give better diagnostics for invalid formats:
e.g. no or too many % directives
seq: consider allowing format string to contain no %-directives
dd: consider adding an option to suppress `bytes/block read/written'
output to stderr. Suggested here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045
m4: rename all macros that start with AC_ to start with another prefix
resolve RH report on cp -a forwarded by Tim Waugh
Martin Michlmayr's patch to provide ls with `--sort directory' option
Remove uses of PROTOTYPES
tail: don't use xlseek; it *exits*.
Instead, maybe use a macro and return nonzero.
add mktemp? Suggested by Nelson Beebe
Now that AC_FUNC_LSTAT and AC_FUNC_STAT are in autoconf,
remove m4/stat.m4 and m4/lstat.m4.
df: alignment problem of `Used' heading with e.g., -mP
reported by Karl Berry
tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR
fix tail -f to work with named pipes; reported by Ian D. Allen
lib/strftime.c: Since %N is the only format that we need but that
glibc's strftime doesn't support, consider using a wrapper that
would expand /%(-_)?\d*N/ to the desired string and then pass the
resulting string to glibc's strftime.
chown-core.c: warn when operating on set-UID or set-GID regular file
sort: Compress temporary files when doing large external sort/merges.
This improves performance when you can compress/uncompress faster than
you can read/write, which is common in these days of fast CPUs.
suggestion from Charles Randall on 2001-08-10
sort: Add an ordering option -R that causes 'sort' to sort according
to a random permutation of the correct sort order. Also, add an
option --random-seed=SEED that causes 'sort' to use an arbitrary
string SEED to select which permutations to use, in a deterministic
manner: that is, if you sort a permutation of the same input file
with the same --random-seed=SEED option twice, you'll get the same
output. The default SEED is chosen at random, and contains enough
information to ensure that the output permutation is random.
suggestion from Feth AREZKI, Stephan Kasal, and Paul Eggert on 2003-07-17
unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html]
printf 'x\t \t y\n'|unexpand -t 8,9 should print its input, unmodified.
printf 'x\t \t y\n'|unexpand -t 5,8 should print "x\ty\n"
Let GNU su use the `wheel' group if appropriate.
(there are a couple patches, already)
sort: Investigate better sorting algorithms; see Knuth vol. 3.
We tried list merge sort, but it was about 50% slower than the
recursive algorithm currently used by sortlines, and it used more
comparisons. We're not sure why this was, as the theory suggests it
should do fewer comparisons, so perhaps this should be revisited.
List merge sort was implemented in the style of Knuth algorithm
5.2.4L, with the optimization suggested by exercise 5.2.4-22. The
test case was 140,213,394 bytes, 426,4424 lines, text taken from the
GCC 3.3 distribution, sort.c compiled with GCC 2.95.4 and running on
Debian 3.0r1 GNU/Linux, 2.4GHz Pentium 4, single pass with no
temporary files and plenty of RAM.
Since comparisons seem to be the bottleneck, perhaps the best
algorithm to try next should be merge insertion. See Knuth section
5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American
Mathematical Monthly 66 (1959), 387-389.
cp --recursive: perform dir traversals in source and dest hierarchy rather
than forming full file names. The latter (current) approach fails
unnecessarily when the names become very long.
tail --p is now ambiguous
Remove suspicious uses of alloca (ones that may allocate more than
about 4k)
Adapt these contribution guidelines for coreutils:
http://sources.redhat.com/automake/contribute.html
Changes expected to go in, post-5.2.1:
======================================
wc: add an option, --files0-from [as for du] to make it read NUL-delimited
file name arguments from a file.
dd patch from Olivier Delhomme
Apply Andreas Gruenbacher's ACL and xattr changes
Apply Bruno Haible's hostname changes
test/mv/*: clean up $other_partition_tmpdir in all cases
ls: when both -l and --dereference-command-line-symlink-to-dir are
specified, consider whether to let the latter select whether to
dereference command line symlinks to directories. Since -l has
an implicit --NO-dereference-command-line-symlink-to-dir meaning.
Pointed out by Karl Berry.
A more efficient version of factor, and possibly one that
accepts inputs of size 2^64 and larger.
dd: consider adding an option to suppress `bytes/block read/written'
output to stderr. Suggested here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045
Pending copyright papers:
------------------------
ls --color: Ed Avis' patch to suppress escape sequences for
non-highlighted files
getpwnam from Bruce Korb
pb (progress bar) from Miika Pekkarinen
------------------------------
Look into improving the performance of md5sum.
`openssl md5' is consistently about 30% faster than md5sum on an idle
AMD 2000-XP system with plenty of RAM and a 261 MB input file.
openssl's md5 implementation is in assembly, generated by a perl script.
On an AMD-64 system, using a 700MB file on a tmpfs file system
(and enough RAM so that no actual disk reads were performed),
GNU md5sum is slightly faster than `openssl md5', e.g.:
2.38s user 0.38s system 100% cpu 2.756 total (gnu md5sum)
vs.
2.52s user 0.34s system 100% cpu 2.869 total
However, `openssl sha1' is about 5% faster than GNU sha1sum:
3.32s user 0.33s system 99% cpu 3.653 total (openssl sha1)
3.45s user 0.39s system 99% cpu 3.843 total (gnu sha1sum)
The above are using the debian-sid (amd_64 alioth) binaries from
coreutils-5.2.1. When I compile the latest (coreutils-cvs) with
gcc-4.0 -O3, I get slightly (2-3%) better sha1sum performance,
and a ~7% *decrease* in performance for md5sum. I suspect that
with the right compiler options you can do much better.
------------------------------
Have euidaccess.m4 check for eaccess as well as euidaccess
If found, then do `#define euidaccess eaccess'.
Remove long-deprecated options like tail's --allow-missing
Add a distcheck-time test to ensure that every distributed
file is either read-only(indicating generated) or is
version-controlled and up to date.
Implement Ulrich Drepper's suggestion to use getgrouplist rather
than getugroups. This affects only `id', but makes a big difference
on systems with many users and/or groups, and makes id usable once
again on systems where access restrictions make getugroups fail.
But first we'll need a run-test (either in an autoconf macro or at
run time) to avoid the segfault bug in libc-2.3.2's getgrouplist.
In that case, we'd revert to using a new (to-be-written) getgrouplist
module that does most of what `id' already does.
remove `%s' notation:
grep -E "\`%.{,4}s'" src/*.c
remove.c should never exit, yet may do so (see uses of EXIT_FAILURE)
remove or adjust chown's --changes option, since it
can't always do what it currently says it does.
Adapt tools like wc, tr, fmt, etc. (most of the textutils) to be
multibyte aware. The problem is that I want to avoid duplicating
significant blocks of logic, yet I also want to incur only minimal
(preferably `no') cost when operating in single-byte mode.
Remove all uses of the `register' keyword
rm: add support for a -I option, like that from FreeBSD's rm:
-I Request confirmation once if more than three files are being
removed or if a directory is being recursively removed. This
is a far less intrusive option than -i yet provides almost
the same level of protection against mistakes.

View File

@@ -1,32 +0,0 @@
Move things so there are no symlinks from repository to
any directory other than common
******************
LINGUAS:
sort -u ../[fst]u/po/LINGUAS > po/LINGUAS
go cu
cd po
for i in f s t; do
echo $i:
xu=${i}u
for j in $(cat ../../$xu/po/LINGUAS); do
echo " $j"
msgmerge -o k ../../$xu/po/$j.po $j.po && mv k $j.po
done
done
go cu; cd po; export xu=tu j=zh_TW
go cu; cd po; export xu=su j=ru
go cu; cd po; export xu=fu j=zh_TW
go cu; cd po; export xu=tu j=fr
go cu; cd po; export xu=su j=tr
go cu; cd po; export xu=fu j=ca
go cu; cd po; export xu=su j=sl
go cu; cd po; export xu=tu j=el
go cu; cd po; export xu=su j=da
go cu; cd po; export xu=fu j=lg
k=$xu-$j
msgmerge -o $k ../../$xu/po/$j.po $j.po && mv $k $j.po
cvs ci -m 'merge from fileutils-4.1.11' $j.po

7634
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ use Getopt::Long;
use Digest::MD5;
use Digest::SHA1;
(my $VERSION = '$Revision: 1.16 $ ') =~ tr/[0-9].//cd;
(my $VERSION = '$Revision: 1.23 $ ') =~ tr/[0-9].//cd;
(my $ME = $0) =~ s|.*/||;
my %valid_release_types = map {$_ => 1} qw (alpha beta major);
@@ -72,6 +72,138 @@ EOF
exit $exit_code;
}
=item C<%size> = C<sizes (@file)>
Compute the sizes of the C<@file> and return them as a hash. Return
C<undef> if one of the computation failed.
=cut
sub sizes (@)
{
my (@file) = @_;
my $fail = 0;
my %res;
foreach my $f (@file)
{
my $cmd = "du --human $f";
my $t = `$cmd`;
# FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS
$@
and (warn "$ME: command failed: `$cmd'\n"), $fail = 1;
chomp $t;
$t =~ s/^([\d.]+[MkK]).*/${1}B/;
$res{$f} = $t;
}
return $fail ? undef : %res;
}
=item C<print_locations ($title, \@url, \%size, @file)
Print a section C<$title> dedicated to the list of <@file>, which
sizes are stored in C<%size>, and which are available from the C<@url>.
=cut
sub print_locations ($\@\%@)
{
my ($title, $url, $size, @file) = @_;
print "Here are the $title:\n";
foreach my $url (@{$url})
{
for my $file (@file)
{
print " $url/$file";
print " (", $$size{$file}, ")"
if exists $$size{$file};
print "\n";
}
}
print "\n";
}
=item C<print_signatures (@file)
Print the MD5 and SHA1 signature section for each C<@file>.
=cut
sub print_signatures (@)
{
my (@file) = @_;
print "Here are the MD5 and SHA1 checksums:\n";
print "\n";
foreach my $meth (qw (md5 sha1))
{
foreach my $f (@file)
{
open IN, '<', $f
or die "$ME: $f: cannot open for reading: $!\n";
binmode IN;
my $dig =
($meth eq 'md5'
? Digest::MD5->new->addfile(*IN)->hexdigest
: Digest::SHA1->new->addfile(*IN)->hexdigest);
close IN;
print "$dig $f\n";
}
}
}
=item C<print_news_deltas ($news_file, $prev_version, $curr_version)
Print the section of the NEWS file C<$news_file> addressing changes
between versions C<$prev_version> and C<$curr_version>.
=cut
sub print_news_deltas ($$$)
{
my ($news_file, $prev_version, $curr_version) = @_;
print "\n$news_file\n\n";
# Print all lines from $news_file, starting with the first one
# that mentions $curr_version up to but not including
# the first occurrence of $prev_version.
my $in_items;
open NEWS, '<', $news_file
or die "$ME: $news_file: cannot open for reading: $!\n";
while (defined (my $line = <NEWS>))
{
if ( ! $in_items)
{
# Match lines like this one:
# * Major changes in release 5.0.1:
# but not any other line that starts with a space, *, or -.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$curr_version\E/o
or next;
$in_items = 1;
print $line;
}
else
{
# Be careful that this regexp cannot match version numbers
# in NEWS items -- they might well say `introduced in 4.5.5',
# and we don't want that to match.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$prev_version\E/o
and last;
print $line;
}
}
close NEWS;
$in_items
or die "$ME: $news_file: no matching lines for `$curr_version'\n";
}
sub print_changelog_deltas ($$)
{
my ($package_name, $prev_version) = @_;
@@ -159,23 +291,27 @@ sub print_changelog_deltas ($$)
}
{
# Neutralize the locale, so that, for instance, "du" does not
# issue "1,2" instead of "1.2", what confuses our regexps.
$ENV{LC_ALL} = "C";
my $release_type;
my $package_name;
my $prev_version;
my $curr_version;
my $release_archive_dir;
my @url_dir_list;
my $news_file;
my @news_file;
GetOptions
(
'release-type=s' => \$release_type,
'package-name=s' => \$package_name,
'release-type=s' => \$release_type,
'package-name=s' => \$package_name,
'previous-version=s' => \$prev_version,
'current-version=s' => \$curr_version,
'current-version=s' => \$curr_version,
'release-archive-directory=s' => \$release_archive_dir,
'url-directory=s@' => \@url_dir_list,
'news=s@' => \$news_file,
'url-directory=s' => \@url_dir_list,
'news=s' => \@news_file,
help => sub { usage 0 },
version => sub { print "$ME version $VERSION\n"; exit },
@@ -209,126 +345,55 @@ sub print_changelog_deltas ($$)
my $tbz = "$my_distdir.tar.bz2";
my $xd = "$package_name-$prev_version-$curr_version.xdelta";
my %size;
foreach my $f (($tgz, $tbz, $xd))
{
my $cmd = "du --human $f";
my $t = `$cmd`;
# FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS
$@
and (warn "$ME: command failed: `$cmd'\n"), $fail = 1;
chomp $t;
$t =~ s/^([\d.]+[MkK]).*/${1}B/;
$size{$f} = $t;
}
$fail
and exit 1;
my %size = sizes ($tgz, $tbz, $xd);
%size
or exit 1;
# The markup is escaped as <\# so that when this script is sent by
# mail (or part of a diff), Gnus is not triggered.
print <<EOF;
Subject: $my_distdir released
<#secure method=pgpmime mode=sign>
<\#secure method=pgpmime mode=sign>
FIXME: put comments here
EOF
print "Here are the compressed sources:\n";
foreach my $url (@url_dir_list)
{
print " $url/$tgz ($size{$tgz})\n";
print " $url/$tbz ($size{$tbz})\n";
}
print_locations ("compressed sources", @url_dir_list, %size,
$tgz, $tbz);
print_locations ("xdelta-style diffs", @url_dir_list, %size,
$xd);
print_locations ("GPG detached signatures", @url_dir_list, %size,
"$tgz.sig", "$tbz.sig");
print "\nAnd here are xdelta-style diffs:\n";
foreach my $url (@url_dir_list)
{
print " $url/$xd ($size{$xd})\n";
}
print_signatures ($tgz, $tbz, $xd);
print "\nHere are GPG detached signatures:\n";
foreach my $url (@url_dir_list)
{
print " $url/$tgz.asc\n";
print " $url/$tbz.asc\n";
}
# FIXME: clean up upon interrupt or die
my $tmpdir = $ENV{TMPDIR} || '/tmp';
my $tmp = "$tmpdir/$ME-$$";
unlink $tmp; # ignore failure
print "\nHere are the MD5 and SHA1 signatures:\n";
print "\n";
print "<#part type=text/plain filename=\"$tmp\" disposition=inline>\n"
. "<#/part>\n";
open OUT, '>', $tmp
or die "$ME: $tmp: cannot open for writing: $!\n";
foreach my $meth (qw (md5 sha1))
{
foreach my $f (($tgz, $tbz, $xd))
{
open IN, '<', $f
or die "$ME: $f: cannot open for reading: $!\n";
binmode IN;
my $dig =
($meth eq 'md5'
? Digest::MD5->new->addfile(*IN)->hexdigest
: Digest::SHA1->new->addfile(*IN)->hexdigest);
close IN;
print OUT "$dig $f\n";
}
}
close OUT
or die "$ME: $tmp: while writing: $!\n";
chmod 0400, $tmp; # ignore failure
if ($news_file)
{
print "\nNEWS\n\n";
# Print all lines from $news_file, starting with the first one
# that mentions $curr_version up to but not including
# the first occurrence of $prev_version.
my $in_items;
open NEWS, '<', $news_file
or die "$ME: $news_file: cannot open for reading: $!\n";
while (defined (my $line = <NEWS>))
{
if ( ! $in_items)
{
# Match lines like this one:
# * Major changes in release 5.0.1:
# but not any other line that starts with a space, *, or -.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$curr_version\E/o
or next;
$in_items = 1;
print $line;
}
else
{
# Be careful that this regexp cannot match version numbers
# in NEWS items -- they might well say `introduced in 4.5.5',
# and we don't want that to match.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$prev_version\E/o
and last;
print $line;
}
}
close NEWS;
$in_items
or die "$ME: $news_file: no matching lines for `$curr_version'\n";
}
print_news_deltas ($_, $prev_version, $curr_version)
foreach @news_file;
$release_type eq 'major'
or print_changelog_deltas ($package_name, $prev_version);
exit 0;
}
### Setup "GNU" style for perl-mode and cperl-mode.
## Local Variables:
## perl-indent-level: 2
## perl-continued-statement-offset: 2
## perl-continued-brace-offset: 0
## perl-brace-offset: 0
## perl-brace-imaginary-offset: 0
## perl-label-offset: -2
## cperl-indent-level: 2
## cperl-brace-offset: 0
## cperl-continued-brace-offset: 0
## cperl-label-offset: -2
## cperl-extra-newline-before-brace: t
## cperl-merge-trailing-else: nil
## cperl-continued-statement-offset: 2
## End:

141
build-aux/ChangeLog Normal file
View File

@@ -0,0 +1,141 @@
2005-10-13 Jim Meyering <jim@meyering.net>
* texinfo.tex: Sync from gnulib.
2005-09-21 Paul Eggert <eggert@cs.ucla.edu>
* install-sh, config.guess: Sync from gnulib.
2005-07-01 Jim Meyering <jim@meyering.net>
* config.guess, config.sub, mdate-sh, missing, mkinstalldirs:
* texinfo.tex: Update from gnulib.
2005-06-02 Paul Eggert <eggert@cs.ucla.edu>
* config.guess, config.sub, texinfo.tex: Sync from gnulib.
2005-05-20 Paul Eggert <eggert@cs.ucla.edu>
* config.guess: Sync from gnulib.
2005-05-15 Paul Eggert <eggert@cs.ucla.edu>
* depcomp, install-sh, mdate-sh, missing, pmkinstalldirs:
Sync from gnulib (scriptversion change only).
2005-05-14 Paul Eggert <eggert@cs.ucla.edu>
* config.guess, config.sub: Sync from gnulib.
2005-05-01 Paul Eggert <eggert@cs.ucla.edu>
* config.guess, config.sub, texinfo.tex: Sync from gnulib.
2005-03-20 Paul Eggert <eggert@cs.ucla.edu>
* config.rpath: Sync from gnulib.
2005-02-25 Paul Eggert <eggert@cs.ucla.edu>
* config.guess, config.sub, depcomp, install-sh, mdate-sh, missing,
mkinstalldirs: Sync from gnulib.
2005-01-21 Paul Eggert <eggert@cs.ucla.edu>
* config.sub: Sync from gnulib.
2004-12-17 Jim Meyering <jim@meyering.net>
* install-sh: Sync from gnulib.
2004-12-16 Paul Eggert <eggert@cs.ucla.edu>
* mdate-sh: Sync from gnulib.
2004-11-23 Paul Eggert <eggert@cs.ucla.edu>
* config.sub, texinfo.tex: Sync from gnulib.
2004-11-17 Paul Eggert <eggert@cs.ucla.edu>
* config.guess, config.sub: Sync from gnulib.
2004-11-10 Paul Eggert <eggert@cs.ucla.edu>
* texinfo.tex: Sync from gnulib.
2004-11-02 Paul Eggert <eggert@cs.ucla.edu>
* texinfo.tex: Sync from gnulib.
2004-10-29 Paul Eggert <eggert@cs.ucla.edu>
* config.guess, install-sh, texinfo.tex: Sync from gnulib.
2004-10-03 Paul Eggert <eggert@cs.ucla.edu>
* config.guess, config.sub, install-sh, missing, texinfo.tex:
Sync from gnulib.
2004-09-24 Jim Meyering <jim@meyering.net>
* cvsu: Remove file. The version of cvsu from the cvsutils package
does the same job with --find --type=... options.
* cvsu: New file, used by rules in coreutils' Makefile.maint.
2004-08-05 Paul Eggert <eggert@cs.ucla.edu>
* config.guess, config.sub, install-sh, texinfo.tex: Sync from gnulib.
2004-03-30 Paul Eggert <eggert@twinsun.com>
* config.guess, config.sub, install-sh, texinfo.tex: Sync from gnulib.
2003-08-16 Paul Eggert <eggert@twinsun.com>
* config.rpath, texinfo.tex: Sync with gnulib.
2003-04-21 Jim Meyering <jim@meyering.net>
* depcomp: New version, now that this file is on the list
in ../Makefile.cfg.
2003-01-12 Jim Meyering <jim@meyering.net>
Lots of syntactic clean-up, mostly from Karl Berry.
* install-sh: Use consistent indentation, two spaces per level.
(scriptversion): New variable.
Change initializations like `variable=""' to `variable='.
(usage): New variable.
Use `test', not `['.
Use `test -z "$var"', not `[ x"$var" = x ]'.
Use `test -n "$var"', not `[ x"$var" != x ]'.
Alphabetize case entries.
Accept --help and --version options.
Remove unnecessary `else :' clauses.
Add a `Local variables' eval block to help emacs users update
the time-stamp variable added above.
2002-12-20 Jim Meyering <jim@meyering.net>
* install-sh: Set the execute bit on this file.
Reported by Vin Shelton.
2002-11-09 Jim Meyering <jim@meyering.net>
Make it work even when names contain spaces or shell metachars.
* install-sh: Write diagnostics to stderr, not stdout.
Normalize spacing in diagnostics: use one space (not two, and not a TAB)
after the leading `install:'.
Add double quotes around `$src' here: $doit $instcmd "$src" "$dsttmp"
Merge in some changes from the version in automake.
* install-sh: Remove unnecessary quotes around `case' argument.
Use `[ cond1 ] || [ cond2 ]' rather than `[ cond1 -o cond2 ]'.
Use `:' rather than `true'.
2002-02-17 Jim Meyering <jim@meyering.net>
* config.guess (main): Don't use `head -1'; it's no longer portable.
Use `sed 1q' instead.

File diff suppressed because it is too large Load Diff

View File

@@ -2,28 +2,13 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2002 Free Software Foundation, Inc.
# Copyright 1996-2005 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
@@ -34,43 +19,72 @@
#
# The set of defined variables is at the end of this script.
# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
# than 256 bytes, otherwise the compiler driver will dump core. The only
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# All known linkers require a `.a' archive for static linking (except M$VC,
# which needs '.lib').
libext=a
shlibext=
shrext=.so
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix3* | aix4* | aix5*)
aix*)
wl='-Wl,'
;;
darwin*)
case "$cc_basename" in
xlc*)
wl='-Wl,'
;;
esac
;;
mingw* | pw32* | os2*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6*)
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
newsos6)
;;
linux*)
echo '__INTEL_COMPILER' > conftest.$ac_ext
if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null
then
:
else
# Intel icc
wl='-Qoption,ld,'
fi
case $cc_basename in
icc* | ecc*)
wl='-Wl,'
;;
pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
como)
wl='-lopt='
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
sco3.2v5*)
;;
solaris*)
wl='-Wl,'
;;
@@ -78,15 +92,20 @@ else
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
if test "x$host_vendor" = xsni; then
wl='-LD'
else
wl='-Wl,'
fi
wl='-Wl,'
;;
sysv4*MP*)
;;
unicos*)
wl='-Wl,'
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
@@ -110,8 +129,10 @@ ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
case "$host_os" in
aix3* | aix4* | aix5*)
# On AIX, the GNU linker is very broken
ld_shlibs=no
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
@@ -120,12 +141,12 @@ if test "$with_gnu_ld" = yes; then
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we can use
# behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
@@ -135,11 +156,18 @@ if test "$with_gnu_ld" = yes; then
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
netbsd*)
;;
solaris* | sysv5*)
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
@@ -148,8 +176,15 @@ if test "$with_gnu_ld" = yes; then
sunos4*)
hardcode_direct=yes
;;
linux*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
@@ -157,6 +192,8 @@ if test "$with_gnu_ld" = yes; then
;;
esac
if test "$ld_shlibs" = yes; then
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
fi
else
@@ -209,13 +246,27 @@ else
fi
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
echo 'int main () { return 0; }' > conftest.c
${CC} ${LDFLAGS} conftest.c -o conftest
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
fi
if test -z "$aix_libpath"; then
aix_libpath="/usr/lib:/lib"
fi
rm -f conftest.c conftest
# End _LT_AC_SYS_LIBPATH_AIX.
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
fi
fi
;;
@@ -225,6 +276,8 @@ else
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -234,7 +287,21 @@ else
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=yes
hardcode_direct=no
if test "$GCC" = yes ; then
:
else
case "$cc_basename" in
xlc*)
;;
*)
ld_shlibs=no
;;
esac
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
freebsd1*)
ld_shlibs=no
@@ -247,18 +314,45 @@ else
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd*)
freebsd* | kfreebsd*-gnu | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9* | hpux10* | hpux11*)
hpux9*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_minus_L=yes # Not in the search PATH, but as the default
# location of the library.
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
irix5* | irix6*)
hpux10* | hpux11*)
if test "$with_gnu_ld" = no; then
case "$host_cpu" in
hppa*64*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=no
;;
ia64*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=no
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
@@ -314,23 +408,20 @@ else
hardcode_minus_L=yes
;;
sysv4)
if test "x$host_vendor" = xsno; then
hardcode_direct=yes # is this really true???
else
hardcode_direct=no # Motorola manual says yes, but my tests say they lie
fi
case $host_vendor in
sni)
hardcode_direct=yes # is this really true???
;;
siemens)
hardcode_direct=no
;;
motorola)
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
;;
esac
;;
sysv4.3*)
;;
sysv5*)
hardcode_libdir_flag_spec=
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
sysv4*MP*)
if test -d /usr/nec; then
ld_shlibs=yes
@@ -340,7 +431,13 @@ else
hardcode_direct=yes
hardcode_minus_L=no
;;
sysv5uw7* | unixware7*)
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
;;
sysv5*)
hardcode_libdir_flag_spec=
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
*)
ld_shlibs=no
@@ -349,136 +446,103 @@ else
fi
# Check dynamic linker characteristics
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
libname_spec='lib$name'
sys_lib_dlsearch_path_spec="/lib /usr/lib"
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
case "$host_os" in
aix3*)
shlibext=so
;;
aix4* | aix5*)
shlibext=so
;;
amigaos*)
shlibext=ixlibrary
;;
beos*)
shlibext=so
;;
bsdi4*)
shlibext=so
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
case $GCC,$host_os in
yes,cygwin*)
shlibext=dll.a
;;
yes,mingw*)
shlibext=dll
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
;;
yes,pw32*)
shlibext=dll
;;
*)
shlibext=dll
;;
esac
shrext=.dll
;;
darwin* | rhapsody*)
shlibext=dylib
shrext=.dylib
;;
dgux*)
;;
freebsd1*)
;;
kfreebsd*-gnu)
;;
freebsd*)
shlibext=so
;;
gnu*)
shlibext=so
;;
hpux9* | hpux10* | hpux11*)
shlibext=sl
case "$host_cpu" in
ia64*)
shrext=.so
;;
hppa*64*)
shrext=.sl
;;
*)
shrext=.sl
;;
esac
;;
irix5* | irix6*)
shlibext=so
irix5* | irix6* | nonstopux*)
case "$host_os" in
irix5*)
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 ") libsuff= shlibsuff= ;;
*-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 ") libsuff=64 shlibsuff=64 ;;
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
*) libsuff= shlibsuff= ;;
esac
;;
esac
sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
;;
linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
linux*oldld* | linux*aout* | linux*coff*)
;;
linux-gnu*)
shlibext=so
linux*)
;;
knetbsd*-gnu)
;;
netbsd*)
shlibext=so
;;
newsos6)
shlibext=so
;;
nto-qnx*)
;;
openbsd*)
shlibext=so
;;
os2*)
libname_spec='$name'
shlibext=dll
shrext=.dll
;;
osf3* | osf4* | osf5*)
shlibext=so
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
sco3.2v5*)
shlibext=so
;;
solaris*)
shlibext=so
;;
sunos4*)
shlibext=so
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
shlibext=so
case "$host_vendor" in
motorola)
sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
;;
esac
;;
uts4*)
shlibext=so
;;
dgux*)
shlibext=so
;;
sysv4*MP*)
if test -d /usr/nec; then
shlibext=so
fi
;;
uts4*)
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
@@ -504,10 +568,4 @@ hardcode_direct="$hardcode_direct"
# resulting binary.
hardcode_minus_L="$hardcode_minus_L"
# Compile-time system search path for libraries
sys_lib_search_path_spec="$escaped_sys_lib_search_path_spec"
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="$escaped_sys_lib_dlsearch_path_spec"
EOF

View File

@@ -1,9 +1,9 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
timestamp='2003-07-04'
timestamp='2005-07-08'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,14 +21,15 @@ timestamp='2003-07-04'
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
#
@@ -70,7 +71,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@@ -83,11 +84,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;;
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit 0 ;;
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit 0 ;;
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
@@ -99,7 +100,7 @@ while test $# -gt 0 ; do
*local*)
# First pass through any local machine types.
echo $1
exit 0;;
exit ;;
* )
break ;;
@@ -118,7 +119,8 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -144,7 +146,7 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple | -axis)
-apple | -axis | -knuth | -cray)
os=
basic_machine=$1
;;
@@ -228,14 +230,16 @@ case $basic_machine in
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k \
| m32r | m68000 | m68k | m88k | mcore \
| ip2k | iq2000 \
| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -244,30 +248,37 @@ case $basic_machine in
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| ms1 \
| msp430 \
| ns16k | ns32k \
| openrisc | or32 \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b \
| strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
| x86 | xscale | xstormy16 | xtensa \
| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
m32c)
basic_machine=$basic_machine-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
@@ -295,19 +306,19 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| bs2000-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | cydra-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* \
| m32r-* \
| ip2k-* | iq2000-* \
| m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -316,33 +327,40 @@ case $basic_machine in
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| ms1-* \
| msp430-* \
| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
| xtensa-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
m32c-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -359,6 +377,9 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
abacus)
basic_machine=abacus-unknown
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
@@ -376,6 +397,9 @@ case $basic_machine in
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
@@ -435,12 +459,27 @@ case $basic_machine in
basic_machine=j90-cray
os=-unicos
;;
craynv)
basic_machine=craynv-cray
os=-unicosmp
;;
cr16c)
basic_machine=cr16c-unknown
os=-elf
;;
crds | unos)
basic_machine=m68k-crds
;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
crx)
basic_machine=crx-unknown
os=-elf
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
@@ -463,6 +502,10 @@ case $basic_machine in
basic_machine=m88k-motorola
os=-sysv3
;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
@@ -641,10 +684,6 @@ case $basic_machine in
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
mmix*)
basic_machine=mmix-knuth
os=-mmixware
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
@@ -725,10 +764,6 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
nv1)
basic_machine=nv1-cray
os=-unicosmp
;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -736,9 +771,12 @@ case $basic_machine in
basic_machine=hppa1.1-oki
os=-proelf
;;
or32 | or32-*)
openrisc | openrisc-*)
basic_machine=or32-unknown
os=-coff
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
@@ -960,6 +998,10 @@ case $basic_machine in
tower | tower-32)
basic_machine=m68k-ncr
;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
@@ -1003,6 +1045,10 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
@@ -1033,6 +1079,9 @@ case $basic_machine in
romp)
basic_machine=romp-ibm
;;
mmix)
basic_machine=mmix-knuth
;;
rs6000)
basic_machine=rs6000-ibm
;;
@@ -1049,13 +1098,10 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
sparc | sparcv9 | sparcv9b)
sparc | sparcv8 | sparcv9 | sparcv9b)
basic_machine=sparc-sun
;;
cydra)
@@ -1128,19 +1174,21 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1158,12 +1206,15 @@ case $os in
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -1176,6 +1227,9 @@ case $os in
-opened*)
os=-openedition
;;
-os400*)
os=-os400
;;
-wince*)
os=-wince
;;
@@ -1197,6 +1251,9 @@ case $os in
-atheos*)
os=-atheos
;;
-syllable*)
os=-syllable
;;
-386bsd)
os=-bsd
;;
@@ -1219,6 +1276,9 @@ case $os in
-sinix*)
os=-sysv4
;;
-tpf*)
os=-tpf
;;
-triton*)
os=-sysv3
;;
@@ -1255,6 +1315,9 @@ case $os in
-kaos*)
os=-kaos
;;
-zvmoe)
os=-zvmoe
;;
-none)
;;
*)
@@ -1332,9 +1395,15 @@ case $basic_machine in
*-be)
os=-beos
;;
*-haiku)
os=-haiku
;;
*-ibm)
os=-aix
;;
*-knuth)
os=-mmixware
;;
*-wec)
os=-proelf
;;
@@ -1467,9 +1536,15 @@ case $basic_machine in
-mvs* | -opened*)
vendor=ibm
;;
-os400*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
@@ -1494,7 +1569,7 @@ case $basic_machine in
esac
echo $basic_machine$os
exit 0
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)

View File

@@ -1,7 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
scriptversion=2005-07-09.11
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,8 +17,8 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -25,22 +27,45 @@
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
@@ -172,19 +197,25 @@ sgi)
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. This file always lives in the current directory.
# Also, the AIX compiler puts `$object:' at the start of each line;
# $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
@@ -192,6 +223,7 @@ aix)
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
@@ -255,27 +287,43 @@ tru64)
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.d"
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
@@ -292,7 +340,7 @@ tru64)
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o.
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
@@ -388,7 +436,7 @@ makedepend)
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout.
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
@@ -419,7 +467,8 @@ cpp)
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
@@ -430,7 +479,7 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
@@ -470,3 +519,12 @@ none)
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

401
build-aux/install-sh Executable file
View File

@@ -0,0 +1,401 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2005-09-13.16
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
posix_glob=
posix_mkdir=
# Symbolic mode for testing mkdir with directories.
# It is the same as 755, but also tests that "u+" works.
test_mode=u=rwx,g=rx,o=rx,u+wx
# Desired mode of installed file.
mode=0755
# Desired mode of newly created intermediate directories.
# It is empty if not known yet.
intermediate_mode=
chmodcmd=$chmodprog
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=
dst=
dir_arg=
dstarg=
no_target_directory=
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
-c (ignored)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
while test -n "$1"; do
case $1 in
-c) shift
continue;;
-d) dir_arg=true
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t) dstarg=$2
shift
shift
continue;;
-T) no_target_directory=true
shift
continue;;
--version) echo "$0 $scriptversion"; exit $?;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
test -n "$dir_arg$dstarg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
test -n "$dir_arg" || trap '(exit $?); exit' 1 2 13 15
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| \
. : '\(.\)' 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
/^X\(\/\/\)$/{ s//\1/; q; }
/^X\(\/\).*/{ s//\1/; q; }
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
posix_mkdir=false
if $mkdirprog -m $test_mode -p -- / >/dev/null 2>&1; then
posix_mkdir=true
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./-m "$test_mode" ./-p ./-- 2>/dev/null
fi ;;
esac
if
$posix_mkdir && {
# With -d, create the new directory with the user-specified mode.
# Otherwise, create it using the same intermediate mode that
# mkdir -p would use when creating intermediate directories.
# POSIX says that this mode is "$(umask -S),u+wx", so use that
# if umask -S works.
if test -n "$dir_arg"; then
mkdir_mode=$mode
else
case $intermediate_mode in
'')
if umask_S=`(umask -S) 2>/dev/null`; then
intermediate_mode=$umask_S,u+wx
else
intermediate_mode=$test_mode
fi ;;
esac
mkdir_mode=$intermediate_mode
fi
$mkdirprog -m "$mkdir_mode" -p -- "$dstdir"
}
then :
else
# mkdir does not conform to POSIX, or it failed possibly due to
# a race condition. Create the directory the slow way, step by
# step, checking for races as we go.
case $dstdir in
/*) pathcomp=/ ;;
-*) pathcomp=./ ;;
*) pathcomp= ;;
esac
case $posix_glob in
'')
if (set -f) 2>/dev/null; then
posix_glob=true
else
posix_glob=false
fi ;;
esac
oIFS=$IFS
IFS=/
$posix_glob && set -f
set fnord $dstdir
shift
$posix_glob && set +f
IFS=$oIFS
for d
do
test "x$d" = x && continue
pathcomp=$pathcomp$d
if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp"
# Don't fail if two instances are running concurrently.
test -d "$pathcomp" || exit 1
fi
pathcomp=$pathcomp/
done
obsolete_mkdir_used=true
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd "$mode" "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
$doit $cpprog "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$mode" "$dsttmp"; } &&
# Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
if test -f "$dst"; then
$doit $rmcmd -f "$dst" 2>/dev/null \
|| { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
&& { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
|| {
echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
} || exit 1
trap - 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@@ -1,6 +1,10 @@
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
# Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
scriptversion=2005-06-29.22
# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
# Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
#
# This program is free software; you can redistribute it and/or modify
@@ -15,13 +19,38 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No file. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: mdate-sh [--help] [--version] FILE
Pretty-print the modification time of FILE.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "mdate-sh $scriptversion"
exit $?
;;
esac
# Prevent date giving response in another language.
LANG=C
export LANG
@@ -30,7 +59,15 @@ export LC_ALL
LC_TIME=C
export LC_TIME
save_arg1="$1"
# GNU ls changes its time format in response to the TIME_STYLE
# variable. Since we cannot assume `unset' works, revert this
# variable to its documented default.
if test "${TIME_STYLE+set}" = set; then
TIME_STYLE=posix-long-iso
export TIME_STYLE
fi
save_arg1=$1
# Find out how to get the extended ls output of a file or directory.
if ls -L /dev/null 1>/dev/null 2>&1; then
@@ -52,7 +89,7 @@ fi
# words should be skipped to get the date.
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
set - x`$ls_command /`
set x`ls -l -d /`
# Find which argument is the month.
month=
@@ -79,13 +116,32 @@ do
done
# Get the extended ls output of the file or directory.
set - x`eval "$ls_command \"\$save_arg1\""`
set dummy x`eval "$ls_command \"\$save_arg1\""`
# Remove all preceding arguments
eval $command
# Get the month. Next argument is day, followed by the year or time.
case $1 in
# Because of the dummy argument above, month is in $2.
#
# On a POSIX system, we should have
#
# $# = 5
# $1 = file size
# $2 = month
# $3 = day
# $4 = year or time
# $5 = filename
#
# On Darwin 7.7.0 and 7.6.0, we have
#
# $# = 4
# $1 = day
# $2 = month
# $3 = year or time
# $4 = filename
# Get the month.
case $2 in
Jan) month=January; nummonth=1;;
Feb) month=February; nummonth=2;;
Mar) month=March; nummonth=3;;
@@ -100,7 +156,10 @@ case $1 in
Dec) month=December; nummonth=12;;
esac
day=$2
case $3 in
???*) day=$1;;
*) day=$3; shift;;
esac
# Here we have to deal with the problem that the ls output gives either
# the time of day or the year.
@@ -131,3 +190,12 @@ esac
# The result.
echo $day $month $year
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@@ -1,6 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
scriptversion=2005-06-08.21
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -15,8 +19,8 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -38,18 +42,24 @@ else
configure_ac=configure.in
fi
msg="missing on your system"
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
@@ -74,11 +84,15 @@ Supported PROGRAM values:
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.4 - GNU automake"
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
@@ -87,14 +101,44 @@ Supported PROGRAM values:
exit 1
;;
aclocal*)
esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case "$1" in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
@@ -102,13 +146,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;;
autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
@@ -116,13 +155,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;;
autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
@@ -140,13 +174,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;;
automake*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
@@ -156,16 +185,11 @@ WARNING: \`$1' is missing on your system. You should only need it if
;;
autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
proper tools for further handling them.
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
@@ -185,7 +209,7 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
@@ -215,7 +239,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
@@ -237,13 +261,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;;
help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
@@ -262,32 +281,30 @@ WARNING: \`$1' is missing on your system. You should only need it if
;;
makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
# If the file does not exist, the user really needs makeinfo;
# let's fail without touching anything.
test -f $file || exit 1
touch $file
;;
tar)
shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
@@ -323,10 +340,10 @@ WARNING: I can't seem to be able to run \`tar' with the given arguments.
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
WARNING: \`$1' is needed, and is $msg.
You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
@@ -334,3 +351,10 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
esac
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@@ -1,27 +1,33 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
scriptversion=2005-06-29.22
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain.
scriptversion=2003-06-14.23
#
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
errstatus=0
dirmode=""
dirmode=
usage="\
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
Create each directory DIR (with mode MODE, if specified), including all
leading file name components.
"
Report bugs to <bug-automake@gnu.org>."
# process command line arguments
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
echo "$usage"
exit 0
exit $?
;;
-m) # -m PERM arg
shift
@@ -31,7 +37,7 @@ while test $# -gt 0 ; do
;;
--version)
echo "$0 $scriptversion"
exit 0
exit $?
;;
--) # stop option processing
shift
@@ -60,30 +66,58 @@ case $# in
0) exit 0 ;;
esac
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
# mkdir -p a/c at the same time, both will detect that a is missing,
# one will create a, then the other will try to create a and die with
# a "File exists" error. This is a problem when calling mkinstalldirs
# from a parallel make. We use --version in the probe to restrict
# ourselves to GNU mkdir, which is thread-safe.
case $dirmode in
'')
if mkdir -p -- . 2>/dev/null; then
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
test -d ./-p && rmdir ./-p
test -d ./--version && rmdir ./--version
fi
;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
test ! -d ./--version; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
else
# Clean up after NextStep and OpenStep mkdir.
for d in ./-m ./-p ./--version "./$dirmode";
do
test -d $d && rmdir $d
done
fi
;;
esac
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
case $file in
/*) pathcomp=/ ;;
*) pathcomp= ;;
esac
oIFS=$IFS
IFS=/
set fnord $file
shift
IFS=$oIFS
pathcomp=
for d
do
pathcomp="$pathcomp$d"
test "x$d" = x && continue
pathcomp=$pathcomp$d
case $pathcomp in
-*) pathcomp=./$pathcomp ;;
esac
@@ -98,7 +132,7 @@ do
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
lasterr=
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
@@ -108,7 +142,7 @@ do
fi
fi
pathcomp="$pathcomp/"
pathcomp=$pathcomp/
done
done

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,43 +0,0 @@
2003-04-21 Jim Meyering <jim@meyering.net>
* depcomp: New version, now that this file is now on the list
in ../Makefile.cfg.
2003-01-12 Jim Meyering <jim@meyering.net>
Lots of syntactic clean-up, mostly from Karl Berry.
* install-sh: Use consistent indentation, two spaces per level.
(scriptversion): New variable.
Change initializations like `variable=""' to `variable='.
(usage): New variable.
Use `test', not `['.
Use `test -z "$var"', not `[ x"$var" = x ]'.
Use `test -n "$var"', not `[ x"$var" != x ]'.
Alphabetize case entries.
Accept --help and --version options.
Remove unnecessary `else :' clauses.
Add a `Local variables' eval block to help emacs users update
the time-stamp variable added above.
2002-12-20 Jim Meyering <jim@meyering.net>
* install-sh: Set the execute bit on this file.
Reported by Vin Shelton.
2002-11-09 Jim Meyering <jim@meyering.net>
Make it work even when names contain spaces or shell metachars.
* install-sh: Write diagnostics to stderr, not stdout.
Normalize spacing in diagnostics: use one space (not two, and not a TAB)
after the leading `install:'.
Add double quotes around `$src' here: $doit $instcmd "$src" "$dsttmp"
Merge in some changes from the version in automake.
* install-sh: Remove unnecessary quotes around `case' argument.
Use `[ cond1 ] || [ cond2 ]' rather than `[ cond1 -o cond2 ]'.
Use `:' rather than `true'.
2002-02-17 Jim Meyering <jim@meyering.net>
* config.guess (main): Don't use `head -1'; it's no longer portable.
Use `sed 1q' instead.

View File

@@ -1,286 +0,0 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2003-06-13.21
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=
transform_arg=
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=
dst=
dir_arg=
usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
or: $0 -d DIR1 DIR2...
In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
In the second, create the directory path DIR.
Options:
-b=TRANSFORMBASENAME
-c copy source (using $cpprog) instead of moving (using $mvprog).
-d create directories instead of installing files.
-g GROUP $chgrp installed files to GROUP.
-m MODE $chmod installed files to MODE.
-o USER $chown installed files to USER.
-s strip installed files (using $stripprog).
-t=TRANSFORM
--help display this help and exit.
--version display version info and exit.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
while test -n "$1"; do
case $1 in
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
-c) instcmd=$cpprog
shift
continue;;
-d) dir_arg=true
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
--help) echo "$usage"; exit 0;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
--version) echo "$0 $scriptversion"; exit 0;;
*) if test -z "$src"; then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if test -z "$src"; then
echo "$0: no input file specified." >&2
exit 1
fi
if test -n "$dir_arg"; then
dst=$src
src=
if test -d "$dst"; then
instcmd=:
chmodcmd=
else
instcmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst"; then
echo "$0: no destination specified." >&2
exit 1
fi
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
dst=$dst/`basename "$src"`
fi
fi
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# (this part is taken from Noah Friedman's mkinstalldirs script.)
# Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
pathcomp=
while test $# -ne 0 ; do
pathcomp=$pathcomp$1
shift
test -d "$pathcomp" || $mkdirprog "$pathcomp"
pathcomp=$pathcomp/
done
fi
if test -n "$dir_arg"; then
$doit $instcmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
# If we're going to rename the final executable, determine the name now.
if test -z "$transformarg"; then
dstfile=`basename "$dst"`
else
dstfile=`basename "$dst" $transformbasename \
| sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename.
test -z "$dstfile" && dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
# Move or copy the file name to the temp name
$doit $instcmd "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
# Now remove or move aside any old file at destination location. We
# try this two ways since rm can't unlink itself on some systems and
# the destination file might be busy for other reasons. In this case,
# the final cleanup might fail but the new file should still install
# successfully.
{
if test -f "$dstdir/$dstfile"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi &&
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit
}
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

68546
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +1,42 @@
dnl Process this file with autoconf to produce a configure script. -*-m4-*-
AC_INIT([GNU coreutils],[5.0.1],[bug-coreutils@gnu.org])
dnl Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2005,
dnl 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software Foundation,
dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
dnl Written by Jim Meyering.
AC_INIT([GNU coreutils],[5.92],[bug-coreutils@gnu.org])
AC_CONFIG_SRCDIR(src/ls.c)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_AUX_DIR(build-aux)
AC_CONFIG_HEADERS([config.h:config.hin])
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([1.6b gnits dist-bzip2])
AB_INIT()
AM_INIT_AUTOMAKE([1.8.3 gnits dist-bzip2])
AC_GNU_SOURCE
jm_PERL
gl_DEFAULT_POSIX2_VERSION
gl_USE_SYSTEM_EXTENSIONS
gl_PERL
AC_PROG_CC
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_PROG_RANLIB
AC_PROG_LN_S
AC_AIX
AC_MINIX
AC_CHECK_FUNCS(uname,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname\$(EXEEXT)"
@@ -28,33 +48,9 @@ AC_CHECK_FUNCS(gethostid,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS hostid\$(EXEEXT)"
MAN="$MAN hostid.1")
jm_MACROS
gl_MACROS
AC_HEADER_TIOCGWINSZ()
jm_WINSIZE_IN_PTEM
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
# If <sys/vfs.h> exists and struct statfs has a member named f_spare,
# enable the work-around code in fsusage.c.
AC_MSG_CHECKING([for statfs that truncates block counts])
AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#if !defined(sun) && !defined(__sun)
choke -- this is a workaround for a Sun-specific problem
#endif
#include <sys/types.h>
#include <sys/vfs.h>]],
[[struct statfs t; long c = *(t.f_spare);]])],
[fu_cv_sys_truncating_statfs=yes],
[fu_cv_sys_truncating_statfs=no])])
if test $fu_cv_sys_truncating_statfs = yes; then
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
[ Define if the block counts reported by statfs may be truncated to 2GB
and the correct values may be stored in the f_spare array.
(SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
SunOS 4.1.1 seems not to be affected.)])
fi
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
gl_WINSIZE_IN_PTEM
AC_MSG_CHECKING(whether localtime caches TZ)
AC_CACHE_VAL(utils_cv_localtime_cache,
@@ -118,33 +114,28 @@ if test $ac_cv_func_syslog = no; then
done
fi
AC_MSG_CHECKING(for 3-argument setpriority function)
AC_CACHE_VAL(utils_cv_func_setpriority,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/time.h>
#include <sys/resource.h>]], [[setpriority(0, 0, 0);]])],
[utils_cv_func_setpriority=yes],
[utils_cv_func_setpriority=no])])
AC_MSG_RESULT($utils_cv_func_setpriority)
if test $utils_cv_func_setpriority = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice\$(EXEEXT)"
MAN="$MAN nice.1"
else
AC_MSG_CHECKING(for nice function)
AC_CACHE_VAL(utils_cv_func_nice,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[nice();]])],
[utils_cv_func_nice=yes],
[utils_cv_func_nice=no])])
AC_MSG_RESULT($utils_cv_func_nice)
if test $utils_cv_func_nice = yes; then
AC_DEFINE(NICE_PRIORITY, 1, [FIXME])
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice\$(EXEEXT)"
MAN="$MAN nice.1"
fi
AC_CACHE_CHECK([for 3-argument setpriority function],
[utils_cv_func_setpriority],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include <sys/time.h>
#include <sys/resource.h>
]],
[[setpriority (0, 0, 0);]])],
[utils_cv_func_setpriority=yes],
[utils_cv_func_setpriority=no])])
if test $utils_cv_func_setpriority = no; then
AC_CHECK_FUNCS([nice])
fi
case $utils_cv_func_setpriority,$ac_cv_func_nice in
*yes*)
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice\$(EXEEXT)"
MAN="$MAN nice.1";;
esac
AC_DEFUN(jm_DUMMY_1,
AC_DEFUN([coreutils_DUMMY_1],
[
AC_REQUIRE([jm_PREREQ_READUTMP])
AC_REQUIRE([gl_READUTMP])
if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS pinky\$(EXEEXT)"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS users\$(EXEEXT)"
@@ -152,7 +143,7 @@ AC_DEFUN(jm_DUMMY_1,
MAN="$MAN pinky.1 users.1 who.1"
fi
])
jm_DUMMY_1
coreutils_DUMMY_1
AC_MSG_CHECKING(ut_host in struct utmp)
AC_CACHE_VAL(su_cv_func_ut_host_in_utmp,
@@ -185,7 +176,7 @@ GNULIB_BOOT_TIME(
MAN="$MAN uptime.1"])
AC_SYS_POSIX_TERMIOS()
jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
if test $ac_cv_sys_posix_termios = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS stty\$(EXEEXT)" MAN="$MAN stty.1"
@@ -222,9 +213,9 @@ fi
# FIXME: note that this macro appears above, too.
# I'm leaving it here for now. This whole thing needs to be modernized...
jm_WINSIZE_IN_PTEM
gl_WINSIZE_IN_PTEM
jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H
gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H
if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no && \
test $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h = no; then
@@ -248,19 +239,23 @@ if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no && \
fi
# For src/kill.c.
AC_CHECK_DECLS([strsignal, strtoimax, sys_siglist, _sys_siglist, __sys_siglist])
AC_CHECK_DECLS([strsignal, sys_siglist, _sys_siglist, __sys_siglist], , ,
[AC_INCLUDES_DEFAULT
#include <signal.h>])
jm_LIB_CHECK
# For src/kill.c and src/printf.c.
AC_CHECK_DECLS([strtoimax, strtoumax])
cu_LIB_CHECK
AM_GNU_GETTEXT([external], [need-ngettext])
AM_GNU_GETTEXT_VERSION(0.11.5)
AM_GNU_GETTEXT_VERSION(0.13.1)
AC_CONFIG_FILES(
Makefile
doc/Makefile
lib/Makefile
man/Makefile
m4/Makefile
po/Makefile.in
src/Makefile
tests/Makefile
@@ -270,7 +265,6 @@ AC_CONFIG_FILES(
tests/chown/Makefile
tests/cp/Makefile
tests/cut/Makefile
tests/date/Makefile
tests/dd/Makefile
tests/dircolors/Makefile
tests/du/Makefile
@@ -289,6 +283,7 @@ AC_CONFIG_FILES(
tests/mv/Makefile
tests/od/Makefile
tests/pr/Makefile
tests/readlink/Makefile
tests/rm/Makefile
tests/rmdir/Makefile
tests/seq/Makefile
@@ -300,6 +295,7 @@ AC_CONFIG_FILES(
tests/tac/Makefile
tests/tail-2/Makefile
tests/tail/Makefile
tests/tee/Makefile
tests/test/Makefile
tests/touch/Makefile
tests/tr/Makefile

View File

@@ -17,3 +17,4 @@ coreutils.tp
coreutils.vr
stamp-vti
version.texi
coreutils.tmp

View File

@@ -1,7 +1,981 @@
2005-10-15 Paul Eggert <eggert@cs.ucla.edu>
* doc/coreutils.texi (Top, General output formatting, dir invocation):
(vdir invocation): Don't document the old v and d commands.
2005-10-15 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Document du's -m option,
now that we've decided to keep it.
(who invocation): Remove documentation for deprecated --idle (-i).
2005-10-13 Jim Meyering <jim@meyering.net>
* coreutils.texi: Avoid a few overfull/underfull hboxes.
2005-09-24 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (touch invocation):
"touch -" now touches standard output.
2005-09-17 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (who invocation): Remove a stray '+'.
2005-09-15 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (uname invocation): uname -a no longer generates
the -p and -i outputs if they are unknown.
2005-09-13 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (Time conversion specifiers, Options for date):
Document date --rfc-3339 and new specifiers %:z, %::z, %:::z. Use
"date and time" consistently; the old version sometimes said "time
and date". Fix a minor bug in the documentation for --rfc-2822:
it claimed day-of-month < 10 had leading space, not leading zero.
Use a consistent format for terms like "RFC".
(uname invocation): Mention that Linux outputs "unknown" for
-i and -p.
2005-09-08 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (nice invocation): Document "niceness" versus
"nice value" versus "scheduling priority".
2005-09-07 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (nice invocation): Use "niceness", not "nice value"
to talk about nice values offset by -20. Don't use the word
"priority" when niceness is intended.
2005-08-15 Jim Meyering <jim@meyering.net>
* coreutils.texi (join invocation): Itemize the defaults.
From Karl Berry.
2005-08-12 Jim Meyering <jim@meyering.net>
* coreutils.texi (cp invocation, mv invocation): Remove square
brackets in --reply=[HOW]. Reported by Oscar Liljeblad.
2005-07-19 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (md5sum invocation): --check now allows multiple
FILE inputs.
2005-07-18 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (false invocation):
Mention that false is often built-in, and that it exits
with status >1 on some hosts.
(true invocation): Remove now-incorrect "non-POSIX mode" reference.
2005-07-15 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (nohup invocation): POSIXLY_CORRECT no longer
affects nohup's behavior. Input is redirected from /dev/null.
2005-07-11 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (cat invocation): Remove -B or --binary option
(available on MS-DOS-like platforms only). Explain when text and
binary mode are used now.
(md5sum invocation): -b actually does have an effect on Unix: it
causes "*" to be output. Explain when text and binary mode are
used now.
2005-07-03 Jim Meyering <jim@meyering.net>
* coreutils.texi (cp invocation): Mark --reply as deprecated.
(mv invocation): Likewise.
2005-06-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (cp invocation): Clarify how --reply=no works.
2005-06-14 William Brendling <wbrendling@gmail.com>
* coreutils.texi (du invocation): New options --last-time and
--time-style.
2005-06-19 Jim Meyering <jim@meyering.net>
* coreutils.texi (ln invocation): Change a few `paths' to `file names'.
* Makefile.am (check-texinfo): Also catch uses of path, pathname.
2005-06-17 Jim Meyering <jim@meyering.net>
* coreutils.texi (shred invocation): Clarify that shred
works on ext3 as long as it's not in data=journal mode.
Patch from Mark Melahn.
2005-06-16 Jim Meyering <jim@meyering.net>
* coreutils.texi (Backup options): Undocument --version-control=S (-V).
2005-06-07 Jim Meyering <jim@meyering.net>
* coreutils.texi (ln invocation): Examples, from Bob Proulx.
2005-06-01 Paul Eggert <eggert@cs.ucla.edu>
Use "file name" when talking about file names, instead of "filename"
or "path", as per the GNU coding standards.
* coreutils.texi (readlink invocation): "path component" ->
"component", since we don't use the POSIX "path" nomenclature.
2005-05-11 Paul Eggert <eggert@cs.ucla.edu>
* getdate.texi (General date syntax): Don't say that date
date --iso-8601=ns generates acceptable dates; it doesn't yet.
Problem reported by Nic Ferrier.
2005-05-06 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (dd invocation): New flags "binary" and "text".
2005-05-04 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (chmod invocation): chmod -w complains if its
behavior differs from what chmod a-w would do.
2005-05-02 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (ls invocation): ls --indicator-style=directory
renamed to ls --indicator-style=slash, to avoid confusion with ls
--directory.
2005-04-28 Paul Eggert <eggert@cs.ucla.edu>
* perm.texi (Mode Structure, Changing Special Permissions):
(Conditional Executability, Numeric Modes):
These days the sticky bit is more often uses as the restricted
deletion flag, so modernize the discussion about this.
(Mode Structure): Linux/GNU -> GNU/Linux.
(Symbolic Modes): Don't imply that "+ur" or "u" is valid.
(Setting Permissions): Don't imply that "+t" is invalid.
Use "rwx" rather than the less-common "rxw" in an example.
(Copying Permissions): Say that ugo is a replacement for
a string of the other letters. Add spaces around examples.
Use "set-user-ID" rather than "set user ID" to avoid ambiguity.
Use "+t" rather than "o+t", since POSIX doesn't specify the latter.
Mention which combinations are portable and which are GNU.
(Numeric Modes): Don't imply they aren't portable; they are
nowadays.
2005-04-26 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (Standards conformance): Do not mention head -10,
since it now works the same regardless of POSIX version.
(od invocation): -w N -> -w[N].
(pr invocation): -S STRING -> -SSTRING.
(fold invocation): -WIDTH works even when conforming to POSIX
1003.1-2001.
(head invocation, tail invocation): Likewise for -NUM.
(split invocation): Likewise for -LINES.
(uniq invocation): Likewise for -N.
(expand invocation, unexpand invocation): Likewise for -TAB.
(nice invocation): Likewise for -ADJUSTMENT.
(sort invocation): Clarify explanation of +N option.
(uniq invocation): Likewise.
(join invocation): Remove special case for --help, --version.
(touch invocation): Clarify explanation of date options.
(Options for date): -I timespec -> -I[timespec].
2005-04-23 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (install invocation): Use a= instead of 0 for
the point of departure for -m, and explain what it meeams.
(mkdir invocation, mkfifo invocation, mknod invocation):
The umask does not affect the point of departure.
Problem reported by Mike Stone.
2005-04-11 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi: For consistency, standardize on "user ID" rather
than "uid" or "UID" or "user id". Similarly for "group ID".
2005-04-09 Jim Meyering <jim@meyering.net>
* coreutils.texi (rm invocation): Say that --recursive removes
listed directories too, not just their contents.
2005-04-08 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (dd invocation): Document the distinction between
INFO and USR1 for dd, and the effect of POSIXLY_CORRECT here.
2005-04-05 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (cat invocation, chown invocation)
(chgrp invocation, basename invocation, dirname invocation):
Add examples, which are copies of the examples newly added
to the usage messages.
(ln invocation): Use same format as other examples above,
for consistency.
2005-03-26 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi: Clarify NUL vs null byte vs null character.
2005-03-18 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (nohup invocation): Clarify nohup.out creation.
2005-03-11 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (Formatting file timestamps): Very long timestamps
may be treated as errors.
2005-03-08 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (date invocation): Use an example that makes it
clear tha the default date use space-padded day of month.
Replace "directive" with "conversion specifier" to be consistent
with POSIX. All uses changed.
Fix menu RHS to match actual directive lists.
(Time conversion specifiers): Renamed from Time directives.
Use @samp consistently, sometimes instead of @code.
Consistently ention which specifiers are GNU extensions.
Give more examples (in some cases, instead of ranges).
Say why %F is preferred for dates.
(Date conversion specifiers): Renamed from Date directives.
Likewise for other changes.
(Padding and other flags): Correct the description.
Document #. Give an example for %9B.
2005-02-23 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi: Adjust to match current strftime.c.
(Time directives): Say that %k, %l, and %P are GNU extensions.
For %p and %P, mention handling of noon and midnight.
For %s, use ISO 8601, and mention handling of leap seconds.
For %S, clarify mention of leap seconds.
For %T, say that it's the same as %H:%M:%S.
For %X, don't say that it must be the same as %H:%M:%S.
For %z and %Z, clarify which time zones are used. These options
are now affected by --date, so don't claim that they're not.
(Date directives): %C is now all but the last two chars of %Y.
For %D, say that it's equivalent to %m/%d/%y.
For %e, use blank in example.
For %h, use @code for %b.
For %Y, mention what happens with outlandish years.
(Padding and other flags): Renamed from Padding.
Mention that the flags are GNU extensions.
Mention the 0 and ^ flags.
Mention field widths an modifiers.
(Examples of date): - is a flag, not a modifier.
2005-01-07 Jim Meyering <jim@meyering.net>
* coreutils.texi (sort invocation): Specify that a string
of zero digits is interpreted as 0. Reported by Ulrich Hermisson.
2005-01-04 Jim Meyering <jim@meyering.net>
* coreutils.texi (shred invocation): Clarify that shred works fine
with journaled file systems that are configured not to journal
file system data. Also mention BFS and NTFS.
2004-12-15 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (ls invocation): Change minor problem to be
"subdirectory not found", since top-level trouble is now serious.
(dircolors invocation): Quote argument to eval. Problem reported
by Stephane Chazelas.
2004-12-11 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (join invocation): Mention that blank separators
in the -o option need to be quoted. Problem reported by Phil Clayton.
2004-12-10 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (id invocation): -G also prints main group.
Problem reported by Tim Waugh.
2004-12-09 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (ls invocation): Document new "ls" exit status.
2004-12-08 Paul Eggert <eggert@cs.ucla.edu>
* getdate.texi (Time of day items, Time zone items):
Describe new formats +00:00, UTC+00:00.
2004-12-04 Jim Meyering <jim@meyering.net>
* coreutils.texi (cut invocation): Say when --complement is useful.
2004-10-01 Paolo Bonzini <bonzini@gnu.org>
* coreutils.texi (cut invocation): Document --complement and
adjust the documentation of -b, -c, -f.
2004-11-27 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (du invocation): Use if=/dev/null rather
than :|. Problem reported by Dan Jacobson.
Use "seek=2GiB" rather than the wordier "seek=`echo '2^31'|bc`".
Say "KiB" not the (inaccurate) "kilobytes".
Similarly for "GiB" and "gigabytes".
2004-11-16 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi: Changes inspired by Debian coreutils 5.2.1-2.
(General output formatting): -x doesn't have an operand.
(Formatting the file names): Warn that even with -N unprintable
chars are still printed as '?' some times.
(rm invocation): Reword rm -d to note that it's sometimes useful
on non-directories.
(logname invocation, users invocation, who invocation):
The utmp and wtmp file names vary from system to system.
* getdate.texi (General date syntax): "next" is 1, not 2.
Document that "second" isn't allowed as an ordinal number.
2004-11-15 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (dd invocation): Reword the new dd message.
2004-11-14 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (dd invocation): dd now outputs total bytes,
seconds, and bytes per second.
2004-11-03 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.am (_W, W_): New macros.
(check-texinfo): Use them instead of assuming grep -w (which is not
portable).
2004-10-29 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi: Document TZ better, and adjust to new getdate.texi.
(Top): Update menu.
(pr invocation, Formatting file timestamps, touch invocation,
stat invocation, who invocation, date invocation, Options for date):
Mention TZ.
* getdate.texi: Sync from gnulib.
2004-10-28 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (Standards conformance): Use "head -10" rather
than "head -1" as example of obsolete usage, since the POSIX
consensus is that "head -1" could be supported even if we don't
yet have clear consensus on "head -10". See today's revision to
the SUS FAQ
<http://www.opengroup.org/austin/papers/single_unix_faq.html>.
2004-10-24 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (pathchk invocation): Options must precede operands.
2004-10-17 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (pathchk invocation): Overall lengths are
OS limits, not file system limits. Component length checks
apply to all components, not merely to existing ones. Say
that nonexistent names are not errors. For -p, omit all
checks based on the underlying file system, not merely length
checks. Explain what the portable file name character set is.
2004-10-15 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (printf invocation): Mention ISO/IEC 10646 as
well as Unicode. Various minor formatting cleanups.
2004-10-13 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (sort invocation): Move LC_ALL, LC_COLLATE
index entries to proper paragraph.
2004-10-12 Jim Meyering <jim@meyering.net>
* Makefile.am (check-texinfo): Add `builtin' and `builtins' to
the list of words to avoid.
2004-10-11 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (Special built-in utilities): New node.
(printf invocation): builtin -> built-in, for consistency
with POSIX terminology.
(test invocation, pwd invocation):
Use specific rather than generic language to warn about
built-in commands.
(chroot invocation, env invocation, nice invocation, nohup invocation):
Warn that command must not be a special built-in.
(env invocation): Warn about environment variables with unusual
spellings, or duplicates.
2004-09-26 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (ls invocation): Document "ls --hide".
2004-09-24 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (chmod invocation): Warn about "chmod -w file".
2004-09-23 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (tail invocation): Fix bugs in the description of
the obsolete syntax (e.g., it does not support -k or -m). Warn
about usages like "tail -" and "tail -c 4" that are ambigous on
older systems.
2004-09-20 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (mv invocation, rm invocation): Say "the response
is affirmative" rather than "the response begins with y or Y",
so that the documentation is accurate in non-English locales.
Problem reported by Munzir Taha.
2004-09-18 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (dd invocation): Distinguish between options
(e.g., --help) and operands (e.g., if=file). Move miscellaneous
stuff after the operand descriptions, for clarity.
2004-09-09 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (sort invocation): -u disables the last-resort
comparison, too. Revamp its description.
(test invocation): Document -r, -w, -x more carefully.
2004-09-08 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (Common options): Some programs don't reorder
options.
(tr invocation, echo invocation, printf invocation, test invocation,
expr invocation, basename invocation, chroot invocation,
nice invocation, nohup invocation, seq invocation):
This program doesn't reorder options.
(tr invocation): Mention --help, --version, --.
(echo invocation): Mention that -- isn't special.
(test invocation): Mention that the expression is optional,
and that test ! EXPR is like ! test EXPR.
Mention that -h and -L don't dereference symlinks.
(expr invocation): Mention --help, --version.
* coreutils.texi (sort invocation): Add remarks about sort -u
versus sort | uniq. Prompted by a question from Andrew Noymer.
2004-09-06 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (od invocation): Several changes for POSIX
and FreeBSD compatibility. Add support for XSI syntax
(POSIX 1003.1-2004). Rename -s[N] to -S N. Remove documentation
for -h. -i is now -t dI (not d2) and -l is now -t dL (not d4).
2004-09-05 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (String tests): Improve quality of warning about
quoting strings for the shell.
2004-09-03 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (dd invocation): Specify which conversion options
are mutually exclusive. Give a bit more detail about ascii,
ebcdic, and ibm conversions.
2004-08-24 Paul Eggert <eggert@cs.ucla.edu>
POSIX-conformance fixes for "expand" and "unexpand".
* coreutils.texi: Standardize on "tab stop" (the POSIX usage)
rather than "tabstop".
(unexpand invocation): Use "blank" rather than "space" when
POSIX requires "blank". Define "blank". Initial blanks are
converted even if there's just one. For -a, convert two or
more blanks only if they occur just before a tab stop.
2004-08-19 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (chown invocation): Fix synopsis:
group must always be preceded by separator.
"chown : file" and "chown '' file" don't change the owner or group.
Update the explanation of what happens to the set-user-ID or
set-group-ID bits, e.g., they sometimes are not cleared if they
denote mandatory locking. Change "find"-oriented examples to use
chown -h.
2004-08-18 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (printf invocation): Clarify how "printf" is
supposed to work with extra arguments, missing arguments, etc.
2004-08-10 Paul Eggert <eggert@cs.ucla.edu>
POSIX-conformance fixes for "-" used as an operand.
* coreutils.texi (Common options): Clarify that "-" means
stdin/stdout only when it is an operand, not when it is an
option-argument.
(shred invocation): "shred -- -" is equivalent to "shred -",
not to "shred ./-".
(tee invocation): "tee -" means to copy (again) to stdout.
2004-07-25 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (nice invocation): Document the "nice value", and
how it affects the scheduling priority. (The old documentation
implied that the nice value equaled the scheduling priority, which
isn't accurate.) Document that the range of nice values might
exceed -20..19. Specify what happens when you give a nice value
that is out of range, or when you don't have permissions to lower
the nice value. Bash doesn't have a builtin 'nice', so don't say
"most shells" have one.
2004-04-03 Dmitry V. Levin <ldv@altlinux.org>
* coreutils.texi (readlink invocation): Document new
"readlink -f" behaviour and new canonicalize options, -e and -m.
2004-07-02 Jim Meyering <jim@meyering.net>
* Makefile.am (check-texinfo): Disallow `filename' in .texi files.
Spell it like `file name' instead, to be consistent.
Fail if a @footnote directive follows non-punctuation.
Fail upon use of @url. Use @uref instead.
2004-07-01 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (Common options, Target directory, cp invocation,
install invocation, mv invocation, ln invocation): Add -t as a
short option for --target-directory, and -T as a short option for
--no-target-directory. Clean up relevant synopses a bit, so that
the language is similar for all.
2004-06-30 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi: Put the right amount of space at sentence ends.
Make sure "i.e." and "e.g." are followed by commas (the GNU style).
Put blank lines before and after every @example, prefer the
previous line to end in ":" (when not a sentence end, for consistency),
and prepend @noindent to the following line when appropriate.
In examples, use "--" arguments when needed to prevent undesired
interpretation of operands as options.
Use "file name" rather than "filename", as per the GNU coding standards.
Remove unwanted spaces before @footnote.
Use "---" when appropriate, instead of " -- ".
Use "name" (or something like that) rather than "path" or "pathname",
since the GNU coding standards don't allow "path".
Use @acronym, @command, @minus{}, @samp in a few places,
where appropriate.
(Target directory): Clarify description of example.
(fmt invocation): Give issue number for reference, and reword
for clarity.
(sort invocation): Note that xargs without -0 also mishandles
file names containing some special characters other than newline.
(Translating): Mention that \012 is not universally portable.
Use '\0' rather than '\000'.
(Squeezing): bourne -> Bourne.
Fix unportable usage of '\n' by replacing it with '[\n*]'.
(More details about version sort): Remove unnecessary indent
in examples.
(dd invocation): Use 'kill -s USR1', not 'kill -USR1', as POSIX
indicates that the former is more portable (the latter is an XSI
extension).
(shred invocation): Use @uref rather than @url, and use a more-typical
style for the date.
(kill invocation): Clarify usage; for example, "kill -s TERM -1"
isn't allowed.
(seq invocation): Reword to avoid implying that printf necessarily
fails for numbers outside the 32-bit range. Prefer separating
options from their operands.
(Opening the software toolbox): Give an online reference to
Robbins's article, and give a date. Don't imply that the
current documentation is unchanged from his article.
(Putting the tools together): Rework examples so that they don't
assume the C locale; nowadays many users now operate outside the C
locale by default. While we're at it, don't assume ASCII either.
Indent example to match actual output from GNU uniq. Remove some
unnecessary and confusing brackets from 'tr' operands. "Software
Tools in Pascal" is back in print, according to Amazon anyway.
Add references to Kernighan's online copies of examples.
2004-06-30 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi, perm.texi: Standardize on "file system" rather
than "filesystem", as POSIX prefers it with a space.
2004-06-29 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (Common options, Target directory, cp
invocation, install invocation, mv invocation, ln invocation):
Likewise.
(link invocation): Explain how to rewrite link using ln now
that we have --no-target-directory.
(ln invocation): Explain that --no-target-directory subsumes
--no-dereference.
(unlink invocation): Modify wording to match new wording in
link invocation.
2004-06-25 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (install invocation): Document
--target-directory in synopsis, too.
2004-06-15 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (yes invocation): "--" is now supported.
(false invocation, true invocation): --help and --version now
work unconditionally.
2004-06-07 Jim Meyering <jim@meyering.net>
* coreutils.texi: Remove menu references to just-removed subsection.
2004-06-06 Jim Meyering <jim@meyering.net>
* coreutils.texi (tr invocation): Remove the section describing
how POSIXLY_CORRECT changes tr's behavior.
2004-06-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (cut invocation): Clarify what --output-delimiter=STR
does with byte/character ranges.
2004-06-01 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (tr invocation): Mention -C.
2004-05-13 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (echo invocation): Document today's changes.
2004-05-17 Jim Meyering <jim@meyering.net>
chgrp and chown now dereference symlinks by default, per POSIX.
* coreutils.texi (chgrp invocation, chown invocation): Document it.
2004-05-13 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (sort invocation): Document that "sort -m -o F"
might write F before reading all the input.
2004-05-09 Jim Meyering <jim@meyering.net>
* coreutils.texi (stat invocation): Change IO to I/O.
* Makefile.am (check-texinfo): Check for the above.
2004-04-25 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (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.
2004-03-27 Paul Eggert <eggert@twinsun.com>
cp -pu and mv -u (when copying) now take the destination
file system time stamp resolution into account.
* coreutils.texi (mv invocation): Document this.
(cp invocation): Document -u (it was missing!) with new behavior.
2004-04-08 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (dd invocation): Remove noctty flag from dd.
2004-04-07 Paul Eggert <eggert@twinsun.com>
New dd conv= symbols nocreat, excl, fdatasync, fsync,
and new dd options iflag= and oflag=.
* coreutils.texi (dd invocation): Document them.
2004-04-07 Jim Meyering <jim@meyering.net>
* coreutils.texi (stty invocation - Input): Document new iutf8 option.
2004-04-04 Jim Meyering <jim@meyering.net>
* coreutils.texi (stat invocation): Correct --format description.
2004-02-25 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Block size): Document new envvar BLOCKSIZE.
2004-03-24 Jim Meyering <jim@meyering.net>
* Makefile.am (check-texinfo): Add a check to ensure future
consistency in using @sc{nul}, not `NUL'.
2004-03-23 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: Use @sc{nul} consistently for NUL.
(du invocation): FILE0 -> FILE.
2004-03-23 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): --files0-from is useful with
--total (-c), not with --summarize.
2004-03-22 Jim Meyering <jim@meyering.net>
* coreutils.texi: Tweak a few lines that resulted in
`overfull hbox' warnings.
2004-03-03 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Document new option: --file0-from=F.
2004-02-29 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (touch invocation):
Describe use of fractional seconds.
(date invocation, Options for date): Likewise.
* getdate.texi (General date syntax, Time of day items): Likewise.
* coreutils.texi (date invocation): Mention effect of LC_TIME.
(Options for date): Describe new --iso-8601=ns option.
* getdate.texi: Add copyright notice. Change getdate to
get_date when talking about the function name.
(Seconds since the Epoch): New section, containing the time_t
info moved from Date input formats section, along with new
info about the @ syntax. Mention negative time stamps,
fractional time stamps, and leap seconds.
(General date syntax): Modernize examples a bit to reflect new
features.
(General date syntax, Relative items in date strings):
Use ' rather than " to quote formats.
(Time of day items): Add an example with fractional seconds.
Describe fractional-second syntax.
2004-03-15 Jim Meyering <jim@meyering.net>
* coreutils.texi (date invocation): Add missing `C' to %[...] range
in the `Date directives:: ...' menu entry. From Bob Proulx.
* coreutils.texi: Add FIXME comment:
The following don't have `invocation' nodes: [, pinky, shasum, uptime.
2004-03-10 Jim Meyering <jim@meyering.net>
* coreutils.texi (Sorting the output): Remove description of
ls's --sort=directory option. ls doesn't accept that option, yet.
Reported by Arvind Autar.
* coreutils.texi (cp invocation): Improve description of
cp's --sparse=WHEN option.
* coreutils.texi (nl invocation): Specify that these are _basic_
regular expressions (BRE), and add a link to grep's documentation.
Suggestion from Dan Jacobson.
2004-02-23 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (chown invocation): Document that chown now falls
back on USER.GROUP parsing regardless of POSIX version, as POSIX
1003.1-2001 allows that behavior as a compatible extension.
2004-02-22 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Mention that using du's -H option
currently evokes a warning.
2004-02-15 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (expr invocation):
Document what forms integers may take, and say "integer"
consistently instead of "number". Warn about operands
that "expr" can misinterpret, and how to work around the
problem.
2004-02-17 Jim Meyering <jim@meyering.net>
* coreutils.texi (csplit invocation): Correct typo (s/LINE/N/)
in description of `N' pattern. From Reuben Thomas <rrt@sc3d.org>
2004-02-11 Jim Meyering <jim@meyering.net>
* coreutils.texi (Time directives): The %s value *is* changed by the
--date=DATE option; don't say otherwise. Patch from Padraig Brady.
2004-02-10 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Formatting the file names):
Improve wording for --quoting-style documentation.
Suggestions by Bruno Haible.
2004-02-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (nice invocation): Add examples.
Prompted by a suggestion from Dan Jacobson.
(factor invocation): Add an example.
Update timing numbers for a more modern CPU.
2004-01-27 Jim Meyering <jim@meyering.net>
* coreutils.texi (seq invocation): Remove `@dots{}' at end of synopsis.
Separate `Synopses' section into three examples.
Clarify first paragraph. @w{}-protect an expression.1
Use @option{--option}, rather than @code{--option}.
2004-01-19 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Exit status): Document that ordinary failure
might not exit with status 1 on unusual platforms.
Mention chroot, env, nice, and su as having unusual exit
status patterns. Don't bother to mention true and false
since their exit status patterns are actually normal.
(sort invocation, su invocation): Mention its unusual exit
status pattern.
(chroot invocation): Simplify description of exit status 1.
Remove duplicate description of status 127.
(env invocation): Use consistent tenses; simplifiy description
of status 1.
(nice invocation): Likewise.
2003-12-15 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (touch invocation): touch -r and -d can now
both be specified, with -r specifying the origin for -d.
2004-01-15 Alfred M. Szmidt <ams@kemisten.nu>
Factor out some common options.
* coreutils.texi (Common options): Define macros here.
(What information is listed, cp invocation): Use the macro(s).
(install invocation, mv invocation, ln invocation): Likewise.
(df invocation, du invocation): Likewise.
2004-01-09 Jim Meyering <jim@meyering.net>
Document the exit status of each and every program.
* coreutils.texi (yes invocation): Document that a write error
makes `yes' exit unsuccessfully.
(chroot invocation): Enumerate the meaning of exit status values.
(nice invocation): Likewise.
(Exit status) [@macro exitstatus]: New macro.
Use @exitstatus to describe the exit status of most programs.
2004-01-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Mention that -H will eventually
mean not --si, but --dereference-args (-D).
2003-12-20 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Describe new option: -0, --null.
2003-12-03 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (What information is listed, chroot invocation):
Adjust example 'ls' output to match new behavior with narrower
output columns.
(The cut command): Remove example that cut the output of
'ls -l'. The output was incorrect even with the old 'ls', and
the whole idea of using 'cut' on 'ls -l' output is bogus anyway.
2003-11-24 Paul Eggert <eggert@twinsun.com>
Parse floating-point operands and options in the C locale.
POSIX requires this for printf, and we might as well be
consistent elsewhere (tail, sleep, seq).
* coreutils.texi (tail invocation, printf invocation,
sleep invocation, seq invocation): Document this.
2003-11-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (Traversing symlinks, Treating / specially):
New sections.
(rm invocation, chown invocation, chmod invocation, chgrp invocation):
Describe new options, --preserve-root and --no-preserve-root.
2003-11-11 Jim Meyering <jim@meyering.net>
* coreutils.texi (chown invocation) [chownchgrpoptions]: New macro
describing -H, -L, -P options. Use it here.
(chgrp invocation): And here.
2003-11-09 Jim Meyering <jim@meyering.net>
* coreutils.texi (dd invocation): Fix typo in example.
2003-10-15 Jim Meyering <jim@meyering.net>
* coreutils.texi (ln invocation): Note that --directory, -d, -F
probably won't work even for superuser. Suggestion from Dan Jacobson.
2003-09-29 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (csplit invocation):
The regexp offset need not have a sign; POSIX requires support
for signless offets.
2003-10-03 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Describe -P, --no-dereference.
2003-09-28 Jim Meyering <jim@meyering.net>
* coreutils.texi (Translating): Correct typo in menu description.
From A Costa.
2003-09-02 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (sort invocation): -d now overrides -i.
"whitespace" -> "blanks"; "whitespace" isn't correct.
-t '\0' now specifies a NUL tab.
2003-08-17 Jim Meyering <jim@meyering.net>
* coreutils.texi (who invocation): Add an entry for -l, --login.
Remove `-l' from the entry for --lookup.
(who invocation): Begin adding missing option documentation.
2003-08-07 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (split invocation):
Add -d or --numeric-suffixes option to 'split'.
2003-07-31 Paul Eggert <eggert@twinsun.com>
* getdate.texi (General date syntax): Add --rfc-2822 option to GNU date.
* coreutils.texi (Options for date): Fix a typo in format:
it's now %d not %_d. Add URLs.
2003-07-31 Paul Eggert <eggert@twinsun.com>
* getdate.texi (Relative items in date strings): Warn about
fuzz in relative units.
2003-07-29 Jim Meyering <jim@meyering.net>
* coreutils.texi (tail invocation): Restore two end-of-sentence words
that were mistakenly removed on 2002-09-13. Reported by Paul Worrall.
2003-07-28 Jim Meyering <jim@meyering.net>
* coreutils.texi (dd invocation): Explain that a SIGUSR1 signal
makes dd give a progress report to stderr.
2003-07-24 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: Document changes of 2003-07-24.
2003-07-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (su invocation): Use `@subsection', not invalid
`@heading'.
2003-07-17 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (expr invocation): Exit status is 2 if the
expression is syntactically invalid, 3 if there is some other error.
This change is for conformance to POSIX.
2003-07-14 Paul Eggert <eggert@twinsun.com>
* doc/coreutils.texi (uname invocation): Explain the POSIX
terminology behind uname -m and uname -s.
* coreutils.texi (uname invocation): Explain the POSIX
terminology behind uname -m and uname -s.
2003-07-13 Jim Meyering <jim@meyering.net>
@@ -61,7 +1035,7 @@
Fix printf POSIX compatibility bug reported by Ben Harris in
<http://mail.gnu.org/archive/html/bug-coreutils/2003-04/msg00070.html>.
* doc/coreutils.texi (printf invocation): It's \NNN in the format,
* coreutils.texi (printf invocation): It's \NNN in the format,
\0NNN in the %b operand.
2003-04-10 Jim Meyering <jim@meyering.net>
@@ -159,7 +1133,7 @@
compatible with FreeBSD and the POSIX spec is confusing
and somewhat contradictory.
* doc/coreutils.texi (Which files are listed, General output
* coreutils.texi (Which files are listed, General output
formatting): Undo last change.
2003-01-15 Jim Meyering <jim@meyering.net>

View File

@@ -24,15 +24,30 @@ MAINTAINERCLEANFILES = constants.texi
$(DVIS): $(EXTRA_DIST)
$(INFO_DEPS): $(EXTRA_DIST)
# Extended regular expressions to match word starts and ends.
_W = (^|[^A-Za-z0-9_])
W_ = ([^A-Za-z0-9_]|$$)
# List words/regexps here that should not appear in the texinfo documentation.
# E.g., use @sc{nul}, not `NUL'
# and use `time zone', not `timezone'.
check-texinfo:
fail=0; \
grep timezone $(srcdir)/*.texi && fail=1; \
$(EGREP) '$(_W)IO$(W_)' $(srcdir)/*.texi && fail=1; \
grep non-zero $(srcdir)/*.texi && fail=1; \
grep '@url{' $(srcdir)/*.texi && fail=1; \
$(EGREP) '$(_W)NUL$(W_)' $(srcdir)/*.texi && fail=1; \
grep '\$$@"' $(srcdir)/*.texi && fail=1; \
grep -n '[^[:punct:]]@footnote' $(srcdir)/*.texi && fail=1; \
grep -n filename $(srcdir)/*.texi|grep -vE 'setfilename|{filename}' \
&& fail=1; \
$(PERL) -e 1 2> /dev/null && { $(PERL) -ne \
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/ and print,exit 1' \
$(srcdir)/*.texi 2> /dev/null || fail=1; }; \
grep -iwE 'builtins?' $(srcdir)/*.texi && fail=1; \
grep -iwE 'path(name)?s?' $(srcdir)/*.texi \
| grep -vE '@vindex PATH$$|@env{PATH}' && fail=1; \
exit $$fail
check: check-texinfo

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.6 from Makefile.am.
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -35,7 +33,150 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/stamp-vti $(srcdir)/version.texi ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/afs.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/allocsa.m4 \
$(top_srcdir)/m4/argmatch.m4 $(top_srcdir)/m4/assert.m4 \
$(top_srcdir)/m4/atexit.m4 $(top_srcdir)/m4/autobuild.m4 \
$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/basename.m4 \
$(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \
$(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \
$(top_srcdir)/m4/canon-host.m4 \
$(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \
$(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \
$(top_srcdir)/m4/cloexec.m4 $(top_srcdir)/m4/closeout.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/cycle-check.m4 \
$(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/d-type.m4 \
$(top_srcdir)/m4/diacrit.m4 $(top_srcdir)/m4/dirfd.m4 \
$(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
$(top_srcdir)/m4/eoverflow.m4 $(top_srcdir)/m4/error.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fd-reopen.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \
$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
$(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \
$(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
$(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \
$(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \
$(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \
$(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
$(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash-pjw.m4 \
$(top_srcdir)/m4/hash.m4 $(top_srcdir)/m4/host-os.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/idcache.m4 $(top_srcdir)/m4/intmax_t.m4 \
$(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \
$(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/linebuffer.m4 $(top_srcdir)/m4/link-follow.m4 \
$(top_srcdir)/m4/localcharset.m4 \
$(top_srcdir)/m4/long-options.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbstate_t.m4 \
$(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/md5.m4 \
$(top_srcdir)/m4/memcasecmp.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
$(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdir-p.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/obstack.m4 \
$(top_srcdir)/m4/onceonly_2_57.m4 $(top_srcdir)/m4/openat.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \
$(top_srcdir)/m4/physmem.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \
$(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
$(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \
$(top_srcdir)/m4/readtokens.m4 $(top_srcdir)/m4/readutmp.m4 \
$(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
$(top_srcdir)/m4/restrict.m4 $(top_srcdir)/m4/rmdir-errno.m4 \
$(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/root-dev-ino.m4 \
$(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \
$(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
$(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
$(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/settime.m4 \
$(top_srcdir)/m4/sha1.m4 $(top_srcdir)/m4/sig2str.m4 \
$(top_srcdir)/m4/signed.m4 $(top_srcdir)/m4/socklen.m4 \
$(top_srcdir)/m4/sockpfaf.m4 $(top_srcdir)/m4/ssize_t.m4 \
$(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/stat-macros.m4 \
$(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \
$(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stpcpy.m4 \
$(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strcspn.m4 \
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
$(top_srcdir)/m4/stripslash.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \
$(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strstr.m4 \
$(top_srcdir)/m4/strtod.m4 $(top_srcdir)/m4/strtoimax.m4 \
$(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
$(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
$(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/strverscmp.m4 \
$(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
$(top_srcdir)/m4/tzset.m4 $(top_srcdir)/m4/uint32_t.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/uintptr_t.m4 \
$(top_srcdir)/m4/ullong_max.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
$(top_srcdir)/m4/unlink-busy.m4 $(top_srcdir)/m4/unlinkdir.m4 \
$(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/uptime.m4 \
$(top_srcdir)/m4/userspec.m4 $(top_srcdir)/m4/utimbuf.m4 \
$(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimecmp.m4 \
$(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
$(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
$(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
$(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xfts.m4 \
$(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xnanosleep.m4 \
$(top_srcdir)/m4/xreadlink.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtoimax.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/xstrtoumax.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
INFO_DEPS = $(srcdir)/coreutils.info
TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux
DVIS = coreutils.dvi
PDFS = coreutils.pdf
PSS = coreutils.ps
HTMLS = coreutils.html
TEXINFOS = coreutils.texi
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
DVIPS = dvips
am__installdirs = "$(DESTDIR)$(infodir)"
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
@@ -52,6 +193,7 @@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
@@ -59,12 +201,15 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EOVERFLOW = @EOVERFLOW@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
FNMATCH_H = @FNMATCH_H@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GETOPT_H = @GETOPT_H@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
GREP = @GREP@
HAVE__BOOL = @HAVE__BOOL@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
@@ -72,6 +217,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -80,6 +226,9 @@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_EACCESS = @LIB_EACCESS@
LIB_FDATASYNC = @LIB_FDATASYNC@
LIB_GETHRXTIME = @LIB_GETHRXTIME@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
@@ -116,7 +265,6 @@ RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STDBOOL_H = @STDBOOL_H@
STRIP = @STRIP@
U = @U@
@@ -124,6 +272,7 @@ USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
YACC = @YACC@
YFLAGS = @YFLAGS@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
@@ -132,6 +281,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@@ -139,107 +290,156 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
info_TEXINFOS = coreutils.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
MAINTAINERCLEANFILES = constants.texi
subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
INFO_DEPS = coreutils.info
DVIS = coreutils.dvi
PDFS = coreutils.pdf
PSS = coreutils.ps
TEXINFOS = coreutils.texi
DIST_COMMON = ChangeLog Makefile.am Makefile.in stamp-vti version.texi
# Extended regular expressions to match word starts and ends.
_W = (^|[^A-Za-z0-9_])
W_ = ([^A-Za-z0-9_]|$$)
all: all-am
.SUFFIXES:
.SUFFIXES: .dvi .info .pdf .ps .texi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
.SUFFIXES: .dvi .html .info .pdf .ps .texi
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
.texi.info:
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
am__cwd=`pwd` && cd $(srcdir) && \
rm -rf $$backupdir && mkdir $$backupdir && \
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
done; \
else :; fi && \
cd "$$am__cwd"; \
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ $<; \
then \
rc=0; \
cd $(srcdir); \
else \
rc=$$?; \
cd $(srcdir) && \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; exit $$rc
.texi.dvi:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
$(TEXI2DVI) $<
.texi.pdf:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
coreutils.info: coreutils.texi version.texi
coreutils.dvi: coreutils.texi version.texi
coreutils.pdf: coreutils.texi version.texi
version.texi: stamp-vti
stamp-vti: coreutils.texi $(top_srcdir)/configure
$(TEXI2PDF) $<
.texi.html:
rm -rf $(@:.html=.htp)
if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $(@:.html=.htp) $<; \
then \
rm -rf $@; \
if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
else \
if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
exit 1; \
fi
$(srcdir)/coreutils.info: coreutils.texi $(srcdir)/version.texi
coreutils.dvi: coreutils.texi $(srcdir)/version.texi
coreutils.pdf: coreutils.texi $(srcdir)/version.texi
coreutils.html: coreutils.texi $(srcdir)/version.texi
$(srcdir)/version.texi: $(srcdir)/stamp-vti
$(srcdir)/stamp-vti: coreutils.texi $(top_srcdir)/configure
@(dir=.; test -f ./coreutils.texi || dir=$(srcdir); \
set `$(SHELL) $(top_srcdir)/config/mdate-sh $$dir/coreutils.texi`; \
set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/coreutils.texi`; \
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
echo "@set VERSION $(VERSION)") > vti.tmp
@cmp -s vti.tmp version.texi \
|| (echo "Updating version.texi"; \
cp vti.tmp version.texi)
@cmp -s vti.tmp $(srcdir)/version.texi \
|| (echo "Updating $(srcdir)/version.texi"; \
cp vti.tmp $(srcdir)/version.texi)
-@rm -f vti.tmp
@cp version.texi $@
@cp $(srcdir)/version.texi $@
mostlyclean-vti:
-rm -f vti.tmp
maintainer-clean-vti:
-rm -f stamp-vti version.texi
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
DVIPS = dvips
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
.dvi.ps:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
$(DVIPS) -o $@ $<
uninstall-info-am:
$(PRE_UNINSTALL)
@$(PRE_UNINSTALL)
@if (install-info --version && \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile"; \
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile; \
echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
done; \
else :; fi
@$(NORMAL_UNINSTALL)
@@ -247,15 +447,19 @@ uninstall-info-am:
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
(if cd $(DESTDIR)$(infodir); then \
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \
(if cd "$(DESTDIR)$(infodir)"; then \
echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
else :; fi); \
done
dist-info: $(INFO_DEPS)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
for base in $$list; do \
case $$base in \
$(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$base; then d=.; else d=$(srcdir); fi; \
for file in $$d/$$base*; do \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
@@ -265,10 +469,11 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
-rm -f coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \
-rm -rf coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \
coreutils.ky coreutils.log coreutils.op coreutils.pg \
coreutils.tmp coreutils.toc coreutils.tp coreutils.tps \
coreutils.vr coreutils.dvi coreutils.pdf coreutils.ps
coreutils.vr coreutils.dvi coreutils.pdf coreutils.ps \
coreutils.html
maintainer-clean-aminfo:
@list='$(INFO_DEPS)'; for i in $$list; do \
@@ -282,10 +487,6 @@ TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@@ -299,7 +500,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@@ -320,9 +521,10 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile $(INFO_DEPS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(infodir)
for dir in "$(DESTDIR)$(infodir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -334,7 +536,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -342,7 +544,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -353,13 +555,17 @@ clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am: $(DVIS)
html: html-am
html-am: $(HTMLS)
info: info-am
info-am: $(INFO_DEPS)
@@ -372,28 +578,32 @@ install-info: install-info-am
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@list='$(INFO_DEPS)'; \
test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
$$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
if test -f $$ifile; then \
relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
$(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
else : ; fi; \
done; \
done
@$(POST_INSTALL)
@if (install-info --version && \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile || :;\
echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
done; \
else : ; fi
install-man:
@@ -401,7 +611,7 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti
@@ -420,11 +630,11 @@ ps-am: $(PSS)
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic dist-info \
distclean distclean-generic distdir dvi dvi-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-aminfo \
distclean distclean-generic distdir dvi dvi-am html html-am \
info info-am install install-am install-data install-data-am \
install-exec install-exec-am install-info install-info-am \
install-man install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti mostlyclean \
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am
@@ -440,14 +650,25 @@ $(DVIS): $(EXTRA_DIST)
$(INFO_DEPS): $(EXTRA_DIST)
# List words/regexps here that should not appear in the texinfo documentation.
# E.g., use @sc{nul}, not `NUL'
# and use `time zone', not `timezone'.
check-texinfo:
fail=0; \
grep timezone $(srcdir)/*.texi && fail=1; \
$(EGREP) '$(_W)IO$(W_)' $(srcdir)/*.texi && fail=1; \
grep non-zero $(srcdir)/*.texi && fail=1; \
grep '@url{' $(srcdir)/*.texi && fail=1; \
$(EGREP) '$(_W)NUL$(W_)' $(srcdir)/*.texi && fail=1; \
grep '\$$@"' $(srcdir)/*.texi && fail=1; \
grep -n '[^[:punct:]]@footnote' $(srcdir)/*.texi && fail=1; \
grep -n filename $(srcdir)/*.texi|grep -vE 'setfilename|{filename}' \
&& fail=1; \
$(PERL) -e 1 2> /dev/null && { $(PERL) -ne \
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/ and print,exit 1' \
$(srcdir)/*.texi 2> /dev/null || fail=1; }; \
grep -iwE 'builtins?' $(srcdir)/*.texi && fail=1; \
grep -iwE 'path(name)?s?' $(srcdir)/*.texi \
| grep -vE '@vindex PATH$$|@env{PATH}' && fail=1; \
exit $$fail
check: check-texinfo

View File

@@ -1,2 +1 @@
@set DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS 5
@set DEFAULT_MAX_N_CONSECUTIVE_SIZE_CHANGES 200

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,7 @@
@end ifnottex
@display
Copyright (C) 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

View File

@@ -1,8 +1,20 @@
@c GNU date syntax documentation
@c Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@c 2003, 2004, 2005 Free Software Foundation, Inc.
@c Permission is granted to copy, distribute and/or modify this document
@c under the terms of the GNU Free Documentation License, Version 1.1 or
@c any later version published by the Free Software Foundation; with no
@c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
@c Texts. A copy of the license is included in the ``GNU Free
@c Documentation License'' file as part of this distribution.
@node Date input formats
@chapter Date input formats
@cindex date input formats
@findex getdate
@findex get_date
First, a quote:
@@ -33,29 +45,19 @@ or a week from Sunday, with feelings of helpless confusion. @dots{}
This section describes the textual date representations that @sc{gnu}
programs accept. These are the strings you, as a user, can supply as
arguments to the various programs. The C interface (via the
@code{getdate} function) is not described here.
@cindex beginning of time, for @acronym{POSIX}
@cindex epoch, for @acronym{POSIX}
Although the date syntax here can represent any possible time since the
year zero, computer integers often cannot represent such a wide range of
time. On @acronym{POSIX} systems, the clock starts at 1970-01-01 00:00:00
@sc{utc}: @acronym{POSIX} does not require support for times before the
@acronym{POSIX} Epoch and times far in the future. Traditional Unix systems
have 32-bit signed @code{time_t} and can represent times from 1901-12-13
20:45:52 through 2038-01-19 03:14:07 @sc{utc}. Systems with 64-bit
signed @code{time_t} can represent all the times in the known
lifetime of the universe.
@code{get_date} function) is not described here.
@menu
* General date syntax:: Common rules.
* Calendar date items:: 19 Dec 1994.
* Time of day items:: 9:20pm.
* Time zone items:: @sc{est}, @sc{pdt}, @sc{gmt}, ...
* Time zone items:: @sc{est}, @sc{pdt}, @sc{gmt}.
* Day of week items:: Monday and others.
* Relative items in date strings:: next tuesday, 2 years ago.
* Pure numbers in date strings:: 19931219, 1440.
* Authors of getdate:: Bellovin, Eggert, Salz, Berets, et al.
* Seconds since the Epoch:: @@1078100502.
* Specifying time zone rules:: TZ="America/New_York", TZ="UTC0".
* Authors of get_date:: Bellovin, Eggert, Salz, Berets, et al.
@end menu
@@ -73,7 +75,7 @@ many flavors of items:
@itemize @bullet
@item calendar date items
@item time of the day items
@item time of day items
@item time zone items
@item day of the week items
@item relative items
@@ -87,13 +89,17 @@ many flavors of items:
@findex first @r{in date strings}
@findex next @r{in date strings}
@findex last @r{in date strings}
A few numbers may be written out in words in most contexts. This is
A few ordinal numbers may be written out in words in some contexts. This is
most useful for specifying day of the week items or relative items (see
below). Here is the list: @samp{first} for 1, @samp{next} for 2,
@samp{third} for 3, @samp{fourth} for 4, @samp{fifth} for 5,
below). Among the most commonly used ordinal numbers, the word
@samp{last} stands for @math{-1}, @samp{this} stands for 0, and
@samp{first} and @samp{next} both stand for 1. Because the word
@samp{second} stands for the unit of time there is no way to write the
ordinal number 2, but for convenience @samp{third} stands for 3,
@samp{fourth} for 4, @samp{fifth} for 5,
@samp{sixth} for 6, @samp{seventh} for 7, @samp{eighth} for 8,
@samp{ninth} for 9, @samp{tenth} for 10, @samp{eleventh} for 11 and
@samp{twelfth} for 12. Also, @samp{last} means exactly @math{-1}.
@samp{twelfth} for 12.
@cindex months, written-out
When a month is written this way, it is still considered to be written
@@ -107,7 +113,8 @@ abbreviations like @samp{AM}, @samp{DST}, @samp{EST}, @samp{first},
@cindex language, in dates
@cindex time zone item
The output of @command{date} is not always acceptable as a date string,
The output of the @command{date} command
is not always acceptable as a date string,
not only because of the language problem, but also because there is no
standard meaning for time zone items like @samp{IST}. When using
@command{date} to generate a date string intended to be parsed later,
@@ -117,15 +124,17 @@ ways to do this:
@example
$ LC_ALL=C TZ=UTC0 date
Fri Dec 15 19:48:05 UTC 2000
$ TZ=UTC0 date +"%Y-%m-%d %H:%M:%SZ"
2000-12-15 19:48:05Z
$ date --iso-8601=seconds # a GNU extension
2000-12-15T11:48:05-0800
$ date --rfc-822 # a GNU extension
Fri, 15 Dec 2000 11:48:05 -0800
$ date +"%Y-%m-%d %H:%M:%S %z" # %z is a GNU extension.
2000-12-15 11:48:05 -0800
Mon Mar 1 00:21:42 UTC 2004
$ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ'
2004-03-01 00:21:42Z
$ date --iso-8601=ns | tr T ' ' # --iso-8601 is a GNU extension.
2004-02-29 16:21:42,692722128-0800
$ date --rfc-2822 # a GNU extension
Sun, 29 Feb 2004 16:21:42 -0800
$ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension.
2004-02-29 16:21:42 -0800
$ date +'@@%s.%N' # %s and %N are GNU extensions.
@@1078100502.692722128
@end example
@cindex case, ignored in dates
@@ -216,16 +225,18 @@ A @dfn{time of day item} in date strings specifies the time on a given
day. Here are some examples, all of which represent the same time:
@example
20:02:0
20:02:00.000000
20:02
8:02pm
20:02-0500 # In @sc{est} (U.S. Eastern Standard Time).
@end example
More generally, the time of the day may be given as
More generally, the time of day may be given as
@samp{@var{hour}:@var{minute}:@var{second}}, where @var{hour} is
a number between 0 and 23, @var{minute} is a number between 0 and
59, and @var{second} is a number between 0 and 59. Alternatively,
59, and @var{second} is a number between 0 and 59 possibly followed by
@samp{.} or @samp{,} and a fraction containing one or more digits.
Alternatively,
@samp{:@var{second}} can be omitted, in which case it is taken to
be zero.
@@ -248,11 +259,14 @@ which uses @samp{12m} for noon and @samp{12pm} for midnight.)
The time may alternatively be followed by a time zone correction,
expressed as @samp{@var{s}@var{hh}@var{mm}}, where @var{s} is @samp{+}
or @samp{-}, @var{hh} is a number of zone hours and @var{mm} is a number
of zone minutes. When a time zone correction is given this way, it
of zone minutes. You can also separate @var{hh} from @var{mm} with a colon.
When a time zone correction is given this way, it
forces interpretation of the time relative to
Coordinated Universal Time (@sc{utc}), overriding any previous
specification for the time zone or the local time zone. The @var{minute}
part of the time of the day may not be elided when a time zone correction
specification for the time zone or the local time zone. For example,
@samp{+0530} and @samp{+05:30} both stand for the time zone 5.5 hours
ahead of @sc{utc} (e.g., India). The @var{minute}
part of the time of day may not be elided when a time zone correction
is used. This is the best way to specify a time zone correction by
fractional parts of an hour.
@@ -272,6 +286,10 @@ Time. Any included periods are ignored. By following a
non-daylight-saving time zone by the string @samp{DST} in a separate
word (that is, separated by some white space), the corresponding
daylight saving time zone may be specified.
Alternatively, a non-daylight-saving time zone can be followed by a
time zone correction, to add the two values. This is normally done
only for @samp{UTC}; for example, @samp{UTC+05:30} is equivalent to
@samp{+05:30}.
Time zone items other than @samp{UTC} and @samp{Z}
are obsolescent and are not recommended, because they
@@ -280,6 +298,10 @@ Australia than in the United States. Instead, it's better to use
unambiguous numeric time zone corrections like @samp{-0500}, as
described in the previous section.
If neither a time zone item nor a time zone correction is supplied,
time stamps are interpreted using the rules of the default time zone
(@pxref{Specifying time zone rules}).
@node Day of week items
@section Day of week items
@@ -367,9 +389,29 @@ the meaning of a zero-valued time displacement, but is preferred in
date strings like @samp{this thursday}.
When a relative item causes the resulting date to cross a boundary
where the clocks were adjusted, typically for daylight-saving time,
where the clocks were adjusted, typically for daylight saving time,
the resulting date and time are adjusted accordingly.
The fuzz in units can cause problems with relative items. For
example, @samp{2003-07-31 -1 month} might evaluate to 2003-07-01,
because 2003-06-31 is an invalid date. To determine the previous
month more reliably, you can ask for the month before the 15th of the
current month. For example:
@example
$ date -R
Thu, 31 Jul 2003 13:02:39 -0700
$ date --date='-1 month' +'Last month was %B?'
Last month was July?
$ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!'
Last month was June!
@end example
Also, take care when manipulating dates around clock changes such as
daylight saving leaps. In a few cases these have added or subtracted
as much as 24 hours from the clock, so it is often wise to adopt
universal time by setting the @env{TZ} environment variable to
@samp{UTC0} before embarking on calendrical calculations.
@node Pure numbers in date strings
@section Pure numbers in date strings
@@ -388,17 +430,101 @@ calendar date.
If the decimal number is of the form @var{hh}@var{mm} and no other time
of day item appears before it in the date string, then @var{hh} is read
as the hour of the day and @var{mm} as the minute of the hour, for the
specified time of the day. @var{mm} can also be omitted.
specified time of day. @var{mm} can also be omitted.
If both a calendar date and a time of day appear to the left of a number
in the date string, but no relative item, then the number overrides the
year.
@node Authors of getdate
@section Authors of @code{getdate}
@node Seconds since the Epoch
@section Seconds since the Epoch
@cindex authors of @code{getdate}
If you precede a number with @samp{@@}, it represents an internal time
stamp as a count of seconds. The number can contain an internal
decimal point (either @samp{.} or @samp{,}); any excess precision not
supported by the internal representation is truncated toward minus
infinity. Such a number cannot be combined with any other date
item, as it specifies a complete time stamp.
@cindex beginning of time, for @acronym{POSIX}
@cindex epoch, for @acronym{POSIX}
Internally, computer times are represented as a count of seconds since
an epoch---a well-defined point of time. On @acronym{GNU} and
@acronym{POSIX} systems, the epoch is 1970-01-01 00:00:00 @sc{utc}, so
@samp{@@0} represents this time, @samp{@@1} represents 1970-01-01
00:00:01 @sc{utc}, and so forth. @acronym{GNU} and most other
@acronym{POSIX}-compliant systems support such times as an extension
to @acronym{POSIX}, using negative counts, so that @samp{@@-1}
represents 1969-12-31 23:59:59 @sc{utc}.
Traditional Unix systems count seconds with 32-bit two's-complement
integers and can represent times from 1901-12-13 20:45:52 through
2038-01-19 03:14:07 @sc{utc}. More modern systems use 64-bit counts
of seconds with nanosecond subcounts, and can represent all the times
in the known lifetime of the universe to a resolution of 1 nanosecond.
On most systems, these counts ignore the presence of leap seconds.
For example, on most systems @samp{@@915148799} represents 1998-12-31
23:59:59 @sc{utc}, @samp{@@915148800} represents 1999-01-01 00:00:00
@sc{utc}, and there is no way to represent the intervening leap second
1998-12-31 23:59:60 @sc{utc}.
@node Specifying time zone rules
@section Specifying time zone rules
@vindex TZ
Normally, dates are interpreted using the rules of the current time
zone, which in turn are specified by the @env{TZ} environment
variable, or by a system default if @env{TZ} is not set. To specify a
different set of default time zone rules that apply just to one date,
start the date with a string of the form @samp{TZ="@var{rule}"}. The
two quote characters (@samp{"}) must be present in the date, and any
quotes or backslashes within @var{rule} must be escaped by a
backslash.
For example, with the @acronym{GNU} @command{date} command you can
answer the question ``What time is it in New York when a Paris clock
shows 6:30am on October 31, 2004?'' by using a date beginning with
@samp{TZ="Europe/Paris"} as shown in the following shell transcript:
@example
$ export TZ="America/New_York"
$ date --date='TZ="Europe/Paris" 2004-10-31 06:30'
Sun Oct 31 01:30:00 EDT 2004
@end example
In this example, the @option{--date} operand begins with its own
@env{TZ} setting, so the rest of that operand is processed according
to @samp{Europe/Paris} rules, treating the string @samp{2004-10-31
06:30} as if it were in Paris. However, since the output of the
@command{date} command is processed according to the overall time zone
rules, it uses New York time. (Paris was normally six hours ahead of
New York in 2004, but this example refers to a brief Halloween period
when the gap was five hours.)
A @env{TZ} value is a rule that typically names a location in the
@uref{http://www.twinsun.com/tz/tz-link.htm, @samp{tz} database}.
A recent catalog of location names appears in the
@uref{http://twiki.org/cgi-bin/xtra/tzdate, TWiki Date and Time
Gateway}. A few non-@acronym{GNU} hosts require a colon before a
location name in a @env{TZ} setting, e.g.,
@samp{TZ=":America/New_York"}.
The @samp{tz} database includes a wide variety of locations ranging
from @samp{Arctic/Longyearbyen} to @samp{Antarctica/South_Pole}, but
if you are at sea and have your own private time zone, or if you are
using a non-@acronym{GNU} host that does not support the @samp{tz}
database, you may need to use a @acronym{POSIX} rule instead. Simple
@acronym{POSIX} rules like @samp{UTC0} specify a time zone without
daylight saving time; other rules can specify simple daylight saving
regimes. @xref{TZ Variable,, Specifying the Time Zone with @code{TZ},
libc, The GNU C Library}.
@node Authors of get_date
@section Authors of @code{get_date}
@cindex authors of @code{get_date}
@cindex Bellovin, Steven M.
@cindex Salz, Rich
@@ -406,7 +532,7 @@ year.
@cindex MacKenzie, David
@cindex Meyering, Jim
@cindex Eggert, Paul
@code{getdate} was originally implemented by Steven M. Bellovin
@code{get_date} was originally implemented by Steven M. Bellovin
(@email{smb@@research.att.com}) while at the University of North Carolina
at Chapel Hill. The code was later tweaked by a couple of people on
Usenet, then completely overhauled by Rich $alz (@email{rsalz@@bbn.com})

View File

@@ -46,7 +46,7 @@ everyone else.
Files are given an owner and group when they are created. Usually the
owner is the current user and the group is the group of the directory
the file is in, but this varies with the operating system, the
filesystem the file is created on, and the way the file is created. You
file system the file is created on, and the way the file is created. You
can change the owner and group of a file by using the @command{chown} and
@command{chgrp} commands.
@@ -70,28 +70,30 @@ matter what group the user who creates them is in.
@cindex swap space, saving text image in
@cindex text image, saving in swap space
@cindex restricted deletion flag
save the program's text image on the swap device so it will load more
quickly when run (called the @dfn{sticky bit}). For directories on some
systems, prevent users from removing or renaming a file in a directory
prevent users from removing or renaming a file in a directory
unless they own the file or the directory; this is called the
@dfn{restricted deletion flag} for the directory.
For regular files on some systems, save the program's text image on the
swap device so it will load more quickly when run; this is called the
@dfn{sticky bit}.
@end enumerate
In addition to the permissions listed above, there may be file attributes
specific to the filesystem, e.g: access control lists (ACLs), whether a
specific to the file system, e.g: access control lists (ACLs), whether a
file is compressed, whether a file can be modified (immutability), whether
a file can be dumped. These are usually set using programs
specific to the filesystem. For example:
specific to the file system. For example:
@c should probably say a lot more about ACLs... someday
@table @asis
@item ext2
On GNU and Linux/GNU the file permissions (``attributes'') specific to
the ext2 filesystem are set using @command{chattr}.
On @acronym{GNU} and @acronym{GNU}/Linux the file permissions
(``attributes'') specific to
the ext2 file system are set using @command{chattr}.
@item FFS
On FreeBSD the file permissions (``flags'') specific to the FFS
filesystem are set using @command{chrflags}.
file system are set using @command{chrflags}.
@end table
Although a file's permission ``bits'' allow an operation on that file,
@@ -99,10 +101,10 @@ that operation may still fail, because:
@itemize
@item
the filesystem-specific permissions do not permit it;
the file-system-specific permissions do not permit it;
@item
the filesystem is mounted as read-only.
the file system is mounted as read-only.
@end itemize
For example, if the immutable attribute is set on a file,
@@ -122,9 +124,13 @@ their previous values, and perhaps on the current @code{umask} as well
The format of symbolic modes is:
@example
@r{[}ugoa@dots{}@r{][[}+-=@r{][}rwxXstugo@dots{}@r{]}@dots{}@r{][},@dots{}@r{]}
@r{[}ugoa@dots{}@r{][}+-=@r{]}@var{perms}@dots{}@r{[},@dots{}@r{]}
@end example
@noindent
where @var{perms} is either zero or more letters from the set
@samp{rwxXst}, or a single letter from the set @samp{ugo}.
The following sections describe the operators and other details of
symbolic modes.
@@ -193,7 +199,7 @@ have for the file.
@end table
The @var{permissions} part tells what kind of access to the file should
be changed; it is zero or more of the following letters. As with the
be changed; it is normally zero or more of the following letters. As with the
@var{users} part, the order does not matter when more than one letter is
given. Omitting the @var{permissions} part is useful only with the
@samp{=} operation, where it gives the specified @var{users} no access
@@ -242,7 +248,7 @@ go=
Another way to specify the same thing is:
@example
og-rxw
og-rwx
@end example
@node Copying Permissions
@@ -251,12 +257,15 @@ og-rxw
@cindex copying existing permissions
@cindex permissions, copying existing
You can base a file's permissions on its existing permissions. To do
this, instead of using @samp{r}, @samp{w}, or @samp{x} after the
this, instead of using a series of @samp{r}, @samp{w}, or @samp{x}
letters after the
operator, you use the letter @samp{u}, @samp{g}, or @samp{o}. For
example, the mode
@example
o+g
@end example
@noindent
adds the permissions for users who are in a file's group to the
permissions that other users have for the file. Thus, if the file
@@ -282,35 +291,34 @@ To change a file's permission to set the group ID on execution, use
@samp{g} in the @var{users} part of the symbolic mode and
@samp{s} in the @var{permissions} part.
To change a file's permission to stay permanently on the swap device,
use @samp{o} in the @var{users} part of the symbolic mode and
To change a file's permission to set the restricted deletion flag or sticky bit,
omit the @var{users} part of the symbolic mode (or use @samp{a}) and put
@samp{t} in the @var{permissions} part.
For example, to add set user ID permission to a program,
For example, to add set-user-ID permission to a program,
you can use the mode:
@example
u+s
@end example
To remove both set user ID and set group ID permission from
To remove both set-user-ID and set-group-ID permission from
it, you can use the mode:
@example
ug-s
@end example
To cause a program to be saved on the swap device, you can use
To set the restricted deletion flag or sticky bit, you can use
the mode:
@example
o+t
+t
@end example
Remember that the special permissions only affect files that are
executable, plus, on some systems, directories (on which they have
different meanings; @pxref{Mode Structure}).
Also, the combinations @samp{u+t}, @samp{g+t}, and @samp{o+s} have no effect.
The combination @samp{o+s} has no effect. On @acronym{GNU} systems
the combinations @samp{u+t} and @samp{g+t} have no effect, and
@samp{o+t} acts like plain @samp{+t}.
The @samp{=} operator is not very useful with special permissions; for
example, the mode:
@@ -320,7 +328,7 @@ o=t
@end example
@noindent
does cause the file to be saved on the swap device, but it also
does set the restricted deletion flag or sticky bit, but it also
removes all read, write, and execute permissions that users not in the
file's group might have had for it.
@@ -330,9 +338,7 @@ file's group might have had for it.
@cindex conditional executability
There is one more special type of symbolic permission: if you use
@samp{X} instead of @samp{x}, execute permission is affected only if the
file already had execute permission or is a directory. It affects
directories' execute permission even if they did not initially have any
execute permissions set.
file is a directory or already had execute permission.
For example, this mode:
@@ -341,8 +347,8 @@ a+X
@end example
@noindent
gives all users permission to execute files (or search directories) if
anyone could before.
gives all users permission to search directories, or to execute files if
anyone could execute them before.
@node Multiple Changes
@subsection Making Multiple Changes
@@ -453,9 +459,9 @@ the file to all users.
@cindex numeric modes
@cindex file permissions, numeric
@cindex octal numbers for file modes
File permissions are stored internally as integers. As an
As an
alternative to giving a symbolic mode, you can give an octal (base 8)
number that corresponds to the internal representation of the new mode.
number that represents the new mode.
This number is always interpreted in octal; you do not have to add a
leading 0, as you do in C. Mode 0055 is the same as mode 55.
@@ -463,11 +469,11 @@ A numeric mode is usually shorter than the corresponding symbolic
mode, but it is limited in that it cannot take into account a file's
previous permissions; it can only set them absolutely.
On most systems, the permissions granted to the user,
The permissions granted to the user,
to other users in the file's group,
and to other users not in the file's group are each stored as three
and to other users not in the file's group each require three
bits, which are represented as one octal digit. The three special
permissions are also each stored as one bit, and they are as a group
permissions also require one bit each, and they are as a group
represented as another octal digit. Here is how the bits are arranged,
starting with the lowest valued bit:
@@ -491,7 +497,7 @@ Mode Permission
400 Read
Special permissions:
1000 Save text image on swap device
1000 Restricted deletion flag or sticky bit
2000 Set group ID on execution
4000 Set user ID on execution
@end example
@@ -499,4 +505,4 @@ Mode Permission
For example, numeric mode 4755 corresponds to symbolic mode
@samp{u=rwxs,go=rx}, and numeric mode 664 corresponds to symbolic mode
@samp{ug=rw,o=r}. Numeric mode 0 corresponds to symbolic mode
@samp{ugo=}.
@samp{a=}.

166
gnupload Executable file
View File

@@ -0,0 +1,166 @@
#!/bin/sh
# Sign files and upload them.
scriptversion=2004-01-28.17
# Copyright (C) 2004 Free Software Foundation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# Originally written by Alexandre Duret-Lutz <adl@gnu.org>.
set -e
GPG='/usr/bin/gpg --batch --no-tty'
to=
usage="Usage: $0 [OPTIONS]... FILES...
Sign all FILES, and upload them to selected destinations.
Options:
--help print this help text and exit
--to DEST specify one destination for FILES
(multiple --to options are allowed)
--user NAME sign with key NAME
--version output version information and exit
Recognized destinations are:
alpha.gnu.org:DIRECTORY build directive files and upload files by FTP
ftp.gnu.org:DIRECTORY build directive files and upload files by FTP
[user@]host:DIRECTORY upload files with scp
Example:
gnupload --to sources.redhat.com:~ftp/automake \\
--to alpha.gnu.org:automake \\
automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2
Report bugs to <bug-automake@gnu.org>.
Send patches to <automake-patches@gnu.org>."
while test -n "$1"; do
case $1 in
--help)
echo "$usage"
exit 0
;;
--to)
if test -z "$2"; then
echo "$0: Missing argument for --to" 1>&2
exit 1
else
to="$to $2"
shift 2
fi
;;
--user)
if test -z "$2"; then
echo "$0: Missing argument for --user" 1>&2
exit 1
else
GPG="$GPG --local-user $2"
shift 2
fi
;;
--version)
echo "gnupload $scriptversion"
exit 0
;;
-*)
echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2
exit 1
;;
*)
break
;;
esac
done
if test $# = 0; then
echo "$0: No file to upload" 1>&2
exit 1
else
:
fi
# Make sure all files exist. We don't want to ask
# for the passphrase if the script will fail.
for file;
do
if test ! -f $file; then
echo "$0: Cannot find \`$file'" 1>&2
exit 1
else
:
fi
done
# Make sure passphrase is not exported in the environment.
unset passphrase
# Reset PATH to be sure that echo is a built-in. We will later use
# `echo $passphrase' to output the passphrase, so it is important that
# it is a built-in (third-party programs tend to appear in `ps'
# listings with their arguments...).
# Remember this script runs with `set -e', so if echo is not built-in
# it will exit now.
PATH=/empty echo -n "Enter GPG passphrase: "
stty -echo
read -r passphrase
stty echo
echo
for file;
do
echo "Signing $file..."
rm -f $file.sig
echo $passphrase | $GPG --passphrase-fd 0 -ba -o $file.sig $file
done
for dest in $to;
do
for file;
do
echo "Uploading $file to $dest..."
files="$file $file.sig"
case $dest in
alpha.gnu.org:*)
rm -f $file.directive $file.directive.asc
echo directory: `echo $dest | sed 's/[^:]*://'` >$file.directive
echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive
ncftpput ftp-upload.gnu.org /incoming/alpha $files $file.directive.asc
rm -f $file.directive $file.directive.asc
;;
ftp.gnu.org:*)
rm -f $file.directive $file.directive.asc
echo directory: `echo $dest | sed 's/[^:]*://'` >$file.directive
echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive
ncftpput ftp-upload.gnu.org /incoming/ftp $files $file.directive.asc
rm -f $file.directive $file.directive.asc
;;
*)
scp $files $dest
;;
esac
done
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@@ -1,16 +1,43 @@
alloca_.h
allocsa.h
error.h
fnmatch.h
exit.h
fnmatch_.h
fts.c
fts_.h
getaddrinfo.h
getdelim.h
getline.h
getndelim2.h
getopt.c
getopt.h
getopt1.c
getopt_.h
getopt_int.h
getpagesize.h
getpass.c
gettext.h
localcharset.h
mbchar.h
mbuiter.h
md5.h
obstack.h
printf-args.h
printf-parse.h
regcomp.c
regex.c
regex.h
regex_internal.c
regex_internal.h
stat-time.h
stdbool_.h
strcase.h
strdup.h
strndup.h
strnlen.h
strnlen1.h
strtoul.c
time_r.h
utimecmp.h
vasnprintf.h
vasprintf.h

View File

@@ -1,14 +1,19 @@
.deps
Makefile
alloca.h
charset.alias
fnmatch.h
fts.h
getdate.c
getdate.tab.c
getopt.h
lstat.c
poll.h
ref-add.sed
ref-del.sed
safe-lstat.c
safe-lstat.h
safe-stat.c
safe-stat.h
search.h
stat.c
stdbool.h
sysexit.h
t-fpending
unlocked-io.h

View File

@@ -227,3 +227,95 @@ n
p slash
p slash - path + 1
q
q
r
b asprintf
q
b main
r
n
s
q
r
q
b asprintf
r
n
s
s
s
b 515
fin
b 515
c
p length
c
p length
c
p length
n
p maxlen
p allocated
n
n
p arg
p maxlen
n
p count
p result
b 153
r
c
c
c
p length
b 147
r
c
p cp
cp dp->dir_start
p dp->dir_start
p cp
p length
n
n
q
r
q
b vasnprintf
n 20
r
n 29
n
p allocated
n 20
n
complete p alloca
p allocated
p length
n
p maxlen
n
p maxlen
n
p arg
n
p result
q
complete b vasnp
b vasnprintf
r
n 30
n
p buf
p result
complete p alloc
p allocated
n
n
n
n
p count
p maxlen
n
n

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,6 @@
## Makefile for gnulib/lib -*-Makefile-*-
# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free
# Software Foundation, Inc.
# Copyright (C) 1995-2005 Free Software Foundation, Inc.
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -15,138 +14,65 @@
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
## 02110-1301, USA.
noinst_LIBRARIES = libfetish.a
noinst_LIBRARIES = libcoreutils.a
INCLUDES = -I.. -I$(srcdir)
noinst_PROGRAMS = t-fpending
LDADD = $(noinst_LIBRARIES)
AM_CPPFLAGS = -I.. -I$(srcdir)
DEFS += -DLIBDIR=\"$(libdir)\"
## Put relatively complex files at the beginning of the list so
## that parallel compiles finish a tiny bit sooner. I don't see
## a way to make regex.c appear earlier in the list, since it's
## added by automake, but on systems with an up to date GNU libc,
## regex.c isn't even compiled.
libfetish_a_SOURCES = \
acl.h acl.c \
getdate.h getdate.y \
posixtm.c posixtm.h \
posixver.c posixver.h \
strftime.c strftime.h \
getopt.c getopt.h getopt1.c \
hash.c hash.h \
hash-pjw.c hash-pjw.h \
__fpending.h \
addext.c \
argmatch.c argmatch.h \
backupfile.c backupfile.h \
basename.c \
bumpalloc.h \
canon-host.c \
canonicalize.h \
closeout.c closeout.h \
cycle-check.c cycle-check.h \
dev-ino.h \
diacrit.c diacrit.h \
dirname.c dirname.h \
dirfd.h \
dup-safer.c \
libcoreutils_a_SOURCES = \
allocsa.c allocsa.h \
euidaccess.h \
exclude.c exclude.h \
exitfail.c exitfail.h \
filemode.c filemode.h \
file-type.c file-type.h \
fnmatch_.h \
fopen-safer.c \
fsusage.h \
ftw_.h \
exit.h \
fprintftime.c fprintftime.h \
full-read.c full-read.h \
full-write.c full-write.h \
getdelim2.c getdelim2.h \
getline.h \
getpagesize.h \
gettime.c \
getaddrinfo.h \
gettext.h \
getugroups.c \
group-member.h \
hard-locale.c hard-locale.h \
human.c human.h \
idcache.c \
isdir.c \
imaxtostr.c \
lchown.h \
linebuffer.c linebuffer.h \
localcharset.c \
long-options.c long-options.h \
makepath.c makepath.h \
localcharset.c localcharset.h \
mbchar.h \
mbswidth.c mbswidth.h \
md5.c md5.h \
memcasecmp.c memcasecmp.h \
memcoll.c memcoll.h \
modechange.c modechange.h \
mountlist.h \
offtostr.c \
path-concat.c path-concat.h \
pathmax.h \
physmem.c physmem.h \
quote.c quote.h \
quotearg.c quotearg.h \
readtokens.c readtokens.h \
readutmp.h \
regex.h \
safe-read.c safe-read.h \
safe-write.c safe-write.h \
same.c same.h \
save-cwd.c save-cwd.h \
savedir.c savedir.h \
search_.h \
settime.c \
sha.c sha.h \
sig2str.h \
stdio-safer.h \
stripslash.c \
strverscmp.h \
timespec.h \
umaxtostr.c \
mbuiter.h \
readtokens0.c readtokens0.h \
strcase.h \
strnlen1.c strnlen1.h \
strstr.h \
time_r.c time_r.h \
unicodeio.c unicodeio.h \
unistd-safer.h \
unlocked-io.h \
userspec.c \
version-etc.c version-etc.h \
xalloc.h \
xgetcwd.c xgetcwd.h \
xgethostname.c \
xmalloc.c \
verify.h \
xalloc-die.c \
xgethostname.c xgethostname.h \
xmemcoll.c xmemcoll.h \
xnanosleep.c xnanosleep.h \
xreadlink.c xreadlink.h \
xstrdup.c \
xstrtod.c xstrtod.h \
xstrtol.c xstrtol.h \
xstrtoul.c \
xstrndup.c xstrndup.h \
xstrtoimax.c \
xstrtoumax.c \
yesno.c
xstrtoumax.c
libfetish_a_SOURCES += \
libcoreutils_a_SOURCES += \
printf-args.h \
printf-parse.h \
vasprintf.h \
vasnprintf.h
libfetish_a_LIBADD = $(LIBOBJS) $(ALLOCA)
libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD)
libcoreutils_a_LIBADD = $(LIBOBJS) $(ALLOCA)
lib_OBJECTS = $(libcoreutils_a_OBJECTS)
BUILT_SOURCES = getdate.c
CLEANFILES =
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
MOSTLYCLEANFILES =
SUFFIXES =
EXTRA_DIST = config.charset ref-add.sin ref-del.sin \
fnmatch_loop.c inttostr.c inttostr.h
EXTRA_DIST = getdate.c config.charset ref-add.sin ref-del.sin \
getndelim2.c getndelim2.h
# The following is needed in order to install a simple file in $(libdir)
# We need the following in order to install a simple file in $(libdir)
# which is shared with other installed packages. We use a list of referencing
# packages so that "make uninstall" will remove the file if and only if it
# is not used by another installed package.
@@ -158,13 +84,13 @@ all-local: charset.alias ref-add.sed ref-del.sed
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
install-exec-local: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
test $(GLIBC21) != no || $(mkinstalldirs) $(DESTDIR)$(libdir)
if test -f $(charset_alias); then \
sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
else \
if test @GLIBC21@ = no; then \
if test $(GLIBC21) = no; then \
sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
@@ -184,30 +110,59 @@ uninstall-local: all-local
fi
charset.alias: config.charset
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
$(SHELL) $(srcdir)/config.charset '$(host)' > t-$@
mv t-$@ $@
BUILT_SOURCES += $(STDBOOL_H)
EXTRA_DIST += stdbool.hin
MOSTLYCLEANFILES += stdbool.h stdbool.ht
# Create stdbool.h on systems that lack a working one.
stdbool.h: stdbool.hin
sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' $(srcdir)/stdbool.hin > $@t
mv $@t $@
BUILT_SOURCES += $(ALLOCA_H)
EXTRA_DIST += alloca_.h
MOSTLYCLEANFILES += alloca.h alloca.ht
# Create an <alloca.h> when the system
# doesn't have one that works with the given compiler.
alloca.h: alloca_.h
cp $(srcdir)/alloca_.h $@t
mv $@t $@
SUFFIXES = .sed .sin
SUFFIXES += .sed .sin
.sin.sed:
sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@
mv t-$@ $@
CLEANFILES = charset.alias ref-add.sed ref-del.sed
DISTCLEANFILES = ftw.h search.h fnmatch.h
CLEANFILES += charset.alias ref-add.sed ref-del.sed
BUILT_SOURCES += $(STDBOOL_H)
EXTRA_DIST += stdbool_.h
MOSTLYCLEANFILES += stdbool.h stdbool.ht
# Create stdbool.h on systems that lack a working one.
stdbool.h: stdbool_.h
sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' $(srcdir)/stdbool_.h > $@t
mv $@t $@
BUILT_SOURCES += $(ALLOCA_H)
EXTRA_DIST += alloca_.h
# We need the following in order to create an <alloca.h> when the system
# doesn't have one that works with the given compiler.
all-local $(lib_OBJECTS): $(ALLOCA_H)
alloca.h: alloca_.h
cp $(srcdir)/alloca_.h $@-t
mv $@-t $@
MOSTLYCLEANFILES += alloca.h alloca.h-t
BUILT_SOURCES += $(FNMATCH_H)
EXTRA_DIST += fnmatch_.h fnmatch_loop.c
# We need the following in order to create an <fnmatch.h> when the system
# doesn't have one that supports the required API.
all-local $(lib_OBJECTS): $(FNMATCH_H)
fnmatch.h: fnmatch_.h
cp $(srcdir)/fnmatch_.h $@-t
mv $@-t $@
MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t
BUILT_SOURCES += $(GETOPT_H)
EXTRA_DIST += getopt_.h getopt_int.h
check: unit-test
.PHONY: unit-test
unit-test: t-fpending
./t-fpending > /dev/null
# We need the following in order to create an <getopt.h> when the system
# doesn't have one that works with the given compiler.
all-local $(lib_OBJECTS): $(GETOPT_H)
getopt.h: getopt_.h
cp $(srcdir)/getopt_.h $@-t
mv $@-t $@
MOSTLYCLEANFILES += getopt.h getopt.h-t

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,3 @@
The files in this directory are used in many GNU packages,
including diffutils, fileutils, sh-utils, tar, and textutils.
including coreutils, diffutils, and tar.
The autoconf tests required for these files are in ../m4.

View File

@@ -1,5 +1,5 @@
/* __fpending.c -- return the number of pending output bytes on a stream
Copyright (C) 2000 Free Software Foundation, Inc.
Copyright (C) 2000, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -13,16 +13,18 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by Jim Meyering. */
#if HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "__fpending.h"
/* Return the number of pending (aka buffered, unflushed)
bytes on the stream, FP, that is open for writing. */
size_t
__fpending (FILE *fp)
{

View File

@@ -1,7 +1,3 @@
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stddef.h>
#include <stdio.h>

View File

@@ -1,6 +1,6 @@
/* acl.c - access control lists
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,11 +14,11 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Written by Paul Eggert. */
#if HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -39,11 +39,11 @@
# define MIN_ACL_ENTRIES 4
#endif
/* Return 1 if PATH has a nontrivial access control list, 0 if not,
/* Return 1 if FILE has a nontrivial access control list, 0 if not,
and -1 (setting errno) if an error is encountered. */
int
file_has_acl (char const *path, struct stat const *pathstat)
file_has_acl (char const *file, struct stat const *filestat)
{
/* FIXME: This implementation should work on recent-enough versions
of HP-UX, Solaris, and Unixware, but it simply returns 0 with
@@ -52,9 +52,9 @@ file_has_acl (char const *path, struct stat const *pathstat)
fix-related ideas. */
#if HAVE_ACL && defined GETACLCNT
if (! S_ISLNK (pathstat->st_mode))
if (! S_ISLNK (filestat->st_mode))
{
int n = acl (path, GETACLCNT, 0, NULL);
int n = acl (file, GETACLCNT, 0, NULL);
return n < 0 ? (errno == ENOSYS ? 0 : -1) : (MIN_ACL_ENTRIES < n);
}
#endif

View File

@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Written by Paul Eggert. */

View File

@@ -1,118 +0,0 @@
/* addext.c -- add an extension to a file name
Copyright (C) 1990, 1997, 1998, 1999, 2001, 2003 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by David MacKenzie <djm@gnu.ai.mit.edu> and Paul Eggert */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#ifndef HAVE_DOS_FILE_NAMES
# define HAVE_DOS_FILE_NAMES 0
#endif
#ifndef HAVE_LONG_FILE_NAMES
# define HAVE_LONG_FILE_NAMES 0
#endif
#include <limits.h>
#ifndef _POSIX_NAME_MAX
# define _POSIX_NAME_MAX 14
#endif
#include <stddef.h>
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include "backupfile.h"
#include "dirname.h"
/* Append to FILENAME the extension EXT, unless the result would be too long,
in which case just append the character E. */
void
addext (char *filename, char const *ext, int e)
{
char *s = base_name (filename);
size_t slen = base_len (s);
size_t extlen = strlen (ext);
size_t slen_max = HAVE_LONG_FILE_NAMES ? 255 : _POSIX_NAME_MAX;
#if HAVE_PATHCONF && defined _PC_NAME_MAX
if (_POSIX_NAME_MAX < slen + extlen || HAVE_DOS_FILE_NAMES)
{
/* The new base name is long enough to require a pathconf check. */
long name_max;
errno = 0;
if (s == filename)
name_max = pathconf (".", _PC_NAME_MAX);
else
{
char c = *s;
if (! ISSLASH (c))
*s = 0;
name_max = pathconf (filename, _PC_NAME_MAX);
*s = c;
}
if (0 <= name_max || errno == 0)
{
long size = slen_max = name_max;
if (name_max != size)
slen_max = -1;
}
}
#endif
if (HAVE_DOS_FILE_NAMES && slen_max <= 12)
{
/* Live within DOS's 8.3 limit. */
char *dot = strchr (s, '.');
if (dot)
{
slen -= dot + 1 - s;
s = dot + 1;
slen_max = 3;
}
else
slen_max = 8;
extlen = 9; /* Don't use EXT. */
}
if (slen + extlen <= slen_max)
strcpy (s + slen, ext);
else
{
if (slen_max <= slen)
slen = slen_max - 1;
s[slen] = e;
s[slen + 1] = 0;
}
}

View File

@@ -25,23 +25,20 @@
# include <config.h>
#endif
#if HAVE_STRING_H
# include <string.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#include <alloca.h>
#include <string.h>
#include <stdlib.h>
#ifdef emacs
# include "lisp.h"
# include "blockinput.h"
# define xalloc_die() memory_full ()
# ifdef EMACS_FREE
# undef free
# define free EMACS_FREE
# endif
#else
# include <xalloc.h>
# define memory_full() abort ()
#endif
/* If compiling with GCC 2, this file's not needed. */
@@ -77,19 +74,6 @@ long i00afunc ();
# define ADDRESS_FUNCTION(arg) &(arg)
# endif
# ifndef POINTER_TYPE
# ifdef __STDC__
# define POINTER_TYPE void
# else
# define POINTER_TYPE char
# endif
# endif
typedef POINTER_TYPE *pointer;
# ifndef NULL
# define NULL 0
# endif
/* Define STACK_DIRECTION if you know the direction of stack
growth for your system; otherwise it will be automatically
deduced at run-time.
@@ -112,7 +96,7 @@ static int stack_dir; /* 1 or -1 once known. */
# define STACK_DIR stack_dir
static void
find_stack_direction ()
find_stack_direction (void)
{
static char *addr = NULL; /* Address of first `dummy', once known. */
auto char dummy; /* To get stack address. */
@@ -165,9 +149,8 @@ static header *last_alloca_header = NULL; /* -> last alloca header. */
caller, but that method cannot be made to work for some
implementations of C, for example under Gould's UTX/32. */
pointer
alloca (size)
size_t size;
void *
alloca (size_t size)
{
auto char probe; /* Probes stack depth: */
register char *depth = ADDRESS_FUNCTION (probe);
@@ -214,25 +197,25 @@ alloca (size)
{
/* Address of header. */
register pointer new;
register header *new;
size_t combined_size = sizeof (header) + size;
if (combined_size < sizeof (header))
xalloc_die ();
memory_full ();
new = xmalloc (combined_size);
new = malloc (combined_size);
if (new == 0)
abort();
if (! new)
memory_full ();
((header *) new)->h.next = last_alloca_header;
((header *) new)->h.deep = depth;
new->h.next = last_alloca_header;
new->h.deep = depth;
last_alloca_header = (header *) new;
last_alloca_header = new;
/* User storage begins just after header. */
return (pointer) ((char *) new + sizeof (header));
return (void *) (new + 1);
}
}

View File

@@ -1,5 +1,7 @@
/* Memory allocation on the stack.
Copyright (C) 1995, 1999, 2001-2003 Free Software Foundation, Inc.
Copyright (C) 1995, 1999, 2001, 2002, 2003, 2004 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
@@ -13,18 +15,16 @@
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* When this file is included, it may be preceded only by preprocessor
declarations. Thanks to AIX. Therefore we include it right after
"config.h", not later. */
/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
means there is a real alloca function. */
#ifndef _GNULIB_ALLOCA_H
# define _GNULIB_ALLOCA_H
#ifndef _ALLOCA_H
# define _ALLOCA_H
/* alloca(N) returns a pointer (void* or char*) to N bytes of memory
allocated on the stack, and which will last until the function returns.
/* alloca (N) returns a pointer to N bytes of memory
allocated on the stack, which will last until the function returns.
Use of alloca should be avoided:
- inside arguments of function calls - undefined behaviour,
- in inline functions - the allocation may actually last until the
@@ -34,35 +34,19 @@
request, the program just crashes.
*/
# ifdef __GNUC__
# ifndef alloca
# define alloca __builtin_alloca
# endif
# else
# ifdef _MSC_VER
# include <malloc.h>
# define alloca _alloca
# else
# if HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef _AIX
# pragma alloca
# else
# ifdef __hpux /* This section must match that of bison generated files. */
# ifdef __cplusplus
extern "C" void *alloca (unsigned int);
# else /* not __cplusplus */
extern void *alloca ();
# endif /* not __cplusplus */
# else /* not __hpux */
# ifndef alloca
extern char *alloca ();
# endif
# endif /* __hpux */
# endif
# endif
# endif
#ifdef __GNUC__
# define alloca __builtin_alloca
#elif defined _AIX
# define alloca __alloca
#elif defined _MSC_VER
# include <malloc.h>
# define alloca _alloca
#else
# include <stddef.h>
# ifdef __cplusplus
extern "C"
# endif
void *alloca (size_t);
#endif
#endif /* _ALLOCA_H */
#endif /* _GNULIB_ALLOCA_H */

139
lib/allocsa.c Normal file
View File

@@ -0,0 +1,139 @@
/* Safe automatic memory allocation.
Copyright (C) 2003 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
/* Specification. */
#include "allocsa.h"
/* The speed critical point in this file is freesa() applied to an alloca()
result: it must be fast, to match the speed of alloca(). The speed of
mallocsa() and freesa() in the other case are not critical, because they
are only invoked for big memory sizes. */
#if HAVE_ALLOCA
/* Store the mallocsa() results in a hash table. This is needed to reliably
distinguish a mallocsa() result and an alloca() result.
Although it is possible that the same pointer is returned by alloca() and
by mallocsa() at different times in the same application, it does not lead
to a bug in freesa(), because:
- Before a pointer returned by alloca() can point into malloc()ed memory,
the function must return, and once this has happened the programmer must
not call freesa() on it anyway.
- Before a pointer returned by mallocsa() can point into the stack, it
must be freed. The only function that can free it is freesa(), and
when freesa() frees it, it also removes it from the hash table. */
# define MAGIC_NUMBER 0x1415fb4a
# define MAGIC_SIZE sizeof (int)
/* This is how the header info would look like without any alignment
considerations. */
struct preliminary_header { void *next; char room[MAGIC_SIZE]; };
/* But the header's size must be a multiple of sa_alignment_max. */
# define HEADER_SIZE \
(((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; };
/* Verify that HEADER_SIZE == sizeof (struct header). */
typedef int verify1[2 * (HEADER_SIZE == sizeof (struct header)) - 1];
/* We make the hash table quite big, so that during lookups the probability
of empty hash buckets is quite high. There is no need to make the hash
table resizable, because when the hash table gets filled so much that the
lookup becomes slow, it means that the application has memory leaks. */
# define HASH_TABLE_SIZE 257
static void * mallocsa_results[HASH_TABLE_SIZE];
#endif
void *
mallocsa (size_t n)
{
#if HAVE_ALLOCA
/* Allocate one more word, that serves as an indicator for malloc()ed
memory, so that freesa() of an alloca() result is fast. */
size_t nplus = n + HEADER_SIZE;
if (nplus >= n)
{
char *p = (char *) malloc (nplus);
if (p != NULL)
{
size_t slot;
p += HEADER_SIZE;
/* Put a magic number into the indicator word. */
((int *) p)[-1] = MAGIC_NUMBER;
/* Enter p into the hash table. */
slot = (unsigned long) p % HASH_TABLE_SIZE;
((struct header *) (p - HEADER_SIZE))->next = mallocsa_results[slot];
mallocsa_results[slot] = p;
return p;
}
}
/* Out of memory. */
return NULL;
#else
# if !MALLOC_0_IS_NONNULL
if (n == 0)
n = 1;
# endif
return malloc (n);
#endif
}
#if HAVE_ALLOCA
void
freesa (void *p)
{
/* mallocsa() may have returned NULL. */
if (p != NULL)
{
/* Attempt to quickly distinguish the mallocsa() result - which has
a magic indicator word - and the alloca() result - which has an
uninitialized indicator word. It is for this test that sa_increment
additional bytes are allocated in the alloca() case. */
if (((int *) p)[-1] == MAGIC_NUMBER)
{
/* Looks like a mallocsa() result. To see whether it really is one,
perform a lookup in the hash table. */
size_t slot = (unsigned long) p % HASH_TABLE_SIZE;
void **chain = &mallocsa_results[slot];
for (; *chain != NULL;)
{
if (*chain == p)
{
/* Found it. Remove it from the hash table and free it. */
char *p_begin = (char *) p - HEADER_SIZE;
*chain = ((struct header *) p_begin)->next;
free (p_begin);
return;
}
chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next;
}
}
/* At this point, we know it was not a mallocsa() result. */
}
}
#endif

113
lib/allocsa.h Normal file
View File

@@ -0,0 +1,113 @@
/* Safe automatic memory allocation.
Copyright (C) 2003-2004 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ALLOCSA_H
#define _ALLOCSA_H
#include <alloca.h>
#include <stddef.h>
#include <stdlib.h>
/* safe_alloca(N) is equivalent to alloca(N) when it is safe to call
alloca(N); otherwise it returns NULL. It either returns N bytes of
memory allocated on the stack, that lasts until the function returns,
or NULL.
Use of safe_alloca should be avoided:
- inside arguments of function calls - undefined behaviour,
- in inline functions - the allocation may actually last until the
calling function returns.
*/
#if HAVE_ALLOCA
/* The OS usually guarantees only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
allocate anything larger than 4096 bytes. Also care for the possibility
of a few compiler-allocated temporary stack slots.
This must be a macro, not an inline function. */
# define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL)
#else
# define safe_alloca(N) ((N), NULL)
#endif
/* allocsa(N) is a safe variant of alloca(N). It allocates N bytes of
memory allocated on the stack, that must be freed using freesa() before
the function returns. Upon failure, it returns NULL. */
#if HAVE_ALLOCA
# define allocsa(N) \
((N) < 4032 - sa_increment \
? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \
: mallocsa (N))
#else
# define allocsa(N) \
mallocsa (N)
#endif
extern void * mallocsa (size_t n);
/* Free a block of memory allocated through allocsa(). */
#if HAVE_ALLOCA
extern void freesa (void *p);
#else
# define freesa free
#endif
/* Maybe we should also define a variant
nallocsa (size_t n, size_t s) - behaves like allocsa (n * s)
If this would be useful in your application. please speak up. */
/* ------------------- Auxiliary, non-public definitions ------------------- */
/* Determine the alignment of a type at compile time. */
#if defined __GNUC__
# define sa_alignof __alignof__
#elif defined __cplusplus
template <class type> struct sa_alignof_helper { char __slot1; type __slot2; };
# define sa_alignof(type) offsetof (sa_alignof_helper<type>, __slot2)
#elif defined __hpux
/* Work around a HP-UX 10.20 cc bug with enums constants defined as offsetof
values. */
# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
#else
# define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2)
#endif
enum
{
/* The desired alignment of memory allocations is the maximum alignment
among all elementary types. */
sa_alignment_long = sa_alignof (long),
sa_alignment_double = sa_alignof (double),
#ifdef HAVE_LONG_LONG
sa_alignment_longlong = sa_alignof (long long),
#endif
#ifdef HAVE_LONG_DOUBLE
sa_alignment_longdouble = sa_alignof (long double),
#endif
sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1)
#ifdef HAVE_LONG_LONG
| (sa_alignment_longlong - 1)
#endif
#ifdef HAVE_LONG_DOUBLE
| (sa_alignment_longdouble - 1)
#endif
) + 1,
/* The increment that guarantees room for a magic word must be >= sizeof (int)
and a multiple of sa_alignment_max. */
sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max
};
#endif /* _ALLOCSA_H */

View File

@@ -1,7 +1,7 @@
/* argmatch.c -- find a match for a string in an array
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003 Free Software
Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003, 2004, 2005 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,18 +15,19 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by David MacKenzie <djm@ai.mit.edu>
Modified by Akim Demaille <demaille@inf.enst.fr> */
#if HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
/* Specification. */
#include "argmatch.h"
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -35,9 +36,13 @@
#define _(msgid) gettext (msgid)
#include "error.h"
#include "exit.h"
#include "quotearg.h"
#include "quote.h"
#include "unlocked-io.h"
#if USE_UNLOCKED_IO
# include "unlocked-io.h"
#endif
/* When reporting an invalid argument, show nonprinting characters
by using the quoting style ARGMATCH_QUOTING_STYLE. Do not use
@@ -46,13 +51,10 @@
# define ARGMATCH_QUOTING_STYLE locale_quoting_style
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
/* Non failing version of argmatch call this function after failing. */
#ifndef ARGMATCH_DIE
# define ARGMATCH_DIE exit (EXIT_FAILURE)
# include "exitfail.h"
# define ARGMATCH_DIE exit (exit_failure)
#endif
#ifdef ARGMATCH_DIE_DECL
@@ -71,7 +73,7 @@ argmatch_exit_fn argmatch_die = __argmatch_die;
/* If ARG is an unambiguous match for an element of the
null-terminated array ARGLIST, return the index in ARGLIST
NULL-terminated array ARGLIST, return the index in ARGLIST
of the matched element, else -1 if it does not match any element
or -2 if it is ambiguous (is a prefix of more than one element).
@@ -81,14 +83,14 @@ argmatch_exit_fn argmatch_die = __argmatch_die;
"no", "nope" -> 1
"y" is a valid argument, for `0', and "n" for `1'. */
int
ptrdiff_t
argmatch (const char *arg, const char *const *arglist,
const char *vallist, size_t valsize)
{
int i; /* Temporary index in ARGLIST. */
size_t i; /* Temporary index in ARGLIST. */
size_t arglen; /* Length of ARG. */
int matchind = -1; /* Index of first nonexact match. */
int ambiguous = 0; /* If nonzero, multiple nonexact match(es). */
ptrdiff_t matchind = -1; /* Index of first nonexact match. */
bool ambiguous = false; /* If true, multiple nonexact match(es). */
arglen = strlen (arg);
@@ -112,7 +114,7 @@ argmatch (const char *arg, const char *const *arglist,
{
/* There is a real ambiguity, or we could not
disambiguate. */
ambiguous = 1;
ambiguous = true;
}
}
}
@@ -129,7 +131,7 @@ argmatch (const char *arg, const char *const *arglist,
PROBLEM is the return value from argmatch. */
void
argmatch_invalid (const char *context, const char *value, int problem)
argmatch_invalid (const char *context, const char *value, ptrdiff_t problem)
{
char const *format = (problem == -1
? _("invalid argument %s for %s")
@@ -147,7 +149,7 @@ void
argmatch_valid (const char *const *arglist,
const char *vallist, size_t valsize)
{
int i;
size_t i;
const char *last_val = NULL;
/* We try to put synonyms on the same line. The assumption is that
@@ -173,13 +175,13 @@ argmatch_valid (const char *const *arglist,
"--version-control", or "$VERSION_CONTROL" etc.). Upon failure,
calls the (supposed never to return) function EXIT_FN. */
int
ptrdiff_t
__xargmatch_internal (const char *context,
const char *arg, const char *const *arglist,
const char *vallist, size_t valsize,
argmatch_exit_fn exit_fn)
{
int res = argmatch (arg, arglist, vallist, valsize);
ptrdiff_t res = argmatch (arg, arglist, vallist, valsize);
if (res >= 0)
/* Success. */
return res;
@@ -199,7 +201,7 @@ argmatch_to_argument (const char *value,
const char *const *arglist,
const char *vallist, size_t valsize)
{
int i;
size_t i;
for (i = 0; arglist[i]; i++)
if (!memcmp (value, vallist + valsize * i, valsize))
@@ -212,23 +214,22 @@ argmatch_to_argument (const char *value,
* Based on "getversion.c" by David MacKenzie <djm@gnu.ai.mit.edu>
*/
char *program_name;
extern const char *getenv ();
/* When to make backup files. */
enum backup_type
{
/* Never make backups. */
none,
no_backups,
/* Make simple backups of every file. */
simple,
simple_backups,
/* Make numbered backups of files that already have numbered backups,
and simple backups of the others. */
numbered_existing,
numbered_existing_backups,
/* Make numbered backups of every file. */
numbered
numbered_backups
};
/* Two tables describing arguments (keys) and their corresponding
@@ -244,17 +245,17 @@ static const char *const backup_args[] =
static const enum backup_type backup_vals[] =
{
none, none, none,
simple, simple,
numbered_existing, numbered_existing,
numbered, numbered
no_backups, no_backups, no_backups,
simple_backups, simple_backups,
numbered_existing_backups, numbered_existing_backups,
numbered_backups, numbered_backups
};
int
main (int argc, const char *const *argv)
{
const char *cp;
enum backup_type backup_type = none;
enum backup_type backup_type = no_backups;
program_name = (char *) argv[0];

View File

@@ -1,5 +1,7 @@
/* argmatch.h -- definitions and prototypes for argmatch.c
Copyright (C) 1990, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2004, 2005 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -13,7 +15,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by David MacKenzie <djm@ai.mit.edu>
Modified by Akim Demaille <demaille@inf.enst.fr> */
@@ -23,45 +25,37 @@
# include <stddef.h>
# include "verify.h"
# define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array))
# define ARGMATCH_CONSTRAINT(Arglist, Vallist) \
(ARRAY_CARDINALITY (Arglist) == ARRAY_CARDINALITY (Vallist) + 1)
/* Assert there are as many real arguments as there are values
(argument list ends with a NULL guard). ARGMATCH_VERIFY is
preferred, since it is guaranteed to be checked at compile-time.
ARGMATCH_ASSERT is for backward compatibility only. */
(argument list ends with a NULL guard). */
# define ARGMATCH_VERIFY(Arglist, Vallist) \
struct argmatch_verify \
{ \
char argmatch_verify[ARGMATCH_CONSTRAINT(Arglist, Vallist) ? 1 : -1]; \
}
# define ARGMATCH_ASSERT(Arglist, Vallist) \
assert (ARGMATCH_CONSTRAINT (Arglist, Vallist))
# define ARGMATCH_VERIFY(Arglist, Vallist) \
verify (ARRAY_CARDINALITY (Arglist) == ARRAY_CARDINALITY (Vallist) + 1)
/* Return the index of the element of ARGLIST (NULL terminated) that
matches with ARG. If VALLIST is not NULL, then use it to resolve
false ambiguities (i.e., different matches of ARG but corresponding
to the same values in VALLIST). */
int argmatch (char const *arg, char const *const *arglist,
char const *vallist, size_t valsize);
ptrdiff_t argmatch (char const *arg, char const *const *arglist,
char const *vallist, size_t valsize);
# define ARGMATCH(Arg, Arglist, Vallist) \
argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist))
/* xargmatch calls this function when it fails. This function should not
return. By default, this is a function that calls ARGMATCH_DIE which
in turn defaults to `exit (EXIT_FAILURE)'. */
in turn defaults to `exit (exit_failure)'. */
typedef void (*argmatch_exit_fn) (void);
extern argmatch_exit_fn argmatch_die;
/* Report on stderr why argmatch failed. Report correct values. */
void argmatch_invalid (char const *context, char const *value, int problem);
void argmatch_invalid (char const *context, char const *value,
ptrdiff_t problem);
/* Left for compatibility with the old name invalid_arg */
@@ -83,10 +77,10 @@ void argmatch_valid (char const *const *arglist,
/* Same as argmatch, but upon failure, reports a explanation on the
failure, and exits using the function EXIT_FN. */
int __xargmatch_internal (char const *context,
char const *arg, char const *const *arglist,
char const *vallist, size_t valsize,
argmatch_exit_fn exit_fn);
ptrdiff_t __xargmatch_internal (char const *context,
char const *arg, char const *const *arglist,
char const *vallist, size_t valsize,
argmatch_exit_fn exit_fn);
/* Programmer friendly interface to __xargmatch_internal. */

View File

@@ -1,20 +1,19 @@
/* Formatted output to strings.
Copyright (C) 1999, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>

View File

@@ -1,20 +1,19 @@
/* Formatted output to strings.
Copyright (C) 1999, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>

View File

@@ -1,11 +1,12 @@
/* Wrapper to implement ANSI C's atexit using SunOS's on_exit. */
/* This function is in the public domain. --Mike Stump. */
#include "config.h"
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
int
atexit(f)
void (*f)();
atexit (void (*f) (void))
{
/* If the system doesn't provide a definition for atexit, use on_exit
if the system provides that. */

View File

@@ -1,7 +1,7 @@
/* backupfile.c -- make Emacs style backup file names
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,22 +16,29 @@
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>.
Some algorithms adapted from GNU Emacs. */
/* Written by Paul Eggert and David MacKenzie.
Some algorithms adapted from GNU Emacs. */
#if HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stddef.h>
#include <stdio.h>
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#include "backupfile.h"
#include "argmatch.h"
#include "dirname.h"
#include "xalloc.h"
#include <errno.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <unistd.h>
#if HAVE_DIRENT_H
# include <dirent.h>
@@ -50,43 +57,41 @@
# endif
#endif
#if CLOSEDIR_VOID
/* Fake a return value. */
# define CLOSEDIR(d) (closedir (d), 0)
#else
# define CLOSEDIR(d) closedir (d)
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef HAVE_DECL_GETENV
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_GETENV
char *getenv ();
#endif
#ifndef HAVE_DECL_MALLOC
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_MALLOC
char *malloc ();
#endif
#if HAVE_DIRENT_H || HAVE_NDIR_H || HAVE_SYS_DIR_H || HAVE_SYS_NDIR_H
# define HAVE_DIR 1
#else
# define HAVE_DIR 0
#endif
#include <limits.h>
#if D_INO_IN_DIRENT
# define REAL_DIR_ENTRY(dp) ((dp)->d_ino != 0)
#else
# define REAL_DIR_ENTRY(dp) 1
#endif
/* Upper bound on the string length of an integer converted to string.
302 / 1000 is ceil (log10 (2.0)). Subtract 1 for the sign bit;
add 1 for integer division truncation; add 1 more for a minus sign. */
#define INT_STRLEN_BOUND(t) ((sizeof (t) * CHAR_BIT - 1) * 302 / 1000 + 2)
#if ! (HAVE_PATHCONF && defined _PC_NAME_MAX)
# define pathconf(file, option) (errno = -1)
#endif
#ifndef _POSIX_NAME_MAX
# define _POSIX_NAME_MAX 14
#endif
#ifndef SIZE_MAX
# define SIZE_MAX ((size_t) -1)
#endif
#if defined _XOPEN_NAME_MAX
# define NAME_MAX_MINIMUM _XOPEN_NAME_MAX
#else
# define NAME_MAX_MINIMUM _POSIX_NAME_MAX
#endif
#ifndef HAVE_DOS_FILE_NAMES
# define HAVE_DOS_FILE_NAMES 0
#endif
#ifndef HAVE_LONG_FILE_NAMES
# define HAVE_LONG_FILE_NAMES 0
#endif
/* ISDIGIT differs from isdigit, as follows:
- Its arg may be any int or unsigned int; it need not be an unsigned char.
@@ -95,164 +100,269 @@ char *malloc ();
POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
ISDIGIT_LOCALE unless it's important to use the locale's definition
of `digit' even when the host does not conform to POSIX. */
#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
#if D_INO_IN_DIRENT
# define REAL_DIR_ENTRY(dp) ((dp)->d_ino != 0)
#else
# define REAL_DIR_ENTRY(dp) 1
#endif
#include "argmatch.h"
#include "backupfile.h"
#include "dirname.h"
#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
/* The extension added to file names to produce a simple (as opposed
to numbered) backup file name. */
const char *simple_backup_suffix = "~";
char const *simple_backup_suffix = "~";
static int max_backup_version (const char *, const char *);
static int version_number (const char *, const char *, size_t);
/* Return the name of the new backup file for file FILE,
allocated with malloc. Return 0 if out of memory.
FILE must not end with a '/' unless it is the root directory.
Do not call this function if backup_type == none. */
/* If FILE (which was of length FILELEN before an extension was
appended to it) is too long, replace the extension with the single
char E. If the result is still too long, remove the char just
before E. */
char *
find_backup_file_name (const char *file, enum backup_type backup_type)
static void
check_extension (char *file, size_t filelen, char e)
{
size_t backup_suffix_size_max;
size_t file_len = strlen (file);
size_t numbered_suffix_size_max = INT_STRLEN_BOUND (int) + 4;
char *s;
const char *suffix = simple_backup_suffix;
char *base = base_name (file);
size_t baselen = base_len (base);
size_t baselen_max = HAVE_LONG_FILE_NAMES ? 255 : NAME_MAX_MINIMUM;
/* Allow room for simple or `.~N~' backups. */
backup_suffix_size_max = strlen (simple_backup_suffix) + 1;
if (HAVE_DIR && backup_suffix_size_max < numbered_suffix_size_max)
backup_suffix_size_max = numbered_suffix_size_max;
s = malloc (file_len + 1
+ backup_suffix_size_max + numbered_suffix_size_max);
if (s)
if (HAVE_DOS_FILE_NAMES || NAME_MAX_MINIMUM < baselen)
{
#if HAVE_DIR
if (backup_type != simple)
{
int highest_backup;
size_t dirlen = dir_len (file);
/* The new base name is long enough to require a pathconf check. */
long name_max;
memcpy (s, file, dirlen);
if (dirlen == FILESYSTEM_PREFIX_LEN (file))
s[dirlen++] = '.';
s[dirlen] = '\0';
highest_backup = max_backup_version (base_name (file), s);
if (! (backup_type == numbered_existing && highest_backup == 0))
{
char *numbered_suffix = s + (file_len + backup_suffix_size_max);
sprintf (numbered_suffix, ".~%d~", highest_backup + 1);
suffix = numbered_suffix;
}
/* Temporarily modify the buffer into its parent directory name,
invoke pathconf on the directory, and then restore the buffer. */
char tmp[sizeof "."];
memcpy (tmp, base, sizeof ".");
strcpy (base, ".");
errno = 0;
name_max = pathconf (file, _PC_NAME_MAX);
if (0 <= name_max || errno == 0)
{
long size = baselen_max = name_max;
if (name_max != size)
baselen_max = SIZE_MAX;
}
memcpy (base, tmp, sizeof ".");
}
if (HAVE_DOS_FILE_NAMES && baselen_max <= 12)
{
/* Live within DOS's 8.3 limit. */
char *dot = strchr (base, '.');
if (!dot)
baselen_max = 8;
else
{
char const *second_dot = strchr (dot + 1, '.');
baselen_max = (second_dot
? second_dot - base
: dot + 1 - base + 3);
}
}
if (baselen_max < baselen)
{
baselen = file + filelen - base;
if (baselen_max <= baselen)
baselen = baselen_max - 1;
base[baselen] = e;
base[baselen + 1] = '\0';
}
}
#if HAVE_DIR
/* Returned values for NUMBERED_BACKUP. */
enum numbered_backup_result
{
/* The new backup name is the same length as an existing backup
name, so it's valid for that directory. */
BACKUP_IS_SAME_LENGTH,
/* Some backup names already exist, but the returned name is longer
than any of them, and its length should be checked. */
BACKUP_IS_LONGER,
/* There are no existing backup names. The new name's length
should be checked. */
BACKUP_IS_NEW
};
/* *BUFFER contains a file name. Store into *BUFFER the next backup
name for the named file, with a version number greater than all the
existing numbered backups. Reallocate *BUFFER as necessary; its
initial allocated size is BUFFER_SIZE, which must be at least 4
bytes longer than the file name to make room for the initially
appended ".~1". FILELEN is the length of the original file name.
The returned value indicates what kind of backup was found. If an
I/O or other read error occurs, use the highest backup number that
was found. */
static enum numbered_backup_result
numbered_backup (char **buffer, size_t buffer_size, size_t filelen)
{
enum numbered_backup_result result = BACKUP_IS_NEW;
DIR *dirp;
struct dirent *dp;
char *buf = *buffer;
size_t versionlenmax = 1;
char *base = base_name (buf);
size_t base_offset = base - buf;
size_t baselen = base_len (base);
/* Temporarily modify the buffer into its parent directory name,
open the directory, and then restore the buffer. */
char tmp[sizeof "."];
memcpy (tmp, base, sizeof ".");
strcpy (base, ".");
dirp = opendir (buf);
memcpy (base, tmp, sizeof ".");
strcpy (base + baselen, ".~1~");
if (!dirp)
return result;
while ((dp = readdir (dirp)) != NULL)
{
char const *p;
char *q;
bool all_9s;
size_t versionlen;
size_t new_buflen;
if (! REAL_DIR_ENTRY (dp) || NLENGTH (dp) < baselen + 4)
continue;
if (memcmp (buf + base_offset, dp->d_name, baselen + 2) != 0)
continue;
p = dp->d_name + baselen + 2;
/* Check whether this file has a version number and if so,
whether it is larger. Use string operations rather than
integer arithmetic, to avoid problems with integer overflow. */
if (! ('1' <= *p && *p <= '9'))
continue;
all_9s = (*p == '9');
for (versionlen = 1; ISDIGIT (p[versionlen]); versionlen++)
all_9s &= (p[versionlen] == '9');
if (! (p[versionlen] == '~' && !p[versionlen + 1]
&& (versionlenmax < versionlen
|| (versionlenmax == versionlen
&& memcmp (buf + filelen + 2, p, versionlen) <= 0))))
continue;
/* This directory has the largest version number seen so far.
Append this highest numbered extension to the file name,
prepending '0' to the number if it is all 9s. */
versionlenmax = all_9s + versionlen;
result = (all_9s ? BACKUP_IS_LONGER : BACKUP_IS_SAME_LENGTH);
new_buflen = filelen + 2 + versionlenmax + 1;
if (buffer_size <= new_buflen)
{
buf = xnrealloc (buf, 2, new_buflen);
buffer_size = new_buflen * 2;
}
q = buf + filelen;
*q++ = '.';
*q++ = '~';
*q = '0';
q += all_9s;
memcpy (q, p, versionlen + 2);
/* Add 1 to the version number. */
q += versionlen;
while (*--q == '9')
*q = '0';
++*q;
}
closedir (dirp);
*buffer = buf;
return result;
}
#endif /* HAVE_DIR */
strcpy (s, file);
addext (s, suffix, '~');
}
/* Return the name of the new backup file for the existing file FILE,
allocated with malloc. Report an error and fail if out of memory.
Do not call this function if backup_type == no_backups. */
char *
find_backup_file_name (char const *file, enum backup_type backup_type)
{
size_t filelen = strlen (file);
char *s;
size_t ssize;
bool simple = true;
/* Allow room for simple or ".~N~" backups. The guess must be at
least sizeof ".~1~", but otherwise will be adjusted as needed. */
size_t simple_backup_suffix_size = strlen (simple_backup_suffix) + 1;
size_t backup_suffix_size_guess = simple_backup_suffix_size;
enum { GUESS = sizeof ".~12345~" };
if (HAVE_DIR && backup_suffix_size_guess < GUESS)
backup_suffix_size_guess = GUESS;
ssize = filelen + backup_suffix_size_guess + 1;
s = xmalloc (ssize);
memcpy (s, file, filelen + 1);
#if HAVE_DIR
if (backup_type != simple_backups)
switch (numbered_backup (&s, ssize, filelen))
{
case BACKUP_IS_SAME_LENGTH:
return s;
case BACKUP_IS_LONGER:
simple = false;
break;
case BACKUP_IS_NEW:
simple = (backup_type == numbered_existing_backups);
break;
}
#endif
if (simple)
memcpy (s + filelen, simple_backup_suffix, simple_backup_suffix_size);
check_extension (s, filelen, '~');
return s;
}
#if HAVE_DIR
/* Return the number of the highest-numbered backup file for file
FILE in directory DIR. If there are no numbered backups
of FILE in DIR, or an error occurs reading DIR, return 0.
*/
static int
max_backup_version (const char *file, const char *dir)
static char const * const backup_args[] =
{
DIR *dirp;
struct dirent *dp;
int highest_version;
int this_version;
size_t file_name_length;
dirp = opendir (dir);
if (!dirp)
return 0;
highest_version = 0;
file_name_length = base_len (file);
while ((dp = readdir (dirp)) != 0)
{
if (!REAL_DIR_ENTRY (dp) || NLENGTH (dp) < file_name_length + 4)
continue;
this_version = version_number (file, dp->d_name, file_name_length);
if (this_version > highest_version)
highest_version = this_version;
}
if (CLOSEDIR (dirp))
return 0;
return highest_version;
}
/* If BACKUP is a numbered backup of BASE, return its version number;
otherwise return 0. BASE_LENGTH is the length of BASE.
*/
static int
version_number (const char *base, const char *backup, size_t base_length)
{
int version;
const char *p;
version = 0;
if (strncmp (base, backup, base_length) == 0
&& backup[base_length] == '.'
&& backup[base_length + 1] == '~')
{
for (p = &backup[base_length + 2]; ISDIGIT (*p); ++p)
version = version * 10 + *p - '0';
if (p[0] != '~' || p[1])
version = 0;
}
return version;
}
#endif /* HAVE_DIR */
static const char * const backup_args[] =
{
/* In a series of synonyms, present the most meaning full first, so
/* In a series of synonyms, present the most meaningful first, so
that argmatch_valid be more readable. */
"none", "off",
"simple", "never",
"existing", "nil",
"numbered", "t",
0
NULL
};
static const enum backup_type backup_types[] =
{
none, none,
simple, simple,
numbered_existing, numbered_existing,
numbered, numbered
no_backups, no_backups,
simple_backups, simple_backups,
numbered_existing_backups, numbered_existing_backups,
numbered_backups, numbered_backups
};
/* Ensure that these two vectors have the same number of elements,
not counting the final NULL in the first one. */
ARGMATCH_VERIFY (backup_args, backup_types);
/* Return the type of backup specified by VERSION.
If VERSION is NULL or the empty string, return numbered_existing.
If VERSION is NULL or the empty string, return numbered_existing_backups.
If VERSION is invalid or ambiguous, fail with a diagnostic appropriate
for the specified CONTEXT. Unambiguous abbreviations are accepted. */
enum backup_type
get_version (const char *context, const char *version)
get_version (char const *context, char const *version)
{
if (version == 0 || *version == 0)
return numbered_existing;
return numbered_existing_backups;
else
return XARGMATCH (context, version, backup_args, backup_types);
}
@@ -265,7 +375,7 @@ get_version (const char *context, const char *version)
Unambiguous abbreviations are accepted. */
enum backup_type
xget_version (const char *context, const char *version)
xget_version (char const *context, char const *version)
{
if (version && *version)
return get_version (context, version);

View File

@@ -1,5 +1,7 @@
/* backupfile.h -- declarations for making Emacs style backup file names
Copyright (C) 1990-1992, 1997-1999 Free Software Foundation, Inc.
Copyright (C) 1990, 1991, 1992, 1997, 1998, 1999, 2003, 2004 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,33 +16,35 @@
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef BACKUPFILE_H_
# define BACKUPFILE_H_
# ifdef __cplusplus
extern "C" {
# endif
/* When to make backup files. */
enum backup_type
{
/* Never make backups. */
none,
no_backups,
/* Make simple backups of every file. */
simple,
simple_backups,
/* Make numbered backups of files that already have numbered backups,
and simple backups of the others. */
numbered_existing,
numbered_existing_backups,
/* Make numbered backups of every file. */
numbered
numbered_backups
};
# define VALID_BACKUP_TYPE(Type) \
((Type) == none \
|| (Type) == simple \
|| (Type) == numbered_existing \
|| (Type) == numbered)
((unsigned int) (Type) <= numbered_backups)
extern char const *simple_backup_suffix;
@@ -49,4 +53,9 @@ enum backup_type get_version (char const *context, char const *arg);
enum backup_type xget_version (char const *context, char const *arg);
void addext (char *, char const *, int);
# ifdef __cplusplus
}
# endif
#endif /* ! BACKUPFILE_H_ */

View File

@@ -1,5 +1,7 @@
/* basename.c -- return the last element in a path
Copyright (C) 1990, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
/* basename.c -- return the last element in a file name
Copyright (C) 1990, 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -13,16 +15,14 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#if HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#endif
#include "dirname.h"
#include <string.h>
/* In general, we can't use the builtin `basename' function if available,
since it has different meanings in different environments.
@@ -35,7 +35,7 @@
char *
base_name (char const *name)
{
char const *base = name + FILESYSTEM_PREFIX_LEN (name);
char const *base = name + FILE_SYSTEM_PREFIX_LEN (name);
char const *p;
for (p = base; *p; p++)

View File

@@ -3,11 +3,13 @@
In the public domain.
By David MacKenzie <djm@gnu.ai.mit.edu>. */
#include <stddef.h>
void
bcopy (source, dest, length)
char *source, *dest;
unsigned length;
bcopy (void const *source0, void *dest0, size_t length)
{
char const *source = source0;
char *dest = dest0;
if (source < dest)
/* Moving from low mem to hi mem; start at end. */
for (source += length, dest += length; length; --length)

View File

@@ -1,63 +0,0 @@
/* BUMP_ALLOC macro - increase table allocation by one element.
Copyright (C) 1990, 1991, 1993, 1998, 2000, 2003 Free Software Foundation, Inc.
François Pinard <pinard@iro.umontreal.ca>, 1990.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/*-------------------------------------------------------------------------.
| Bump the allocation of the array pointed to by TABLE whenever required. |
| The table already has already COUNT elements in it, this macro ensure it |
| has enough space to accommodate at least one more element. Space is |
| allocated (2 ^ EXPONENT) elements at a time. Each element of the array |
| is of type TYPE. |
`-------------------------------------------------------------------------*/
/* Routines `xmalloc' and `xrealloc' are called to do the actual memory
management. This implies that the program will abort with a "memory
exhausted" error if any problem arise.
To work correctly, at least EXPONENT and TYPE should always be the
same for all uses of this macro for any given TABLE. A secure way to
achieve this is to never use this macro directly, but use it to define
other macros, which would then be TABLE-specific.
The first time through, COUNT is usually zero. Note that COUNT is not
updated by this macro, but it should be update elsewhere, later. This
is convenient, because it allows TABLE[COUNT] to refer to the new
element at the end. Once its construction is completed, COUNT++ will
record it in the table. Calling this macro several times in a row
without updating COUNT is a bad thing to do. */
#define BUMP_ALLOC(Table, Count, Exponent, Type) \
BUMP_ALLOC_WITH_SIZE ((Table), (Count), (Exponent), Type, sizeof (Type))
/* In cases `sizeof TYPE' would not always yield the correct value for
the size of each element entry, this macro accepts a supplementary
SIZE argument. The EXPONENT, TYPE and SIZE parameters should still
have the same value for all macro calls related to a specific TABLE. */
#define BUMP_ALLOC_WITH_SIZE(Table, Count, Exponent, Type, Size) \
do \
{ \
if (((Count) & (~(~0 << (Exponent)))) == 0) \
{ \
if ((Count) == 0) \
(Table) = xmalloc ((1 << (Exponent)) * (Size)); \
else \
(Table) = \
xrealloc ((Table), ((Count) + (1 << (Exponent))) * (Size)); \
} \
} \
while (0)

81
lib/c-strtod.c Normal file
View File

@@ -0,0 +1,81 @@
/* Convert string to double, using the C locale.
Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by Paul Eggert. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "c-strtod.h"
#include <locale.h>
#include <stdlib.h>
#include "xalloc.h"
#if LONG
# define C_STRTOD c_strtold
# define DOUBLE long double
# define STRTOD_L strtold_l
#else
# define C_STRTOD c_strtod
# define DOUBLE double
# define STRTOD_L strtod_l
#endif
/* c_strtold falls back on strtod if strtold doesn't conform to C99. */
#if LONG && HAVE_C99_STRTOLD
# define STRTOD strtold
#else
# define STRTOD strtod
#endif
DOUBLE
C_STRTOD (char const *nptr, char **endptr)
{
DOUBLE r;
#ifdef LC_ALL_MASK
locale_t c_locale = newlocale (LC_ALL_MASK, "C", 0);
r = STRTOD_L (nptr, endptr, c_locale);
freelocale (c_locale);
#else
char *saved_locale = setlocale (LC_NUMERIC, NULL);
if (saved_locale)
{
saved_locale = xstrdup (saved_locale);
setlocale (LC_NUMERIC, "C");
}
r = STRTOD (nptr, endptr);
if (saved_locale)
{
setlocale (LC_NUMERIC, saved_locale);
free (saved_locale);
}
#endif
return r;
}

2
lib/c-strtod.h Normal file
View File

@@ -0,0 +1,2 @@
double c_strtod (char const *, char **);
long double c_strtold (char const *, char **);

2
lib/c-strtold.c Normal file
View File

@@ -0,0 +1,2 @@
#define LONG 1
#include "c-strtod.c"

46
lib/calloc.c Normal file
View File

@@ -0,0 +1,46 @@
/* calloc() function that is glibc compatible.
This wrapper function is required at least on Tru64 UNIX 5.1.
Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* written by Jim Meyering */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#undef calloc
#include <stdlib.h>
/* Allocate and zero-fill an NxS-byte block of memory from the heap.
If N or S is zero, allocate and zero-fill a 1-byte block. */
void *
rpl_calloc (size_t n, size_t s)
{
size_t bytes;
if (n == 0 || s == 0)
return calloc (1, 1);
/* Defend against buggy calloc implementations that mishandle
size_t overflow. */
bytes = n * s;
if (bytes / s != n)
return NULL;
return calloc (n, s);
}

View File

@@ -1,8 +1,8 @@
/* Host name canonicalization
Copyright (C) 1995, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 2005 Free Software Foundation, Inc.
Written by Miles Bader <miles@gnu.ai.mit.edu>
Written by Derek Price <derek@ximbiot.com>.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -16,97 +16,75 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
# include <string.h>
#endif
#ifdef HAVE_NETDB_H
# include <netdb.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
#include "canon-host.h"
#ifdef HAVE_NETINET_IN_H
# include <netinet/in.h>
#endif
#ifdef HAVE_ARPA_INET_H
# include <arpa/inet.h>
#endif
#include "getaddrinfo.h"
#include "strdup.h"
/* Returns the canonical hostname associated with HOST (allocated in a static
buffer), or 0 if it can't be determined. */
/* Store the last error for the single-threaded version of this function. */
static int last_cherror;
/* Single-threaded of wrapper for canon_host_r. After a NULL return, error
messages may be retrieved via ch_strerror(). */
char *
canon_host (const char *host)
{
#ifdef HAVE_GETHOSTBYNAME
struct hostent *he = gethostbyname (host);
if (he)
{
# ifdef HAVE_GETHOSTBYADDR
char *addr = 0;
/* Try and get an ascii version of the numeric host address. */
switch (he->h_addrtype)
{
# ifdef HAVE_INET_NTOA
case AF_INET:
addr = inet_ntoa (*(struct in_addr *) he->h_addr);
break;
# endif /* HAVE_INET_NTOA */
}
if (addr && strcmp (he->h_name, addr) == 0)
{
/* gethostbyname has returned a string representation of the IP
address, for example, "127.0.0.1". So now, look up the host
name via the address. Although it may seem reasonable to look
up the host name via the address, we must not pass `he->h_addr'
directly to gethostbyaddr because on some systems he->h_addr
is located in a static library buffer that is reused in the
gethostbyaddr call. Make a copy and use that instead. */
char *h_addr_copy = (char *) malloc (he->h_length);
if (h_addr_copy == NULL)
he = NULL;
else
{
memcpy (h_addr_copy, he->h_addr, he->h_length);
he = gethostbyaddr (h_addr_copy, he->h_length, he->h_addrtype);
free (h_addr_copy);
}
}
# endif /* HAVE_GETHOSTBYADDR */
if (he)
return (char *) (he->h_name);
}
#endif /* HAVE_GETHOSTBYNAME */
return 0;
return canon_host_r (host, &last_cherror);
}
#ifdef TEST_CANON_HOST
int
main (int argc, char **argv)
/* Return a malloc'd string containing the canonical hostname associated with
HOST, or NULL if a canonical name cannot be determined. On NULL return,
if CHERROR is not NULL, set *CHERROR to an error code as returned by
getaddrinfo(). Use ch_strerror_r() or gai_strerror() to convert a *CHERROR
value to a string suitable for error messages.
WARNINGS
HOST must be a string representation of a resolvable name for this host.
Strings containing an IP address in dotted decimal notation will be
returned as-is, without further resolution.
The use of the word "canonical" in this context is unfortunate but
entrenched. The value returned by this function will be the end result
of the resolution of any CNAME chains in the DNS. There may only be one
such value for any given hostname, though the actual IP address
referenced by this value and the device using that IP address may each
actually have any number of such "canonical" hostnames. See the POSIX
getaddrinfo spec <http://www.opengroup.org/susv3xsh/getaddrinfo.html">,
RFC 1034 <http://www.faqs.org/rfcs/rfc1034.html>, & RFC 2181
<http://www.faqs.org/rfcs/rfc2181.html> for more on what this confusing
term really refers to. */
char *
canon_host_r (char const *host, int *cherror)
{
int i;
for (i = 1; i < argc; i++)
char *retval = NULL;
static struct addrinfo hints;
struct addrinfo *res = NULL;
int status;
hints.ai_flags = AI_CANONNAME;
status = getaddrinfo (host, NULL, &hints, &res);
if (!status)
{
char *s = canon_host (argv[i]);
printf ("%s: %s\n", argv[i], (s ? s : "<undef>"));
retval = strdup (res->ai_canonname);
if (!retval && cherror)
*cherror = EAI_MEMORY;
freeaddrinfo (res);
}
exit (0);
else if (cherror)
*cherror = status;
return retval;
}
/* Return a string describing the last error encountered by canon_host. */
const char *
ch_strerror (void)
{
return gai_strerror (last_cherror);
}
#endif /* TEST_CANON_HOST */

30
lib/canon-host.h Normal file
View File

@@ -0,0 +1,30 @@
/* Host name canonicalization
Copyright (C) 2005 Free Software Foundation, Inc.
Written by Derek Price <derek@ximbiot.com>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2, or (at
your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef CANON_HOST_H
# define CANON_HOST_H 1
char *canon_host (char const *host);
char *canon_host_r (char const *host, int *cherror);
const char *ch_strerror (void);
# define ch_strerror_r(cherror) gai_strerror (cherror);
#endif /* !CANON_HOST_H */

View File

@@ -1,5 +1,5 @@
/* Return the canonical absolute name of a given file.
Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 1996-2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,23 +14,16 @@
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
#else
void free ();
#endif
#include "canonicalize.h"
#if defined STDC_HEADERS || defined HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#include <stdlib.h>
#include <string.h>
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
@@ -38,77 +31,39 @@ void free ();
#include <sys/stat.h>
#include <errno.h>
#include <unistd.h>
#include "path-concat.h"
#include <errno.h>
#include <stddef.h>
#include "cycle-check.h"
#include "filenamecat.h"
#include "stat-macros.h"
#include "xalloc.h"
#include "xgetcwd.h"
#ifndef errno
extern int errno;
#endif
#ifndef __set_errno
# define __set_errno(Val) errno = (Val)
#endif
#if !HAVE_RESOLVEPATH
/* If __PTRDIFF_TYPE__ is
defined, as with GNU C, use that; that way we don't pollute the
namespace with <stddef.h>'s symbols. Otherwise, if <stddef.h> is
available, include it and use ptrdiff_t. In traditional C, long is
the best that we can do. */
# ifdef __PTRDIFF_TYPE__
# define PTR_INT_TYPE __PTRDIFF_TYPE__
# else
# ifdef HAVE_STDDEF_H
# include <stddef.h>
# define PTR_INT_TYPE ptrdiff_t
# else
# define PTR_INT_TYPE long
# endif
# endif
# include "pathmax.h"
# include "xreadlink.h"
# ifdef STAT_MACROS_BROKEN
# undef S_ISLNK
# endif
# ifndef S_ISLNK
# ifdef S_IFLNK
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
# endif
# endif
#endif /* !HAVE_RESOLVEPATH */
#include "pathmax.h"
#include "xreadlink.h"
#if !HAVE_CANONICALIZE_FILE_NAME
/* Return the canonical absolute name of file NAME. A canonical name
does not contain any `.', `..' components nor any repeated path
separators ('/') or symlinks. All path components must exist.
does not contain any `.', `..' components nor any repeated file name
separators ('/') or symlinks. All components must exist.
The result is malloc'd. */
char *
canonicalize_file_name (const char *name)
{
#if HAVE_RESOLVEPATH
# if HAVE_RESOLVEPATH
char *resolved, *extra_buf = NULL;
size_t resolved_size;
ssize_t resolved_len;
#else /* !HAVE_RESOLVEPATH */
char *rpath, *dest, *extra_buf = NULL;
const char *start, *end, *rpath_limit;
size_t extra_len = 0;
int num_links = 0;
#endif /* !HAVE_RESOLVEPATH */
if (name == NULL)
{
__set_errno (EINVAL);
@@ -121,11 +76,9 @@ canonicalize_file_name (const char *name)
return NULL;
}
#if HAVE_RESOLVEPATH
/* All known hosts with resolvepath (e.g. Solaris 7) don't turn
relative names into absolute ones, so prepend the working
directory if the path is not absolute. */
directory if the file name is not absolute. */
if (name[0] != '/')
{
char *wd;
@@ -133,10 +86,7 @@ canonicalize_file_name (const char *name)
if (!(wd = xgetcwd ()))
return NULL;
extra_buf = path_concat (wd, name, NULL);
if (!extra_buf)
xalloc_die ();
extra_buf = file_name_concat (wd, name, NULL);
name = extra_buf;
free (wd);
}
@@ -165,41 +115,75 @@ canonicalize_file_name (const char *name)
return resolved;
#else /* !HAVE_RESOLVEPATH */
# else
return canonicalize_filename_mode (name, CAN_EXISTING);
# endif /* !HAVE_RESOLVEPATH */
}
#endif /* !HAVE_CANONICALIZE_FILE_NAME */
/* Return the canonical absolute name of file NAME. A canonical name
does not contain any `.', `..' components nor any repeated file name
separators ('/') or symlinks. Whether components must exist
or not depends on canonicalize mode. The result is malloc'd. */
char *
canonicalize_filename_mode (const char *name, canonicalize_mode_t can_mode)
{
char *rname, *dest, *extra_buf = NULL;
char const *start;
char const *end;
char const *rname_limit;
size_t extra_len = 0;
struct cycle_check_state cycle_state;
if (name == NULL)
{
__set_errno (EINVAL);
return NULL;
}
if (name[0] == '\0')
{
__set_errno (ENOENT);
return NULL;
}
if (name[0] != '/')
{
rpath = xgetcwd ();
if (!rpath)
rname = xgetcwd ();
if (!rname)
return NULL;
dest = strchr (rpath, '\0');
if (dest - rpath < PATH_MAX)
dest = strchr (rname, '\0');
if (dest - rname < PATH_MAX)
{
char *p = xrealloc (rpath, PATH_MAX);
dest = p + (dest - rpath);
rpath = p;
rpath_limit = rpath + PATH_MAX;
char *p = xrealloc (rname, PATH_MAX);
dest = p + (dest - rname);
rname = p;
rname_limit = rname + PATH_MAX;
}
else
{
rpath_limit = dest;
rname_limit = dest;
}
}
else
{
rpath = xmalloc (PATH_MAX);
rpath_limit = rpath + PATH_MAX;
rpath[0] = '/';
dest = rpath + 1;
rname = xmalloc (PATH_MAX);
rname_limit = rname + PATH_MAX;
rname[0] = '/';
dest = rname + 1;
}
cycle_check_init (&cycle_state);
for (start = end = name; *start; start = end)
{
/* Skip sequence of multiple path-separators. */
/* Skip sequence of multiple file name separators. */
while (*start == '/')
++start;
/* Find end of path component. */
/* Find end of component. */
for (end = start; *end && *end != '/'; ++end)
/* Nothing. */;
@@ -210,7 +194,7 @@ canonicalize_file_name (const char *name)
else if (end - start == 2 && start[0] == '.' && start[1] == '.')
{
/* Back up to previous component, ignore if at root already. */
if (dest > rpath + 1)
if (dest > rname + 1)
while ((--dest)[-1] != '/');
}
else
@@ -220,45 +204,56 @@ canonicalize_file_name (const char *name)
if (dest[-1] != '/')
*dest++ = '/';
if (dest + (end - start) >= rpath_limit)
if (dest + (end - start) >= rname_limit)
{
PTR_INT_TYPE dest_offset = dest - rpath;
size_t new_size = rpath_limit - rpath;
ptrdiff_t dest_offset = dest - rname;
size_t new_size = rname_limit - rname;
if (end - start + 1 > PATH_MAX)
new_size += end - start + 1;
else
new_size += PATH_MAX;
rpath = xrealloc (rpath, new_size);
rpath_limit = rpath + new_size;
rname = xrealloc (rname, new_size);
rname_limit = rname + new_size;
dest = rpath + dest_offset;
dest = rname + dest_offset;
}
dest = memcpy (dest, start, end - start);
dest += end - start;
*dest = '\0';
if (lstat (rpath, &st) < 0)
goto error;
if (lstat (rname, &st) != 0)
{
if (can_mode == CAN_EXISTING)
goto error;
if (can_mode == CAN_ALL_BUT_LAST && *end)
goto error;
st.st_mode = 0;
}
# ifdef S_ISLNK
if (S_ISLNK (st.st_mode))
{
char *buf;
size_t n, len;
# ifdef MAXSYMLINKS
if (++num_links > MAXSYMLINKS)
if (cycle_check (&cycle_state, &st))
{
__set_errno (ELOOP);
goto error;
if (can_mode == CAN_MISSING)
continue;
else
goto error;
}
# endif /* MAXSYMLINKS */
buf = xreadlink (rpath);
buf = xreadlink (rname, st.st_size);
if (!buf)
goto error;
{
if (can_mode == CAN_MISSING)
continue;
else
goto error;
}
n = strlen (buf);
len = strlen (end);
@@ -280,27 +275,33 @@ canonicalize_file_name (const char *name)
name = end = memcpy (extra_buf, buf, n);
if (buf[0] == '/')
dest = rpath + 1; /* It's an absolute symlink */
dest = rname + 1; /* It's an absolute symlink */
else
/* Back up to previous component, ignore if at root already: */
if (dest > rpath + 1)
if (dest > rname + 1)
while ((--dest)[-1] != '/');
free (buf);
}
# endif /* S_ISLNK */
else
{
if (!S_ISDIR (st.st_mode) && *end && (can_mode != CAN_MISSING))
{
errno = ENOTDIR;
goto error;
}
}
}
}
if (dest > rpath + 1 && dest[-1] == '/')
if (dest > rname + 1 && dest[-1] == '/')
--dest;
*dest = '\0';
free (extra_buf);
return rpath;
return rname;
error:
free (extra_buf);
free (rpath);
free (rname);
return NULL;
#endif /* !HAVE_RESOLVEPATH */
}

View File

@@ -1,3 +1,41 @@
#if !HAVE_CANONICALIZE_FILE_NAME
/* Return the canonical absolute name of a given file.
Copyright (C) 1996-2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef CANONICALIZE_H_
# define CANONICALIZE_H_
enum canonicalize_mode_t
{
/* All components must exist. */
CAN_EXISTING = 0,
/* All components excluding last one must exist. */
CAN_ALL_BUT_LAST = 1,
/* No requirements on components existence. */
CAN_MISSING = 2
};
typedef enum canonicalize_mode_t canonicalize_mode_t;
char *canonicalize_filename_mode (const char *, canonicalize_mode_t);
# if !HAVE_CANONICALIZE_FILE_NAME
char *canonicalize_file_name (const char *);
#endif
# endif
#endif /* !CANONICALIZE_H_ */

276
lib/chdir-long.c Normal file
View File

@@ -0,0 +1,276 @@
/* provide a chdir function that tries not to fail due to ENAMETOOLONG
Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* written by Jim Meyering */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "chdir-long.h"
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
#include <assert.h>
#include <limits.h>
#include "memrchr.h"
#include "openat.h"
#ifndef O_DIRECTORY
# define O_DIRECTORY 0
#endif
#ifndef PATH_MAX
# error "compile this file only if your system defines PATH_MAX"
#endif
struct cd_buf
{
int fd;
};
static inline void
cdb_init (struct cd_buf *cdb)
{
cdb->fd = AT_FDCWD;
}
static inline int
cdb_fchdir (struct cd_buf const *cdb)
{
return fchdir (cdb->fd);
}
static inline void
cdb_free (struct cd_buf const *cdb)
{
if (0 <= cdb->fd)
{
bool close_fail = close (cdb->fd);
assert (! close_fail);
}
}
/* Given a file descriptor of an open directory (or AT_FDCWD), CDB->fd,
try to open the CDB->fd-relative directory, DIR. If the open succeeds,
update CDB->fd with the resulting descriptor, close the incoming file
descriptor, and return zero. Upon failure, return -1 and set errno. */
static int
cdb_advance_fd (struct cd_buf *cdb, char const *dir)
{
int new_fd = openat (cdb->fd, dir, O_RDONLY | O_DIRECTORY);
if (new_fd < 0)
{
new_fd = openat (cdb->fd, dir, O_WRONLY | O_DIRECTORY);
if (new_fd < 0)
return -1;
}
cdb_free (cdb);
cdb->fd = new_fd;
return 0;
}
/* Return a pointer to the first non-slash in S. */
static inline char *
find_non_slash (char const *s)
{
size_t n_slash = strspn (s, "/");
return (char *) s + n_slash;
}
/* This is a function much like chdir, but without the PATH_MAX limitation
on the length of the directory name. A significant difference is that
it must be able to modify (albeit only temporarily) the directory
name. It handles an arbitrarily long directory name by operating
on manageable portions of the name. On systems without the openat
syscall, this means changing the working directory to more and more
`distant' points along the long directory name and then restoring
the working directory. If any of those attempts to save or restore
the working directory fails, this function exits nonzero.
Note that this function may still fail with errno == ENAMETOOLONG, but
only if the specified directory name contains a component that is long
enough to provoke such a failure all by itself (e.g. if the component
has length PATH_MAX or greater on systems that define PATH_MAX). */
int
chdir_long (char *dir)
{
int e = chdir (dir);
if (e == 0 || errno != ENAMETOOLONG)
return e;
{
size_t len = strlen (dir);
char *dir_end = dir + len;
struct cd_buf cdb;
size_t n_leading_slash;
cdb_init (&cdb);
/* If DIR is the empty string, then the chdir above
must have failed and set errno to ENOENT. */
assert (0 < len);
assert (PATH_MAX <= len);
/* Count leading slashes. */
n_leading_slash = strspn (dir, "/");
/* Handle any leading slashes as well as any name that matches
the regular expression, m!^//hostname[/]*! . Handling this
prefix separately usually results in a single additional
cdb_advance_fd call, but it's worthwhile, since it makes the
code in the following loop cleaner. */
if (n_leading_slash == 2)
{
int err;
/* Find next slash.
We already know that dir[2] is neither a slash nor '\0'. */
char *slash = memchr (dir + 3, '/', dir_end - (dir + 3));
if (slash == NULL)
{
errno = ENAMETOOLONG;
return -1;
}
*slash = '\0';
err = cdb_advance_fd (&cdb, dir);
*slash = '/';
if (err != 0)
goto Fail;
dir = find_non_slash (slash + 1);
}
else if (n_leading_slash)
{
if (cdb_advance_fd (&cdb, "/") != 0)
goto Fail;
dir += n_leading_slash;
}
assert (*dir != '/');
assert (dir <= dir_end);
while (PATH_MAX <= dir_end - dir)
{
int err;
/* Find a slash that is PATH_MAX or fewer bytes away from dir.
I.e. see if there is a slash that will give us a name of
length PATH_MAX-1 or less. */
char *slash = memrchr (dir, '/', PATH_MAX);
if (slash == NULL)
{
errno = ENAMETOOLONG;
return -1;
}
*slash = '\0';
assert (slash - dir < PATH_MAX);
err = cdb_advance_fd (&cdb, dir);
*slash = '/';
if (err != 0)
goto Fail;
dir = find_non_slash (slash + 1);
}
if (dir < dir_end)
{
if (cdb_advance_fd (&cdb, dir) != 0)
goto Fail;
}
if (cdb_fchdir (&cdb) != 0)
goto Fail;
cdb_free (&cdb);
return 0;
Fail:
{
int saved_errno = errno;
cdb_free (&cdb);
errno = saved_errno;
return -1;
}
}
}
#if TEST_CHDIR
# include <stdio.h>
# include "closeout.h"
# include "error.h"
char *program_name;
int
main (int argc, char *argv[])
{
char *line = NULL;
size_t n = 0;
int len;
program_name = argv[0];
atexit (close_stdout);
len = getline (&line, &n, stdin);
if (len < 0)
{
int saved_errno = errno;
if (feof (stdin))
exit (0);
error (EXIT_FAILURE, saved_errno,
"reading standard input");
}
else if (len == 0)
exit (0);
if (line[len-1] == '\n')
line[len-1] = '\0';
if (chdir_long (line) != 0)
error (EXIT_FAILURE, errno,
"chdir_long failed: %s", line);
if (argc <= 1)
{
/* Using `pwd' here makes sense only if it is a robust implementation,
like the one in coreutils after the 2004-04-19 changes. */
char const *cmd = "pwd";
execlp (cmd, (char *) NULL);
error (EXIT_FAILURE, errno, "%s", cmd);
}
fclose (stdin);
fclose (stderr);
exit (EXIT_SUCCESS);
}
#endif
/*
Local Variables:
compile-command: "gcc -DTEST_CHDIR=1 -DHAVE_CONFIG_H -I.. -g -O -W -Wall chdir-long.c libcoreutils.a"
End:
*/

35
lib/chdir-long.h Normal file
View File

@@ -0,0 +1,35 @@
/* provide a chdir function that tries not to fail due to ENAMETOOLONG
Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by Jim Meyering. */
#include <unistd.h>
#include <limits.h>
#ifndef PATH_MAX
# ifdef MAXPATHLEN
# define PATH_MAX MAXPATHLEN
# endif
#endif
/* On systems without PATH_MAX, presume that chdir accepts
arbitrarily long directory names. */
#ifndef PATH_MAX
# define chdir_long(Dir) chdir (Dir)
#else
int chdir_long (char *dir);
#endif

View File

@@ -1,6 +1,6 @@
/* provide consistent interface to chown for systems that don't interpret
an ID of -1 as meaning `don't change the corresponding ID'.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,11 +14,13 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* written by Jim Meyering */
#include <config.h>
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
/* Disable the definition of chown to rpl_chown (from config.h) in this
file. Otherwise, we'd get conflicting prototypes for rpl_chown on
@@ -27,22 +29,27 @@
#include <sys/types.h>
#include <sys/stat.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
/* FIXME: describe. */
/* Provide a more-closely POSIX-conforming version of chown on
systems with one or both of the following problems:
- chown doesn't treat an ID of -1 as meaning
`don't change the corresponding ID'.
- chown doesn't dereference symlinks. */
int
rpl_chown (const char *file, uid_t uid, gid_t gid)
{
#if CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE
if (gid == (gid_t) -1 || uid == (uid_t) -1)
{
struct stat file_stats;
/* Stat file to get id(s) that should remain unchanged. */
if (stat (file, &file_stats))
return 1;
return -1;
if (gid == (gid_t) -1)
gid = file_stats.st_gid;
@@ -50,6 +57,29 @@ rpl_chown (const char *file, uid_t uid, gid_t gid)
if (uid == (uid_t) -1)
uid = file_stats.st_uid;
}
#endif
#if CHOWN_MODIFIES_SYMLINK
{
/* Handle the case in which the system-supplied chown function
does *not* follow symlinks. Instead, it changes permissions
on the symlink itself. To work around that, we open the
file (but this can fail due to lack of read or write permission) and
use fchown on the resulting descriptor. */
int fd = open (file, O_RDONLY | O_NONBLOCK | O_NOCTTY);
if (fd < 0
&& (fd = open (file, O_WRONLY | O_NONBLOCK | O_NOCTTY)) < 0)
return -1;
if (fchown (fd, uid, gid))
{
int saved_errno = errno;
close (fd);
errno = saved_errno;
return -1;
}
return close (fd);
}
#else
return chown (file, uid, gid);
#endif
}

60
lib/cloexec.c Normal file
View File

@@ -0,0 +1,60 @@
/* closexec.c - set or clear the close-on-exec descriptor flag
Copyright (C) 1991, 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
The code is taken from glibc/manual/llio.texi */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "cloexec.h"
#include <unistd.h>
#include <fcntl.h>
#ifndef FD_CLOEXEC
# define FD_CLOEXEC 1
#endif
/* Set the `FD_CLOEXEC' flag of DESC if VALUE is true,
or clear the flag if VALUE is false.
Return 0 on success, or -1 on error with `errno' set. */
int
set_cloexec_flag (int desc, bool value)
{
#if defined F_GETFD && defined F_SETFD
int flags = fcntl (desc, F_GETFD, 0);
if (0 <= flags)
{
int newflags = (value ? flags | FD_CLOEXEC : flags & ~FD_CLOEXEC);
if (flags == newflags
|| fcntl (desc, F_SETFD, newflags) != -1)
return 0;
}
return -1;
#else
return 0;
#endif
}

2
lib/cloexec.h Normal file
View File

@@ -0,0 +1,2 @@
#include <stdbool.h>
int set_cloexec_flag (int desc, bool value);

View File

@@ -1,5 +1,7 @@
/* closeout.c - close standard output
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -13,57 +15,42 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#if HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
#include "closeout.h"
#include <stdio.h>
#include <stdbool.h>
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "closeout.h"
#include "error.h"
#include "exitfail.h"
#include "quotearg.h"
#include "unlocked-io.h"
#include "__fpending.h"
static int default_exit_status = EXIT_FAILURE;
#if USE_UNLOCKED_IO
# include "unlocked-io.h"
#endif
static const char *file_name;
/* Set the value to be used for the exit status when close_stdout is called.
This is useful when it is not convenient to call close_stdout_status,
e.g., when close_stdout is called via atexit. */
void
close_stdout_set_status (int status)
{
default_exit_status = status;
}
/* Set the file name to be reported in the event an error is detected
by close_stdout_status. */
by close_stdout. */
void
close_stdout_set_file_name (const char *file)
{
file_name = file;
}
/* Close standard output, exiting with status STATUS on failure.
If a program writes *anything* to stdout, that program should `fflush'
/* Close standard output, exiting with status 'exit_failure' on failure.
If a program writes *anything* to stdout, that program should close
stdout and make sure that it succeeds before exiting. Otherwise,
suppose that you go to the extreme of checking the return status
of every function that does an explicit write to stdout. The last
@@ -71,11 +58,9 @@ close_stdout_set_file_name (const char *file)
the fclose(stdout) could still fail (due e.g., to a disk full error)
when it tries to write out that buffered data. Thus, you would be
left with an incomplete output file and the offending program would
exit successfully.
FIXME: note the fflush suggested above is implicit in the fclose
we actually do below. Consider doing only the fflush and/or using
setvbuf to inhibit buffering.
exit successfully. Even calling fflush is not always sufficient,
since some file systems (NFS and CODA) buffer written/flushed data
until an actual close call.
Besides, it's wasteful to check the return value from every call
that writes to stdout -- just let the internal stream state record
@@ -85,32 +70,32 @@ close_stdout_set_file_name (const char *file)
tools (most notably `make' and other build-management systems) depend
on being able to detect failure in other tools via their exit status. */
void
close_stdout_status (int status)
{
int e = ferror (stdout) ? 0 : -1;
/* If the stream's error bit is clear and there is nothing to flush,
then return right away. */
if (e && __fpending (stdout) == 0)
return;
if (fclose (stdout) != 0)
e = errno;
if (0 <= e)
{
char const *write_error = _("write error");
if (file_name)
error (status, e, "%s: %s", quotearg_colon (file_name), write_error);
else
error (status, e, "%s", write_error);
}
}
/* Close standard output, exiting with status EXIT_FAILURE on failure. */
void
close_stdout (void)
{
close_stdout_status (default_exit_status);
bool prev_fail = ferror (stdout);
bool none_pending = (0 == __fpending (stdout));
bool fclose_fail = fclose (stdout);
if (prev_fail || fclose_fail)
{
int e = fclose_fail ? errno : 0;
char const *write_error;
/* If ferror returned zero, no data remains to be flushed, and we'd
otherwise fail with EBADF due to a failed fclose, then assume that
it's ok to ignore the fclose failure. That can happen when a
program like cp is invoked like this `cp a b >&-' (i.e., with
stdout closed) and doesn't generate any output (hence no previous
error and nothing to be flushed). */
if (e == EBADF && !prev_fail && none_pending)
return;
write_error = _("write error");
if (file_name)
error (exit_failure, e, "%s: %s", quotearg_colon (file_name),
write_error);
else
error (exit_failure, e, "%s", write_error);
}
}

View File

@@ -1,6 +1,6 @@
/* Close standard output.
Copyright (C) 1998, 2000, 2003 Free Software Foundation, Inc.
Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,14 +14,20 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef CLOSEOUT_H
# define CLOSEOUT_H 1
void close_stdout_set_status (int status);
# ifdef __cplusplus
extern "C" {
# endif
void close_stdout_set_file_name (const char *file);
void close_stdout (void);
void close_stdout_status (int status);
# ifdef __cplusplus
}
# endif
#endif

View File

@@ -1,22 +1,21 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
# Copyright (C) 2000-2003 Free Software Foundation, Inc.
# Copyright (C) 2000-2004 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published
# by the Free Software Foundation; either version 2, or (at your option)
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
# USA.
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# The table consists of lines of the form
# ALIAS CANONICAL
@@ -30,77 +29,77 @@
# MIME charset name is preferred.
# The current list of GNU canonical charset names is as follows.
#
# name used by which systems a MIME name?
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd
# ISO-8859-1 glibc aix hpux irix osf solaris freebsd yes
# ISO-8859-2 glibc aix hpux irix osf solaris freebsd yes
# ISO-8859-3 glibc solaris yes
# ISO-8859-4 osf solaris freebsd yes
# ISO-8859-5 glibc aix hpux irix osf solaris freebsd yes
# ISO-8859-6 glibc aix hpux solaris yes
# ISO-8859-7 glibc aix hpux irix osf solaris yes
# ISO-8859-8 glibc aix hpux osf solaris yes
# ISO-8859-9 glibc aix hpux irix osf solaris yes
# ISO-8859-13 glibc
# ISO-8859-14 glibc
# ISO-8859-15 glibc aix osf solaris freebsd
# KOI8-R glibc solaris freebsd yes
# KOI8-U glibc freebsd yes
# KOI8-T glibc
# CP437 dos
# CP775 dos
# CP850 aix osf dos
# CP852 dos
# CP855 dos
# CP856 aix
# CP857 dos
# CP861 dos
# CP862 dos
# CP864 dos
# CP865 dos
# CP866 freebsd dos
# CP869 dos
# CP874 woe32 dos
# CP922 aix
# CP932 aix woe32 dos
# CP943 aix
# CP949 osf woe32 dos
# CP950 woe32 dos
# CP1046 aix
# CP1124 aix
# CP1125 dos
# CP1129 aix
# CP1250 woe32
# CP1251 glibc solaris woe32
# CP1252 aix woe32
# CP1253 woe32
# CP1254 woe32
# CP1255 glibc woe32
# CP1256 woe32
# CP1257 woe32
# GB2312 glibc aix hpux irix solaris freebsd yes
# EUC-JP glibc aix hpux irix osf solaris freebsd yes
# EUC-KR glibc aix hpux irix osf solaris freebsd yes
# EUC-TW glibc aix hpux irix osf solaris
# BIG5 glibc aix hpux osf solaris freebsd yes
# BIG5-HKSCS glibc solaris
# GBK glibc aix osf solaris woe32 dos
# GB18030 glibc solaris
# SHIFT_JIS hpux osf solaris freebsd yes
# JOHAB glibc solaris woe32
# TIS-620 glibc aix hpux osf solaris
# VISCII glibc yes
# TCVN5712-1 glibc
# GEORGIAN-PS glibc
# HP-ROMAN8 hpux
# HP-ARABIC8 hpux
# HP-GREEK8 hpux
# HP-HEBREW8 hpux
# HP-TURKISH8 hpux
# HP-KANA8 hpux
# DEC-KANJI osf
# DEC-HANYU osf
# UTF-8 glibc aix hpux osf solaris yes
# name MIME? used by which systems
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd darwin
# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd darwin
# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd darwin
# ISO-8859-3 Y glibc solaris
# ISO-8859-4 Y osf solaris freebsd darwin
# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd darwin
# ISO-8859-6 Y glibc aix hpux solaris
# ISO-8859-7 Y glibc aix hpux irix osf solaris darwin
# ISO-8859-8 Y glibc aix hpux osf solaris
# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin
# ISO-8859-13 glibc darwin
# ISO-8859-14 glibc
# ISO-8859-15 glibc aix osf solaris freebsd darwin
# KOI8-R Y glibc solaris freebsd darwin
# KOI8-U Y glibc freebsd darwin
# KOI8-T glibc
# CP437 dos
# CP775 dos
# CP850 aix osf dos
# CP852 dos
# CP855 dos
# CP856 aix
# CP857 dos
# CP861 dos
# CP862 dos
# CP864 dos
# CP865 dos
# CP866 freebsd darwin dos
# CP869 dos
# CP874 woe32 dos
# CP922 aix
# CP932 aix woe32 dos
# CP943 aix
# CP949 osf woe32 dos
# CP950 woe32 dos
# CP1046 aix
# CP1124 aix
# CP1125 dos
# CP1129 aix
# CP1250 woe32
# CP1251 glibc solaris darwin woe32
# CP1252 aix woe32
# CP1253 woe32
# CP1254 woe32
# CP1255 glibc woe32
# CP1256 woe32
# CP1257 woe32
# GB2312 Y glibc aix hpux irix solaris freebsd darwin
# EUC-JP Y glibc aix hpux irix osf solaris freebsd darwin
# EUC-KR Y glibc aix hpux irix osf solaris freebsd darwin
# EUC-TW glibc aix hpux irix osf solaris
# BIG5 Y glibc aix hpux osf solaris freebsd darwin
# BIG5-HKSCS glibc solaris
# GBK glibc aix osf solaris woe32 dos
# GB18030 glibc solaris
# SHIFT_JIS Y hpux osf solaris freebsd darwin
# JOHAB glibc solaris woe32
# TIS-620 glibc aix hpux osf solaris
# VISCII Y glibc
# TCVN5712-1 glibc
# GEORGIAN-PS glibc
# HP-ROMAN8 hpux
# HP-ARABIC8 hpux
# HP-GREEK8 hpux
# HP-HEBREW8 hpux
# HP-TURKISH8 hpux
# HP-KANA8 hpux
# DEC-KANJI osf
# DEC-HANYU osf
# UTF-8 Y glibc aix hpux osf solaris darwin
#
# Note: Names which are not marked as being a MIME name should not be used in
# Internet protocols for information interchange (mail, news, etc.).
@@ -121,6 +120,105 @@ echo "# It was automatically generated from config.charset."
# List of references, updated during installation:
echo "# Packages using this file: "
case "$os" in
linux-gnulibc1*)
# Linux libc5 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
echo "C ASCII"
echo "POSIX ASCII"
for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \
en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \
en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \
es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \
et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \
fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \
it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \
sv_FI sv_SE; do
echo "$l ISO-8859-1"
echo "$l.iso-8859-1 ISO-8859-1"
echo "$l.iso-8859-15 ISO-8859-15"
echo "$l.iso-8859-15@euro ISO-8859-15"
echo "$l@euro ISO-8859-15"
echo "$l.cp-437 CP437"
echo "$l.cp-850 CP850"
echo "$l.cp-1252 CP1252"
echo "$l.cp-1252@euro CP1252"
#echo "$l.atari-st ATARI-ST" # not a commonly used encoding
echo "$l.utf-8 UTF-8"
echo "$l.utf-8@euro UTF-8"
done
for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \
sl_SI sr sr_CS sr_YU; do
echo "$l ISO-8859-2"
echo "$l.iso-8859-2 ISO-8859-2"
echo "$l.cp-852 CP852"
echo "$l.cp-1250 CP1250"
echo "$l.utf-8 UTF-8"
done
for l in mk mk_MK ru ru_RU; do
echo "$l ISO-8859-5"
echo "$l.iso-8859-5 ISO-8859-5"
echo "$l.koi8-r KOI8-R"
echo "$l.cp-866 CP866"
echo "$l.cp-1251 CP1251"
echo "$l.utf-8 UTF-8"
done
for l in ar ar_SA; do
echo "$l ISO-8859-6"
echo "$l.iso-8859-6 ISO-8859-6"
echo "$l.cp-864 CP864"
#echo "$l.cp-868 CP868" # not a commonly used encoding
echo "$l.cp-1256 CP1256"
echo "$l.utf-8 UTF-8"
done
for l in el el_GR gr gr_GR; do
echo "$l ISO-8859-7"
echo "$l.iso-8859-7 ISO-8859-7"
echo "$l.cp-869 CP869"
echo "$l.cp-1253 CP1253"
echo "$l.cp-1253@euro CP1253"
echo "$l.utf-8 UTF-8"
echo "$l.utf-8@euro UTF-8"
done
for l in he he_IL iw iw_IL; do
echo "$l ISO-8859-8"
echo "$l.iso-8859-8 ISO-8859-8"
echo "$l.cp-862 CP862"
echo "$l.cp-1255 CP1255"
echo "$l.utf-8 UTF-8"
done
for l in tr tr_TR; do
echo "$l ISO-8859-9"
echo "$l.iso-8859-9 ISO-8859-9"
echo "$l.cp-857 CP857"
echo "$l.cp-1254 CP1254"
echo "$l.utf-8 UTF-8"
done
for l in lt lt_LT lv lv_LV; do
#echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
echo "$l ISO-8859-13"
done
for l in ru_UA uk uk_UA; do
echo "$l KOI8-U"
done
for l in zh zh_CN; do
#echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
echo "$l GB2312"
done
for l in ja ja_JP ja_JP.EUC; do
echo "$l EUC-JP"
done
for l in ko ko_KR; do
echo "$l EUC-KR"
done
for l in th th_TH; do
echo "$l TIS-620"
done
for l in fa fa_IR; do
#echo "$l ISIRI-3342" # a broken encoding
echo "$l.utf-8 UTF-8"
done
;;
linux* | *-gnu*)
# With glibc-2.1 or newer, we don't need any canonicalization,
# because glibc has iconv and both glibc and libiconv support all
@@ -297,6 +395,77 @@ case "$os" in
echo "BIG5 BIG5"
echo "SJIS SHIFT_JIS"
;;
darwin[56]*)
# Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
echo "C ASCII"
for l in en_AU en_CA en_GB en_US la_LN; do
echo "$l.US-ASCII ASCII"
done
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \
nl_NL no_NO pt_PT sv_SE; do
echo "$l ISO-8859-1"
echo "$l.ISO8859-1 ISO-8859-1"
echo "$l.ISO8859-15 ISO-8859-15"
done
for l in la_LN; do
echo "$l.ISO8859-1 ISO-8859-1"
echo "$l.ISO8859-15 ISO-8859-15"
done
for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
echo "$l.ISO8859-2 ISO-8859-2"
done
for l in la_LN lt_LT; do
echo "$l.ISO8859-4 ISO-8859-4"
done
for l in ru_RU; do
echo "$l.KOI8-R KOI8-R"
echo "$l.ISO8859-5 ISO-8859-5"
echo "$l.CP866 CP866"
done
for l in bg_BG; do
echo "$l.CP1251 CP1251"
done
echo "uk_UA.KOI8-U KOI8-U"
echo "zh_TW.BIG5 BIG5"
echo "zh_TW.Big5 BIG5"
echo "zh_CN.EUC GB2312"
echo "ja_JP.EUC EUC-JP"
echo "ja_JP.SJIS SHIFT_JIS"
echo "ko_KR.EUC EUC-KR"
;;
darwin*)
# Darwin 7.5 has nl_langinfo(CODESET), but it is useless:
# - It returns the empty string when LANG is set to a locale of the
# form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
# LC_CTYPE file.
# - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
# the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
# - The documentation says:
# "... all code that calls BSD system routines should ensure
# that the const *char parameters of these routines are in UTF-8
# encoding. All BSD system functions expect their string
# parameters to be in UTF-8 encoding and nothing else."
# It also says
# "An additional caveat is that string parameters for files,
# paths, and other file-system entities must be in canonical
# UTF-8. In a canonical UTF-8 Unicode string, all decomposable
# characters are decomposed ..."
# but this is not true: You can pass non-decomposed UTF-8 strings
# to file system functions, and it is the OS which will convert
# them to decomposed UTF-8 before accessing the file system.
# - The Apple Terminal application displays UTF-8 by default.
# - However, other applications are free to use different encodings:
# - xterm uses ISO-8859-1 by default.
# - TextEdit uses MacRoman by default.
# We prefer UTF-8 over decomposed UTF-8-MAC because one should
# minimize the use of decomposed Unicode. Unfortunately, through the
# Darwin file system, decomposed UTF-8 strings are leaked into user
# space nevertheless.
echo "* UTF-8"
;;
beos*)
# BeOS has a single locale, and it has UTF-8 encoding.
echo "* UTF-8"
@@ -410,6 +579,7 @@ case "$os" in
echo "sq CP852"
echo "sq_AL CP852"
echo "sr CP852" # CP852 or CP866 or CP855 ??
echo "sr_CS CP852" # CP852 or CP866 or CP855 ??
echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
# ISO-8859-3 languages
echo "mt CP850"

33
lib/creat-safer.c Normal file
View File

@@ -0,0 +1,33 @@
/* Invoke creat, but avoid some glitches.
Copyright (C) 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by Jim Meyering. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "fcntl-safer.h"
#include <fcntl.h>
#include "unistd-safer.h"
int
creat_safer (char const *file, mode_t mode)
{
return fd_safer (creat (file, mode));
}

View File

@@ -1,5 +1,6 @@
/* help detect directory cycles efficiently
Copyright 2003 Free Software Foundation, Inc.
Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,11 +15,11 @@
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by Jim Meyering */
#if HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -31,7 +32,6 @@
#include <stdbool.h>
#include "cycle-check.h"
#include "xalloc.h"
#define SAME_INODE(Stat_buf_1, Stat_buf_2) \
((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
@@ -39,8 +39,10 @@
#define CC_MAGIC 9827862
/* Return true if I is a power of 2, or is zero. */
static inline bool
is_power_of_two (unsigned int i)
is_zero_or_power_of_two (uintmax_t i)
{
return (i & (i - 1)) == 0;
}
@@ -73,8 +75,16 @@ cycle_check (struct cycle_check_state *state, struct stat const *sb)
/* If the number of `descending' chdir calls is a power of two,
record the dev/ino of the current directory. */
if (is_power_of_two (++(state->chdir_counter)))
if (is_zero_or_power_of_two (++(state->chdir_counter)))
{
/* On all architectures that we know about, if the counter
overflows then there is a directory cycle here somewhere,
even if we haven't detected it yet. Typically this happens
only after the counter is incremented 2**64 times, so it's a
fairly theoretical point. */
if (state->chdir_counter == 0)
return true;
state->dev_ino.st_dev = sb->st_dev;
state->dev_ino.st_ino = sb->st_ino;
}

View File

@@ -1,26 +1,41 @@
/* help detect directory cycles efficiently
Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by Jim Meyering */
#ifndef CYCLE_CHECK_H
# define CYCLE_CHECK_H 1
/* Before including this file, you need something like the following:
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <stdbool.h>
so that the proper identifiers are all declared. */
# if HAVE_INTTYPES_H
# include <inttypes.h>
# endif
# if HAVE_STDINT_H
# include <stdint.h>
# endif
# include <stdbool.h>
# include "dev-ino.h"
struct cycle_check_state
{
struct dev_ino dev_ino;
size_t chdir_counter;
long unsigned int magic;
uintmax_t chdir_counter;
int magic;
};
void cycle_check_init (struct cycle_check_state *state);

Some files were not shown because too many files have changed in this diff Show More