Compare commits

...

4166 Commits

Author SHA1 Message Date
Jim Meyering
65d52b65f6 *** empty log message *** 2003-04-02 21:10:23 +00:00
Jim Meyering
bd10536e76 . 2003-04-02 21:09:04 +00:00
Jim Meyering
9d30201501 re-add it for 5.0 2003-04-02 21:08:54 +00:00
Jim Meyering
f84ed713c5 *** empty log message *** 2003-04-02 18:45:14 +00:00
Jim Meyering
8ab362dd32 *** empty log message *** 2003-04-02 18:42:12 +00:00
Jim Meyering
edba764d8f *** empty log message *** 2003-04-02 18:22:14 +00:00
Jim Meyering
702cda63ad *** empty log message *** 2003-04-02 18:19:56 +00:00
Jim Meyering
ba621e52e1 (false invocation): Note that false exits
unsuccessfully even with --help and --version.
2003-04-02 18:19:53 +00:00
Jim Meyering
0cb78db3f7 add lost log entry:
2002-07-20  Jim Meyering  <jim@meyering.net>

	  * Makefile.am (false.c): Convert only the final EXIT_SUCCESS
	  into EXIT_FAILURE.  Otherwise, false --help and false --version
	  would fail.
2003-04-02 18:14:04 +00:00
Jim Meyering
e78a54bc5a *** empty log message *** 2003-04-02 18:06:39 +00:00
Jim Meyering
55277831b2 (TESTS): Add false. 2003-04-02 18:06:15 +00:00
Jim Meyering
ec3a2e9ece . 2003-04-02 14:46:13 +00:00
Jim Meyering
78fc3d5f94 Redirect stderr to /dev/null for initial perl invocation. 2003-04-02 14:45:21 +00:00
Jim Meyering
7453dd8cba *** empty log message *** 2003-04-02 14:43:48 +00:00
Jim Meyering
0bb2129733 (jm_PERL): Use $am_missing_run, not undefined $missing_dir. 2003-04-02 14:43:41 +00:00
Jim Meyering
8c14c2f53f . 2003-04-02 10:20:58 +00:00
Jim Meyering
33561fa3e4 *** empty log message *** 2003-04-02 10:11:09 +00:00
Jim Meyering
722a49ea0c (TMPDIR): Make sure it's defined.
(my-distcheck): Build in $(TMPDIR), not `.'.
2003-04-02 10:10:58 +00:00
Jim Meyering
33ee26bc23 Bump version to 5.0. 2003-04-02 10:09:25 +00:00
Jim Meyering
a310f7be42 *** empty log message *** 2003-04-02 07:21:46 +00:00
Jim Meyering
206427cd38 (false.c): Change all occurrences of (EXIT_SUCCESS)' to (EXIT_FAILURE)'.
Reported by Paul Jarc,
2003-04-02 07:21:40 +00:00
Jim Meyering
c3c1ee6202 *** empty log message *** 2003-04-02 07:19:35 +00:00
Jim Meyering
9ec88c1b14 *** empty log message *** 2003-04-01 22:16:15 +00:00
Jim Meyering
5d5ceb37e8 (check-texinfo): Don't fail if perl is missing. 2003-04-01 22:16:10 +00:00
Jim Meyering
6f795227dc . 2003-03-31 19:29:25 +00:00
Jim Meyering
4d6314bb53 *** empty log message *** 2003-03-31 10:59:40 +00:00
Jim Meyering
681e6be8f0 *** empty log message *** 2003-03-30 17:48:04 +00:00
Jim Meyering
727168d377 *** empty log message *** 2003-03-30 17:47:38 +00:00
Jim Meyering
f0865ef40c Note the location of older NEWS files. 2003-03-30 17:47:26 +00:00
Jim Meyering
1d5528face *** empty log message *** 2003-03-30 15:02:59 +00:00
Jim Meyering
bb726ef20b (is_empty_dir): Don't let a failing closedir
clobber errno.  Spotted by Arnold Robbins.
2003-03-30 15:02:55 +00:00
Jim Meyering
d4bac80f4d *** empty log message *** 2003-03-30 14:04:19 +00:00
Jim Meyering
2ec96a5e83 Fix typo in comment. 2003-03-30 12:11:50 +00:00
Jim Meyering
6a1ff8af0c . 2003-03-30 08:41:39 +00:00
Jim Meyering
99ba62166a *** empty log message *** 2003-03-29 14:24:19 +00:00
Jim Meyering
030c740af1 Note to expect build problems for stat.c on Ultrix 4.3.
Note that there are some harmless test failures when running
`make check' as root on some systems.
2003-03-29 14:24:16 +00:00
Jim Meyering
44d5da2f7e *** empty log message *** 2003-03-28 15:24:04 +00:00
Jim Meyering
5e8abb3891 Skip this test if stty can't get window size.
This happens when connecting to sparc-solaris2.7 via ssh from within
emacs.  Reported by Karl Berry.
2003-03-28 15:23:58 +00:00
Jim Meyering
2a049a867f *** empty log message *** 2003-03-28 14:03:26 +00:00
Jim Meyering
cf0fa2d930 Use seq, not `yes' to generate dir name.
Otherwise, on systems (DJGPP) that emulate pipes using files,
this test would never complete, waiting for `yes' to terminate.
2003-03-28 14:03:17 +00:00
Jim Meyering
98458bfd36 Use seq, not `yes' to generate link target.
Otherwise, on systems (DJGPP) that emulate pipes using files,
this test would never complete, waiting for `yes' to terminate.
2003-03-28 14:02:58 +00:00
Jim Meyering
e93c93de4e generate 9000+ bytes, in case we ever go for 8KB of output 2003-03-28 12:55:04 +00:00
Jim Meyering
5165cd0f65 Use seq, not `yes' to generate 4KB of data.
Otherwise, on systems (DJGPP) that emulate pipes using files,
this test would never complete, waiting for `yes' to terminate.
2003-03-28 12:38:52 +00:00
Jim Meyering
2210b0a9de *** empty log message *** 2003-03-28 12:29:57 +00:00
Jim Meyering
e41f61881b *** empty log message *** 2003-03-28 10:28:52 +00:00
Jim Meyering
340ff6ec71 . 2003-03-28 10:23:28 +00:00
Jim Meyering
e8b4056312 *** empty log message *** 2003-03-28 09:44:17 +00:00
Jim Meyering
5e3a2ec4d0 *** empty log message *** 2003-03-28 09:38:54 +00:00
Jim Meyering
9864858156 *** empty log message *** 2003-03-28 09:32:21 +00:00
Jim Meyering
8bd4ff02af *** empty log message *** 2003-03-28 09:30:46 +00:00
Jim Meyering
248735bfc4 *** empty log message *** 2003-03-28 09:18:40 +00:00
Jim Meyering
642939ab6a *** empty log message *** 2003-03-28 07:35:50 +00:00
Jim Meyering
1040e672f1 add tests for Paul's change of Mar 24, 2003 2003-03-28 00:00:58 +00:00
Jim Meyering
b381b40c4b *** empty log message *** 2003-03-28 00:00:34 +00:00
Jim Meyering
85ea0a3546 *** empty log message *** 2003-03-27 23:59:26 +00:00
Jim Meyering
7c740a55c6 Remove Arnold Robbins' obsolete e-mail address
from `written by...' comment, at his request.
2003-03-27 22:40:37 +00:00
Jim Meyering
b05fe59a8b *** empty log message *** 2003-03-27 17:11:11 +00:00
Jim Meyering
41a6a3caff *** empty log message *** 2003-03-27 15:55:58 +00:00
Jim Meyering
bfaee25d1f (sort invocation): Describe sort's --stable (-s) option. 2003-03-27 15:55:55 +00:00
Jim Meyering
9ad2c98a28 *** empty log message *** 2003-03-27 14:59:37 +00:00
Jim Meyering
cb392d1022 Fix buffer overrun problem reported by TAKAI Kousuke, along
with some other POSIX incompatibilities.

(print_esc): Do not treat \x specially if
POSIXLY_CORRECT.  Avoid buffer overrun if the format ends
in backslash.  Treat incomplete escape sequences as strings
of characters, as POSIX requires.
(print_formatted): Allow multiple flags.  Avoid buffer overrun
if the format is incomplete.
2003-03-27 14:59:26 +00:00
Jim Meyering
a89b7d3e83 tiny spelling fix 2003-03-27 14:00:45 +00:00
Jim Meyering
7c09897fcb *** empty log message *** 2003-03-27 13:59:17 +00:00
Jim Meyering
fb9a0792d7 (printf invocation): Fix formatting bugs. 2003-03-27 13:59:13 +00:00
Jim Meyering
3988ba0038 *** empty log message *** 2003-03-27 10:55:18 +00:00
Jim Meyering
592a888d76 . 2003-03-27 09:50:29 +00:00
Jim Meyering
dd12de8477 . 2003-03-27 09:08:37 +00:00
Jim Meyering
8b4b8696ba *** empty log message *** 2003-03-26 18:47:55 +00:00
Jim Meyering
2cd4a7d3cd (struct cp_options): Add a comment. 2003-03-26 18:47:49 +00:00
Jim Meyering
8044f51ca3 Describe problem with 64-bit mode on HPUX 11.x,
with patch for /usr/include/inttypes.h.
2003-03-23 09:13:57 +00:00
Jim Meyering
585736ca42 Plan to add an autoconf test to work around the HPUX 11.x bug. 2003-03-23 09:13:36 +00:00
Jim Meyering
92b524013b D'oh. 2003-03-22 22:32:12 +00:00
Jim Meyering
27b3065db1 *** empty log message *** 2003-03-22 21:32:34 +00:00
Jim Meyering
1bf7ea8fd1 Don't include <sys/sysmacros.h>.
That is already done via system.h.  Otherwise, the multiple
inclusion would evoke redefinition warnings from Cray's /bin/cc
(Cray Standard C Version 4.0.3  (057126) Mar 22 2003  22:02:28).
(human_fstype): Factor some directives `up', out of this function.
Cast away `const' to avoid error from Cray's /bin/cc.
2003-03-22 21:32:22 +00:00
Jim Meyering
e08b6d5fe7 *** empty log message *** 2003-03-22 19:42:50 +00:00
Jim Meyering
06fc494da3 (widen): Cast alloca return value to proper type. 2003-03-22 19:42:42 +00:00
Jim Meyering
206ea8eee6 *** empty log message *** 2003-03-22 19:39:48 +00:00
Jim Meyering
d777b396b7 (NEW_PATTERN): Cast alloca to proper type.
Otherwise, it wouldn't compile with at least /bin/cc on
ymp-cray-unicos9.0.2.X.
Combine two mostly-identical uses of alloca into one.
2003-03-22 19:39:40 +00:00
Jim Meyering
fe2e2b71ea *** empty log message *** 2003-03-22 19:38:00 +00:00
Jim Meyering
ed9f04cf64 *** empty log message *** 2003-03-21 15:26:21 +00:00
Jim Meyering
944ef7a2c1 *** empty log message *** 2003-03-20 17:43:16 +00:00
Jim Meyering
780ccddf5c (print_changelog_deltas): Ensure that a newline precedes each row of `*'s. 2003-03-20 17:43:12 +00:00
Jim Meyering
9f4a054923 bump to 4.5.12 -- maybe to 5.0, later 2003-03-20 16:46:53 +00:00
Jim Meyering
c46b6369a9 . 2003-03-20 15:10:45 +00:00
Jim Meyering
216808be38 . 2003-03-20 14:56:19 +00:00
Jim Meyering
ffde892348 fix typo 2003-03-20 14:55:33 +00:00
Jim Meyering
b1b0860f20 . 2003-03-20 14:43:03 +00:00
Jim Meyering
b912c10f7a *** empty log message *** 2003-03-20 13:52:03 +00:00
Jim Meyering
9e4472733b *** empty log message *** 2003-03-20 13:49:42 +00:00
Jim Meyering
0568c4e2d4 (valid_format): Also accept ' and '' as valid
format flag characters.
Do not require that a field width be specified.
Do not fail when given a field width of `0'.
2003-03-20 13:49:39 +00:00
Jim Meyering
8fe825b787 add two more, using space flag character 2003-03-20 13:47:21 +00:00
Jim Meyering
991e476b56 . 2003-03-20 10:11:45 +00:00
Jim Meyering
8d65951aea *** empty log message *** 2003-03-19 23:17:15 +00:00
Jim Meyering
bb6e39dc48 (all-local): Append $(EXEEXT) to use of `su'
(install-root): Likewise.
(install-exec-local): Likewise.
2003-03-19 23:17:12 +00:00
Jim Meyering
cf1a86162e *** empty log message *** 2003-03-19 23:01:11 +00:00
Jim Meyering
0c7a413e4e *** empty log message *** 2003-03-19 23:00:35 +00:00
Jim Meyering
ca85f1f994 (.x.1): Use $(LN_S) instead of 'ln -s',
because the DJGPP 2.03 port of 'ln -s' doesn't work.
Include $(EXEEXT) in program names.
Since $(LN_S) may degenerate to `cp -p', be careful
to invoke it from the destination directory.
Mostly from Richard Dawe.
2003-03-19 23:00:25 +00:00
Jim Meyering
3d8719b298 Use AC_PROG_LN_S. 2003-03-19 22:50:52 +00:00
Jim Meyering
d23db66508 *** empty log message *** 2003-03-19 19:38:34 +00:00
Jim Meyering
cd02bb1ec7 (AC_FUNC_FTW): Require AC_HEADER_STAT. 2003-03-19 19:38:30 +00:00
Jim Meyering
51d522533a *** empty log message *** 2003-03-19 19:33:18 +00:00
Jim Meyering
c8e3afa388 DJGPP doesn't have S_ISLNK, so provide a replacement.
(S_IFMT): Define, if necessary.
[STAT_MACROS_BROKEN]: Undefine S_ISLNK.
(S_ISLNK): Define, if necessary.
2003-03-19 19:33:12 +00:00
Jim Meyering
04ac96ed14 *** empty log message *** 2003-03-19 09:11:59 +00:00
Jim Meyering
4554e2245d *** empty log message *** 2003-03-19 09:10:42 +00:00
Jim Meyering
1564be8f74 . 2003-03-19 09:10:07 +00:00
Jim Meyering
d90ad399b7 *** empty log message *** 2003-03-19 09:09:41 +00:00
Jim Meyering
2c07dcd1e8 Include $(EXEEXT) in OPTIONAL_BIN_PROGS'
program names, since automake only adds $(EXEEXT) to programs
in its *_PROGRAMS.  From Rich Dawe.
2003-03-19 09:06:40 +00:00
Jim Meyering
903c5ac7c9 . 2003-03-19 09:04:39 +00:00
Jim Meyering
a54791dc18 (jm_MACROS): Include $(EXEEXT) in DF_PROG's program
name, since automake only adds $(EXEEXT) to programs in its *_PROGRAMS.
Arrange to compile the corresponding stub function if fchdir is missing.
2003-03-19 09:03:40 +00:00
Jim Meyering
82fb517834 New file: trivial stub for fchdir.
From Rich Dawe.
2003-03-19 09:00:34 +00:00
Jim Meyering
620d2e40cc *** empty log message *** 2003-03-19 08:15:28 +00:00
Jim Meyering
b01894ce34 Unset CDPATH. Otherwise, having the
CDPATH shell variable set could cause this test to fail.
2003-03-19 08:15:14 +00:00
Jim Meyering
7c76b720e8 *** empty log message *** 2003-03-19 08:14:04 +00:00
Jim Meyering
0cc6e2962d Remove uses of `PARAMS'. 2003-03-19 08:14:02 +00:00
Jim Meyering
37e0f7ac18 (PARAMS): Remove definition and uses. 2003-03-19 08:12:47 +00:00
Jim Meyering
79feee4de5 *** empty log message *** 2003-03-19 08:11:10 +00:00
Jim Meyering
60e4df7191 Don't define __const.
(fnmatch): Use const, not __const in prototype.
2003-03-19 08:10:47 +00:00
Jim Meyering
c8dd553971 revert last change 2003-03-19 08:09:20 +00:00
Jim Meyering
e5f3393f3a *** empty log message *** 2003-03-19 00:00:04 +00:00
Jim Meyering
0a72ec6c46 . 2003-03-18 19:16:34 +00:00
Jim Meyering
66937ee56b *** empty log message *** 2003-03-18 19:12:57 +00:00
Jim Meyering
32a06622de *** empty log message *** 2003-03-18 19:11:28 +00:00
Jim Meyering
97f17c1705 Remove lib/c-stack.c. 2003-03-18 19:11:25 +00:00
Jim Meyering
1fe585c5df . 2003-03-18 17:48:02 +00:00
Jim Meyering
081b3c96ef (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
error from mntctl.
Use mntctl's return value to drive the entry-processing loop, since
we can't rely on the value of the vmt_length member in the last
entry.  On some systems doing so could result in an infinite loop.
Based in part on a patch from Mike Jetzer.
2003-03-18 17:47:06 +00:00
Jim Meyering
f36cebb7df *** empty log message *** 2003-03-18 17:14:42 +00:00
Jim Meyering
4e3aebb74a (jm_LIST_MOUNTED_FILESYSTEMS): Move the MOUNTED_VMOUNT
test to precede the MOUNTED_GETMNTENT1 tests, since otherwise, AIX 5.1
systems would end up using the latter.  MOUNTED_GETMNTENT1 support
is inadequate on such systems: 1) detecting whether a file system
is remote doesn't work  2) the MOUNTED_VMOUNT code reports the
HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1 code reports
merely /MOUNT_POINT.  Reported by Mike Jetzer.
2003-03-18 17:14:31 +00:00
Jim Meyering
b9c866ac1a undo mountlist.h change 2003-03-18 17:04:18 +00:00
Jim Meyering
5f4059d425 undo last change 2003-03-18 17:04:04 +00:00
Jim Meyering
8be6d87354 . 2003-03-18 15:40:34 +00:00
Jim Meyering
5f3bedb89a (excluded_filename): Define and use typedef to
avoid type mismatch in conditional expression.
2003-03-18 15:40:13 +00:00
Jim Meyering
336a1e2dad *** empty log message *** 2003-03-18 15:39:58 +00:00
Jim Meyering
dc872b1ebe (ME_REMOTE): Recognize as remote any file system
that has an Fs_type with the `nfs' (any case) prefix.
This is necessary at least for AIX 5.1 when it uses the
MOUNTED_GETMNTENT1 code.  Reported by Mike Jetzer.
2003-03-18 15:39:45 +00:00
Jim Meyering
3c13c953a8 . 2003-03-18 08:53:59 +00:00
Jim Meyering
837fc9bfa5 (quote_n): Fix typo in comment. 2003-03-18 08:49:12 +00:00
Jim Meyering
e94edefba1 *** empty log message *** 2003-03-18 08:44:07 +00:00
Jim Meyering
ba84092326 [struct Word] (paren, period, punct, final): Change the
type of each member from bool <MEMBER>:1 to unsigned int <MEMBER>:1.
AIX 5.1's xlc could not compile the former.
2003-03-18 08:43:57 +00:00
Jim Meyering
8f33b715b1 *** empty log message *** 2003-03-18 08:27:50 +00:00
Jim Meyering
b596a7b153 *** empty log message *** 2003-03-17 21:50:33 +00:00
Jim Meyering
01b5986293 (raise): Rename from rpl_raise.
Without that change, systems lacking raise (SunOS4) would not be
able to link programs using raise.  Reported by Volker Borchert.
2003-03-17 21:50:30 +00:00
Jim Meyering
d06c77002c *** empty log message *** 2003-03-17 21:32:42 +00:00
Jim Meyering
be1c943e9a *** empty log message *** 2003-03-17 21:03:17 +00:00
Jim Meyering
e01be0a128 (FTW_STAT): Rename from `STAT', to avoid conflict
with STAT definition from <sys/dir.h> on AIX 5.1.
2003-03-17 21:00:48 +00:00
Jim Meyering
67b77b54e5 *** empty log message *** 2003-03-17 19:47:45 +00:00
Jim Meyering
ad51076699 *** empty log message *** 2003-03-17 19:46:20 +00:00
Jim Meyering
947851c136 *** empty log message *** 2003-03-17 19:28:35 +00:00
Jim Meyering
70c7e4f3e8 (UTILS_FUNC_DIRFD): Test the cache variable, not one
that is guaranteed to be `no'.  Use `no_such_member' to indicate
that condition, rather than `-1' which is slightly misleading.
Change the name of the cache variable to have the gl_ prefix.
Prompted by a patch from Richard Dawe for DJGPP.
2003-03-17 19:28:31 +00:00
Jim Meyering
49475d0eea *** empty log message *** 2003-03-17 19:21:33 +00:00
Jim Meyering
bb0dd792a3 (readlink): Put function type on its own line. 2003-03-17 19:21:28 +00:00
Jim Meyering
f3ad658b98 (lstat): Put function type on its own line. 2003-03-17 19:21:13 +00:00
Jim Meyering
f9cfbe069c (fchown): Put function type on its own line. 2003-03-17 19:21:01 +00:00
Jim Meyering
2de612e2d0 *** empty log message *** 2003-03-16 10:16:28 +00:00
Jim Meyering
5151ce79b2 (rm): Put two local variables in static storage,
so they can't be clobbered by the potential longjmp.
2003-03-16 10:16:14 +00:00
Jim Meyering
a32544a77f . 2003-03-15 10:41:10 +00:00
Jim Meyering
3b424797bc . 2003-03-15 10:40:43 +00:00
Jim Meyering
bc72fc72a1 *** empty log message *** 2003-03-15 10:20:18 +00:00
Jim Meyering
4dae9f5284 *** empty log message *** 2003-03-15 10:18:28 +00:00
Jim Meyering
ba8161db2b (gnu_rel_host): Define in terms of $(RELEASE_TYPE) instead. 2003-03-15 10:18:21 +00:00
Jim Meyering
cb8af7fe26 remove unnecessary trailing backslash 2003-03-15 10:13:05 +00:00
Jim Meyering
58153c43df (gnu_rel_host): Fix code to match the comment
so that a version number with a two-digit component can still count
as an alpha release.
2003-03-15 10:11:04 +00:00
Jim Meyering
fbf699624a *** empty log message *** 2003-03-14 20:45:07 +00:00
Jim Meyering
2da403eb07 (jm_PREREQ): Also forbid the gl_[A-Z] prefix.
Don't require jm_PREREQ_C_STACK.
2003-03-14 20:45:03 +00:00
Jim Meyering
261df8b8d6 *** empty log message *** 2003-03-14 20:33:54 +00:00
Jim Meyering
518c982d88 (libfetish_a_SOURCES): Remove unused files: c-stack.c, c-stack.h. 2003-03-14 20:33:44 +00:00
Jim Meyering
b9fa45f2b0 remove ansi2knr junk 2003-03-14 20:23:12 +00:00
Jim Meyering
3a87bec119 *** empty log message *** 2003-03-14 20:15:32 +00:00
Jim Meyering
a37bc433f1 *** empty log message *** 2003-03-14 20:14:00 +00:00
Jim Meyering
4968b1607c (AUTOMAKE_OPTIONS): Remove definition --
before it pointed to ../src/ansi2knr.
2003-03-14 20:11:41 +00:00
Jim Meyering
711674a112 *** empty log message *** 2003-03-14 20:10:33 +00:00
Jim Meyering
f406bff3f9 . 2003-03-14 20:10:15 +00:00
Jim Meyering
82faf15e5a *** empty log message *** 2003-03-14 15:40:40 +00:00
Jim Meyering
daab2ee487 (prev_version_file): Don't use ?= for this particular
assignment, since it causes trouble with old versions of GNU make
(e.g. 3.76.1).  The other uses of `?=' are inoffensive.  Details here.
http://mail.gnu.org/archive/html/bug-coreutils/2003-03/msg00028.html
Patch from Alexandre Duret-Lutz.
2003-03-14 15:40:34 +00:00
Jim Meyering
a6fe60683e *** empty log message *** 2003-03-14 13:56:33 +00:00
Jim Meyering
52ebb61da8 . 2003-03-14 13:54:36 +00:00
Jim Meyering
f69ed27d62 . 2003-03-14 13:16:21 +00:00
Jim Meyering
acf7bd48ce *** empty log message *** 2003-03-14 12:52:19 +00:00
Jim Meyering
3cb04081fb Include "xalloc.h". 2003-03-14 12:52:13 +00:00
Jim Meyering
766de40ee7 *** empty log message *** 2003-03-14 09:54:48 +00:00
Jim Meyering
dfd085aa0d Merge changes from Bison.
(__INT_TO_PTR) [__STDC__]: Cast result to
(void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
when compiling Bison 1.875's `bitset bset = obstack_alloc
(bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
2003-03-14 09:54:39 +00:00
Jim Meyering
ee3bda46f8 . 2003-03-14 09:50:49 +00:00
Jim Meyering
a85b65745b [from gnulib]
(m4_quote): New macro.
(AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
Quote AC_FOREACH variable-expansions properly.
2003-03-14 09:50:43 +00:00
Jim Meyering
61d848b5c4 bump to 4.5.11 2003-03-14 09:45:37 +00:00
Jim Meyering
b1064596b4 (main): Label the compressed source URLs. 2003-03-14 09:44:59 +00:00
Jim Meyering
5b50817cd5 . 2003-03-14 08:37:36 +00:00
Jim Meyering
e50a5bac4a . 2003-03-14 08:13:06 +00:00
Jim Meyering
e81983cdf2 *** empty log message *** 2003-03-14 07:56:15 +00:00
Jim Meyering
e4a76f1076 Relax the test for the `local'ness of a file system,
so that now it works also for tmpfs.
2003-03-14 07:56:09 +00:00
Jim Meyering
b38d8f4a44 Transform output from first du, so that this
test doesn't fail on file systems like tmpfs that order directory
entries differently.
2003-03-14 06:54:37 +00:00
Jim Meyering
4f6b47eb0b sort du output, in case f1 and f2 are listed in a different order 2003-03-14 06:50:28 +00:00
Jim Meyering
37fce4800e reformat a little 2003-03-14 06:48:13 +00:00
Jim Meyering
971302bb61 . 2003-03-13 21:25:48 +00:00
Jim Meyering
5cd9c80dff *** empty log message *** 2003-03-13 21:06:06 +00:00
Jim Meyering
689922fc01 Work around what appears to be an NFS failure that
would make this test fail on some systems.
2003-03-13 21:05:59 +00:00
Jim Meyering
419e214799 . 2003-03-13 13:16:15 +00:00
Jim Meyering
4949f06ed4 *** empty log message *** 2003-03-13 13:16:04 +00:00
Jim Meyering
0a604bf564 tweak wording 2003-03-13 13:15:56 +00:00
Jim Meyering
814ec278fc (shred invocation): Mention that --exact
is now the default for non-regular files.
2003-03-13 13:14:40 +00:00
Jim Meyering
0ac35ac0b7 *** empty log message *** 2003-03-13 13:08:19 +00:00
Jim Meyering
2e836b19be *** empty log message *** 2003-03-13 13:07:15 +00:00
Jim Meyering
30593686a8 . 2003-03-13 13:07:11 +00:00
Jim Meyering
7bf2a1ab85 *** empty log message *** 2003-03-13 13:06:50 +00:00
Jim Meyering
4f5960c9fb (jm_MACROS): Arrange to compile the corresponding stub
function if any of the following is missing: fchown, lstat, readlink.
From Richard Dawe.
2003-03-13 13:06:44 +00:00
Jim Meyering
2506805702 . 2003-03-12 23:14:15 +00:00
Jim Meyering
0baa107ac9 *** empty log message *** 2003-03-12 09:47:23 +00:00
Jim Meyering
95ca880e12 *** empty log message *** 2003-03-11 22:54:36 +00:00
Jim Meyering
97002b08a8 Make the test file exactly 4k bytes long. 2003-03-11 22:20:54 +00:00
Jim Meyering
73408e50af *** empty log message *** 2003-03-11 22:12:42 +00:00
Jim Meyering
28a2492860 *** empty log message *** 2003-03-11 22:12:38 +00:00
Jim Meyering
a988982b19 (longopts): Don't hard-code `2' here.
Instead, just specify `&verbose', and ...
(main): ... remove the `case 2:' block for --verbose.
2003-03-11 20:48:36 +00:00
Jim Meyering
872d765633 *** empty log message *** 2003-03-11 20:34:29 +00:00
Jim Meyering
89c8181527 *** empty log message *** 2003-03-11 20:31:53 +00:00
Jim Meyering
257b85ca8e Don't segfault for a negative field width or precision in format string.
(UNSPECIFIED): Define.
(print_direc): Use the special value, UNSPECIFIED, to indicate
that field_width or precision has not been specified.
(print_formatted): Fail if field_width or precision is the
special value, UNSPECIFIED.
2003-03-11 20:25:18 +00:00
Jim Meyering
09ad938a09 *** empty log message *** 2003-03-11 20:23:38 +00:00
Jim Meyering
4a3dc4c76c Make the test larger than 64 bytes, so that we don't
immediately disqualify file systems (e.g., NetApp) on which smaller
files take up zero disk blocks.
2003-03-11 20:23:31 +00:00
Jim Meyering
3850874bf0 *** empty log message *** 2003-03-11 17:08:50 +00:00
Jim Meyering
a0528d8bf2 *** empty log message *** 2003-03-11 10:08:21 +00:00
Jim Meyering
d7103af2bc Include <wchar.h>. Needed for UnixWare 7.1.1.
Reported by John Hughes, see
http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
2003-03-11 10:08:15 +00:00
Jim Meyering
0f48190f5d *** empty log message *** 2003-03-11 10:07:21 +00:00
Jim Meyering
c7cb614727 (EXIT_FAILURE): Define if the system doesn't.
Reported by Bruce Becker; see:
http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
2003-03-11 10:07:17 +00:00
Jim Meyering
2cfe7f19eb *** empty log message *** 2003-03-10 18:27:27 +00:00
Jim Meyering
1a91a03bd0 *** empty log message *** 2003-03-10 18:26:16 +00:00
Jim Meyering
f089969ec9 Add a test for the above-fixed bug. 2003-03-10 12:24:59 +00:00
Jim Meyering
b44a6e8565 (INT_MIN): Define, if necessary. 2003-03-10 10:41:24 +00:00
Jim Meyering
cbc5ba67a5 *** empty log message *** 2003-03-10 10:39:31 +00:00
Jim Meyering
f380405cb6 . 2003-03-10 07:53:39 +00:00
Jim Meyering
3d23ede4eb Include "save-cwd.h".
(ftw_startup): Avoid use of getcwd, if possible.
Instead, use fopen/fchdir via save_cwd/restore_cwd.
2003-03-09 09:22:55 +00:00
Jim Meyering
ff47d1602f *** empty log message *** 2003-03-09 09:14:25 +00:00
Jim Meyering
79cb935030 fix typo in comment 2003-03-09 07:56:29 +00:00
Jim Meyering
b834bcfc65 *** empty log message *** 2003-03-09 07:54:43 +00:00
Jim Meyering
ac6d593d59 *** empty log message *** 2003-03-09 07:14:28 +00:00
Jim Meyering
25697ff274 (AD_stack_pop): Cast sizeof... to int before changing its sign.
This avoids a warning from gcc on 64-bit systems.
(pop_dir): Reverse order of sign change and cast, to be consistent
with the above.
2003-03-09 07:14:19 +00:00
Jim Meyering
5a7ffbd8f9 *** empty log message *** 2003-03-08 21:22:40 +00:00
Jim Meyering
cf79b808df (evar-check): Check for POSIXLY_CORRECT not as a
shell variable, but only in the environment.  With /bin/sh->bash, the
shell variable is set to `y', and that would cause a spurious warning.
2003-03-08 21:22:25 +00:00
Jim Meyering
79d95ae843 *** empty log message *** 2003-03-08 21:04:11 +00:00
Jim Meyering
183fe2386d *** empty log message *** 2003-03-08 19:02:46 +00:00
Jim Meyering
30ccf7222a Require at least version 1.11 of Expect.pm.
Old versions of Expect.pm (e.g., 1.07) lack the log_user function.
Patch by Bob Proulx.
2003-03-08 19:02:38 +00:00
Jim Meyering
34a6d6e2dd Before, when using shred on a device, one had to specify --exact,
or be careful to choose a size that would not be rounded up and
exceed the maximum value;  that could result in a failure of
the final write.

(do_wipefd): --exact is now the default for non-regular
files.  Suggestion from Ben Elliston.
(usage): Say it.
2003-03-08 16:57:55 +00:00
Jim Meyering
4dffef72e6 *** empty log message *** 2003-03-08 16:55:50 +00:00
Jim Meyering
9d3548a908 (check-root): Remove touch/fifo.
It doesn't appear to have to be run as root.
2003-03-08 16:55:42 +00:00
Jim Meyering
c440afd9f8 *** empty log message *** 2003-03-08 16:44:04 +00:00
Jim Meyering
e02625cb79 *** empty log message *** 2003-03-08 16:43:52 +00:00
Jim Meyering
c86bae2a59 *** empty log message *** 2003-03-08 16:43:48 +00:00
Jim Meyering
6df9b9041d Rather than simply using the first non-root
username, make sure that the selected user name has a usable shell.
2003-03-08 16:43:43 +00:00
Jim Meyering
777ac50d21 *** empty log message *** 2003-03-08 15:47:57 +00:00
Jim Meyering
b01a17f9b4 *** empty log message *** 2003-03-08 15:32:23 +00:00
Jim Meyering
f31336c193 Also check for the log_user method, to avoid
spurious failure when using an old version of Expect.pm (e.g., 1.07).
Reported by Bob Proulx.
2003-03-08 15:32:17 +00:00
Jim Meyering
cb1dcb5818 . 2003-03-08 14:32:57 +00:00
Jim Meyering
3e9e352991 Remove now-unused #include and #define directives. 2003-03-08 14:30:28 +00:00
Jim Meyering
79065539dd (check-misc): Check for use of `defined' in #define directives.
Change to $(srcdir) before running grep.
2003-03-08 14:30:14 +00:00
Jim Meyering
eff5758aaf Don't use `defined' in a #define directive. 2003-03-08 14:26:48 +00:00
Jim Meyering
ec655b669f *** empty log message *** 2003-03-08 10:28:41 +00:00
Jim Meyering
9d7d671604 . 2003-03-08 10:27:19 +00:00
Jim Meyering
5abd02fef6 *** empty log message *** 2003-03-08 10:26:32 +00:00
Jim Meyering
e4c02ba583 *** empty log message *** 2003-03-08 10:25:25 +00:00
Jim Meyering
a3a6a035d1 . 2003-03-08 10:24:00 +00:00
Jim Meyering
04c9a5c2e4 Ensure that hard links _are_ listed twice when using --count-links. 2003-03-08 10:23:45 +00:00
Jim Meyering
66bada849b (process_file): If a file's size is not being counted
e.g., because it's a hard link to a file we've already counted,
then don't print a line for it.
2003-03-08 10:21:19 +00:00
Jim Meyering
07f4993bfb *** empty log message *** 2003-03-08 10:18:26 +00:00
Jim Meyering
6c1a78b5d6 `du -S' didn't work
Revert most of the `reorganization' change of 2003-02-20,
and make the two-array approach work.
2003-03-08 10:18:19 +00:00
Jim Meyering
8f683f9314 *** empty log message *** 2003-03-08 10:14:33 +00:00
Jim Meyering
0da302c05a *** empty log message *** 2003-03-08 10:10:59 +00:00
Jim Meyering
12a14ef034 *** empty log message *** 2003-03-08 10:10:09 +00:00
Jim Meyering
72dc1cec94 (TESTS): Add hard-link. 2003-03-08 09:56:14 +00:00
Jim Meyering
d53c43f440 *** empty log message *** 2003-03-08 09:50:12 +00:00
Jim Meyering
3ba019fec5 . 2003-03-08 09:48:27 +00:00
Jim Meyering
5fb608bc08 Correct/add tests for the above fix.
Set LC_ALL, etc, now that we use sort.
Check the block/size of a small file, too.
Correct expected results for simple dir1/dir2/file case.
Add another test of du -S.
2003-03-08 08:39:07 +00:00
Jim Meyering
e20876e2ca . 2003-03-07 23:48:40 +00:00
Jim Meyering
7c8f779ea4 remove mmap-stack.c 2003-03-07 23:43:09 +00:00
Jim Meyering
a36e686371 *** empty log message *** 2003-03-07 23:42:35 +00:00
Jim Meyering
684f41944e . 2003-03-07 23:37:10 +00:00
Jim Meyering
6d842c09f0 *** empty log message *** 2003-03-07 23:36:49 +00:00
Jim Meyering
c647d81837 *** empty log message *** 2003-03-07 23:26:35 +00:00
Jim Meyering
a1134e1eb6 (print_it): Use putchar, not fputs, to output a single character. 2003-03-07 23:24:53 +00:00
Jim Meyering
b24b4b4d59 (dired_dump_obstack): Use putchar, not fputs, to output a single character. 2003-03-07 23:22:54 +00:00
Jim Meyering
a98f67970e (usage): Use putchar, not fputs, to output a single character. 2003-03-07 23:22:14 +00:00
Jim Meyering
aec039a4c1 (output_one_tex_line, output_one_dumb_line):
Use putchar, not fputs, to output a single character.
2003-03-07 23:21:45 +00:00
Jim Meyering
792f321a7a *** empty log message *** 2003-03-07 20:01:46 +00:00
Jim Meyering
2b1a18e682 Remove everything associated with mmap-stack.c.
This reverts the two changes of 2003-02-21.
2003-03-07 20:01:35 +00:00
Jim Meyering
07434548fa *** empty log message *** 2003-03-07 19:53:59 +00:00
Jim Meyering
3450fcb4f5 Don't require AC_SYS_MMAP_STACK. 2003-03-07 19:52:19 +00:00
Jim Meyering
f7fcb90822 (AC_LANG_SOURCE(C)): New macro. 2003-03-07 19:52:03 +00:00
Jim Meyering
cb79312b0c . 2003-03-07 19:51:00 +00:00
Jim Meyering
b29dc802f7 (libfetish_a_SOURCES): Remove mmap-stack.h. 2003-03-07 19:49:56 +00:00
Jim Meyering
300807cd2f . 2003-03-07 19:49:20 +00:00
Jim Meyering
bce28b3573 *** empty log message *** 2003-03-07 19:47:24 +00:00
Jim Meyering
6d1bd5a97d Remove everything associated with mmap-stack.c.
This reverts the change of 2003-02-19.
2003-03-07 19:47:18 +00:00
Jim Meyering
9631f28a53 *** empty log message *** 2003-03-07 13:01:02 +00:00
Jim Meyering
3d3879d118 Test the -S option using a hierarchy containing files, too,
not just directories.
2003-03-07 12:59:30 +00:00
Jim Meyering
390a0fb48d *** empty log message *** 2003-03-07 10:16:50 +00:00
Jim Meyering
5635524114 #undef getcwd only after *all* included header files.
Declare getcwd unconditionally.
2003-03-07 10:13:55 +00:00
Jim Meyering
5fb9e06a4a *** empty log message *** 2003-03-07 09:57:33 +00:00
Jim Meyering
4c2704b8cd (GL_FUNC_GETCWD_PATH_MAX): Check for declaration of getcwd. 2003-03-07 09:57:29 +00:00
Jim Meyering
80ddb4bed4 *** empty log message *** 2003-03-07 09:52:34 +00:00
Jim Meyering
32ae6e8565 (same_name): Remove unnecessary inclusion of config.h.
It also happened to lead to infinite recursion in getcwd.c.
(PARAMS): Remove definition and use.
2003-03-07 09:52:28 +00:00
Jim Meyering
473d0baa73 undo last change 2003-03-06 22:24:06 +00:00
Jim Meyering
b4e7a90ce6 #undef getcwd before including system headers.
This avoid a build failure on IRIX 6.5.  Reported by Nelson Beebe.
2003-03-06 22:23:26 +00:00
Jim Meyering
08e9a37430 *** empty log message *** 2003-03-06 22:04:54 +00:00
Jim Meyering
a63a083879 [!HAVE_DECL_GETCWD]: Declare getcwd. 2003-03-06 22:04:45 +00:00
Jim Meyering
a319b6a626 *** empty log message *** 2003-03-06 22:04:23 +00:00
Jim Meyering
9f0f14d1d6 (GL_FUNC_GETCWD_PATH_MAX): Check for declaration of getcwd. 2003-03-06 22:04:19 +00:00
Jim Meyering
c71e43ce1d *** empty log message *** 2003-03-06 14:14:22 +00:00
Jim Meyering
b70ecc4de1 Fix a bug that causes du to dump core on 64-bit systems.
(ftw_startup): Declare `func' parameter to be of type
NFTW_FUNC_T, not void* which may be smaller on 64-bit systems.
Remove now-unnecessary cast.
(FTW_NAME): Cast func argument to type `NFTW_FUNC_T'.
2003-03-06 14:14:16 +00:00
Jim Meyering
ce8758e12c *** empty log message *** 2003-03-06 07:44:00 +00:00
Jim Meyering
00709b8fa2 Unset CDPATH. Otherwise, having the
CDPATH shell variable set could cause this test to fail.
2003-03-06 07:43:45 +00:00
Jim Meyering
4e38ca53ee bump to 4.5.10 2003-03-05 20:46:39 +00:00
Jim Meyering
f4991fd3ca . 2003-03-05 18:05:04 +00:00
Jim Meyering
a7135a8d95 . 2003-03-05 17:50:06 +00:00
Jim Meyering
57bdc54b21 (print_esc): Remove pointless comparison of unsigned
integer with zero, to avoid a warning from Intel's ecc.
2003-03-05 17:44:08 +00:00
Jim Meyering
8e111ca309 . 2003-03-05 13:12:02 +00:00
Jim Meyering
0b41ba4064 *** empty log message *** 2003-03-05 11:06:41 +00:00
Jim Meyering
09fb1e2d6e (ARRAY_SIZE): Define it. 2003-03-05 11:06:18 +00:00
Jim Meyering
5bc14b90c6 add comment 2003-03-05 10:48:41 +00:00
Jim Meyering
9bd9db554a fix logic error 2003-03-05 10:45:38 +00:00
Jim Meyering
4e8dbeb934 #undef mkdir to avoid link errors on
i386-unknown-netbsdelf1.6
2003-03-05 10:29:38 +00:00
Jim Meyering
3179bd60e7 . 2003-03-05 09:25:26 +00:00
Jim Meyering
3369a3e58c . 2003-03-05 09:05:38 +00:00
Jim Meyering
e50251a361 more variable renaming: use gl_ prefix 2003-03-05 09:05:08 +00:00
Jim Meyering
9e4307423e . 2003-03-05 09:04:43 +00:00
Jim Meyering
f5f28cd4a8 *** empty log message *** 2003-03-05 09:03:58 +00:00
Jim Meyering
ef2d0f022d *** empty log message *** 2003-03-05 09:02:24 +00:00
Jim Meyering
c3410e9d59 *** empty log message *** 2003-03-05 08:58:20 +00:00
Jim Meyering
710f4eabd6 *** empty log message *** 2003-03-05 08:57:50 +00:00
Jim Meyering
cba636cfe0 rename 2003-03-05 08:36:35 +00:00
Jim Meyering
66d86350c4 name changes
add comments
fix logic
2003-03-05 08:35:36 +00:00
Jim Meyering
51a43a8c56 rename to GL_FUNC_GETCWD_PATH_MAX 2003-03-05 08:33:24 +00:00
Jim Meyering
60660ec79c comments 2003-03-05 08:19:10 +00:00
Jim Meyering
fad0f0f131 *** empty log message *** 2003-03-05 08:13:34 +00:00
Jim Meyering
a82b32cb9a . 2003-03-05 08:08:35 +00:00
Jim Meyering
b15bf36cee *** empty log message *** 2003-03-05 07:43:36 +00:00
Jim Meyering
82fba3787f use better sed expressions 2003-03-05 07:38:10 +00:00
Jim Meyering
c2c397d96f . 2003-03-05 07:25:57 +00:00
Jim Meyering
998e0827e4 comments 2003-03-05 07:24:22 +00:00
Jim Meyering
6d53130e35 *** empty log message *** 2003-03-05 07:15:34 +00:00
Jim Meyering
f921b7474d (TESTS): Add 8gb. 2003-03-05 07:15:30 +00:00
Jim Meyering
3fcd54f545 *** empty log message *** 2003-03-05 07:14:41 +00:00
Jim Meyering
64baf18b09 (process_file): Sizes must all be of type uintmax_t.
Otherwise, for files or totals that are too big, numbers would
be truncated.  Patch mostly by Michael Stone.
2003-03-05 06:35:18 +00:00
Jim Meyering
05c18320d7 *** empty log message *** 2003-03-05 06:34:08 +00:00
Jim Meyering
53ad087cdb *** empty log message *** 2003-03-04 23:02:42 +00:00
Jim Meyering
cd4c7725a8 *** empty log message *** 2003-03-04 23:02:16 +00:00
Jim Meyering
47fa65c648 (MAX_N_DESCRIPTORS): Use 3 * UTILS_OPEN_MAX / 4. 2003-03-04 23:02:08 +00:00
Jim Meyering
68b5e00c0c *** empty log message *** 2003-03-04 22:25:14 +00:00
Jim Meyering
eb399d45af Refer new feature discussion to bug-coreutils@gnu.org, rather than
bug-gnu-utils, now that the former is better known.
2003-03-04 22:25:11 +00:00
Jim Meyering
b4f567deb9 (usage): Capitalize consistently. 2003-03-04 22:22:19 +00:00
Jim Meyering
18c3ace4b9 . 2003-03-04 22:02:42 +00:00
Jim Meyering
abac4c9182 *** empty log message *** 2003-03-04 21:58:11 +00:00
Jim Meyering
50f317767f (rel-files): Include $(signatures), so that
those files are also copied into $(release_archive_dir).
2003-03-04 21:58:05 +00:00
Jim Meyering
72c2590f6f *** empty log message *** 2003-03-04 21:53:04 +00:00
Jim Meyering
51c121e352 *** empty log message *** 2003-03-04 21:46:40 +00:00
Jim Meyering
0c0252d8fd . 2003-03-04 21:44:07 +00:00
Jim Meyering
fa2e6d600c *** empty log message *** 2003-03-04 21:42:29 +00:00
Jim Meyering
b71a7bfd31 . 2003-03-04 21:40:33 +00:00
Jim Meyering
ac44ebc2f7 *** empty log message *** 2003-03-04 21:30:34 +00:00
Jim Meyering
e628a56597 (AD_pop_and_chdir): Call error here, now that restore_cwd no longer does it. 2003-03-04 21:30:27 +00:00
Jim Meyering
5ef70ce637 (find_mount_point): Call error here, now that restore_cwd no longer does it. 2003-03-04 21:29:56 +00:00
Jim Meyering
541c6da4ba *** empty log message *** 2003-03-04 21:29:16 +00:00
Jim Meyering
ca1b088722 (CLEANUP_CWD): Call error here, now that restore_cwd no longer does it. 2003-03-04 21:29:13 +00:00
Jim Meyering
6c08bfe83f (restore_cwd): Update prototype. 2003-03-04 21:27:55 +00:00
Jim Meyering
7820b193f6 (restore_cwd): Remove two parameters.
Simplify.  Don't call error upon failure.  Let callers do that.
(save_cwd): Mention that Irix 5.3 has the same problem as SunOS4
when auditing is enabled.  But don't bother updating the #if.
2003-03-04 21:27:34 +00:00
Jim Meyering
88410798e7 . 2003-03-04 19:53:40 +00:00
Jim Meyering
dc5916a65f (TESTS): Add fail-2eperm. 2003-03-04 19:52:20 +00:00
Jim Meyering
25481dc08c *** empty log message *** 2003-03-04 19:50:29 +00:00
Jim Meyering
1c4009dc9d (check-root): Add fail-2eperm. 2003-03-04 19:50:23 +00:00
Jim Meyering
74d2292171 *** empty log message *** 2003-03-04 19:49:35 +00:00
Jim Meyering
4c1d653416 . 2003-03-04 19:35:41 +00:00
Jim Meyering
ed1780effe *** empty log message *** 2003-03-04 18:08:06 +00:00
Jim Meyering
d68a9cf4e9 Improve comment. 2003-03-04 18:07:59 +00:00
Jim Meyering
59bd90b877 *** empty log message *** 2003-03-04 18:07:52 +00:00
Jim Meyering
d7b57a7571 *** empty log message *** 2003-03-04 18:00:42 +00:00
Jim Meyering
4b7f5815ef *** empty log message *** 2003-03-04 17:54:19 +00:00
Jim Meyering
c4893e2b08 Require GL_FUNC_GETCWD_ROBUST. 2003-03-04 17:54:15 +00:00
Jim Meyering
6e31d6f5a5 add comment 2003-03-04 17:21:33 +00:00
Jim Meyering
618481ca0c *** empty log message *** 2003-03-04 17:18:13 +00:00
Jim Meyering
59ae46343b *** empty log message *** 2003-03-04 09:18:02 +00:00
Jim Meyering
f31ebeed31 `df /some/mount-point' no longer hangs when an unrelated hard-mount
is unavailable

[__GLIBC__]: GNU libc's statvfs stats each mount point in
/proc/mounts until it finds one with matching device number.  This is
unnecessary when the FILE argument *is* a mount point.  No stat call
is necessary in that case.  So, disable the statvfs-testing code on
systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
as RedHat bug# 84846.
2003-03-04 09:16:35 +00:00
Jim Meyering
8617b0d590 *** empty log message *** 2003-03-04 09:16:11 +00:00
Jim Meyering
fa081ec19e *** empty log message *** 2003-03-04 08:27:31 +00:00
Jim Meyering
224794bba6 *** empty log message *** 2003-03-03 20:04:20 +00:00
Jim Meyering
4756c070ad (remove_cwd_entries): Include the full filename of
the offending file, not just the basename.
2003-03-03 20:03:43 +00:00
Jim Meyering
e7a2d01f98 *** empty log message *** 2003-03-03 10:39:15 +00:00
Jim Meyering
a6b030577b Set $ME properly. 2003-03-03 10:39:02 +00:00
Jim Meyering
7b5ef3e75d (tag-prev-version, prev-cvs-tag): Remove now-unused variables. 2003-03-03 09:49:37 +00:00
Jim Meyering
2f6403d671 (THIS_VERSION_REGEXP, PREV_VERSION_REGEXP): Remove now-unused variables. 2003-03-03 09:48:12 +00:00
Jim Meyering
872b3a4109 *** empty log message *** 2003-03-03 09:06:28 +00:00
Jim Meyering
1678b8382e (remove_cwd_entries) [!ROOT_CAN_UNLINK_DIRS]: Give an
accurate diagnostic when failing to remove a file owned by some other
user.  Reported by Ivo Timmermans via Michael Stone.
This fixes Debian bug# 178471.
2003-03-03 07:55:33 +00:00
Jim Meyering
5e9ae632a4 *** empty log message *** 2003-03-03 07:55:14 +00:00
Jim Meyering
2afb270a28 *** empty log message *** 2003-03-03 07:53:35 +00:00
Jim Meyering
23e0d08815 *** empty log message *** 2003-03-02 22:04:31 +00:00
Jim Meyering
76f851c979 fix typo in comment 2003-03-02 21:29:33 +00:00
Jim Meyering
af5c78f1c9 (TESTS): Add hard-3. 2003-03-02 21:27:48 +00:00
Jim Meyering
16403723ad tweak wording in last change 2003-03-02 18:09:22 +00:00
Jim Meyering
f4d210ebe8 *** empty log message *** 2003-03-02 18:04:16 +00:00
Jim Meyering
345481344c (Exit status): New section. 2003-03-02 18:04:03 +00:00
Jim Meyering
123cec6105 *** empty log message *** 2003-03-02 10:06:43 +00:00
Jim Meyering
49e5543e9d *** empty log message *** 2003-03-02 10:06:00 +00:00
Jim Meyering
5d1c377779 . 2003-03-02 10:04:48 +00:00
Jim Meyering
b254cdd31d *** empty log message *** 2003-03-02 06:09:39 +00:00
Jim Meyering
8c0f326660 (copy_internal) [un_backup]: When recovering from a
failure to create a hard link, do not remove the entry associating
the source dev/ino with the destination file name.
2003-03-02 06:09:28 +00:00
Jim Meyering
d8fd301dea add comments 2003-03-02 05:59:23 +00:00
Jim Meyering
b1e5afbaef fix tpyo 2003-03-01 21:28:39 +00:00
Jim Meyering
aa1ae08fc5 (print_header): Don't embed spaces in a separate `Type'
header string.  Instead, put `Filesystem' and `Type' headers in the
same string, so translators can use horizontal space as needed.
2003-03-01 21:20:57 +00:00
Jim Meyering
5f80e10645 *** empty log message *** 2003-03-01 13:19:03 +00:00
Jim Meyering
25a2ac8e3e *** empty log message *** 2003-03-01 13:18:25 +00:00
Jim Meyering
fa6cfd2ef3 *** empty log message *** 2003-02-28 21:46:49 +00:00
Jim Meyering
a1d2e330ec (copy_internal): When link fails because of an
existing destination file, unlink that file and try again.
2003-02-28 21:36:18 +00:00
Jim Meyering
1fce29ae93 also test cp 2003-02-28 21:34:15 +00:00
Jim Meyering
4b08f97c49 *** empty log message *** 2003-02-28 21:24:49 +00:00
Jim Meyering
7323ae775c (TESTS): Add hard-2. 2003-02-28 21:23:22 +00:00
Jim Meyering
b5c388739e *** empty log message *** 2003-02-28 21:20:28 +00:00
Jim Meyering
ad9e0f6824 (ftw_startup): Return -1 if alloca fails. 2003-02-28 14:44:34 +00:00
Jim Meyering
e660be4d86 *** empty log message *** 2003-02-28 12:42:47 +00:00
Jim Meyering
4433c9a082 (fts_children): If opening `.' fails, set the fts_child
member to NULL before returning.  From NetBSD.
2003-02-28 12:42:31 +00:00
Jim Meyering
3a4ac3a6a6 *** empty log message *** 2003-02-28 11:04:28 +00:00
Jim Meyering
fb428bedfc (fts_children): If fchdir fails, close file descriptor
before returning.  From NetBSD.
2003-02-28 11:04:18 +00:00
Jim Meyering
9fef9aa3eb *** empty log message *** 2003-02-27 21:05:59 +00:00
Jim Meyering
901f7f3910 (jm_PREREQ_PHYSMEM): Also check for `table' function. 2003-02-27 21:05:55 +00:00
Jim Meyering
eb339c4303 *** empty log message *** 2003-02-27 20:21:24 +00:00
Jim Meyering
9c97727fb2 (physmem_total, physmem_available): Add comments. 2003-02-27 20:21:21 +00:00
Jim Meyering
5446a82008 . 2003-02-27 17:52:56 +00:00
Jim Meyering
1fc44fe183 *** empty log message *** 2003-02-27 17:52:41 +00:00
Jim Meyering
92fa74148d Merge in portability changes from gcc/libiberty
to support AIX, Tru64, and Windows.  See the ChangeLog there
for credits and details.
2003-02-27 17:52:37 +00:00
Jim Meyering
8e2b85814a (gl_SYS__SYSTEM_CONFIGURATION): New function.
(jm_PREREQ_PHYSMEM): Check for new headers and functions.
Use gl_SYS__SYSTEM_CONFIGURATION.
2003-02-27 17:44:34 +00:00
Jim Meyering
8b9fe6bd80 *** empty log message *** 2003-02-26 18:09:11 +00:00
Jim Meyering
25dc498dab *** empty log message *** 2003-02-26 17:51:38 +00:00
Jim Meyering
0ac5f83cf9 Don't test du's -b option here. Directory byte
counts are smaller (512 rather than 4096) on at least OSF/1 5.1
and IBM AIX 4.2.
2003-02-26 17:51:34 +00:00
Jim Meyering
486d1c7024 *** empty log message *** 2003-02-25 19:14:12 +00:00
Jim Meyering
441c736081 (announcement): Now that ChangeLog entries
are output by announce-gen, don't do it here.
2003-02-25 19:14:04 +00:00
Jim Meyering
8708902315 (print_changelog_deltas): New function.
(main): Use it.
2003-02-25 19:13:08 +00:00
Jim Meyering
66d8a81ef3 filter through cppi 2003-02-24 10:09:19 +00:00
Jim Meyering
0eb448466a [__USE_FILE_OFFSET64]: Remove #error directive. 2003-02-24 10:08:57 +00:00
Jim Meyering
eb85acc63a Include <search.h>.
(struct known_object): Define.
(object_compare, add_object, find_object): New functions, like
those in ftw.c.
(fts_open): Initialize new member.
(fts_close): Free memory allocated for new member.
(fts_stat): Detect a cycle in O(logN) time per directory processed.
2003-02-24 09:58:02 +00:00
Jim Meyering
06a0dc99c7 *** empty log message *** 2003-02-24 09:09:49 +00:00
Jim Meyering
b3cac1155b [HAVE_CONFIG_H]: Include <config.h>.
Conditionalize inclusion of <sys/param.h>.
Conditionalize inclusion of <include/sys/stat.h> vs <sys/stat.h>.
Include autoconf-recommended block of dirent/NAMELEN-related
definitions and includes.  Use NAMLEN throughout, rather than
_D_EXACT_NAMLEN.
[_LIBC] (close, closedir, fchdir, open, opendir): Define.
[_LIBC] (readdir, tdestroy, tfind, tsearch): Define.
Remove `__' prefix from all uses of the above.  This will help
to merge *BSD changes.
[!_LIBC] (internal_function): Define.
[! _LIBC && ! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define lstat.
(__set_errno): Define if not already defined.
2003-02-24 09:09:42 +00:00
Jim Meyering
4c283a1dc0 [struct FTS] (fts_dir_signatures): New, opaque member. 2003-02-24 08:57:06 +00:00
Jim Meyering
0818c3e24c (fts_open): If fts_alloc returns NULL, don't dereference it.
(fts_read): If fts_safe_changedir fails because it is not
able to chdir into a subdirectory, then inform the caller.
2003-02-24 08:27:59 +00:00
Jim Meyering
f30cda6bd2 virgin copy from glibc 2003-02-24 08:24:59 +00:00
Jim Meyering
74432ad178 *** empty log message *** 2003-02-24 08:24:52 +00:00
Jim Meyering
6fcb6d17cf doh 2003-02-24 08:24:48 +00:00
Jim Meyering
75a2b87d4d *** empty log message *** 2003-02-24 08:21:39 +00:00
Jim Meyering
bf9a35319d *** empty log message *** 2003-02-24 08:21:21 +00:00
Jim Meyering
f86c2b4f16 . 2003-02-23 12:07:50 +00:00
Jim Meyering
4c370827c8 *** empty log message *** 2003-02-22 16:52:51 +00:00
Jim Meyering
39a87c5201 New option: --release-type=TYPE 2003-02-22 16:52:45 +00:00
Jim Meyering
0731abb38c (beta, major): New targets. Remove `release'.
Put them all together on a line.
Pass the release type (via RELEASE_TYPE envvar) to the MAKE
invocation of `announcement'.
(announcement): Invoke announce-gen with --release-type=$RELEASE_TYPE.
2003-02-22 16:52:36 +00:00
Jim Meyering
2f066fd511 (news-r1, news-r2): Remove now-unused definitions. 2003-02-22 16:35:32 +00:00
Jim Meyering
8d292b0f8a add comment 2003-02-22 16:32:58 +00:00
Jim Meyering
94755d84aa tweak comments 2003-02-22 16:31:12 +00:00
Jim Meyering
862609b1ec tweak comments 2003-02-22 16:30:39 +00:00
Jim Meyering
36db69ff1c Escape dots in regexps for $curr_version and $prev_version.
Fail if we find no lines in NEWS.
2003-02-22 16:30:28 +00:00
Jim Meyering
5c69cf2fea (announcement): Now that NEWS entries are
extracted by announce-gen, don't do it here.
2003-02-22 16:24:36 +00:00
Jim Meyering
05fac90002 New option: --news=NEWS_FILE.
Extract NEWS entries here, not ...
2003-02-22 16:23:36 +00:00
Jim Meyering
7147909aef *** empty log message *** 2003-02-22 07:55:21 +00:00
Jim Meyering
8030ecfee5 bump to 4.5.9 2003-02-22 07:55:11 +00:00
Jim Meyering
6c7b470774 . 2003-02-21 21:52:33 +00:00
Jim Meyering
f0c7211960 . 2003-02-21 21:37:12 +00:00
Jim Meyering
441007d004 *** empty log message *** 2003-02-21 21:34:14 +00:00
Jim Meyering
7ccb88fc0b *** empty log message *** 2003-02-21 20:38:16 +00:00
Jim Meyering
ad478502ed Merge in changes from autoconf's version of this file.
(www-gnu): Define.
(standards.texi-url_prefix): Use $(www-gnu).
(make-stds.texi-url_prefix): Likewise.
2003-02-21 20:38:10 +00:00
Jim Meyering
48437b2433 *** empty log message *** 2003-02-21 20:24:39 +00:00
Jim Meyering
19ae573dca *** empty log message *** 2003-02-21 20:22:27 +00:00
Jim Meyering
a49b79b305 *** empty log message *** 2003-02-21 17:13:17 +00:00
Jim Meyering
8607700a75 Undefine HAVE_MMAP_STACK, thus disabling
this code on all systems.
2003-02-21 17:13:09 +00:00
Jim Meyering
d15cfc1025 . 2003-02-21 12:27:57 +00:00
Jim Meyering
25af1b321d *** empty log message *** 2003-02-21 12:27:28 +00:00
Jim Meyering
a7b79d2a74 *** empty log message *** 2003-02-21 12:24:32 +00:00
Jim Meyering
27fad7ecec (stat invocation): Describe %B. 2003-02-21 12:24:12 +00:00
Jim Meyering
fc5797807e (usage): Tweak wording of %B description. 2003-02-21 12:23:48 +00:00
Jim Meyering
7215259bb0 *** empty log message *** 2003-02-21 12:16:34 +00:00
Jim Meyering
5e91595f93 Merge in some changes from GNU libc.
(md5_uintptr): Define.
2003-02-21 12:16:12 +00:00
Jim Meyering
0d0a14cd56 *** empty log message *** 2003-02-21 11:14:39 +00:00
Jim Meyering
d0301f3c12 *** empty log message *** 2003-02-21 11:12:53 +00:00
Jim Meyering
ab99f99f74 . 2003-02-21 11:12:46 +00:00
Jim Meyering
0586e6dbfc (TESTS): Add basic. 2003-02-21 11:12:34 +00:00
Jim Meyering
3abab5f388 *** empty log message *** 2003-02-21 10:41:34 +00:00
Jim Meyering
4d34fabc8d Include "mmap-stack.h".
(main): Invoke `run' through a macro that (when possible) runs it
with a large, mmap'd stack.
2003-02-21 10:41:27 +00:00
Jim Meyering
1771d1a11d *** empty log message *** 2003-02-21 10:23:21 +00:00
Jim Meyering
7f51568be5 *** empty log message *** 2003-02-21 10:22:29 +00:00
Jim Meyering
0801bebeb4 (run_on_mmaped_stack): Allocate 256MB, not 1GB 2003-02-21 09:51:26 +00:00
Jim Meyering
49daa21e00 *** empty log message *** 2003-02-21 08:34:41 +00:00
Jim Meyering
6fe8f2a831 New option: --apparent-size.
(enum) [APPARENT_SIZE_OPTION]: New member.
(long_options): Add it.
(usage): Describe it.
(main): Handle it.
['b']: Set apparent_size.
2003-02-21 08:30:18 +00:00
Jim Meyering
7dc3ed2f04 *** empty log message *** 2003-02-21 08:27:09 +00:00
Jim Meyering
8a096b3518 (du invocation): Document --apparent-size.
Adjust documentation of --bytes (-b).
2003-02-21 08:25:59 +00:00
Jim Meyering
85cbe110d4 use printf, not echo
test -b
2003-02-21 08:02:33 +00:00
Jim Meyering
f1f8ca7ddc (apparent_size): New global.
(print_only_size): Reflect the fact that we're printing byte counts,
not ST_NBLOCKSIZE-byte-block counts.
(print_size): Call print_only_size rather than duplicating its code.
(process_file): Accumulate byte counts, rather than block counts.
2003-02-21 07:47:06 +00:00
Jim Meyering
5cfcefdcf9 *** empty log message *** 2003-02-21 07:15:54 +00:00
Jim Meyering
12508c923f (process_file): Always reset size_to_propagate_to_parent for
--separate-dirs (-S).
2003-02-21 07:15:16 +00:00
Jim Meyering
23e52c28fb *** empty log message *** 2003-02-21 07:06:38 +00:00
Jim Meyering
7f2df50cee Include <sys/types.h> before <dirent.h>.
This is required for Apple Darwin 6.3 (MacOS 10.2.3).
2003-02-21 07:06:33 +00:00
Jim Meyering
eb63743d48 (process_file): Reorganize the code to use only
one `sum' array, and change how -S works back to the way it was
before 2003-01-31.  Patch by Bruno Haible.
2003-02-20 23:13:11 +00:00
Jim Meyering
4cf069e8a2 *** empty log message *** 2003-02-20 19:12:33 +00:00
Jim Meyering
46bfcaf2bb *** empty log message *** 2003-02-20 19:11:08 +00:00
Jim Meyering
44e80d26cb (usage) [%b]: Refer to %B. 2003-02-20 19:11:02 +00:00
Jim Meyering
409e7dd0b6 (print_stat): New format: %B (to print ST_NBLOCKSIZE).
(usage): Describe it.
2003-02-20 19:07:55 +00:00
Jim Meyering
4ebc314f18 . 2003-02-20 19:05:38 +00:00
Jim Meyering
4efd012fe0 *** empty log message *** 2003-02-20 17:59:37 +00:00
Jim Meyering
a4bbb4de7e Add checks for the following:
BLOCK_SIZE, DU_BLOCK_SIZE, DF_BLOCK_SIZE, LS_BLOCK_SIZE.
2003-02-20 17:58:45 +00:00
Jim Meyering
9c46a8acf3 Rename phony target envvar-check to evar-check
so as not to conflict with the distributed file by the same name.
2003-02-20 17:52:11 +00:00
Jim Meyering
5c629d9ef4 (process_file): Set info->skip before any possible return.
Report correct usage for directories, not 0.
(process_file): Return for `file_type == FTW_DPRE'
_before_ recording the dev/ino of a directory.
2003-02-20 15:03:22 +00:00
Jim Meyering
c023e74aac . 2003-02-20 13:45:48 +00:00
Jim Meyering
fca1c1173c Now, df always displays the device file name corresponding to the
listed mount point under `Filesystem'.  Before, for an unmounted
block- or character-special file argument, it would display the
command-line argument instead.

(show_disk): Return a value indicating whether
there was a match.  Don't try to find a mount point here.
(show_entry): If show_disk doesn't find a match, call show_point.
2003-02-20 10:37:14 +00:00
Jim Meyering
59e474dc56 . 2003-02-20 10:36:52 +00:00
Jim Meyering
56644db507 *** empty log message *** 2003-02-20 10:35:27 +00:00
Jim Meyering
7d224e76de *** empty log message *** 2003-02-20 10:34:21 +00:00
Jim Meyering
ac823e21c0 Include "mmap-stack.h".
(du_files): Add prototype with ATTRIBUTE_NORETURN.
Exit from this function, not from...
(main): ...here.
Instead, if possible, invoke du_files through a macro that
runs it with a large, mmap'd stack.
2003-02-19 22:20:45 +00:00
Jim Meyering
5c6facc555 *** empty log message *** 2003-02-19 19:09:06 +00:00
Jim Meyering
47de14a1c5 Merge in some clean-up and optimization changes from glibc's md5.c. 2003-02-19 19:09:01 +00:00
Jim Meyering
071bd2881a Merge in some clean-up and optimization changes from glibc. 2003-02-19 19:08:49 +00:00
Jim Meyering
4738213e95 *** empty log message *** 2003-02-19 16:12:06 +00:00
Jim Meyering
7c9292d5c9 (usage): Change wording in --help output:
use FILENUM instead of `SIDE' and say what FILENUM means.
2003-02-19 16:11:39 +00:00
Jim Meyering
1860324779 *** empty log message *** 2003-02-19 16:06:34 +00:00
Jim Meyering
e2cd6ba3df (print_header): Rather than using a hard-coded literal
string of spaces matching the length of the English `...Type' header,
output the right number of spaces to match the selected translation.
Reported by Yann Dirson and Jean Charles Delepine as Debian bug 131113.
2003-02-19 16:05:07 +00:00
Jim Meyering
efb6756c2e *** empty log message *** 2003-02-19 16:02:44 +00:00
Jim Meyering
3a29026961 *** empty log message *** 2003-02-19 15:06:12 +00:00
Jim Meyering
44f8f70e7f *** empty log message *** 2003-02-19 14:29:01 +00:00
Jim Meyering
23f6d41f94 Include "full-read.h".
(bytes_split, lines_split, line_bytes_split): Use full_read,
not safe_read.   The way split was using the latter, a short read
could cause split to terminate before EOF.

(bytes_split): Remove unnecessary `else' after break.
(lines_split): Likewise.  and correct misleading indentation.
2003-02-19 14:28:50 +00:00
Jim Meyering
d0944f6e8b *** empty log message *** 2003-02-19 14:04:22 +00:00
Jim Meyering
07ef2a29cf *** empty log message *** 2003-02-19 14:04:17 +00:00
Jim Meyering
af4ad8d695 fix comment 2003-02-19 14:03:44 +00:00
Jim Meyering
f0ecd05212 more clean-up. give more precise diagnostics 2003-02-19 14:02:43 +00:00
Jim Meyering
4d5aae90bb *** empty log message *** 2003-02-19 12:59:31 +00:00
Jim Meyering
68f68b6bf2 (TESTS): Reflect renaming. 2003-02-19 12:59:14 +00:00
Jim Meyering
1b919c5c1e new file. renamed from cat-tty-eof 2003-02-19 12:58:46 +00:00
Jim Meyering
4b26d67f58 Remove file. Rename to tty-eof. 2003-02-19 12:58:07 +00:00
Jim Meyering
f60bd3f4c8 comment out diagnostic 2003-02-19 12:56:37 +00:00
Jim Meyering
f3ecf0e5df upgrade to automake-1.7.2b 2003-02-19 12:55:25 +00:00
Jim Meyering
49a3524823 *** empty log message *** 2003-02-19 08:44:45 +00:00
Jim Meyering
23bd5c8be5 *** empty log message *** 2003-02-19 08:40:10 +00:00
Jim Meyering
3ef0832f7a (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
to 1MB, so as not to render systems with no stack size limit (e.g.,
linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
2003-02-19 08:39:55 +00:00
Jim Meyering
3ac28e3dee *** empty log message *** 2003-02-18 21:17:11 +00:00
Jim Meyering
3bb9bacdd7 *** empty log message *** 2003-02-18 19:00:54 +00:00
Jim Meyering
714f398d7f (sha_stream) [BLOCKSIZE]: Move definition to top of file.
Ensure that it is a multiple of 64.
Rearrange loop exit tests so as to avoid performing an
additional fread after encountering an error or EOF.
2003-02-18 19:00:40 +00:00
Jim Meyering
7496bc25b0 (md5_stream) [BLOCKSIZE]: Move definition to top of file.
Ensure that it is a multiple of 64.
Rearrange loop exit tests so as to avoid performing an
additional fread after encountering an error or EOF.
2003-02-18 19:00:16 +00:00
Jim Meyering
38b90cb669 *** empty log message *** 2003-02-18 14:01:32 +00:00
Jim Meyering
ae993355b7 (CLEANFILES): Remove ftw.h and search.h.
(DISTCLEANFILES): Add them here.
Add fnmatch.h, too.
2003-02-18 14:01:25 +00:00
Jim Meyering
d2c4a4e44d cksum would perform an extra read after encountering EOF
(cksum): Exit the loop upon EOF, too.
Patch by Michael Bacarella.
2003-02-18 08:05:02 +00:00
Jim Meyering
b47c09ad60 *** empty log message *** 2003-02-18 08:02:41 +00:00
Jim Meyering
33c62fcef3 Generalize, clean-up, and test for
cat, cksum, md5sum, and sha1sum all in the same loop.
2003-02-18 07:59:58 +00:00
Jim Meyering
d3dbf68beb . 2003-02-17 17:21:37 +00:00
Jim Meyering
072015e870 *** empty log message *** 2003-02-17 17:21:05 +00:00
Jim Meyering
143bca6b80 (RUN_WITH_BIG_STACK_4): Define. 2003-02-17 17:21:00 +00:00
Jim Meyering
3db0886789 . 2003-02-17 17:17:43 +00:00
Jim Meyering
f6b9999548 *** empty log message *** 2003-02-17 16:58:34 +00:00
Jim Meyering
22e376e2e1 Undo most of last change.
Use sysmp instead, since it provides a cleaner interface.
2003-02-17 16:58:28 +00:00
Jim Meyering
3f4e77fdd6 *** empty log message *** 2003-02-17 16:55:44 +00:00
Jim Meyering
87be2f14b1 (jm_PREREQ_PHYSMEM): Undo last change, since
Kaveh Ghazi found a better way to get the required information.
Add check for sys/sysmp.h.
2003-02-17 16:55:40 +00:00
Jim Meyering
2bb32c98a5 (run): New function, preparing for use of
RUN_WITH_BIG_STACK_*
2003-02-17 08:39:20 +00:00
Jim Meyering
49cda05bd3 tweak comment 2003-02-17 08:27:26 +00:00
Jim Meyering
f8741e7214 *** empty log message *** 2003-02-16 21:00:07 +00:00
Jim Meyering
9cba3efc8a Add Finnish (fi). 2003-02-16 21:00:01 +00:00
Jim Meyering
b57469df43 version: 4.5.7 2003-02-16 20:59:16 +00:00
Jim Meyering
3eb96248f7 *** empty log message *** 2003-02-16 09:00:13 +00:00
Jim Meyering
c270a888e9 (libfetish_a_SOURCES): Add mmap-stack.h. 2003-02-16 09:00:08 +00:00
Jim Meyering
382b502ccf *** empty log message *** 2003-02-16 08:59:20 +00:00
Jim Meyering
c276ca6e49 (MAP_ANONYMOUS): Use MAP_ANON, if possible.
Initialize `fd' to -1, so Solaris' mmap works with MAP_ANON.
2003-02-16 08:59:15 +00:00
Jim Meyering
e58f9df1b3 add an assertion 2003-02-15 22:38:32 +00:00
Jim Meyering
d71265c2e3 *** empty log message *** 2003-02-15 22:33:18 +00:00
Jim Meyering
5b16ce70fb *** empty log message *** 2003-02-15 22:31:22 +00:00
Jim Meyering
e52bb403b5 *** empty log message *** 2003-02-15 22:30:46 +00:00
Jim Meyering
fa6fd21580 Require AC_SYS_MMAP_STACK. 2003-02-15 22:29:52 +00:00
Jim Meyering
434cd73a81 *** empty log message *** 2003-02-15 22:29:37 +00:00
Jim Meyering
958da3fffd I meant mmap-stack.h, not mmap-stack.c. 2003-02-15 22:23:33 +00:00
Jim Meyering
51037cbd96 Add lib/mmap-stack.c 2003-02-15 22:19:49 +00:00
Jim Meyering
edcf77bcb1 *** empty log message *** 2003-02-15 22:08:59 +00:00
Jim Meyering
1588508be2 *** empty log message *** 2003-02-15 10:15:49 +00:00
Jim Meyering
2b62137426 (main) [DEBUG]: New function. 2003-02-15 09:59:27 +00:00
Jim Meyering
c1604ca5a7 Clean up change of a minute ago. 2003-02-15 09:11:49 +00:00
Jim Meyering
c911821af7 *** empty log message *** 2003-02-15 09:06:13 +00:00
Jim Meyering
16b37b5c9d Add Irix6 support to physmem.c.
(jm_PREREQ_PHYSMEM): Also check for sys/sysget.h
and sys/sysinfo.h.
Also check for sysget.
2003-02-15 09:06:05 +00:00
Jim Meyering
d017693646 *** empty log message *** 2003-02-15 09:05:51 +00:00
Jim Meyering
bdf738b1a1 Add Irix6 support to physmem.c.
(irix_sysget): New function.
(IRIX_SYSGET_TOTAL, IRIX_SYSGET_AVAILABLE): New macros.
(physmem_total, physmem_available): Use them.
2003-02-15 09:05:16 +00:00
Jim Meyering
5aeb13149e *** empty log message *** 2003-02-14 07:41:42 +00:00
Jim Meyering
49eda1bead Include "euidaccess.h".
Remove declaration of euidaccess.
2003-02-14 07:41:27 +00:00
Jim Meyering
1656a5880b hacked from the versions in glibc 2003-02-13 21:28:58 +00:00
Jim Meyering
f95d4f7696 tweak comment 2003-02-12 20:48:49 +00:00
Jim Meyering
e0935a3fc9 *** empty log message *** 2003-02-12 17:47:55 +00:00
Jim Meyering
98b0c66968 (ACX_C_RESTRICT): Remove #ifndef -- so now this
macro also checks for support when using a C++ compiler.
Also, remove the test for SGI's __restrict.
Suggested by Steven G. Johnson.
2003-02-12 17:47:51 +00:00
Jim Meyering
60279d3bab *** empty log message *** 2003-02-12 09:27:32 +00:00
Jim Meyering
aaaba62077 *** empty log message *** 2003-02-12 09:24:28 +00:00
Jim Meyering
67e430edda (jm_PREREQ_REGEX): Require ACX_C_RESTRICT. 2003-02-12 09:24:23 +00:00
Jim Meyering
be6a1bab4f (portable_chars_only): Remove unnecessary `const'
in cast to avoid warning from icc.  Reported by Alexandre Duret-Lutz.
2003-02-12 09:20:47 +00:00
Jim Meyering
4839fcb1c0 *** empty log message *** 2003-02-12 09:11:35 +00:00
Jim Meyering
21910fd8af *** empty log message *** 2003-02-12 09:03:49 +00:00
Jim Meyering
887ad2d358 (ACX_C_RESTRICT): Minor syntactic changes:
Split long lines, use AC_COMPILE_IFELSE, use `case' instead of
nested `if's, remove unnecessary quotes.
2003-02-12 08:57:34 +00:00
Jim Meyering
ac3db7d319 verbatim from the URL in the comment 2003-02-12 08:54:20 +00:00
Jim Meyering
17cef92ec0 *** empty log message *** 2003-02-12 08:24:40 +00:00
Jim Meyering
97156c6dcf *** empty log message *** 2003-02-10 23:01:58 +00:00
Jim Meyering
136bb0265b (libfetish_a_SOURCES): Add euidaccess.h. 2003-02-10 23:01:53 +00:00
Jim Meyering
53b11c2b17 Include "euidaccess.h". 2003-02-10 22:47:30 +00:00
Jim Meyering
f18e3f9fae *** empty log message *** 2003-02-10 22:47:24 +00:00
Jim Meyering
da6e10d0c5 *** empty log message *** 2003-02-10 22:46:44 +00:00
Jim Meyering
348adf65ab doh 2003-02-10 22:45:59 +00:00
Jim Meyering
8e480afae3 . 2003-02-10 22:45:40 +00:00
Jim Meyering
e046d32e51 *** empty log message *** 2003-02-10 13:23:50 +00:00
Jim Meyering
81b7f5a407 add comments and fix dumb typos 2003-02-10 13:19:00 +00:00
Jim Meyering
c2597b6041 Don't include group-member.h.
Include euidaccess.h.
(eaccess): Rewrite function to set the real uid and gid temporarily
to the effective uid and gid, then invoke 'access', and then set the
real uid and gid back.  On systems that lack setreuid or setregid,
fall back on the kludges in euidaccess.  Before, it would not work
for e.g., files with ACLs, files that were marked immutable,
or on file systems mounted read-only.
2003-02-10 09:01:48 +00:00
Jim Meyering
bf95c4519c *** empty log message *** 2003-02-09 08:40:12 +00:00
Jim Meyering
22319b98fc (jm_CHECK_DECLS): Add euidaccess. 2003-02-09 08:40:09 +00:00
Jim Meyering
8f69eadada (test_stat): Remove function. It's job is done (only
when necessary) by the wrapper in lib/stat.c.
2003-02-09 08:28:59 +00:00
Jim Meyering
aa2142ded2 bump to4.5.8 2003-02-09 07:55:15 +00:00
Jim Meyering
4e3b901743 . 2003-02-08 21:23:24 +00:00
Jim Meyering
4e94149b49 . 2003-02-08 20:49:00 +00:00
Jim Meyering
1faf44aaa8 . 2003-02-08 20:33:03 +00:00
Jim Meyering
fd4716fb7f *** empty log message *** 2003-02-08 20:31:56 +00:00
Jim Meyering
6c4ad568f5 (Mode Structure): Mention filesystem-specific
permissions and that mounting a filesystem as read-only may
override actual file permissions.  Use @command instead
of @code for program names.
2003-02-08 20:31:48 +00:00
Jim Meyering
a70e8c6a64 *** empty log message *** 2003-02-08 20:09:36 +00:00
Jim Meyering
6a79d4805e Don't assume that the file owner username length is less than 9
in ls output: instead, omit that field altogether.
2003-02-08 20:08:55 +00:00
Jim Meyering
8aa60ca867 . 2003-02-08 20:01:19 +00:00
Jim Meyering
905c870f3a . 2003-02-08 20:00:53 +00:00
Jim Meyering
cf5d5f5789 *** empty log message *** 2003-02-08 18:20:01 +00:00
Jim Meyering
5c13851e62 (ftw_startup): Don't shadow outer declaration of save_err.
Merge inconsequential changes from libc.
2003-02-08 18:19:57 +00:00
Jim Meyering
f3e0faa64c *** empty log message *** 2003-02-08 18:11:17 +00:00
Jim Meyering
a9bf908eb3 . 2003-02-08 18:08:54 +00:00
Jim Meyering
77f6e91e99 *** empty log message *** 2003-02-08 18:08:20 +00:00
Jim Meyering
47276b7f94 (TESTS): Add restore-wd. 2003-02-08 18:08:16 +00:00
Jim Meyering
d60aa22957 New test for just-fixed bug in ftw.c. 2003-02-08 18:07:45 +00:00
Jim Meyering
981efef893 *** empty log message *** 2003-02-08 17:07:41 +00:00
Jim Meyering
f99cc7ac67 (ftw_startup): When using FTW_CHDIR, always remember
the current directory, not just when DIR contains a slash.
2003-02-08 17:07:38 +00:00
Jim Meyering
14608aae3c *** empty log message *** 2003-02-08 16:50:06 +00:00
Jim Meyering
712c6ceded Correct now-invalid comment about cycle-detection. 2003-02-08 16:50:00 +00:00
Jim Meyering
7e82ca8927 Use @command instead of @code for program names. 2003-02-07 18:00:19 +00:00
Jim Meyering
828c363c22 fix typo in entry from 2003-02-02 2003-02-07 09:39:57 +00:00
Jim Meyering
58fac09294 *** empty log message *** 2003-02-07 09:28:58 +00:00
Jim Meyering
0876c5bbd3 Merge inconsequential changes from libc.
Include limits.h earlier.
Move PATH_MAX definition `down' a little; add comment.
Rename local, saved_errno to save_err.
2003-02-07 09:28:50 +00:00
Jim Meyering
4f1c8d7e88 . 2003-02-06 20:59:02 +00:00
Jim Meyering
68f8003de8 add entries from old/*/NEWS
from fileutils-4.1 through 4.1.11 and
  from sh-utils-2.0 through 2.0.15.
Thanks, Karl.
2003-02-06 14:36:26 +00:00
Jim Meyering
9bf618e9cb *** empty log message *** 2003-02-06 14:29:03 +00:00
Jim Meyering
bf9322b7ac bump to 4.5.7 2003-02-06 14:28:53 +00:00
Jim Meyering
1a210d0f64 *** empty log message *** 2003-02-06 14:28:19 +00:00
Jim Meyering
e5afe1995e Adjust alignment and mention `file, text, shell'
on the `* Coreutils:...' dirently line.  From Karl Berry.
2003-02-06 14:27:14 +00:00
Jim Meyering
eacacadc1b . 2003-02-06 13:22:53 +00:00
Jim Meyering
ac0fd8b58f *** empty log message *** 2003-02-06 13:06:33 +00:00
Jim Meyering
784604222e Include <unistd.h>. On some systems,
it is required for the definition of _SC_PAGESIZE.
2003-02-06 13:06:29 +00:00
Jim Meyering
524ed3ce44 Remove declaration of statfs.
It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
2003-02-06 10:25:43 +00:00
Jim Meyering
0468afd28f *** empty log message *** 2003-02-06 10:25:21 +00:00
Jim Meyering
ae0cb229f2 (FTW_DPRE) [enum]: New member and definition.
(struct FTW) [skip]: New member.
2003-02-06 10:24:57 +00:00
Jim Meyering
adb8e94a33 (print_boottime, print_deadprocs, print_runlevel):
Fix memory allocation arithmetic.
2003-02-06 10:22:12 +00:00
Jim Meyering
4138c9ef9f *** empty log message *** 2003-02-06 10:13:35 +00:00
Jim Meyering
ac0250af06 (__restrict): Define to `restrict' or to nothing. 2003-02-06 10:13:28 +00:00
Jim Meyering
0e4da9fc4f *** empty log message *** 2003-02-06 08:14:13 +00:00
Jim Meyering
a47615d2ed (process_file): Don't return early for excluded files
or for files whose dev/inode we've already seen.
2003-02-06 08:14:01 +00:00
Jim Meyering
505f652d9e Require non-root. 2003-02-06 08:09:53 +00:00
Jim Meyering
73eae2675d Require non-root. 2003-02-06 08:09:18 +00:00
Jim Meyering
692e0b022f . 2003-02-06 08:08:42 +00:00
Jim Meyering
09137743d5 *** empty log message *** 2003-02-05 22:54:21 +00:00
Jim Meyering
6b18df4826 *** empty log message *** 2003-02-05 22:52:46 +00:00
Jim Meyering
33bb552cee *** empty log message *** 2003-02-05 22:22:11 +00:00
Jim Meyering
89bcff9cf4 put POSIX back in direntry description of cksum 2003-02-05 20:40:39 +00:00
Jim Meyering
ed83326eb6 *** empty log message *** 2003-02-05 20:40:04 +00:00
Jim Meyering
c21649c777 use this delta after all 2003-02-05 20:39:59 +00:00
Jim Meyering
c42eb7b832 *** empty log message *** 2003-02-05 20:37:29 +00:00
Jim Meyering
621f949258 Use new form of @direntry.
Put unlink in its proper place.  Adjust wording in some
dir entry descriptions, mainly so they fit in 80 columns.
Don't use mark-up like @acronym{POSIX} in direntries.
2003-02-05 20:37:22 +00:00
Jim Meyering
11b2bb7b15 undo last change 2003-02-05 20:32:12 +00:00
Jim Meyering
0b1bd09499 revert last change: I am removing POSIX from the offending (cksum) line altogether 2003-02-05 20:31:59 +00:00
Jim Meyering
bfa5d2583c *** empty log message *** 2003-02-05 20:29:17 +00:00
Jim Meyering
55b9fdf667 (check-texinfo): Allow bare `POSIX' to be used on direntry lines. 2003-02-05 20:29:14 +00:00
Jim Meyering
66fce3b572 *** empty log message *** 2003-02-05 20:19:46 +00:00
Jim Meyering
5a5f1c2340 (ftw_startup): When using FTW_DEPTH, call `func', the
user-supplied callback, once for the current directory before calling
ftw_dir, in case that part of the hierarchy should be pruned.
`func' does that by setting `data->skip'.
2003-02-05 20:19:31 +00:00
Jim Meyering
03975e728d Include <limits.h>.
(PATH_MAX): Define to 1024, if not already defined.
(process_entry): Allocate enough space to hold the resulting
file name.  Don't presume that 2*dirbufsize is enough.
(ftw_startup): Always use PATH_MAX to compute buffer size, now that
it is guaranteed to be defined.
2003-02-05 16:35:07 +00:00
Jim Meyering
6e6188765a (process_entry): When using FTW_DEPTH, call `func',
the user-supplied callback, once before any of its entries,
in case that part of the hierarchy should be pruned. `func'
does that by setting `data->skip'.
2003-02-05 15:08:15 +00:00
Jim Meyering
862ae182e1 make sure excluding an entire hierarchy works 2003-02-05 14:29:59 +00:00
Jim Meyering
c7a61822f6 *** empty log message *** 2003-02-05 09:47:23 +00:00
Jim Meyering
031d89674a (TESTS): Add exclude. 2003-02-05 09:47:17 +00:00
Jim Meyering
7b86ff9268 don't use diff -u 2003-02-05 09:18:43 +00:00
Jim Meyering
6f9963b8ac typos 2003-02-05 09:18:33 +00:00
Jim Meyering
a5f617b2b4 *** empty log message *** 2003-02-05 09:17:22 +00:00
Jim Meyering
3c1dbea18f (show_entry): Update sole use of show_disk. 2003-02-05 07:01:27 +00:00
Jim Meyering
4d97bfa966 *** empty log message *** 2003-02-04 16:36:18 +00:00
Jim Meyering
e5860d52f8 *** empty log message *** 2003-02-04 11:48:40 +00:00
Jim Meyering
e295f4f388 `df /dev/block-or-char-device-file--not-mounted' now reports
the name of the file system on which the file resides, usually `/'.
Before, it would leave the `Mounted on' field blank.

(show_disk): Add parameter: STATP.
If we don't find a matching device name, then resort to calling
find_mount_point.
2003-02-04 11:48:27 +00:00
Jim Meyering
144418cd9d (show_disk): Move function to precede find_mount_point. 2003-02-04 10:28:23 +00:00
Jim Meyering
dc4a9398cb bump to 4.5.6 2003-02-03 13:57:21 +00:00
Jim Meyering
2eb4b97607 . 2003-02-02 23:16:49 +00:00
Jim Meyering
ca5fe741ff . 2003-02-02 22:11:13 +00:00
Jim Meyering
2e881206e3 duh 2003-02-02 22:10:41 +00:00
Jim Meyering
c0e51beb61 . 2003-02-02 21:48:00 +00:00
Jim Meyering
c7366d9a4b Remove junk that somehow was improperly pasted into an entry from 2002-10-12. 2003-02-02 20:53:56 +00:00
Jim Meyering
54f1fd99a4 add a couple newlines 2003-02-02 20:51:24 +00:00
Jim Meyering
bd9a1a92b4 *** empty log message *** 2003-02-02 20:35:15 +00:00
Jim Meyering
92248c4bc9 . 2003-02-02 20:34:45 +00:00
Jim Meyering
a3fb0cc75a (check-x-vs-1): Use @PATH_SEPARATOR@, not `:'. 2003-02-02 20:34:20 +00:00
Jim Meyering
4ac006af69 (makefile_path_separator_check): New rule.
(local-check): Add it to the list.
2003-02-02 20:31:48 +00:00
Jim Meyering
b535cc4171 *** empty log message *** 2003-02-02 20:17:21 +00:00
Jim Meyering
7ffbf3d56a *** empty log message *** 2003-02-02 20:17:04 +00:00
Jim Meyering
89fc480602 *** empty log message *** 2003-02-02 20:15:11 +00:00
Jim Meyering
08b6275885 Use @PATH_SEPARATOR@ instead of hard-coding the path-separator.
Also double-quote the new PATH, to avoid problems when the
path-separator is a semi-colon or when `pwd` contains e.g. a space.
2003-02-02 20:14:53 +00:00
Jim Meyering
62631d8844 *** empty log message *** 2003-02-02 20:14:20 +00:00
Jim Meyering
183659bb72 *** empty log message *** 2003-02-02 20:14:00 +00:00
Jim Meyering
d9ad189ff7 Use @PATH_SEPARATOR@ instead of hard-coding the path-separator.
Also double-quote the new PATH, to avoid problems when the
path-separator is a semi-colon or when `pwd` contains e.g. a space.
2003-02-02 20:11:33 +00:00
Jim Meyering
a9a663e42b tweak syntax to make it consistent with others 2003-02-02 19:36:48 +00:00
Jim Meyering
7be64fb687 *** empty log message *** 2003-02-02 18:25:33 +00:00
Jim Meyering
6426d38820 . 2003-02-02 18:25:22 +00:00
Jim Meyering
45698f01ec *** empty log message *** 2003-02-02 18:24:09 +00:00
Jim Meyering
f25f4c7cf3 . 2003-02-02 18:23:56 +00:00
Jim Meyering
977ac31797 *** empty log message *** 2003-02-02 18:18:47 +00:00
Jim Meyering
4747fbf9b4 (jm_PREREQ_REGEX): Remove. 2003-02-02 18:18:43 +00:00
Jim Meyering
1facca4380 (jm_PREREQ_REGEX): New function, from gnulib.
(jm_INCLUDED_REGEX): Use it.
2003-02-02 18:18:05 +00:00
Jim Meyering
50d375102f *** empty log message *** 2003-02-02 17:15:01 +00:00
Jim Meyering
670e4e061a (lstat) [LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define to rpl_lstat. 2003-02-02 17:14:59 +00:00
Jim Meyering
2d5342fb94 Require jm_FUNC_LSTAT. 2003-02-02 17:10:25 +00:00
Jim Meyering
a881942cca Don't put decl after non-decl. 2003-02-01 22:52:45 +00:00
Jim Meyering
7df6daf8a4 *** empty log message *** 2003-02-01 15:21:45 +00:00
Jim Meyering
1a26ff6e02 . 2003-02-01 15:21:29 +00:00
Jim Meyering
a7eac7f5fd *** empty log message *** 2003-02-01 15:21:18 +00:00
Jim Meyering
d606b47598 (MAX_N_DESCRIPTORS): Define. 2003-02-01 15:20:36 +00:00
Jim Meyering
07d3a99375 *** empty log message *** 2003-02-01 11:05:25 +00:00
Jim Meyering
8323669455 (jm_MACROS): Require UTILS_SYS_OPEN_MAX. 2003-02-01 11:05:23 +00:00
Jim Meyering
5acb27d993 . 2003-02-01 11:04:50 +00:00
Jim Meyering
be0c9150a0 . 2003-02-01 11:03:57 +00:00
Jim Meyering
40bc15c132 tweak syntax. duh 2003-02-01 11:03:28 +00:00
Jim Meyering
228544d08c Whoops. Swap fail/cross-compile cases. 2003-02-01 11:03:04 +00:00
Jim Meyering
ba61c1af86 add comments 2003-02-01 11:00:45 +00:00
Jim Meyering
1973da17d0 *** empty log message *** 2003-02-01 09:59:17 +00:00
Jim Meyering
442dbd2429 (G_fail): New global.
(human_time): Diagnose failed localtime, not failed nstrftime.
(main): Fail if G_fail is set.
2003-02-01 09:59:09 +00:00
Jim Meyering
3507d9868f *** empty log message *** 2003-01-31 18:28:43 +00:00
Jim Meyering
4686f1f3fd Include "file-type.h"
(print_human_type): Remove function.
(human_access): Rename from print_human_access.  Return a string.
(human_time): Rename from print_human_time.  Return a string.
(print_stat): Arrange so that field width and an alignment specifier
are honored for the %A, %F, %x, %y, and %z formats.
[%F]: Use file_type; this gives slightly different file type strings,
e.g., `directory' instead of `Directory' and `regular file' or
`regular empty file' instead of `Regular file'.
2003-01-31 18:28:39 +00:00
Jim Meyering
fb9e95e6c3 (print_stat): Use S_ISLNK rather than an explicit
test using S_IFMT and S_IFLNK.  S_IFLNK may not be defined.
2003-01-31 13:52:18 +00:00
Jim Meyering
d060450cc8 *** empty log message *** 2003-01-31 13:37:16 +00:00
Jim Meyering
d85b93c0fb ditto for invalid options 2003-01-31 13:37:08 +00:00
Jim Meyering
4bee27ae43 (main): Upon processing a bad --exclude-from or --max-depth
option argument, don't exit right away, in case there are others.
Rather record the failure and exit after processing other options.
2003-01-31 13:35:25 +00:00
Jim Meyering
aaf8697ee9 *** empty log message *** 2003-01-31 10:43:35 +00:00
Jim Meyering
d92da7460e (TAR_OPTIONS): Set and export, in order to make
tar archive easier to reproduce.
2003-01-31 10:43:29 +00:00
Jim Meyering
3f026f0448 *** empty log message *** 2003-01-31 10:39:47 +00:00
Jim Meyering
de49951491 Rewrite to perform directory traversal using nftw.
Include "dirname.h", "ftw.h", and "quotearg.h".
(AUTHORS): Add self.
(opt_one_file_system): Move global into `main'.
(path, xstat, exit_status): Remove declarations.
(arg_length, suffix_length): New globals.
(G_fail): New global, sort of like the old `exit_status'.
(IS_FTW_DIR_TYPE): Define.
(print_only_size): New function.
(process_file): New function.
(str_init, ensure_space, str_copyc, str_concatc): Remove functions.
(str_trunc, pop_dir, count_entry): Likewise.
(du_files): Rewrite to use nftw.
2003-01-31 10:39:33 +00:00
Jim Meyering
129c735cda *** empty log message *** 2003-01-30 20:23:29 +00:00
Jim Meyering
9f90080b95 Ensure that with -L we get the same results even without the trailing slash. 2003-01-30 19:40:09 +00:00
Jim Meyering
1c976d1966 get latest 2003-01-30 13:55:20 +00:00
Jim Meyering
c96b23c2ff *** empty log message *** 2003-01-30 10:42:45 +00:00
Jim Meyering
594fe72be0 no backticks in C comments 2003-01-29 20:52:02 +00:00
Jim Meyering
0267e219b7 *** empty log message *** 2003-01-29 20:36:41 +00:00
Jim Meyering
f5ded0090d *** empty log message *** 2003-01-29 20:36:18 +00:00
Jim Meyering
651da6950f *** empty log message *** 2003-01-29 20:20:40 +00:00
Jim Meyering
a3d30ef951 Detect broken re_search in e.g. glibc-2.2.93. 2003-01-29 20:20:36 +00:00
Jim Meyering
1c5a98512f . 2003-01-28 17:55:23 +00:00
Jim Meyering
88b5eb8ef1 . 2003-01-28 17:54:46 +00:00
Jim Meyering
09b1a0014b comments 2003-01-28 17:40:56 +00:00
Jim Meyering
77e740fff6 *** empty log message *** 2003-01-27 18:06:38 +00:00
Jim Meyering
fd51c35ed6 *** empty log message *** 2003-01-27 18:04:46 +00:00
Jim Meyering
3ba60a0bc5 add comments 2003-01-27 15:16:01 +00:00
Jim Meyering
96332f0a7e (FTW_DCH, FTW_DCHP): Better comments. 2003-01-27 15:00:22 +00:00
Jim Meyering
336827087f (quote_name): Add fourth parameter, width, into which to
store the screen columns, and return the number of bytes instead.
(print_dir): Pass NULL as fourth parameter of quote_name.
(print_name_with_quoting): Likewise.
(length_of_file_name_and_frills): Get the width from the fourth
parameter of quote_name instead of return value.
2003-01-27 13:42:26 +00:00
Jim Meyering
b9f33a9f76 *** empty log message *** 2003-01-27 13:40:47 +00:00
Jim Meyering
d28d7b1814 (check-misc): Check for st_blocks, too. 2003-01-27 13:40:43 +00:00
Jim Meyering
88a5f079b4 (print_stat): Use ST_NBLOCKS rather than `->st_blocks'. 2003-01-27 13:32:44 +00:00
Jim Meyering
2a22320430 . 2003-01-27 13:26:45 +00:00
Jim Meyering
3ab066a0d6 *** empty log message *** 2003-01-27 10:45:51 +00:00
Jim Meyering
7f93a5421a (decode_switches): If `dired' is set without
`format == long_format', then silently reset dired.  This doesn't
change the behavior of ls (all prior uses of dired were protected
by `&& format == long_format'), and lets us...
(DIRED_INDENT): ... remove `format == long_format' conjunct.
(PUSH_CURRENT_DIRED_POS): Likewise.
(main): Likewise.
2003-01-27 10:45:48 +00:00
Jim Meyering
ab43d63c3a *** empty log message *** 2003-01-26 11:05:46 +00:00
Jim Meyering
fe443ea297 *** empty log message *** 2003-01-26 11:03:44 +00:00
Jim Meyering
91b31aa87c [_LIBC] (ISSLASH, FILESYSTEM_PREFIX_LEN): Define.
(base_name): New function.
(ftw_startup): Don't strip trailing slashes.
Use base_name to find the offset of the basename.
2003-01-25 20:32:44 +00:00
Jim Meyering
431d1b6241 (object_compare): Compare inode numbers before device numbers.
The former is much more likely to differ for any two given file objects.
2003-01-25 16:44:07 +00:00
Jim Meyering
29faf21e94 *** empty log message *** 2003-01-25 16:31:35 +00:00
Jim Meyering
68c1da4150 (cut invocation): Describe new functionality of --output-delimiter=STR. 2003-01-25 16:31:23 +00:00
Jim Meyering
d8ab1cdcfb . 2003-01-25 08:00:05 +00:00
Jim Meyering
b998bbef74 Tweak mysql output to match input :-) From Jan. 2003-01-24 14:58:38 +00:00
Jim Meyering
cae8997185 *** empty log message *** 2003-01-24 14:49:47 +00:00
Jim Meyering
2c4d6da0a4 *** empty log message *** 2003-01-24 13:49:41 +00:00
Jim Meyering
588979c4ae Change each use of Core-utils' to Coreutils'. 2003-01-24 13:49:38 +00:00
Jim Meyering
dcbd546bf2 *** empty log message *** 2003-01-24 13:48:16 +00:00
Jim Meyering
0644a66901 (Formatting file timestamps): Fix typo: s/%M:S/%M:%S/. 2003-01-24 13:48:11 +00:00
Jim Meyering
d57cca6de0 (The cut command): Extend the new example a little. 2003-01-24 13:47:21 +00:00
Jim Meyering
527715894f (The cut command): Give an example of using cut -c
with an output delimiter.  From Jan Nieuwenhuizen.
2003-01-24 13:46:28 +00:00
Jim Meyering
37ac1f18f1 *** empty log message *** 2003-01-23 20:49:21 +00:00
Jim Meyering
2cceacc8fc *** empty log message *** 2003-01-23 20:13:48 +00:00
Jim Meyering
89beded7d0 [HAVE_CONFIG_H]: Include <config.h>.
Add autoconf-recommended block of alloca-related code.
Cast each use of alloca to the required type, (node**).
2003-01-23 20:13:42 +00:00
Jim Meyering
07dad3b45d *** empty log message *** 2003-01-23 20:12:12 +00:00
Jim Meyering
0eb62f18b3 Add autoconf-recommended block of alloca-related code.
[!_LIBC] (__getcwd): Define to xgetcwd and declare xgetcwd.
2003-01-23 20:12:08 +00:00
Jim Meyering
4d80abb25a update from master sources 2003-01-23 18:51:54 +00:00
Jim Meyering
2e4d3d565b *** empty log message *** 2003-01-23 17:56:16 +00:00
Jim Meyering
a8f272fc4e (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP requirements. 2003-01-23 17:55:17 +00:00
Jim Meyering
537676b8fd *** empty log message *** 2003-01-23 17:50:48 +00:00
Jim Meyering
4f045ded1c Correct typo: s/-1/no/ that kept this from working
on at least Irix and OSF1/Tru64.
2003-01-23 17:50:42 +00:00
Jim Meyering
bf7bd8329e *** empty log message *** 2003-01-22 20:46:11 +00:00
Jim Meyering
1f91d7b6de (find_object): Don't use c99-style struct initializer. 2003-01-22 20:46:08 +00:00
Jim Meyering
4a4db048f8 *** empty log message *** 2003-01-22 20:33:29 +00:00
Jim Meyering
8414999524 Change all uses of __const to const. 2003-01-22 20:33:26 +00:00
Jim Meyering
5eb68d6330 *** empty log message *** 2003-01-22 20:32:23 +00:00
Jim Meyering
a3d541f8f1 Change all uses of __const to const. 2003-01-22 20:32:16 +00:00
Jim Meyering
81d6349ec5 Require FTW_DCH and FTW_DCHP, too. 2003-01-22 20:28:25 +00:00
Jim Meyering
586bfb65d6 *** empty log message *** 2003-01-22 15:55:21 +00:00
Jim Meyering
5245b864d7 . 2003-01-22 15:51:46 +00:00
Jim Meyering
c7753e456b . 2003-01-22 15:50:54 +00:00
Jim Meyering
6046409989 *** empty log message *** 2003-01-22 15:50:07 +00:00
Jim Meyering
b88e308839 (CLEANFILES): Add generated files: ftw.h search.h. 2003-01-22 15:50:00 +00:00
Jim Meyering
4e26fbcb07 *** empty log message *** 2003-01-22 15:46:42 +00:00
Jim Meyering
3ead987ffc [anon enum] (FTW_DCHP): New member.
(FTW_DCHP): Define.
2003-01-22 15:46:38 +00:00
Jim Meyering
f0a528b13a (process_entry): Handle FTW_DCHP.
(ftw_dir): Handle FTW_DCH.
2003-01-22 15:45:48 +00:00
Jim Meyering
5b7ab2372d [!_LIBC && !__USE_XOPEN_EXTENDED]: Define __USE_XOPEN_EXTENDED
and FTW_H_STANDALONE.
[ enum] (FTW_DCH): New member.
(FTW_DCH): Define.
2003-01-22 13:27:20 +00:00
Jim Meyering
eb7d21ab94 Include autoconf-recommended block of dirent/NAMELEN
related definitions and includes.  Use NAMELEN throughout,
rather than _D_EXACT_NAMLEN.
[_LIBC]: Define NAMELEN to _D_EXACT_NAMLEN.
(stpcpy): Declare, if necessary.
(mempcpy): Define, if necessary.
[!_LIBC] (__stpcpy, __mempcpy): Define.
[!_LIBC] (LXSTAT, XSTAT): Define.
2003-01-22 13:13:04 +00:00
Jim Meyering
d4fb8aaf40 . 2003-01-22 12:49:46 +00:00
Jim Meyering
9c54e95335 (TESTS): Add no-x. 2003-01-22 12:49:37 +00:00
Jim Meyering
047c26a588 *** empty log message *** 2003-01-22 12:49:12 +00:00
Jim Meyering
997c341e37 New test, for functionality added to lib/ftw.c. 2003-01-22 12:49:08 +00:00
Jim Meyering
85d03af23a *** empty log message *** 2003-01-21 18:50:00 +00:00
Jim Meyering
c59a8e2d32 (remove_entry) [ROOT_CAN_UNLINK_DIRS && HAVE_STRUCT_DIRENT_D_TYPE]: If a file
has d_type == DT_UNKNOWN it may still be a directory -- or not (e.g., with
FreeBSD on an NFS-mounted file system), so resort to calling lstat to find out.
2003-01-21 18:49:49 +00:00
Jim Meyering
2b2a4a83de *** empty log message *** 2003-01-21 18:47:12 +00:00
Jim Meyering
0257e76d36 *** empty log message *** 2003-01-21 12:39:17 +00:00
Jim Meyering
d1b342cd01 *** empty log message *** 2003-01-21 12:38:45 +00:00
Jim Meyering
8b32e1089e Add comment, and remove now-unnecessary -l option. 2003-01-21 12:38:38 +00:00
Jim Meyering
59670ee05b Don't assume that the file owner username
length is less than 9 in ls output: instead, omit that field
altogether.  Reported by, and suggested fix from, Ferdinand.
2003-01-21 12:36:56 +00:00
Jim Meyering
8cdd6ee1d6 *** empty log message *** 2003-01-21 12:35:27 +00:00
Jim Meyering
5ece3f7020 . 2003-01-21 09:00:34 +00:00
Jim Meyering
cd36829ef0 *** empty log message *** 2003-01-21 08:57:58 +00:00
Jim Meyering
89c0589166 *** empty log message *** 2003-01-21 08:57:26 +00:00
Jim Meyering
3631c1d814 [! weak_alias]: Define __-prefixed names to publicized ones.
[! defined _LIBC]: Define-away weak_alias and internal_function.
[defined weak_alias]: Guard each use of weak_alias.
2003-01-21 08:57:13 +00:00
Jim Meyering
c9f1ed5f93 *** empty log message *** 2003-01-21 08:53:17 +00:00
Jim Meyering
0044a44ce4 New file, from GNU libc. 2003-01-21 08:52:53 +00:00
Jim Meyering
f6cabef722 Link search.h to search_.h if we use our tsearch.c. 2003-01-21 08:26:59 +00:00
Jim Meyering
24ad07391c *** empty log message *** 2003-01-20 20:17:06 +00:00
Jim Meyering
307a4ecdb5 *** empty log message *** 2003-01-20 20:01:18 +00:00
Jim Meyering
829a063ea6 . 2003-01-20 18:55:27 +00:00
Jim Meyering
97a68bfd65 change test name to wide-fmt 2003-01-20 18:20:22 +00:00
Jim Meyering
2023a466b3 *** empty log message *** 2003-01-20 18:20:13 +00:00
Jim Meyering
3429138fc9 *** empty log message *** 2003-01-20 18:20:09 +00:00
Jim Meyering
dcd7703911 (bignum): New test to demonstrate that large
format widths no longer smash strftime's stack and cause infloop.
2003-01-20 18:19:50 +00:00
Jim Meyering
9cfc4300cd *** empty log message *** 2003-01-20 16:41:31 +00:00
Jim Meyering
dadc92d2a9 Include "path-concat.h". 2003-01-20 16:41:19 +00:00
Jim Meyering
6eedcbbf3d remove the temporary directory 2003-01-20 16:38:41 +00:00
Jim Meyering
f501ec73d7 see if we can do it without rpl_ftw 2003-01-20 16:31:28 +00:00
Jim Meyering
abe155b043 New file, from GNU libc. 2003-01-20 16:30:59 +00:00
Jim Meyering
8a9ca6d9d7 *** empty log message *** 2003-01-20 16:30:49 +00:00
Jim Meyering
b266d99497 *** empty log message *** 2003-01-20 16:30:39 +00:00
Jim Meyering
009241b037 *** empty log message *** 2003-01-20 16:29:27 +00:00
Jim Meyering
538f8ebc40 (libfetish_a_SOURCES): Use ftw_.h here, too. 2003-01-20 16:28:34 +00:00
Jim Meyering
a325c0219b *** empty log message *** 2003-01-20 16:28:04 +00:00
Jim Meyering
b7d8a28ca4 renamed to ftw_.h 2003-01-20 16:27:35 +00:00
Jim Meyering
a9660519e8 renamed from ftw.h 2003-01-20 16:27:35 +00:00
Jim Meyering
b138fd4ef8 define ftw to rpl_ftw 2003-01-20 16:19:28 +00:00
Jim Meyering
5bbba381fd *** empty log message *** 2003-01-20 15:45:57 +00:00
Jim Meyering
6918da4447 (obstack_object_size): Declare temporary, __o, to be const.
(obstack_room): Likewise.
(obstack_empty_p): Likewise.
2003-01-20 15:45:53 +00:00
Jim Meyering
8df5caa414 Rename type: DS -> Dirstack_state. 2003-01-20 15:43:03 +00:00
Jim Meyering
3c7f4321a0 Remove some unnecessary parentheses. 2003-01-20 15:40:25 +00:00
Jim Meyering
ae5862eecf *** empty log message *** 2003-01-20 15:06:38 +00:00
Jim Meyering
ff5b51afdd (mail_gpg_sign_cookie): Remove now-unused definition. 2003-01-20 15:06:28 +00:00
Jim Meyering
787138d638 *** empty log message *** 2003-01-20 15:04:56 +00:00
Jim Meyering
01dfd68984 From GNU libc.
(my_strftime): Handle very large width
specifications for numeric values correctly.  Improve checks for
overflow.
2003-01-20 15:04:51 +00:00
Jim Meyering
3fa2b8a8eb *** empty log message *** 2003-01-20 15:03:12 +00:00
Jim Meyering
7565faca35 Merge in changes from libc
Eliminate many `#ifdef USE_IN_LIBIO' conditionals.
2003-01-20 15:03:04 +00:00
Jim Meyering
73af65ef56 Include config.h.
Add copyright.
2003-01-19 16:42:45 +00:00
Jim Meyering
1fab123c3c *** empty log message *** 2003-01-19 16:14:47 +00:00
Jim Meyering
17c68905a0 Include "canonicalize.h". 2003-01-19 16:14:41 +00:00
Jim Meyering
8e5aabe259 duh. fix typo 2003-01-19 16:06:13 +00:00
Jim Meyering
56b3c75e63 (widen) [COMPILE_WIDE]: Merge nearly-identical definitions.
(nl_get_alt_digit) [! defined my_strftime]: Define.
(my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
_nl_get_alt_digit and _nl_get_walt_digit.
2003-01-19 13:01:35 +00:00
Jim Meyering
7c9bd0e59c (my_strftime): Merge in locale-related changes from libc.
These changes have no effect outside of _LIBC.
2003-01-19 11:51:32 +00:00
Jim Meyering
eb5cd04ce2 *** empty log message *** 2003-01-19 08:52:25 +00:00
Jim Meyering
2a5b4f1761 (Which files are listed): Document new option:
--dereference-command-line-symlink-to-dir.
2003-01-19 08:52:20 +00:00
Jim Meyering
825c8d1155 *** empty log message *** 2003-01-18 18:36:17 +00:00
Jim Meyering
cdb4bba0e6 (Dereference_symlink) [DEREF_COMMAND_LINE_SYMLINK_TO_DIR]: New member.
(enum) [DEREFERENCE_COMMAND_LINE_SYMLINK_TO_DIR_OPTION]: New member.
(long_options): Add option --dereference-command-line-symlink-to-dir.
(main): Make DEREF_COMMAND_LINE_SYMLINK_TO_DIR be the default,
rather than DEREF_COMMAND_LINE_ARGUMENTS, when none of the
-d, -F, -l options is specified.
(decode_switches): Handle --dereference-command-line-symlink-to-dir.
(gobble_file): Honor DEREF_COMMAND_LINE_SYMLINK_TO_DIR.
Change --dereference-command-line (-H) to dereference *all*
command line arguments, including broken symlinks.
2003-01-18 18:36:13 +00:00
Jim Meyering
be33a434cb reflect change in how ls -H works 2003-01-18 18:06:38 +00:00
Jim Meyering
ba2b351bbf Change ls -H back to the way it was yesterday, since this is
compatible with FreeBSD and the POSIX spec is confusing
and somewhat contradictory.

(DEREF_COMMAND_LINE_ARGUMENTS): Change name back
from DEREF_COMMAND_LINE_SYMLINK_TO_DIR, updating all uses.
(long_options): Change the long option name back.
(usage): Change the usage back.
(gobble_file): When -H is specified, dereference a top-level
arg even if it points to a non-directory.
2003-01-18 18:01:51 +00:00
Jim Meyering
f0110096ac ls [4.1.1]: Mention that --dereference-command-line (-H) is now the default,
unless one of the -d, -F, or -l options are given.
From Paul Eggert
2003-01-18 08:41:06 +00:00
Jim Meyering
328b32a49d . 2003-01-17 15:14:21 +00:00
Jim Meyering
d615969812 update from automake/lib 2003-01-17 14:53:19 +00:00
Jim Meyering
308e04e326 . 2003-01-16 22:28:13 +00:00
Jim Meyering
d3e2cd0783 *** empty log message *** 2003-01-16 19:03:42 +00:00
Jim Meyering
060c09c357 *** empty log message *** 2003-01-16 19:02:49 +00:00
Jim Meyering
496cd263e7 (Which files are listed, General output formatting): Undo last change. 2003-01-16 19:01:56 +00:00
Jim Meyering
86c7ef826a move prerequisites to precede AC_CACHE_CHECK 2003-01-16 18:23:18 +00:00
Jim Meyering
a578d7d8e9 *** empty log message *** 2003-01-16 17:34:04 +00:00
Jim Meyering
ba53003e9f The `regex' struct is both input and output.
Initialize it before each use.  Patch by Tim Waugh.
2003-01-16 17:33:52 +00:00
Jim Meyering
950fed888a rename variable 2003-01-15 21:12:19 +00:00
Jim Meyering
d7d13fa5c2 Add tsearch.o IFF we have to use the replacement ftw.c. 2003-01-15 21:11:27 +00:00
Jim Meyering
d24ceb3b32 Check for declaration of stpcpy. 2003-01-15 17:32:13 +00:00
Jim Meyering
a2c75df256 *** empty log message *** 2003-01-15 13:11:31 +00:00
Jim Meyering
a1850bde1a *** empty log message *** 2003-01-15 13:09:04 +00:00
Jim Meyering
0ba481441f (General output formatting): Reflect option name change:
s/--dereference-command-line/--dereference-command-line-symlink-to-dir/.
Say that this option changes how ls treats only symlinks to directories
specified on the command line.
2003-01-15 13:09:00 +00:00
Jim Meyering
23b5ef6146 *** empty log message *** 2003-01-15 12:24:54 +00:00
Jim Meyering
e1f1be8559 *** empty log message *** 2003-01-15 12:24:04 +00:00
Jim Meyering
3786638a49 *** empty log message *** 2003-01-15 12:23:34 +00:00
Jim Meyering
ea4d81f366 . 2003-01-15 12:14:38 +00:00
Jim Meyering
3e2ec9890b Require AC_FUNC_FTW. 2003-01-15 12:14:29 +00:00
Jim Meyering
ddd1b52c1c . 2003-01-15 12:13:34 +00:00
Jim Meyering
800f3a1e77 (gobble_file): Fall back on using lstat when required:
when --dereference (-L) is not specified, and
- when operating on a dangling symlink
- when operating on command-line-symlink-to-directories
This fixes numerous problems.  Here are examples:
- `ls dangling-symlink' would fail with `no such file...'
Now it prints `dangling-symlink'.
- `ls -i symlink' would mistakenly print the inode of the referent.
Now it prints the inode of the symlink.  Likewise for --size (-s).
Based on a patch from Michael Stone.
Reported by Deepak Goel as Debian bug #173793.
2003-01-15 11:59:07 +00:00
Jim Meyering
b1ebf2a383 *** empty log message *** 2003-01-15 11:58:26 +00:00
Jim Meyering
b6dcca8662 *** empty log message *** 2003-01-15 11:58:02 +00:00
Jim Meyering
c4abcd5882 *** empty log message *** 2003-01-15 11:32:59 +00:00
Jim Meyering
5c68fbd9a3 Rename ls's --dereference-command-line (-H)
option to   --dereference-command-line-symlink-to-dir.

[enum Dereference_symlink]
(DEREF_COMMAND_LINE_SYMLINK_TO_DIR): Rename from
DEREF_COMMAND_LINE_ARGUMENTS.  Update all uses.
(long_options): Rename the option.
(usage): Say that --dereference-... changes how ls treats
only symlinks to directories specified on the command line.
2003-01-15 11:32:47 +00:00
Jim Meyering
64a58d4cdd *** empty log message *** 2003-01-14 21:10:26 +00:00
Jim Meyering
78c9c2c7fa (TESTS): Add dangle and inode. 2003-01-14 21:10:12 +00:00
Jim Meyering
4d76e1e857 *** empty log message *** 2003-01-14 20:51:25 +00:00
Jim Meyering
a57532aeac remove diff's -u 2003-01-14 19:04:28 +00:00
Jim Meyering
fbc1a9a299 *** empty log message *** 2003-01-14 19:03:00 +00:00
Jim Meyering
c4384e7af5 *** empty log message *** 2003-01-14 16:23:03 +00:00
Jim Meyering
642bc1acfb (gobble_file): Fix a bug introduced in 4.5.4 that made it
so that ls --color would no longer highlight the names of files with
the execute bit set when not specified on the command line.
Patch by Michael Stone.  Reported by Stephen Depooter as
Debian bug 175135.
2003-01-14 16:22:55 +00:00
Jim Meyering
0c28dd9808 *** empty log message *** 2003-01-14 16:20:54 +00:00
Jim Meyering
caf5671edc factor a little 2003-01-14 16:19:09 +00:00
Jim Meyering
fb056f448a duh: close file handle 2003-01-14 15:50:18 +00:00
Jim Meyering
6c1ccdaf7f (color-exe): New test, for the above fix. 2003-01-14 15:38:23 +00:00
Jim Meyering
a5c0405752 fix typo in comment 2003-01-14 15:10:41 +00:00
Jim Meyering
0568a21a8d *** empty log message *** 2003-01-14 15:09:00 +00:00
Jim Meyering
cbe7e9daec (same_name): Declare *_basename locals to be `const'.
Consolidate declarations and initializations of *_base* locals.
2003-01-14 15:07:24 +00:00
Jim Meyering
ee45aa56cb *** empty log message *** 2003-01-14 14:44:33 +00:00
Jim Meyering
cbf24b40e3 (same_name): Reorder tests so as to avoid calling stat()
when a string comparison is sufficient.
2003-01-14 14:44:29 +00:00
Jim Meyering
72bca87dba *** empty log message *** 2003-01-14 14:15:44 +00:00
Jim Meyering
0e87cb139e (readtoken): Cast character to 'unsigned char', not 'unsigned int'. 2003-01-14 14:15:37 +00:00
Jim Meyering
ff0e20e30e *** empty log message *** 2003-01-14 12:58:27 +00:00
Jim Meyering
92602ead01 Merge in Ulrich's and my changes from libc. 2003-01-14 12:58:22 +00:00
Jim Meyering
7da8f5c488 *** empty log message *** 2003-01-13 15:33:43 +00:00
Jim Meyering
58c625df5d *** empty log message *** 2003-01-13 15:33:17 +00:00
Jim Meyering
12cb8887bc *** empty log message *** 2003-01-13 15:27:08 +00:00
Jim Meyering
495b91c2d1 *** empty log message *** 2003-01-13 13:44:14 +00:00
Jim Meyering
64977d2baa Also test for just fixed bug with --zero. 2003-01-13 13:44:11 +00:00
Jim Meyering
ebc3717c9d *** empty log message *** 2003-01-13 13:40:04 +00:00
Jim Meyering
cca0153946 *** empty log message *** 2003-01-13 13:39:44 +00:00
Jim Meyering
8355da5492 (long_opts): --zero does not require an argument.
Patch by Michael Stone.
2003-01-13 13:35:17 +00:00
Jim Meyering
01f012f2f5 *** empty log message *** 2003-01-12 18:29:54 +00:00
Jim Meyering
c5ee2230b0 *** empty log message *** 2003-01-12 18:29:32 +00:00
Jim Meyering
398ca04327 tweak comments 2003-01-12 18:16:31 +00:00
Jim Meyering
73bb03d0a6 *** empty log message *** 2003-01-12 18:03:52 +00:00
Jim Meyering
4e95cd2dff Also work on systems that have `struct direct', using autoconf's AC_HEADER_DIRENT. 2003-01-12 18:03:48 +00:00
Jim Meyering
67b5ecf8ab *** empty log message *** 2003-01-12 17:01:53 +00:00
Jim Meyering
376e889123 (ftw_startup): Rename local-shadowing local to pacify gcc. 2003-01-12 17:01:48 +00:00
Jim Meyering
cce1b15448 New file, from glibc/io. 2003-01-12 16:48:56 +00:00
Jim Meyering
0b6a1829be New file, from glibc/io. 2003-01-12 16:48:31 +00:00
Jim Meyering
d3b1d606c5 (libfetish_a_SOURCES): Add ftw.h. 2003-01-12 16:47:20 +00:00
Jim Meyering
b121bd6e31 exit nonzero for any failure 2003-01-12 13:18:16 +00:00
Jim Meyering
304728fb95 *** empty log message *** 2003-01-12 13:17:29 +00:00
Jim Meyering
9bb12a2a33 (cvs-update): Skip any file with local modifications. 2003-01-12 13:11:14 +00:00
Jim Meyering
b0312e15d4 *** empty log message *** 2003-01-12 11:52:38 +00:00
Jim Meyering
131a8fecb3 *** empty log message *** 2003-01-12 11:51:43 +00:00
Jim Meyering
65a9e6a065 Lots of syntactic clean-up, mostly from Karl Berry.
Use consistent indentation, two spaces per level.
(scriptversion): New variable.
Change initializations like `variable=""' to `variable='.
(usage): New variable.
Use `test', not `['.
Use `test -n "$var"', not `[ x"$var" = x ]'.
Use `test -z "$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.
2003-01-12 11:51:36 +00:00
Jim Meyering
60ad866925 *** empty log message *** 2003-01-12 09:04:16 +00:00
Jim Meyering
932bf8f214 *** empty log message *** 2003-01-12 08:59:19 +00:00
Jim Meyering
42594a0e4a (usage): Document --first-only and mention that --tabs=N (-t) enables --all (-a). 2003-01-12 08:59:00 +00:00
Jim Meyering
079dc69267 (libfetish_a_SOURCES): Add canonicalize.h. 2003-01-12 08:57:11 +00:00
Jim Meyering
664a205be6 *** empty log message *** 2003-01-11 09:44:28 +00:00
Jim Meyering
b734cbf724 Don't test HAVE_ERRNO_H. It's not necessary. 2003-01-11 09:44:23 +00:00
Jim Meyering
7287520d21 *** empty log message *** 2003-01-11 09:43:50 +00:00
Jim Meyering
5e74b3cb3b *** empty log message *** 2003-01-11 09:39:45 +00:00
Jim Meyering
35d5499fca Include "canonicalize.h".
Use canonicalize_file_name unconditionally.
2003-01-11 09:39:40 +00:00
Jim Meyering
8a5ad5c78c *** empty log message *** 2003-01-11 09:37:31 +00:00
Jim Meyering
96a72cddd1 Require AC_FUNC_CANONICALIZE_FILE_NAME.
(jm_MACROS): No longer check for resolvepath or canonicalize_file_name.
2003-01-11 09:37:18 +00:00
Jim Meyering
a49cb29dc1 *** empty log message *** 2003-01-11 09:36:07 +00:00
Jim Meyering
23ad418ba6 add prereqs 2003-01-11 09:35:55 +00:00
Jim Meyering
5d33b7498f *** empty log message *** 2003-01-11 09:35:07 +00:00
Jim Meyering
c7463c38f8 Don't test HAVE_ERRNO_H. It's not necessary.
Don't test HAVE_STDDEF_H.  It's not necessary.
Use definition of PTR_INT_TYPE from obstack.h.
2003-01-11 09:32:48 +00:00
Jim Meyering
eb04d885c2 From Dmitry Levin. 2003-01-11 08:29:46 +00:00
Jim Meyering
c600ace840 (AC_FUNC_CANONICALIZE_FILE_NAME): New file and macro. 2003-01-11 08:16:56 +00:00
Jim Meyering
8920dfdb57 Require AC_FUNC_CANONICALIZE_FILE_NAME. 2003-01-11 08:16:46 +00:00
Jim Meyering
85bcabcba2 *** empty log message *** 2003-01-10 23:17:23 +00:00
Jim Meyering
52855f6e36 *** empty log message *** 2003-01-10 23:07:12 +00:00
Jim Meyering
b6c0821009 Don't include xalloc.h.
It's already included via system.h.
2003-01-10 23:07:04 +00:00
Jim Meyering
3bc2ea6982 *** empty log message *** 2003-01-10 23:03:18 +00:00
Jim Meyering
774f38050e Add src/readlink.c. 2003-01-10 23:03:13 +00:00
Jim Meyering
8ba73f51a0 *** empty log message *** 2003-01-10 22:55:49 +00:00
Jim Meyering
44b0813e1e Include "xgetcwd.h". 2003-01-10 22:55:33 +00:00
Jim Meyering
251cad0c9c *** empty log message *** 2003-01-10 22:48:28 +00:00
Jim Meyering
77f6ad8381 Include "xgetcwd.h". 2003-01-10 22:48:02 +00:00
Jim Meyering
76ee8c435c (libfetish_a_SOURCES): Add xgetcwd.h. 2003-01-10 22:47:38 +00:00
Jim Meyering
9805d6c5cc Remove uses of PARAMS. 2003-01-10 22:46:11 +00:00
Jim Meyering
784d409601 Include xgetcwd.h. 2003-01-10 22:45:14 +00:00
Jim Meyering
e690564cc9 *** empty log message *** 2003-01-10 22:32:08 +00:00
Jim Meyering
418e181ad8 Don't declare functions declared by xalloc.h.
Include "xalloc.h" instead.
2003-01-10 21:46:37 +00:00
Jim Meyering
4ac2ebda98 Don't declare directly functions declared by xalloc.h.
Include "xalloc.h" instead.
2003-01-10 21:45:21 +00:00
Jim Meyering
3242594f7b Don't declare directly functions declared by xalloc.h.
Include "xalloc.h" instead.
2003-01-10 21:44:56 +00:00
Jim Meyering
200a73de4f Don't declare xmalloc directly.
Include "xalloc.h" instead.
2003-01-10 21:38:20 +00:00
Jim Meyering
2e62c8ab03 . 2003-01-10 21:37:19 +00:00
Jim Meyering
8088407c6c . 2003-01-10 13:21:14 +00:00
Jim Meyering
3617805acb Remove declaration of xstrdup.
Instead, include "xalloc.h".
2003-01-10 08:41:28 +00:00
Jim Meyering
6f45173dec . 2003-01-09 20:59:09 +00:00
Jim Meyering
b1b0565faf Document readlink. 2003-01-09 20:53:40 +00:00
Jim Meyering
acd9f2ab3b copyright 2003-01-09 20:45:06 +00:00
Jim Meyering
3b3ff7872c *** empty log message *** 2003-01-09 20:43:05 +00:00
Jim Meyering
9681c225cb Include other part of Dmitry's patch.
(dist_man_MANS): Add readlink.1.
2003-01-09 20:42:33 +00:00
Jim Meyering
51accd1c5e *** empty log message *** 2003-01-09 20:39:43 +00:00
Jim Meyering
07a2a5a4be *** empty log message *** 2003-01-09 20:39:04 +00:00
Jim Meyering
30e7a37b70 Add readlink. 2003-01-09 20:38:48 +00:00
Jim Meyering
f3f599f657 Add readlink. 2003-01-09 20:37:41 +00:00
Jim Meyering
6b0465359f *** empty log message *** 2003-01-09 20:36:55 +00:00
Jim Meyering
229031ed3f (bin_PROGRAMS): Add readlink. 2003-01-09 20:36:37 +00:00
Jim Meyering
2ae02ab5b9 New program, by Dmitry V. Levin. 2003-01-09 20:35:13 +00:00
Jim Meyering
8ee5d881b1 (out-delim1, ..., out-delim5): Test new functionality. 2003-01-09 20:30:40 +00:00
Jim Meyering
322ee6e302 When selecting ranges of byte offsets (as opposed to ranges of fields)
and when --output-delimiter=STRING is specified, output STRING between
ranges of selected bytes.

(RANGE_START_SENTINEL): Define.
(output_delimiter_specified): New global.
(print_kth): Add parameter.  Adjust all callers.
(set_fields): Mark each range-start index with RANGE_START_SENTINEL.
(cut_bytes): When requested, output STRING between ranges of
selected bytes.
(main): Make a diagnostic a little clearer.
Based on a patch from Jan Nieuwenhuizen.
2003-01-09 20:16:58 +00:00
Jim Meyering
ba5be82b7e *** empty log message *** 2003-01-09 20:14:08 +00:00
Jim Meyering
a215ab54d3 *** empty log message *** 2003-01-09 19:30:28 +00:00
Jim Meyering
e66ab953ef (set_fields): Make code agree with comment:
Don't merge abutting ranges like 4- and 2-3.  This makes no
difference currently, but is required to support an upcoming change.
2003-01-09 19:30:22 +00:00
Jim Meyering
bc49481933 *** empty log message *** 2003-01-08 17:36:51 +00:00
Jim Meyering
8ca0769584 Undefine and define-away `const' after inclusion
of errno.h, not before.  Suggestion from Bruno Haible.
2003-01-08 17:36:35 +00:00
Jim Meyering
0f19450208 *** empty log message *** 2003-01-07 22:40:34 +00:00
Jim Meyering
0f076ebc12 *** empty log message *** 2003-01-07 17:12:16 +00:00
Jim Meyering
7d1c764098 (set_fields): Fix typo in comment. 2003-01-07 17:12:11 +00:00
Jim Meyering
d31fd7a77e tweak comment 2003-01-07 16:36:45 +00:00
Jim Meyering
1ef6e79882 add a comment 2003-01-07 16:06:56 +00:00
Jim Meyering
d14b4f476c *** empty log message *** 2003-01-07 15:59:48 +00:00
Jim Meyering
06ed252866 *** empty log message *** 2003-01-07 15:54:53 +00:00
Jim Meyering
819147ade4 (TESTS): Add not-owner. 2003-01-07 15:36:17 +00:00
Jim Meyering
6068858986 *** empty log message *** 2003-01-07 15:34:51 +00:00
Jim Meyering
6580a55aeb Remove the test for non-owner diagnostic.
Now, this tests only the nonexistent-directory diagnostic.
2003-01-07 15:34:34 +00:00
Jim Meyering
8586d4652e New test, mostly extracted from fail-diag. 2003-01-07 15:34:20 +00:00
Jim Meyering
0d07d1b2b7 *** empty log message *** 2003-01-07 14:44:54 +00:00
Jim Meyering
84cdbe6529 Fix typo: s/ld/ls/. 2003-01-07 14:44:45 +00:00
Jim Meyering
72d00a1c57 . 2003-01-07 14:12:30 +00:00
Jim Meyering
6a4d25740c tweak comment 2003-01-07 14:09:37 +00:00
Jim Meyering
fbb3b7b80c *** empty log message *** 2003-01-07 14:03:21 +00:00
Jim Meyering
e76d578bad Rework so that it may serve to define full_read, too. 2003-01-07 14:03:15 +00:00
Jim Meyering
0f0a65766e Simply #define FULL_READ and include full-write.c. 2003-01-07 14:03:05 +00:00
Jim Meyering
9d89ba4161 2002-12-10 Paul Eggert <eggert@twinsun.com>
Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.

(FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
defined (e.g., a pure POSIX system).
(EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
2003-01-06 13:17:48 +00:00
Jim Meyering
783186bced 2002-12-10 Paul Eggert <eggert@twinsun.com>
Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.

(EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
Choose values that are less likely to collide with system fnmatch
options.
2003-01-06 13:17:27 +00:00
Jim Meyering
cc334674f6 (libfetish_a_SOURCES): Add full-read.c and full-read.h. 2003-01-06 13:14:55 +00:00
Jim Meyering
685ac06eef . 2003-01-06 13:08:59 +00:00
Jim Meyering
dd02096234 Include full_read.h.
(get_fs_usage): Use full_read instead of safe_read.
2003-01-06 13:08:19 +00:00
Jim Meyering
a66b8da8d5 *** empty log message *** 2003-01-06 13:05:24 +00:00
Jim Meyering
b9ba08e368 (strdup): Remove unused declaration. 2003-01-06 13:04:50 +00:00
Jim Meyering
a7bed0741a (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE. 2003-01-06 13:02:33 +00:00
Jim Meyering
d509325269 (utime_null): No need to call ftruncate if the file was
nonempty.  Patch by Bruno Haible.
(utime_null): Use SAFE_READ_ERROR.
2003-01-06 12:58:35 +00:00
Jim Meyering
e7ad638593 *** empty log message *** 2003-01-04 10:51:46 +00:00
Jim Meyering
7de3755878 Update copyright date. 2003-01-04 10:51:31 +00:00
Jim Meyering
79ea5a059c (TESTS): Add no-deref. 2003-01-04 10:46:56 +00:00
Jim Meyering
2076d0231d . 2003-01-04 10:45:42 +00:00
Jim Meyering
dc90551359 *** empty log message *** 2003-01-04 10:36:24 +00:00
Jim Meyering
7a1c2309c2 *** empty log message *** 2003-01-04 10:35:13 +00:00
Jim Meyering
a2b9cb05b7 Remove use of PARAMS. 2003-01-04 10:34:59 +00:00
Jim Meyering
a6b5021004 Remove use of PARAMS. 2003-01-04 10:33:01 +00:00
Jim Meyering
6df04c9288 Remove use of PARAMS. 2003-01-04 10:32:21 +00:00
Jim Meyering
83593d5f3a *** empty log message *** 2003-01-04 10:08:07 +00:00
Jim Meyering
8b6b22bcef rm could be tricked into mistakenly reporting a cycle.
* src/remove.c: [cycle_check_state]: New global.
(remove_cwd_entries): Adapt to new semantics of cycle_check.
(rm): Call cycle_check_init and cycle_check_free for each file.

When rm detects a cycle, don't abort the entire command,
but rather just the affected command line argument.
* src/remove.c: Include <setjmp.h>
(struct dirstack_state) [current_arg_jumpbuf]: New member.
(remove_cwd_entries): Call longjmp if we detect a cycle.
(rm): Call setjmp here.

* src/remove.c (cycle_check, is_power_of_two): Remove functions.
Instead, include cycle-check.h and use it.
2003-01-04 10:07:44 +00:00
Jim Meyering
e2b894c771 (struct dev_ino): Remove declaration. 2003-01-04 09:53:20 +00:00
Jim Meyering
a3e6d3aa63 Don't include trailing /. in diagnostics about directories.
(full_filename_): When FILENAME is just `.'
and there is a nonempty directory-name part, don't append `/.'.
2003-01-04 09:45:54 +00:00
Jim Meyering
b09da5c9d0 (remove_cwd_entries): Fix typos in comment. 2003-01-04 09:42:53 +00:00
Jim Meyering
2432611646 *** empty log message *** 2003-01-04 09:41:35 +00:00
Jim Meyering
818c25f686 (struct dirstack_state): Define.
To be used in place of these file-scoped globals ...
(dir_stack, len_stack, Active_dir): Remove globals.
(ds_init, ds_free): New functions.
(full_filename): Define.
(full_filename_): Rename from full_filename.



Begin to make AD_* functions more generic.

(AD_push_initial): Don't set status to RM_OK here.
(AD_push): Likewise.
(AD_INIT_OTHER_MEMBERS): Define.
(remove_dir): Define the `status' member manually after each
call to AD_push or AD_push_initial.
2003-01-04 09:41:24 +00:00
Jim Meyering
7e4c16df3d (TESTS): Add cycle. 2003-01-04 09:09:48 +00:00
Jim Meyering
c146a76b5d Remove trailing /. from diagnostic. 2003-01-04 09:03:45 +00:00
Jim Meyering
874f367c0a Enable this test -- now that we have the --presume-input-tty option. 2003-01-04 09:03:02 +00:00
Jim Meyering
432a5017a2 rm could be tricked into mistakenly reporting a cycle 2003-01-04 09:01:04 +00:00
Jim Meyering
5a0e8b1ab1 *** empty log message *** 2003-01-04 08:59:19 +00:00
Jim Meyering
10a0b7c14d (check-misc): New rule, to ensure that no more
S_IS* macro definitions sneak into the code.
(check): Depend on check-misc.
2003-01-04 08:59:15 +00:00
Jim Meyering
33ca4e1f5a [S_ISLNK, S_ISFIFO, S_ISSOCK]: Don't define.
They're already defined in sys2.h.
2003-01-04 08:58:12 +00:00
Jim Meyering
fd5d4e6d54 remove blank line 2003-01-04 08:55:30 +00:00
Jim Meyering
1cf764991f (count_entry) [S_ISLNK]: Don't define.
It's already defined in sys2.h.
2003-01-04 08:55:19 +00:00
Jim Meyering
a4efa35cd7 [S_ISLNK]: Don't define. It's already defined in sys2.h. 2003-01-04 08:44:11 +00:00
Jim Meyering
9434608b2b . 2003-01-04 08:42:26 +00:00
Jim Meyering
0bce0bb6f4 *** empty log message *** 2003-01-03 21:38:33 +00:00
Jim Meyering
08cf9aee8b Add copyright.
(AUTHORS): I suppose I've written it.
2003-01-03 21:38:27 +00:00
Jim Meyering
8256faecd8 *** empty log message *** 2003-01-03 21:34:16 +00:00
Jim Meyering
d45f740edc (false.c): Make the generated file be read-only. 2003-01-03 21:34:06 +00:00
Jim Meyering
8cce263649 . 2003-01-03 21:05:51 +00:00
Jim Meyering
d517c8fa79 (do_copy): Tweak diagnostic to be consistent with the one
from mv: s/missing file arguments/missing file argument/.
With --target-directory=DIR, cp and mv work with a single file argument.
Reported by Karl Berry.
2003-01-03 19:34:22 +00:00
Jim Meyering
820fd625f3 *** empty log message *** 2003-01-03 19:33:59 +00:00
Jim Meyering
1b6b9abd55 Include "dev-ino.h".
[struct dev_ino]: Remove declaration.
2003-01-03 19:33:52 +00:00
Jim Meyering
8e4c2127af *** empty log message *** 2003-01-03 19:31:10 +00:00
Jim Meyering
fe688e3d91 (libfetish_a_SOURCES): Add cycle-check.c, cycle-check.h, and dev-ino.h. 2003-01-03 19:31:01 +00:00
Jim Meyering
fab52f550d . 2003-01-03 19:30:29 +00:00
Jim Meyering
5ed7d34ed8 *** empty log message *** 2002-12-21 14:53:26 +00:00
Jim Meyering
e3c1118ce1 Generate MML-formatted announcement.
This makes it a *lot* harder to send stale MD5/SHA1 signatures.
2002-12-21 14:53:18 +00:00
Jim Meyering
317fa67e1e . 2002-12-21 14:50:45 +00:00
Jim Meyering
3156fcf62a *** empty log message *** 2002-12-21 14:42:02 +00:00
Jim Meyering
374d2948bc . 2002-12-21 14:41:58 +00:00
Jim Meyering
bb42dae7f2 *** empty log message *** 2002-12-20 20:10:59 +00:00
Jim Meyering
f331e1389c (touch): Change the wording of a diagnostic so
that it makes sense both when the file exists and when it doesn't.
2002-12-20 20:10:48 +00:00
Jim Meyering
5fcf19366e . 2002-12-19 20:30:39 +00:00
Jim Meyering
302165d602 (valid_options): Declare to be static. 2002-12-18 08:54:01 +00:00
Jim Meyering
7d29906690 . 2002-12-16 07:43:45 +00:00
Jim Meyering
4c14b0f08e . 2002-12-16 07:43:25 +00:00
Jim Meyering
63c56a6444 *** empty log message *** 2002-12-15 21:41:08 +00:00
Jim Meyering
dd2b357234 . 2002-12-15 21:40:56 +00:00
Jim Meyering
e7ff31d2ac Remove rules related to generating m4/jm-glibc-io.m4. 2002-12-15 21:40:30 +00:00
Jim Meyering
0a8353f85e *** empty log message *** 2002-12-15 21:39:41 +00:00
Jim Meyering
c7bc5000c9 Remove now-unused file. 2002-12-15 21:39:28 +00:00
Jim Meyering
a734df6426 (Makefile.am): Remove jm-glibc-io.m4 and jm-glibc-io.m4n. 2002-12-15 21:38:44 +00:00
Jim Meyering
97ce59e3bc (libfetish_a_SOURCES): Add strftime.h. 2002-12-15 21:33:42 +00:00
Jim Meyering
5da39e8d5c *** empty log message *** 2002-12-15 21:33:35 +00:00
Jim Meyering
470a990b59 New file, for declaration of nstrftime. 2002-12-15 21:33:29 +00:00
Jim Meyering
8aaa230726 *** empty log message *** 2002-12-15 20:55:20 +00:00
Jim Meyering
a05f170290 *** empty log message *** 2002-12-15 20:55:15 +00:00
Jim Meyering
85b26cb44d *** empty log message *** 2002-12-15 20:54:49 +00:00
Jim Meyering
a5f14f167e Remove all uses of `PARAMS'. 2002-12-15 20:54:29 +00:00
Jim Meyering
b7e390ca09 (PARAMS): Remove definition. 2002-12-15 20:53:36 +00:00
Jim Meyering
a6561c4753 (PARAMS): Remove definition. 2002-12-15 20:48:26 +00:00
Jim Meyering
a896d0a426 *** empty log message *** 2002-12-15 20:46:06 +00:00
Jim Meyering
eb4832a29c Remove declaration of nstrftime.
Include strftime.h instead.
2002-12-15 20:45:36 +00:00
Jim Meyering
576dca2909 . 2002-12-15 19:21:40 +00:00
Jim Meyering
60d48b0f32 *** empty log message *** 2002-12-15 08:40:42 +00:00
Jim Meyering
b647a582c0 *** empty log message *** 2002-12-15 07:43:12 +00:00
Jim Meyering
fda1cba3bf *** empty log message *** 2002-12-14 19:51:04 +00:00
Jim Meyering
e5855b15f1 ($(url_dir_list)): Use .../coreutils, not .../fetish. 2002-12-14 19:50:29 +00:00
Jim Meyering
3a0bfd5cda *** empty log message *** 2002-12-14 17:34:21 +00:00
Jim Meyering
ec2a27c16b [! HAVE_DECL_MEMRCHR]: Declare memrchr.
This is necessary at least for Irix6.5 when using c89.
Reported by Nelson Beebe.
2002-12-14 17:34:13 +00:00
Jim Meyering
80579847f4 *** empty log message *** 2002-12-14 17:21:32 +00:00
Jim Meyering
a50dbaf78c (TESTS): Add cat-tty-eof. 2002-12-14 17:21:25 +00:00
Jim Meyering
e4b01add78 *** empty log message *** 2002-12-14 17:21:04 +00:00
Jim Meyering
c5e036dcd4 test for a bug that appeared in cat from using a bad version of safe-read.c 2002-12-14 17:19:32 +00:00
Jim Meyering
5b372bd3cc *** empty log message *** 2002-12-14 16:29:11 +00:00
Jim Meyering
facdf8937d *** empty log message *** 2002-12-14 14:15:43 +00:00
Jim Meyering
6073421583 (usage): Specify how major and minor mode numbers are interpreted.
Remove now-redundant usage-specifying comment.
2002-12-14 14:15:38 +00:00
Jim Meyering
d09d7750ea *** empty log message *** 2002-12-14 14:14:25 +00:00
Jim Meyering
8ed95f0a9d *** empty log message *** 2002-12-14 13:31:05 +00:00
Jim Meyering
fcb430c20c *** empty log message *** 2002-12-14 13:27:59 +00:00
Jim Meyering
35ffb9714d (mknod invocation): Specify how major and minor mode numbers are interpreted. 2002-12-14 13:27:53 +00:00
Jim Meyering
98986162e7 bump to 4.5.5 2002-12-14 12:45:57 +00:00
Jim Meyering
0801186cb1 . 2002-12-13 22:34:11 +00:00
Jim Meyering
382b921d64 *** empty log message *** 2002-12-13 22:13:05 +00:00
Jim Meyering
6f8678a3ec *** empty log message *** 2002-12-13 22:11:32 +00:00
Jim Meyering
7d00f03b1f Allow for a directory of size `0'.
That happens at least on file systems of type tmpfs on linux-2.4.18.
2002-12-13 22:11:28 +00:00
Jim Meyering
1e966014d0 . 2002-12-13 21:03:55 +00:00
Jim Meyering
3a550fd99a . 2002-12-13 20:46:19 +00:00
Jim Meyering
e1ecc43b28 . 2002-12-13 20:25:24 +00:00
Jim Meyering
7861a52f98 remove Ascend::Init 2002-12-13 20:24:02 +00:00
Jim Meyering
93758bb4d9 (announcement): Invoke announce-gen. 2002-12-13 20:23:39 +00:00
Jim Meyering
3643096a84 (EXTRA_DIST): Add announce-gen. 2002-12-13 20:23:29 +00:00
Jim Meyering
1ac9a613b3 *** empty log message *** 2002-12-13 20:20:39 +00:00
Jim Meyering
db26c228ed . 2002-12-13 19:52:05 +00:00
Jim Meyering
d88598865b *** empty log message *** 2002-12-13 09:15:09 +00:00
Jim Meyering
edc5c8412f (TESTS): Add preserve-2. 2002-12-13 09:15:00 +00:00
Jim Meyering
22bf522917 New file/test, for latest fix. 2002-12-13 09:14:36 +00:00
Jim Meyering
1d6fcb7121 update 2002-12-13 09:07:38 +00:00
Jim Meyering
50547ce12d *** empty log message *** 2002-12-11 23:46:04 +00:00
Jim Meyering
7ba3e40970 Fix a bug whereby cp would fail to parse an option like
--preserve=mode,ownership.

(decode_preserve_arg): Advance `comma' to
point the character following the comma.
2002-12-11 23:44:23 +00:00
Jim Meyering
990f8082fd *** empty log message *** 2002-12-11 13:40:59 +00:00
Jim Meyering
a8bdf659cc . 2002-12-11 10:12:41 +00:00
Jim Meyering
f551da2212 *** empty log message *** 2002-12-11 10:01:00 +00:00
Jim Meyering
bd385df70a (NEED_PATHCONF_WRAPPER): Undefine before defining,
in case it's already defined.
2002-12-11 10:00:57 +00:00
Jim Meyering
b8b8ba810c . 2002-12-11 07:25:05 +00:00
Jim Meyering
5e71874cd7 *** empty log message *** 2002-12-11 07:21:46 +00:00
Jim Meyering
839df841d3 Sync from gnulib. 2002-12-11 07:21:42 +00:00
Jim Meyering
c15db5ab2a *** empty log message *** 2002-12-11 07:21:20 +00:00
Jim Meyering
6e04172718 Maintain this file manually rather than generating it.
Generating it caused too much trouble.  From gnulib.
2002-12-11 07:21:14 +00:00
Jim Meyering
8e5b4e9c2b update from gnulib 2002-12-09 10:30:01 +00:00
Jim Meyering
b16ec81def *** empty log message *** 2002-12-09 09:42:08 +00:00
Jim Meyering
294a26c23c Don't get a test failure if /no exists.
Instead, evoke a framework failure if /no-$$ exists.
2002-12-09 09:41:53 +00:00
Jim Meyering
833afe42f0 *** empty log message *** 2002-12-08 20:55:37 +00:00
Jim Meyering
8cf6e02841 *** empty log message *** 2002-12-08 20:55:02 +00:00
Jim Meyering
f2af80ecd0 *** empty log message *** 2002-12-08 20:51:59 +00:00
Jim Meyering
7b352458d0 (lstat) [! LSTAT_FOLLOWS_SLASHED_SYMLINK]:
Define to rpl_lstat, so that even on systems like Solaris 5.8,
du honors (per POSIX) the trailing slash on an argument referring
to a symlink-to-directory.
2002-12-08 20:51:55 +00:00
Jim Meyering
abf1b2450f *** empty log message *** 2002-12-06 15:42:31 +00:00
Jim Meyering
ccb20835c1 . 2002-12-06 15:42:12 +00:00
Jim Meyering
a461cf1008 add a FIXME comment 2002-12-06 15:38:34 +00:00
Jim Meyering
b48a49d0f7 *** empty log message *** 2002-12-06 15:38:26 +00:00
Jim Meyering
2eae3898bf *** empty log message *** 2002-12-06 14:28:02 +00:00
Jim Meyering
08301486f0 (TESTS): Add file-type. 2002-12-06 14:27:58 +00:00
Jim Meyering
0338d23883 from gnulib 2002-12-06 14:24:22 +00:00
Jim Meyering
ebb4bf20aa *** empty log message *** 2002-12-06 14:23:44 +00:00
Jim Meyering
fc670bfb38 *** empty log message *** 2002-12-06 14:16:13 +00:00
Jim Meyering
10fc9c5ee9 (gobble_file): Also stat the file if it's a
regular file and --indicator-style=classify (aka -F).
2002-12-06 14:16:09 +00:00
Jim Meyering
93968df340 *** empty log message *** 2002-12-06 13:47:50 +00:00
Jim Meyering
431c521fef A test to contrast ls -F and ls --indicator-style=file-type. 2002-12-06 13:47:40 +00:00
Jim Meyering
0d35ee704b Add copyright notice.
(libfetish_a_SOURCES): Add unlocked-io.h.
(BUILT_SOURCES, all-local): Remove unlocked-io.h.
(DISTCLEANFILES, io_functions): Remove macros.
(EXTRA_DIST): Remove gen_uio.
(unlocked-io.h): Remove rule.
2002-12-06 13:38:15 +00:00
Jim Meyering
6fe922b850 remove, now that unlocked-io.h is maintained manually 2002-12-06 13:37:49 +00:00
Jim Meyering
5d1b828601 *** empty log message *** 2002-12-06 13:37:15 +00:00
Jim Meyering
76fd0dbc45 New file, but with proper copyright notice and
attribution.  Note: this is *not* the same as the file in gnulib.
This uses #if HAVE_FUNC_UNLOCKED for each `FUNC', rather than
HAVE_DECL_FUNC_UNLOCKED.  This usage is consistent with the autoconf
macro in ../m4/jm-glibc-io.m4.  Modulo comments, this file still
contains exactly what was generated by gen-uio.
2002-12-06 13:37:11 +00:00
Jim Meyering
e84a62d126 . 2002-12-06 13:33:23 +00:00
Jim Meyering
b9e8939e0f *** empty log message *** 2002-12-06 08:33:28 +00:00
Jim Meyering
c8a0110617 this is the old, generated version 2002-12-06 08:28:58 +00:00
Jim Meyering
5327503574 *** empty log message *** 2002-12-06 08:23:55 +00:00
Jim Meyering
1252175d43 [defined emacs]: Include "lisp.h".
(xalloc_die) [defined emacs]: New macro.
(free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
[! defined emacs]: Include <xalloc.h>.
(POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
(pointer): Typedef to POINTER_TYPE *.
(malloc): Remove decl; we now always use xmalloc.
(alloca): Use old-style definition, since Emacs needs this.
Check for arithmetic overflow when computing combined size.
2002-12-06 08:23:28 +00:00
Jim Meyering
1e4ba6c553 update copyright from gnulib 2002-12-06 08:09:12 +00:00
Jim Meyering
663374c9b6 . 2002-12-06 07:36:39 +00:00
Jim Meyering
ada9db6db9 update comment 2002-12-04 19:33:57 +00:00
Jim Meyering
f0675b7477 *** empty log message *** 2002-12-04 19:29:46 +00:00
Jim Meyering
2a825723f1 whoops. Add -F 2002-12-04 19:28:22 +00:00
Jim Meyering
7c42947dc5 Make sure the symlink was created.
Richard Dawe reported that `ln -s link link' succeeds, but creates
no file on systems running some version of the DJGPP libc.
2002-12-04 19:23:33 +00:00
Jim Meyering
75a84d6f4a *** empty log message *** 2002-12-04 10:07:59 +00:00
Jim Meyering
08e032083c . 2002-12-04 08:59:41 +00:00
Jim Meyering
47d074ba3f Reflect the fact that stat.c and lstat.c are no longer generated.
(BUILT_SOURCES): Remove stat.c and lstat.c.
(DISTCLEANFILES): Likewise.
(EXTRA_DIST): Likewise.
(all_local): Don't depend on stat.c or lstat.c.
(stat.c, lstat.c): Remove rules.
(EXTRA_DIST): Remove xstat.in.
2002-12-04 08:59:13 +00:00
Jim Meyering
f2cb00a54a author hardly matters here :-) 2002-12-04 08:56:58 +00:00
Jim Meyering
16c87869c6 Simply #define LSTAT and include stat.c. 2002-12-04 08:55:54 +00:00
Jim Meyering
598a3babd5 Rework so that it may serve to define rpl_lstat, too. 2002-12-04 08:55:32 +00:00
Jim Meyering
962bfcd672 Remove file. Contents moved into stat.c. 2002-12-04 08:16:02 +00:00
Jim Meyering
4890f411f0 *** empty log message *** 2002-12-04 07:55:38 +00:00
Jim Meyering
c68d6cafca Simply #define SAFE_WRITE and include safe-read.c. 2002-12-04 07:51:45 +00:00
Jim Meyering
c0ff7df8cb Rework so that it may serve to define safe_write, too. 2002-12-04 07:50:55 +00:00
Jim Meyering
c5a4e28e9b . 2002-12-04 07:43:18 +00:00
Jim Meyering
a1f5754a17 New file, from which to generate safe-read.c and safe-write.c. 2002-12-03 18:30:29 +00:00
Jim Meyering
ef97c32946 s/const void */void const */ 2002-12-03 18:20:38 +00:00
Jim Meyering
7cec5a7e3c *** empty log message *** 2002-12-03 18:19:51 +00:00
Jim Meyering
3d81ed14e1 Update from gnulib (add comments, include stddef.h). 2002-12-03 18:19:45 +00:00
Jim Meyering
d4d54b4878 regenerate using automake-1.7.1b 2002-12-03 18:17:18 +00:00
Jim Meyering
c526cbabe0 no more ansi2nkr 2002-12-03 18:03:53 +00:00
Jim Meyering
7ae465f167 . 2002-12-03 17:50:46 +00:00
Jim Meyering
2e1a0e16ed *** empty log message *** 2002-12-03 17:36:34 +00:00
Jim Meyering
3fbff01425 (AUTOMAKE_OPTIONS): Remove definition (to ansi2knr)
since this package no longer panders to K&R compilers.
2002-12-03 17:36:26 +00:00
Jim Meyering
b3e08a0a69 tweak comment 2002-12-03 12:03:55 +00:00
Jim Meyering
01d5814091 tweak comment 2002-12-03 12:02:19 +00:00
Jim Meyering
90723c47a0 Add dummy stmt in `then' branch. 2002-12-03 09:50:16 +00:00
Jim Meyering
047c948de4 *** empty log message *** 2002-12-02 17:46:00 +00:00
Jim Meyering
a2ff596c1f Skip this test if `.' is on a non-local file system. 2002-12-02 17:45:54 +00:00
Jim Meyering
0d387e7ff2 *** empty log message *** 2002-12-02 17:28:21 +00:00
Jim Meyering
cba2225ce6 . 2002-12-02 09:31:04 +00:00
Jim Meyering
dadcc49a8e *** empty log message *** 2002-12-02 09:30:47 +00:00
Jim Meyering
19b3648d15 (_at_replace): Do the substitution only if there's something to replace. 2002-12-02 09:30:41 +00:00
Jim Meyering
7570cb86a6 (EINTR): Define.
(safe_read): Rewrite to loop IFF read fails with EINTR.
2002-12-02 08:11:45 +00:00
Jim Meyering
c9c5c4c3e1 *** empty log message *** 2002-12-01 17:04:49 +00:00
Jim Meyering
32b9f22700 (safe_read): Also exit the loop when read returns zero. 2002-12-01 17:04:35 +00:00
Jim Meyering
0937f50e9e comment tweak 2002-12-01 12:10:41 +00:00
Jim Meyering
3b6cb24f4b *** empty log message *** 2002-12-01 12:04:35 +00:00
Jim Meyering
b1cfe31057 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define. 2002-12-01 12:04:17 +00:00
Jim Meyering
4c6c221ee2 Merge from gnulib. 2002-12-01 11:53:02 +00:00
Jim Meyering
ef266f5a81 from gnulib 2002-12-01 11:36:50 +00:00
Jim Meyering
68fd2c3b68 (libfetish_a_SOURCES): Add safe-write.c and safe-write.h. 2002-12-01 11:36:32 +00:00
Jim Meyering
e04f07c363 *** empty log message *** 2002-12-01 10:57:07 +00:00
Jim Meyering
7730fc35b7 Update from gnulib (trivial changes). 2002-12-01 10:56:47 +00:00
Jim Meyering
61bbb627cc Update from gnulib (trivial changes). 2002-12-01 10:54:01 +00:00
Jim Meyering
1ed5b3df2d Add Copyright comment. 2002-12-01 10:44:15 +00:00
Jim Meyering
3447cf0995 Add Copyright comment. 2002-12-01 10:43:35 +00:00
Jim Meyering
6cffb5b26e *** empty log message *** 2002-12-01 10:42:17 +00:00
Jim Meyering
c198111648 Update from gnulib (trivial changes). 2002-12-01 10:42:12 +00:00
Jim Meyering
422e4b4c3a *** empty log message *** 2002-12-01 10:41:22 +00:00
Jim Meyering
43aee8594d Update from gnulib (trivial changes). 2002-12-01 10:41:09 +00:00
Jim Meyering
3bd828af53 Update from gnulib (trivial changes). 2002-12-01 10:38:59 +00:00
Jim Meyering
440bb68abd *** empty log message *** 2002-12-01 10:37:02 +00:00
Jim Meyering
cffed30681 update from gnulib 2002-12-01 10:36:33 +00:00
Jim Meyering
d7f4b28a19 *** empty log message *** 2002-12-01 10:22:45 +00:00
Jim Meyering
fbb44634f7 *** empty log message *** 2002-12-01 10:20:24 +00:00
Jim Meyering
a372a5debe *** empty log message *** 2002-12-01 10:18:39 +00:00
Jim Meyering
f40bc170b0 Don't include <ctype.h>.
That's already done via system.h.
2002-12-01 10:18:34 +00:00
Jim Meyering
98ae1bbb58 *** empty log message *** 2002-12-01 10:15:32 +00:00
Jim Meyering
78f06398b8 *** empty log message *** 2002-12-01 09:58:26 +00:00
Jim Meyering
dcc3108267 *** empty log message *** 2002-12-01 09:57:39 +00:00
Jim Meyering
cb173ced29 Don't include <string.h> or <ctype.h>.
That's already done via system.h.
2002-12-01 09:49:01 +00:00
Jim Meyering
275bdd3966 update from master 2002-12-01 08:59:05 +00:00
Jim Meyering
067fc3f4ef *** empty log message *** 2002-12-01 08:57:31 +00:00
Jim Meyering
4966d758f2 ls is now more efficient: it no longer needs to stat each directory
entry on systems with valid dirent.d_type.

(print_dir): Add DT_LNK and DT_REG.
(main): Make --recursive set format_needs_type, not format_needs_stat.
(gobble_file): Remove a FIXME comment, now that this is fixed.
2002-12-01 08:57:26 +00:00
Jim Meyering
7274f62b83 (gobble_file): Remove the block of code that caused
`ls --color -F symlink-to-dir' to list the files in
`symlink-to-dir/.'.  Now, it prints `symlink-to-dir@',
(just like `ls -F symlink-to-dir') but with the addition
of highlighting.
2002-12-01 08:55:45 +00:00
Jim Meyering
d577b81792 add comment 2002-11-30 22:35:37 +00:00
Jim Meyering
6c1d1df92f (sl-F-color, sl-dF-color): New tests for the above. 2002-11-30 22:34:59 +00:00
Jim Meyering
ab1fbe7dda *** empty log message *** 2002-11-30 17:13:33 +00:00
Jim Meyering
42a42f7e4f *** empty log message *** 2002-11-30 16:34:20 +00:00
Jim Meyering
95cb2ed037 . 2002-11-30 16:17:29 +00:00
Jim Meyering
7f190fb12b *** empty log message *** 2002-11-28 09:48:47 +00:00
Jim Meyering
015aa7dfc4 Merge from gnulib/libc, for a slightly uglier solution. 2002-11-28 09:48:40 +00:00
Jim Meyering
80cff991e8 . 2002-11-28 09:38:06 +00:00
Jim Meyering
2dc7779bce (STATIC): Remvoe definitions. 2002-11-28 09:37:58 +00:00
Jim Meyering
8f5674daf9 Merge some more, in preparation for merge back into libc.
(_): Define only if not already defined.
Move definition to follow all #include directives.
Include unlocked-io.h only if !_LIBC.
2002-11-28 09:19:26 +00:00
Jim Meyering
bb07ab9b5c *** empty log message *** 2002-11-28 09:09:55 +00:00
Jim Meyering
d604ec9937 Merge in changes from libc.
[_LIBC]: Include <libio/libioP.h>.
[USE_IN_LIBIO]: Include <libio/iolibio.h>
(fflush): Tweak definition to use INTUSE.
(putc): Define.
2002-11-28 09:09:29 +00:00
Jim Meyering
e1938a7929 *** empty log message *** 2002-11-24 16:59:41 +00:00
Jim Meyering
d22a04e396 *** empty log message *** 2002-11-24 16:58:50 +00:00
Jim Meyering
8601971967 (TESTS): Add trailing-slash. 2002-11-24 16:53:59 +00:00
Jim Meyering
5857813649 *** empty log message *** 2002-11-24 16:53:06 +00:00
Jim Meyering
ce2fb08258 More clean-up, not that / means /. 2002-11-24 16:25:26 +00:00
Jim Meyering
4b8fa5d8ad (du_files): Don't strip any trailing slash.
Rewrite so that `/' is no longer represented internally as
the empty string.
(count_entry): When appending a file name component,
account for the fact that the current path may end in `/'.
Franois Pinard reported that `du symlink-to-dir/' was not
equivalent to `du symlink-to-dir/.'.  Now it is.
2002-11-24 16:12:52 +00:00
Jim Meyering
6f5375c038 *** empty log message *** 2002-11-24 16:12:28 +00:00
Jim Meyering
40d8af4244 *** empty log message *** 2002-11-24 16:03:14 +00:00
Jim Meyering
4d314289c3 Remove 2002 from copyright line,
to sync with gnulib.
2002-11-24 10:01:15 +00:00
Jim Meyering
c82be3d2ce . 2002-11-23 16:45:51 +00:00
Jim Meyering
5649aebdef (decode_switches): Use case-sensitive matching to
decode the QUOTING_STYLE environment variable.  This is more
consistent with the documentation, and with --quoting-style.
2002-11-23 16:43:49 +00:00
Jim Meyering
0c64e08266 *** empty log message *** 2002-11-23 16:28:52 +00:00
Jim Meyering
6533eac241 (output): Declare some local variables to be of type size_t,
rather than `int' to avoid warnings from gcc.
2002-11-23 16:28:44 +00:00
Jim Meyering
8442061b30 *** empty log message *** 2002-11-23 15:44:59 +00:00
Jim Meyering
f10340e27b Include gettext.h instead of <libintl.h>. 2002-11-23 15:44:51 +00:00
Jim Meyering
d6fac2ac6c *** empty log message *** 2002-11-23 15:44:07 +00:00
Jim Meyering
a14ac3568f Include gettext.h instead of <libintl.h>. 2002-11-23 15:44:01 +00:00
Jim Meyering
42cd3beba9 *** empty log message *** 2002-11-23 15:43:16 +00:00
Jim Meyering
5bd75e7682 Include gettext.h instead of <libintl.h>. 2002-11-23 15:43:13 +00:00
Jim Meyering
4372bf5619 Update from gnulib. 2002-11-23 15:42:11 +00:00
Jim Meyering
01ff25beb7 *** empty log message *** 2002-11-23 15:42:04 +00:00
Jim Meyering
4cab2486a5 *** empty log message *** 2002-11-23 15:40:44 +00:00
Jim Meyering
70212bf28b Include gettext.h instead of <libintl.h>. 2002-11-23 15:40:40 +00:00
Jim Meyering
cc7aeee22c *** empty log message *** 2002-11-23 15:38:47 +00:00
Jim Meyering
83415a7c5f Include gettext.h instead of <libintl.h>. 2002-11-23 15:38:42 +00:00
Jim Meyering
ac63441825 *** empty log message *** 2002-11-23 15:05:52 +00:00
Jim Meyering
ebd76c09f4 From gnulib, by Bruno Haible
Include gettext.h instead of <libintl.h>.
2002-11-23 15:05:32 +00:00
Jim Meyering
f1b9a8744c From gnulib, by Bruno Haible
* closeout.c: Include gettext.h instead of <libintl.h>.
2002-11-23 15:03:40 +00:00
Jim Meyering
98e5192525 . 2002-11-23 15:00:17 +00:00
Jim Meyering
ba986c2928 Update from gnulib. 2002-11-23 14:59:39 +00:00
Jim Meyering
34c25ed945 *** empty log message *** 2002-11-23 07:10:25 +00:00
Jim Meyering
08228013af Allow multiple inclusion by surrounding with
"#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
so that we can be included first.
(PARAMS): Remove; we now assume C89 or later.  All uses removed.
2002-11-23 07:10:19 +00:00
Jim Meyering
a328e26342 Include quotearg.h immediately after config.h.
No need to include stddef.h or sys/types.h any more.
Surround local include files with "", not "<>".
Assume HAVE_LIMITS_H unconditionally, as we assume C89.
Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
(HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
(mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
(ISPRINT): Remove; no longer needed now that we assume C89.

(clone_quoting_options, quotearg_buffer, quotearg_n_options):
Preserve errno.

(quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
quotearg_char): Use SIZE_MAX rather than
(size_t) -1 when we are talking about "infinity".

(quotearg_buffer_restyled): Fix bug when quoting trigraphs.
2002-11-23 07:08:50 +00:00
Jim Meyering
38ba9564d1 *** empty log message *** 2002-11-22 13:23:55 +00:00
Jim Meyering
17bbb9bcb1 From gnulib:
Don't include <sys/types.h>.  It's unnecessary.
2002-11-22 13:23:52 +00:00
Jim Meyering
d81d040dea fix typo in comment 2002-11-22 11:13:32 +00:00
Jim Meyering
8aa90d8488 *** empty log message *** 2002-11-22 11:07:31 +00:00
Jim Meyering
d60ce1ccab *** empty log message *** 2002-11-22 11:04:05 +00:00
Jim Meyering
3858ed5bad Remove case insensitive option matching.
(argcasematch): Remove declaration.
(ARGCASEMATCH): Remove macro.
(__xargmatch_internal): Remove case_sensitive argument.
(XARGMATCH): Update.
(XARGCASEMATCH): Remove macro.
2002-11-22 11:04:01 +00:00
Jim Meyering
13fb4290db Include gettext.h instead of <locale.h> and <libintl.h>.
Remove case insensitive option matching.
  (argmatch): Renamed from __argmatch_internal. Remove
  case_sensitive argument.
  (argcasematch): Remove function.
  (__xargmatch_internal): Remove case_sensitive argument.
  (main): Use XARGMATCH instead of XARGCASEMATCH.
2002-11-22 11:03:26 +00:00
Jim Meyering
4c9c50bf72 *** empty log message *** 2002-11-22 10:28:50 +00:00
Jim Meyering
70641e502d Change compile-time error message. Add comment about
required autoconf version.

Include gettext.h instead of <libintl.h>.
(textdomain): Remove definition.
2002-11-22 10:28:44 +00:00
Jim Meyering
cc92325877 *** empty log message *** 2002-11-21 19:17:26 +00:00
Jim Meyering
b2f999fdbb Add ms (Malay). 2002-11-21 19:17:22 +00:00
Jim Meyering
b3d845869a version: 4.5.3 2002-11-21 19:16:44 +00:00
Jim Meyering
d09524c338 *** empty log message *** 2002-11-21 13:31:07 +00:00
Jim Meyering
cae292f583 (strdup): Merge in changes from gnulib; mainly to
use memcpy rather than strcpy.
2002-11-21 13:31:03 +00:00
Jim Meyering
1a1ce790d8 *** empty log message *** 2002-11-21 13:25:31 +00:00
Jim Meyering
c8a8d77816 Update from gnulib. 2002-11-21 13:25:22 +00:00
Jim Meyering
944a426ade *** empty log message *** 2002-11-21 13:18:07 +00:00
Jim Meyering
44ad4f8ed4 (str2signum): Use unsigned, not size_t. 2002-11-21 13:17:47 +00:00
Jim Meyering
b38b96b80c *** empty log message *** 2002-11-21 13:16:49 +00:00
Jim Meyering
8281103ea4 Use "'s when including quotearg.h and xalloc.h, not the <...>' notation.
Include <errno.h> and declare errno if necessary.
2002-11-21 13:16:04 +00:00
Jim Meyering
145d77b61a *** empty log message *** 2002-11-21 12:22:56 +00:00
Jim Meyering
6c0efc5fa8 *** empty log message *** 2002-11-21 12:22:03 +00:00
Jim Meyering
e688809a5c stty doesn't support all baud rates available in current Linux kernels.
When trying to set a high baud rate using stty, it says "invalid
argument". When the high rate is already configured, "stty -a"
returns 0 instead of the true baud rate.

(struct speeds): Add support for all baud rates defined
in linux-2.4.19.
2002-11-21 12:21:55 +00:00
Jim Meyering
d80aa4a03f . 2002-11-21 10:56:27 +00:00
Jim Meyering
dcb7d1cee9 *** empty log message *** 2002-11-21 10:22:10 +00:00
Jim Meyering
cb83b79ab2 *** empty log message *** 2002-11-21 10:21:01 +00:00
Jim Meyering
91d98d2baf update copyright date 2002-11-21 09:39:58 +00:00
Jim Meyering
96a2f00434 *** empty log message *** 2002-11-21 09:36:25 +00:00
Jim Meyering
aca318c51e Merge argmatch cleanups from Bison. Assume C89.
Do not include <config.h> or <sys/types.h>.
Include <stddef.h> instead, since it's all we need for size_t.
(PARAMS): Remove.  All uses removed.
(ARRAY_CARDINALITY): Do not bother to #undef.
(ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
Remove unnecessary parentheses.
(ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
Insert necessary parentheses.
(ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
(ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
2002-11-21 09:35:51 +00:00
Jim Meyering
3aed4c5505 Merge argmatch cleanups from Bison. Assume C89.
Include config.h here, not in argmatch.h.
Include stdlib.h, for EXIT_FAILURE.
Always include <string.h>, since we assume C89.
(EXIT_FAILURE): Remove pre-C89 bug workaround.
2002-11-21 09:24:43 +00:00
Jim Meyering
501358c106 *** empty log message *** 2002-11-21 08:48:08 +00:00
Jim Meyering
449872c53a (quotearg_buffer_restyled): If mbrtowc returns
`(size_t) -1' (at which point it would also set errno to EILSEQ),
then restore errno to its previous value.
Reported by Phillip Jones via Tim Waugh as
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76334.
2002-11-21 08:47:44 +00:00
Jim Meyering
9e96a0b09c sort 2002-11-21 08:46:39 +00:00
Jim Meyering
c411cd6b01 *** empty log message *** 2002-11-21 08:45:10 +00:00
Jim Meyering
57263e2a95 Update from gnulib. 2002-11-21 08:45:05 +00:00
Jim Meyering
46d38d7c12 *** empty log message *** 2002-11-21 08:35:24 +00:00
Jim Meyering
6bc244f431 *** empty log message *** 2002-11-21 08:32:28 +00:00
Jim Meyering
cf9a5e9196 *** empty log message *** 2002-11-19 14:08:50 +00:00
Jim Meyering
39926c6c6e Export LC_ALL=C, to avoid failure when run in a UTF locale.
Report and suggested fix by Bruno Haible.
2002-11-19 14:08:45 +00:00
Jim Meyering
32872d2edf *** empty log message *** 2002-11-19 14:08:20 +00:00
Jim Meyering
d38c17cdbc Export LC_ALL=C, to avoid failure when run in a UTF locale.
Report and suggested fix by Bruno Haible.
2002-11-19 14:07:20 +00:00
Jim Meyering
6ba0925f2d *** empty log message *** 2002-11-19 10:15:25 +00:00
Jim Meyering
cbb48b90dd *** empty log message *** 2002-11-19 09:14:24 +00:00
Jim Meyering
6de64db890 Require Autoconf-2.56. 2002-11-19 09:14:18 +00:00
Jim Meyering
abd9a99711 *** empty log message *** 2002-11-19 08:05:34 +00:00
Jim Meyering
66943316b4 Avoid a link-time failure on some Linux systems.
(STATIC): Define to be empty (_LIBC) or `static' (otherwise).
(__mon_yday): Declare with the STATIC attribute.
(__mktime_internal): Likewise.
Based on a report from Greg Schafer.
2002-11-19 08:05:29 +00:00
Jim Meyering
7808c81c06 *** empty log message *** 2002-11-19 07:50:44 +00:00
Jim Meyering
8954b35cf0 . 2002-11-17 10:14:40 +00:00
Jim Meyering
2f2b29bf9a *** empty log message *** 2002-11-17 10:11:40 +00:00
Jim Meyering
ab79e3ad72 Update via autoupdate.
Add `AM_GNU_GETTEXT_VERSION(0.11.5)'.
2002-11-17 10:10:26 +00:00
Jim Meyering
0a5f591c89 *** empty log message *** 2002-11-17 09:59:34 +00:00
Jim Meyering
47161ee7d5 (movefile): Don't remove trailing slashes from SOURCE. 2002-11-17 09:41:34 +00:00
Jim Meyering
f5c148c983 *** empty log message *** 2002-11-17 09:36:43 +00:00
Jim Meyering
fda6e5a9a8 *** empty log message *** 2002-11-16 16:45:36 +00:00
Jim Meyering
428a02b86a Use AC_REQUIRE everywhere it is possible.
(jm_PREREQ_CANON_HOST): Remove duplicates.
2002-11-16 16:45:30 +00:00
Jim Meyering
f85ea30f21 *** empty log message *** 2002-11-15 21:02:16 +00:00
Jim Meyering
2aee9e8a9b (gnu_rel_host): Define.
(url_dir_list): Choose from (alpha|ftp).gnu.org depending
on whether $(VERSION) looks like a major release number.
2002-11-15 21:02:04 +00:00
Jim Meyering
c07eca7caa (mail_gpg_sign_cookie): Backslash-escape `#'.
(release): Rename from `alpha'.
(alpha): Depend on release.
2002-11-15 20:59:56 +00:00
Jim Meyering
086c161966 *** empty log message *** 2002-11-15 10:19:09 +00:00
Jim Meyering
4716e59ab4 (signatures): Define with ?=, so it's easy to override. 2002-11-15 10:19:02 +00:00
Jim Meyering
d421906870 . 2002-11-15 08:36:57 +00:00
Jim Meyering
fc152acf79 . 2002-11-15 08:19:10 +00:00
Jim Meyering
fcb6c411f0 *** empty log message *** 2002-11-14 14:38:23 +00:00
Jim Meyering
f9362b8897 Don't include libintl.h, and don't define `_' -- they're not used. 2002-11-14 14:38:03 +00:00
Jim Meyering
e946e96a84 update from master sources 2002-11-14 14:26:05 +00:00
Jim Meyering
c908728ac8 Remove lib/long-options.c and lib/same.c.
Although each defines `_', neither actually used it.
2002-11-14 12:46:17 +00:00
Jim Meyering
1f0ec2c2ad *** empty log message *** 2002-11-14 12:37:49 +00:00
Jim Meyering
d9b899db94 Duh. change use, too. 2002-11-14 12:37:27 +00:00
Jim Meyering
01606b7988 (mail_gpg_sign_cookie): Rename to use _'s, not -'s. 2002-11-14 12:32:57 +00:00
Jim Meyering
be7e030ca9 *** empty log message *** 2002-11-14 12:20:09 +00:00
Jim Meyering
500f37f119 (mail-gpg-sign-cookie): Make optional.
(announcement): Use the new variable.
2002-11-14 12:20:01 +00:00
Jim Meyering
8bbe97528d *** empty log message *** 2002-11-14 12:09:42 +00:00
Jim Meyering
f6af345922 Sync with Bison, i.e.:
(po-check): Scan .l and .y files instead of the
.c and the .h files that they generate.  This fixes the bug
reported by Tim Van Holder in:
<http://mail.gnu.org/pipermail/bison-patches/2002-November/001352.html>
Look for N_ as well as for _.  Try to avoid matching #define for
N_ and _.
From Paul Eggert.
2002-11-14 12:09:16 +00:00
Jim Meyering
c3d9348a86 *** empty log message *** 2002-11-13 09:50:22 +00:00
Jim Meyering
23b4046380 (Examples of expr): Remove bogus `^'s. 2002-11-13 09:50:16 +00:00
Jim Meyering
e08ebb3e61 *** empty log message *** 2002-11-13 09:49:41 +00:00
Jim Meyering
8bd460c1b7 *** empty log message *** 2002-11-12 08:31:16 +00:00
Jim Meyering
3048fb4d0f (HAVE_SYMLINKS): Remove unnecessary macro definition.
Replace sole use with equivalent `#ifdef S_ISLNK'.
Inconsistency reported by Dmitry V. Levin.
2002-11-12 08:31:05 +00:00
Jim Meyering
1cd5cc1b70 *** empty log message *** 2002-11-11 13:39:02 +00:00
Jim Meyering
e8f4c08e14 Ensure that `ls -dF --color symlink-to-dir' works properly. 2002-11-11 13:38:48 +00:00
Jim Meyering
f29777ab29 *** empty log message *** 2002-11-11 09:15:35 +00:00
Jim Meyering
f1bfccb00b *** empty log message *** 2002-11-11 09:15:08 +00:00
Jim Meyering
092a0520eb *** empty log message *** 2002-11-11 09:10:39 +00:00
Jim Meyering
864e2eb4e2 *** empty log message *** 2002-11-10 23:25:13 +00:00
Jim Meyering
f2308f74e8 (usage): Transform --help output via s/ - / /,
so that help2man produces properly formatted man pages.
2002-11-10 23:24:52 +00:00
Jim Meyering
9bec2462e8 *** empty log message *** 2002-11-10 20:15:59 +00:00
Jim Meyering
f549fc269c (sighandler): Handle SIGTSTP specially.
Based on suggestions from Solar Designer and Dmitry V. Levin.
Add comments.
2002-11-10 20:15:54 +00:00
Jim Meyering
7acacbf29a *** empty log message *** 2002-11-10 14:34:29 +00:00
Jim Meyering
8056e2607f (cvs_files): Define. From autoconf.
(local_updates): Likewise.
2002-11-10 14:34:23 +00:00
Jim Meyering
f740d054ae *** empty log message *** 2002-11-10 13:33:04 +00:00
Jim Meyering
99ad3e326a . 2002-11-10 11:12:13 +00:00
Jim Meyering
ecf915a6a4 *** empty log message *** 2002-11-10 11:11:39 +00:00
Jim Meyering
bb38561062 (restore_default_color_handler, sigtstp_handler): Remove functions.
(sighandler): New function, based on the one in sort.c.
(main): Use sigaction, if possible; otherwise signal.
Handle these signals:
SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM, SIGTSTP.
Don't register our handler if the signal is already being ignored.
2002-11-10 11:11:34 +00:00
Jim Meyering
20282f4992 (main): Also declare `i' to be unsigned, not int. 2002-11-10 10:23:41 +00:00
Jim Meyering
8988c3acb3 *** empty log message *** 2002-11-10 09:56:28 +00:00
Jim Meyering
a040c8e428 (sighandler): Use raise, rather than kill+getpid.
(main): Declare `nsigs' to be unsigned, not int.
2002-11-10 09:56:19 +00:00
Jim Meyering
faf852d2dd (interrupt_handler): Use raise, rather than kill+getpid. 2002-11-10 09:54:37 +00:00
Jim Meyering
2ebcd575a0 (interrupt_handler): Use raise, rather than kill+getpid. 2002-11-10 09:53:57 +00:00
Jim Meyering
34ed452d0a Use a return stmt. This isn't Perl. 2002-11-10 09:51:37 +00:00
Jim Meyering
a0a7aef8bd Duh. add missing semicolon
Include unistd.h.
2002-11-10 09:50:59 +00:00
Jim Meyering
f63f39031e *** empty log message *** 2002-11-10 09:46:14 +00:00
Jim Meyering
f84d927787 (jm_MACROS): Add AC_REPLACE_FUNCS(raise). 2002-11-10 09:46:10 +00:00
Jim Meyering
bd03362ebb *** empty log message *** 2002-11-10 09:44:05 +00:00
Jim Meyering
b52870d14f correct indentation 2002-11-09 22:36:58 +00:00
Jim Meyering
85490682b7 ls --color: restore terminal state (color) upon signal.
Include "full-write.h" and <signal.h>.
(restore_default_color, restore_default_color_handler): New functions.
(sigtstp_handler, put_indicator_direct): New functions.
(main) [print_with_color]: Register signal handlers.
Patch mostly by Solar Designer and Stanislav Ievlev.
2002-11-09 22:27:27 +00:00
Jim Meyering
cd0013e0ea *** empty log message *** 2002-11-09 22:21:31 +00:00
Jim Meyering
bb1c17a762 . 2002-11-09 22:01:56 +00:00
Jim Meyering
f559a4c800 (human_readable): Revamp to avoid warning about unused
variable 'amt'.  Unfortunately this means using some gotos.
2002-11-09 21:46:45 +00:00
Jim Meyering
2f1a2669e5 *** empty log message *** 2002-11-09 19:53:46 +00:00
Jim Meyering
440b2cb3f3 (What information is listed): Correct parts of --dired description.
Include a lot more description, with examples.
2002-11-09 19:53:25 +00:00
Jim Meyering
dfd742c6e1 *** empty log message *** 2002-11-09 16:40:00 +00:00
Jim Meyering
2ea36bfc5c (EXTRA_LOCALE_CATEGORIES): Add LC_TIME.
Patch by Tim Waugh for Red Hat bug #73669.
2002-11-09 16:39:53 +00:00
Jim Meyering
143ae88b8f *** empty log message *** 2002-11-09 12:39:42 +00:00
Jim Meyering
2a75a0092f Make it work even when names contain spaces or shell metachars.
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"
2002-11-09 12:39:34 +00:00
Jim Meyering
8ce53c2d14 Merge in some changes from the version in automake.
Remove unnecessary quotes around `case' argument.
Use `[ cond1 ] || [ cond2 ]' rather than `[ cond1 -o cond2 ]'.
Use `:' rather than `true'.
2002-11-09 12:34:27 +00:00
Jim Meyering
82bd49565b . 2002-11-09 11:36:51 +00:00
Jim Meyering
fd57b979a9 *** empty log message *** 2002-11-09 11:34:57 +00:00
Jim Meyering
aa43311efb Update from autoconf.
(AMTAR): Remove definition.
(update, cvs-update, po-update, do-po-update): New rules.
(wget-update): Update (thus renaming to cvs-update).
(automake_repo): Use anoncvs@sources.redhat.com.
2002-11-09 11:34:42 +00:00
Jim Meyering
371a455589 . 2002-11-09 00:34:25 +00:00
Jim Meyering
868a8152e3 *** empty log message *** 2002-11-09 00:30:37 +00:00
Jim Meyering
52b5ba1af5 (jm_FUNC_GETGROUPS):
Fix typo: cv_func_getgroups_works -> ac_cv_func_getgroups_works.
2002-11-09 00:30:33 +00:00
Jim Meyering
d84c4c3354 *** empty log message *** 2002-11-08 23:20:38 +00:00
Jim Meyering
e3d3dee1b6 *** empty log message *** 2002-11-08 22:59:57 +00:00
Jim Meyering
83a7b1049d (jm_PREREQ_HUMAN): Check for locale.h, localeconv,
AC_HEADER_STDBOOL.  No need to check for limits.h since it's in
freestanding C89.  No need to check for stdlib.h or string.h since
autoconf does this now.
2002-11-08 22:59:53 +00:00
Jim Meyering
5dd24d18e2 use only my permanent address 2002-11-08 17:13:51 +00:00
Jim Meyering
24ba72493d use only my permanent address 2002-11-08 17:12:51 +00:00
Jim Meyering
7695925177 Use only my permanent address. 2002-11-08 17:12:27 +00:00
Jim Meyering
7676cbc5ce *** empty log message *** 2002-11-08 15:33:58 +00:00
Jim Meyering
554ecec785 (human_readable): Avoid warnings from gcc -Wshadow. 2002-11-08 15:33:30 +00:00
Jim Meyering
2c3bb203cd (human_output_opts): New var.
(output_block_size): Now uintmax_t, not int, to handle larger
block sizes.  All uses changed.
2002-11-08 09:41:37 +00:00
Jim Meyering
95b50fa1ac (print_header): Use primitives from inttostr.h, not
human.h, to print large numbers simply.

(human_output_opts): New var.
(output_block_size): Now uintmax_t, not int, to handle larger
block sizes.  All uses changed.

(print_header): In the header line, prefer SI to human
representation if it's shorter; if neither is shorter, try to
intuit what the user would prefer.
2002-11-08 09:39:36 +00:00
Jim Meyering
98f748e64c update from master 2002-11-07 00:29:24 +00:00
Jim Meyering
bd89283b97 update from master 2002-11-07 00:28:52 +00:00
Jim Meyering
8fd93e0867 *** empty log message *** 2002-11-06 16:27:45 +00:00
Jim Meyering
fad42afa02 (automake_repo): Use anoncvs@subversions.gnu.org. 2002-11-06 16:27:39 +00:00
Jim Meyering
def6c2371e . 2002-11-06 11:37:47 +00:00
Jim Meyering
2fbdabd4b1 *** empty log message *** 2002-11-06 11:37:15 +00:00
Jim Meyering
a6bc63bae0 (EXTRA_DIST): Add inttostr.h. 2002-11-06 11:37:11 +00:00
Jim Meyering
106c3bf364 (print_long_format, print_file_name_and_frills):
Use primitives from inttostr.h, not
human.h, to print large numbers simply.

(human_output_opts): New var.
(output_block_size): Now uintmax_t, not int, to handle larger
block sizes.  All uses changed.

(file_output_block_size): New var, to distinguish
file sizes from other sizes.
(decode_switches): Set it.
2002-11-06 11:02:56 +00:00
Jim Meyering
1fc57fa80c *** empty log message *** 2002-11-06 10:37:29 +00:00
Jim Meyering
d2d118e8d7 (printf invocation): Fix typo in index: change \0x prefix to \x.
Change \xhhh to \xhh.
2002-11-06 10:37:24 +00:00
Jim Meyering
2017db1bbd *** empty log message *** 2002-11-06 10:32:46 +00:00
Jim Meyering
c6f5b4e383 Add support for locale-specific size indications (e.g.,
thousands-separators) and for explicit size suffixes on output.

(Block size): Say that:
This affects display format as well as block size.
Fractional block counts are rounded up.
ls file size blocksize defaults to 1.
A block size spec preceded by ' generates thousands separators.
A suffix without a preceding integer generates suffixes.
(tail invocation): 32k -> 32 KiB.
(What information is listed): ls -h is now equivalent to
ls --block-size=human, and ls -H is now equivalent to
ls --block-size=si.  Displayed file size is now always affected by
--block-size.
2002-11-06 10:32:41 +00:00
Jim Meyering
5ce09d1ac7 *** empty log message *** 2002-11-06 10:28:11 +00:00
Jim Meyering
59507dd554 (usage): Update description. 2002-11-06 10:28:02 +00:00
Jim Meyering
9c2be29be5 *** empty log message *** 2002-11-06 09:23:55 +00:00
Jim Meyering
76e1efd955 (TESTS): Add printf-hex. 2002-11-06 09:23:50 +00:00
Jim Meyering
2929e95fb7 *** empty log message *** 2002-11-06 09:23:33 +00:00
Jim Meyering
eff5b46e0c Be careful to test the code in this package, not the shell built-in function. 2002-11-06 09:23:23 +00:00
Jim Meyering
fc34d6284c *** empty log message *** 2002-11-06 09:21:59 +00:00
Jim Meyering
b68401890d Make sure that only two of the `H's in \xHHH are consumed
as part of the \x escape sequence.
2002-11-06 09:19:50 +00:00
Jim Meyering
0a5d4112ba (print_esc): Hexadecimal \xhh escapes may have
at most two hex. digits, not three.
2002-11-06 09:04:50 +00:00
Jim Meyering
1f5b482124 (inttostr): Remove; use new imaxtostr library function instead. 2002-11-05 20:37:20 +00:00
Jim Meyering
c7a6c9af8b (checkfp): Use primitives from inttostr.h, not human.h,
to print large numbers simply.
2002-11-05 20:34:00 +00:00
Jim Meyering
49cfd5a52c (bsd_sum_file, sysv_sym_file):
Use primitives from inttostr.h, not human.h, to print large numbers simply.
2002-11-05 20:33:35 +00:00
Jim Meyering
371e50492e (xlseek):
Use primitives from inttostr.h, not human.h, to print large numbers simply.
2002-11-05 20:32:55 +00:00
Jim Meyering
4c16b8d35a (write_counts, wc):
Use primitives from inttostr.h, not human.h, to print large numbers simply.
2002-11-05 20:30:43 +00:00
Jim Meyering
f3fc3d4726 (dopass):
Use primitives from inttostr.h, not human.h, to print large numbers simply.

(OUTPUT_BLOCK_SIZE): remove.
(dopass): When printing progress, use floor for what has been done
so far (since we should be conservative there), and ceiling for
what needs to be done (since that's what other programs use).
2002-11-05 20:28:36 +00:00
Jim Meyering
3f2cc46da4 (print_factors):
Use primitives from inttostr.h, not human.h, to print large numbers simply.
2002-11-05 20:17:28 +00:00
Jim Meyering
5526f4f208 (print_stats, main):
Use primitives from inttostr.h, not human.h, to print large numbers simply.
2002-11-05 20:16:31 +00:00
Jim Meyering
1e583af98a (handle_line_error, parse_patterns):
Use primitives from inttostr.h, not human.h, to print large numbers simply.
2002-11-05 20:14:41 +00:00
Jim Meyering
a591db7465 (cksum): Use primitives from inttostr.h, not
human.h, to print large numbers simply.
2002-11-05 17:22:55 +00:00
Jim Meyering
adaa25e292 *** empty log message *** 2002-10-19 16:34:37 +00:00
Jim Meyering
917181c1a9 (cwrite): Change type of `bytes' parameter to size_t
Remove now-useless cast.
(stdread): Remove function.
(bytes_split): Use size_t instead of int.
Use safe_read, not stdread.
(lines_split): Likewise.
Use memchr rather than a `while' loop.
(line_bytes_split): Use size_t instead of int.
Use safe_read, not stdread.
(main): Add some FIXME comments to remind me to remove casts.
2002-10-19 16:34:25 +00:00
Jim Meyering
d3f010cb21 *** empty log message *** 2002-10-19 13:49:38 +00:00
Jim Meyering
dce67bd261 Rewrite to support locale-specific
notations like thousands separators.
Specify what includer of include.h must include beforehand.
(human_group_digits, human_suppress_point_zero, human_autoscale,
human_base_1024, human_SI, human_B): New enum values.
(human_readable): Rename from human_readable_inexact; put the
options before the sizes.  All uses changed.  The old human_readable
function has been removed; use inttostr.h instead.
(human_options): Renamed from human_block_size, with new signature
that allows block sizes up to UINTMAX_MAX.  All callers changed.
2002-10-19 13:48:04 +00:00
Jim Meyering
4774c63a5e *** empty log message *** 2002-10-19 12:55:11 +00:00
Jim Meyering
f02ba67bbb *** empty log message *** 2002-10-19 12:54:29 +00:00
Jim Meyering
a967adb215 (libfetish_a_SOURCES): Add imaxtostr.c, offtostr.c, umaxtostr.c.
(EXTRA_DIST): Add inttostr.c.
2002-10-19 12:54:23 +00:00
Jim Meyering
927bbc5cc3 New files. From GNU tar. 2002-10-19 12:34:03 +00:00
Jim Meyering
8d30090e2e *** empty log message *** 2002-10-19 07:58:09 +00:00
Jim Meyering
aeaaa9fda5 *** empty log message *** 2002-10-19 07:57:08 +00:00
Jim Meyering
2e0798f483 (print_heading): Align TTY and Name headings. 2002-10-19 07:55:15 +00:00
Jim Meyering
82d3409e3d *** empty log message *** 2002-10-18 06:49:24 +00:00
Jim Meyering
76cc19f679 (ST_BLKSIZE): Correct comment describing how to
reproduce HPUX-11 cat failure.
2002-10-18 06:49:15 +00:00
Jim Meyering
9bcacfa997 *** empty log message *** 2002-10-17 15:08:19 +00:00
Jim Meyering
73d9218bf6 *** empty log message *** 2002-10-17 15:07:47 +00:00
Jim Meyering
f72568f82c Fix a problem that could make cat misbehave on systems which
give invalid (unreasonably large) values for stat.st_blksize.
(ST_BLKSIZE): Ensure that the result is in [1..4MB].
2002-10-17 15:06:36 +00:00
Jim Meyering
8c7071d857 bump to 4.5.4 2002-10-15 14:24:48 +00:00
Jim Meyering
3540f1880d *** empty log message *** 2002-10-14 08:30:56 +00:00
Jim Meyering
254fcd14bf . 2002-10-14 08:30:22 +00:00
Jim Meyering
07c1a593ca *** empty log message *** 2002-10-14 08:29:50 +00:00
Jim Meyering
bad450db5d Specifying a printf conversion specifer as nl's separator string
could cause nl to segfault.

(build_print_fmt): Don't include separator string
in the printf format; it might contain `%'.
Use a better bound on the length of the print_fmt buffer.
(print_lineno): Print the separator here instead.
2002-10-14 08:29:41 +00:00
Jim Meyering
8c11ff93d8 *** empty log message *** 2002-10-14 08:29:22 +00:00
Jim Meyering
3634113f29 *** empty log message *** 2002-10-14 08:29:17 +00:00
Jim Meyering
79adfda48d (TESTS): Add nl. 2002-10-14 08:19:31 +00:00
Jim Meyering
7535f31db9 *** empty log message *** 2002-10-14 08:19:13 +00:00
Jim Meyering
6f44f9b2b5 *** empty log message *** 2002-10-13 22:11:44 +00:00
Jim Meyering
614bd059e8 New test, to make sure `split --lines=N' works. 2002-10-13 22:11:13 +00:00
Jim Meyering
ee801b3ccc *** empty log message *** 2002-10-13 22:10:58 +00:00
Jim Meyering
38e6669301 (TESTS): Add split-l. 2002-10-13 22:10:20 +00:00
Jim Meyering
ca0f646758 *** empty log message *** 2002-10-13 20:01:59 +00:00
Jim Meyering
3907226aa1 . 2002-10-13 18:30:13 +00:00
Jim Meyering
5ed1f9d1b1 . 2002-10-13 17:38:42 +00:00
Jim Meyering
f92f1a29c0 *** empty log message *** 2002-10-13 14:02:50 +00:00
Jim Meyering
5955869435 (usage): Tweak description of --dereference-args/-D. 2002-10-13 14:02:42 +00:00
Jim Meyering
c9c00c8bec *** empty log message *** 2002-10-13 14:01:59 +00:00
Jim Meyering
e408ac408c (count_entry): Also save cwd when dereferencing (via --dereference-args, -D)
a command-line argument.
Reported by Michal Svec.  Based on a patch by Andreas Schwab.
2002-10-13 13:59:25 +00:00
Jim Meyering
6dafd5b2fc whoops 2002-10-13 13:33:05 +00:00
Jim Meyering
25797575f8 *** empty log message *** 2002-10-13 12:23:29 +00:00
Jim Meyering
ff4e2725a7 (initialized): Remove declaration now that it's unused. 2002-10-13 12:23:25 +00:00
Jim Meyering
bd9e754992 There's no need to futz with the rounding mode,
since the code should work properly even in the default rounding mode.
(<fenv.h>): Do not include.
(#pragma STDC FENV_ACCESS ON): Remove.
(xnanosleep): Don't futz with rounding state.
2002-10-13 12:22:26 +00:00
Jim Meyering
5b87a60663 *** empty log message *** 2002-10-13 12:20:44 +00:00
Jim Meyering
29a1a5e5d4 (jm_CHECK_ALL_HEADERS): Remove fenv.h. 2002-10-13 12:20:35 +00:00
Jim Meyering
475f183eab update comment 2002-10-13 06:50:11 +00:00
Jim Meyering
797d72c3cc (../AUTHORS): Make it read-only. 2002-10-13 06:48:42 +00:00
Jim Meyering
331dd19c54 . 2002-10-13 06:47:23 +00:00
Jim Meyering
2f4402aa58 *** empty log message *** 2002-10-13 06:47:13 +00:00
Jim Meyering
380f554a46 (../AUTHORS): New target/rule. 2002-10-13 06:47:07 +00:00
Jim Meyering
c19c8b5952 . 2002-10-13 06:04:38 +00:00
Jim Meyering
1b9984330e *** empty log message *** 2002-10-13 06:04:27 +00:00
Jim Meyering
f175e3efc2 (paste_parallel): Declare local var, `delims_saved', to be
of type size_t, since that's the way it's used and avoids a warning.
2002-10-12 10:19:17 +00:00
Jim Meyering
b7fbfec375 (struct cstring) [len]: Declare to be unsigned int,
since that's how it's always used and avoids a new warning from gcc.
(read_input): Adapt to new safe_read ABI.
2002-10-12 09:44:06 +00:00
Jim Meyering
0b7a5a2391 (cut_fields): Add a temporary size_t variable, n_bytes, to avoid warnings. 2002-10-12 09:40:02 +00:00
Jim Meyering
707f8bfa62 (print_long_entry): fread returns size_t.
Declare local `bytes' accordingly, to avoid warning.
2002-10-12 09:33:34 +00:00
Jim Meyering
81817a30ea *** empty log message *** 2002-10-12 08:42:38 +00:00
Jim Meyering
38a8810cd3 *** empty log message *** 2002-10-12 08:39:34 +00:00
Jim Meyering
0ddadb6245 tail -c +N would perform an extra read after encountering EOF
[this change is analogous (bytes vs. lines) to the one of 2002-01-27]

(start_bytes): Detect EOF, inform caller.
(tail_bytes): Upon EOF in start_bytes, return immediately.
(file_lines): Reorganize to use memrchr rather than an explicit loop.
Adapt to new safe_read ABI.
2002-10-12 08:39:12 +00:00
Jim Meyering
fb8af4b59f *** empty log message *** 2002-10-11 20:03:44 +00:00
Jim Meyering
818addef64 *** empty log message *** 2002-10-11 20:02:21 +00:00
Jim Meyering
08886ecd26 (TESTS): Add deref. 2002-10-11 19:59:31 +00:00
Jim Meyering
480a562b21 *** empty log message *** 2002-10-11 19:58:32 +00:00
Jim Meyering
5a56be1388 *** empty log message *** 2002-10-11 19:56:56 +00:00
Jim Meyering
2ad8545649 *** empty log message *** 2002-10-10 15:48:53 +00:00
Jim Meyering
91762c16a0 *** empty log message *** 2002-10-10 08:32:43 +00:00
Jim Meyering
6fb9a86b51 *** empty log message *** 2002-10-10 08:32:14 +00:00
Jim Meyering
b468370388 New file/test, for the fix on 2002-10-08. 2002-10-10 08:31:29 +00:00
Jim Meyering
042b41c2b9 (TESTS): Add target-1. 2002-10-10 08:31:02 +00:00
Jim Meyering
64044efd7c *** empty log message *** 2002-10-10 07:57:35 +00:00
Jim Meyering
617c5a571a . 2002-10-10 07:27:18 +00:00
Jim Meyering
e995dcb2d5 (wc): Adapt to new safe_read ABI. 2002-10-09 15:07:52 +00:00
Jim Meyering
7db0a34488 *** empty log message *** 2002-10-09 13:28:55 +00:00
Jim Meyering
97cd9f1149 *** empty log message *** 2002-10-09 08:10:03 +00:00
Jim Meyering
d57998f128 Ensure that certain environment variables
are not set (e.g., SIMPLA_BACKUP_SUFFIX).
2002-10-09 08:09:57 +00:00
Jim Meyering
ad9f3ac0a9 *** empty log message *** 2002-10-09 08:09:35 +00:00
Jim Meyering
932a05f006 *** empty log message *** 2002-10-09 07:28:19 +00:00
Jim Meyering
70869c09b8 Mark this as an expensive test; it would
consume 4GB of disk space on systems without support for sparse files.
Fix a logic error that'd make it `cat err' even though dd didn't fail.
2002-10-09 07:28:11 +00:00
Jim Meyering
9a7b64e701 *** empty log message *** 2002-10-09 07:16:17 +00:00
Jim Meyering
c9f88f349a (.jar): Fix typo: s/01;3/01;31/. 2002-10-09 07:11:44 +00:00
Jim Meyering
2cef2b3122 *** empty log message *** 2002-10-09 07:00:27 +00:00
Jim Meyering
3a4fbcd12b Ensure that ls produces English messages. 2002-10-09 07:00:14 +00:00
Jim Meyering
d928b833e3 *** empty log message *** 2002-10-09 06:59:54 +00:00
Jim Meyering
a83991f50b *** empty log message *** 2002-10-08 14:26:19 +00:00
Jim Meyering
1d2876761d (main): Fix target_directory parsing when n_files == 1.
Patch by Dmitry V. Levin.
2002-10-08 14:25:49 +00:00
Jim Meyering
a890541a5d Fix syntax in test: use =, not ==. 2002-10-08 09:25:34 +00:00
Jim Meyering
718b928df1 *** empty log message *** 2002-10-08 09:22:25 +00:00
Jim Meyering
fb763e4f7a Use double quotes around diagnostic. 2002-10-08 09:21:08 +00:00
Jim Meyering
f3584c5e62 Use double quotes around diagnostic. 2002-10-08 09:18:12 +00:00
Jim Meyering
b3a42e44e9 (save_stdin, tac_stdin_to_mem): Adapt to new safe_read ABI. 2002-10-08 07:20:28 +00:00
Jim Meyering
ffd20427d8 Rename local variable: chars_read -> bytes_read 2002-10-08 07:14:48 +00:00
Jim Meyering
c52b7838fa (squeeze_filter, read_and_delete, read_and_xlate): Adapt to new safe_read ABI. 2002-10-08 07:13:56 +00:00
Jim Meyering
b82563de58 (sysv_sum_file): Adapt to new safe_read ABI. 2002-10-08 07:11:03 +00:00
Jim Meyering
f99306fcd5 *** empty log message *** 2002-10-08 06:21:55 +00:00
Jim Meyering
5f4fb36645 (cat): Don't advance the write pointer past the end of the write buffer. 2002-10-08 06:21:31 +00:00
Jim Meyering
7a58f340c1 (begfield, limfield): Don't advance the write pointer past the
end of the write buffer.
2002-10-08 06:19:00 +00:00
Jim Meyering
ea544336d7 (head_bytes, head_lines): Adapt to new safe_read ABI. 2002-10-07 05:13:59 +00:00
Jim Meyering
a05880e42b *** empty log message *** 2002-10-07 05:13:34 +00:00
Jim Meyering
647b737648 (scanargs): Ensure that specified block sizes (specified
via ibs=N, obs=N, and bs=N) are no larger than SSIZE_MAX.
(skip, dd_copy): Adapt to new safe_read ABI.
2002-10-06 16:17:56 +00:00
Jim Meyering
00ebca59b7 (simple_cat, cat): Adapt to new safe_read ABI. 2002-10-06 15:48:49 +00:00
Jim Meyering
f99d9f8109 *** empty log message *** 2002-10-06 14:55:17 +00:00
Jim Meyering
926546dcac Update prototype.
(SAFE_READ_ERROR): Define.
2002-10-06 14:55:12 +00:00
Jim Meyering
e70e42fa66 (safe_read): Change type of function from ssize_t to size_t. 2002-10-06 14:55:01 +00:00
Jim Meyering
4ee1570593 *** empty log message *** 2002-10-06 06:44:50 +00:00
Jim Meyering
cd6593abaf (signatures): Define.
(%.sig): New rule.
(announcement): Depend on $(signatures).
2002-10-06 06:44:43 +00:00
Jim Meyering
7ec9bab074 *** empty log message *** 2002-10-06 06:34:55 +00:00
Jim Meyering
17c175eb48 bump to 4.5.3 2002-10-06 06:34:45 +00:00
Jim Meyering
76e102fa20 *** empty log message *** 2002-10-06 06:12:27 +00:00
Jim Meyering
667c11d2dc (announcement): Output all URLs for detached
signatures, not just the last one from the previous loop.
2002-10-06 06:12:12 +00:00
Jim Meyering
cf00c95789 . 2002-10-05 20:12:57 +00:00
Jim Meyering
a5761a4adb . 2002-10-05 19:57:30 +00:00
Jim Meyering
017c2208e2 . 2002-10-05 19:56:44 +00:00
Jim Meyering
fb918bedbf (TESTS): Add i-no-r. 2002-10-05 19:56:34 +00:00
Jim Meyering
702a18d659 *** empty log message *** 2002-10-05 19:56:00 +00:00
Jim Meyering
0bd10f3b8b *** empty log message *** 2002-10-05 19:55:19 +00:00
Jim Meyering
d0d7266488 (remove_entry) [ROOT_CAN_UNLINK_DIRS]: With `rm -i DIR',
don't recurse into directory, DIR.
2002-10-05 19:54:25 +00:00
Jim Meyering
1f4be66913 *** empty log message *** 2002-10-05 19:21:33 +00:00
Jim Meyering
931e5aef07 *** empty log message *** 2002-10-05 19:17:57 +00:00
Jim Meyering
7a45935962 *** empty log message *** 2002-10-05 19:17:05 +00:00
Jim Meyering
c1a20dc27b *** empty log message *** 2002-10-05 19:16:00 +00:00
Jim Meyering
55c73b9516 . 2002-10-05 17:02:43 +00:00
Jim Meyering
f540cf3789 *** empty log message *** 2002-10-05 08:30:07 +00:00
Jim Meyering
e3d5348851 save dd's stderr, and output it if dd fails 2002-10-05 08:29:21 +00:00
Jim Meyering
ae48cdae26 redirect dd's stderr 2002-10-05 08:27:45 +00:00
Jim Meyering
6a9dc978f9 (TESTS): Add big-4gb. 2002-10-05 08:26:42 +00:00
Jim Meyering
c5549236da *** empty log message *** 2002-10-05 08:26:35 +00:00
Jim Meyering
215f635780 add a comment 2002-10-04 11:25:09 +00:00
Jim Meyering
314c0eaa97 Undo last change.
Instead, run du only on the symlinks that were successfully created.
2002-10-04 11:24:12 +00:00
Jim Meyering
4adcccbf48 Redirect errors (e.g. missing file) to /dev/null. 2002-10-04 11:19:22 +00:00
Jim Meyering
c19dbea39c *** empty log message *** 2002-10-03 09:32:14 +00:00
Jim Meyering
4a6814ada7 Mark translatable string with `N_ (...)'. 2002-10-03 09:31:12 +00:00
Jim Meyering
f91c0597b1 (AUTHORS): Mark translatable string with `N_ (...)'. 2002-10-03 09:28:02 +00:00
Jim Meyering
8ddf1353cc *** empty log message *** 2002-10-02 06:51:13 +00:00
Jim Meyering
b382c38eb1 (AC_CONFIG_FILES): Remove old/* names. 2002-10-02 06:50:57 +00:00
Jim Meyering
42a19757ae update from master 2002-10-02 06:50:19 +00:00
Jim Meyering
0c0586bb2e *** empty log message *** 2002-10-02 06:41:07 +00:00
Jim Meyering
dd356beb0a (SUBDIRS): Remove `old'.
(EXTRA_DIST): List the files in old/.
2002-10-02 06:40:46 +00:00
Jim Meyering
ba13d22e09 *** empty log message *** 2002-10-01 11:43:19 +00:00
Jim Meyering
1512315121 *** empty log message *** 2002-10-01 07:58:20 +00:00
Jim Meyering
ce221c2708 *** empty log message *** 2002-10-01 07:58:16 +00:00
Jim Meyering
6ee4cfca07 (SSIZE_MAX): Define. 2002-10-01 07:58:03 +00:00
Jim Meyering
c42deaae1a . 2002-09-30 22:03:45 +00:00
Jim Meyering
cc9e07b32f . 2002-09-30 22:02:48 +00:00
Jim Meyering
1ea1325068 Don't include stdlib.h here. It's already included via system.h. 2002-09-30 21:20:08 +00:00
Jim Meyering
43231af577 *** empty log message *** 2002-09-30 16:14:02 +00:00
Jim Meyering
be9d4e80a0 *** empty log message *** 2002-09-30 08:01:02 +00:00
Jim Meyering
98abcaa372 update from master 2002-09-30 06:35:44 +00:00
Jim Meyering
8adddf55c0 (find_bracketed_repeat): Rearrange pointer/integer
expression to avoid warning from gcc.
2002-09-29 21:31:29 +00:00
Jim Meyering
9df8af3675 *** empty log message *** 2002-09-29 21:25:11 +00:00
Jim Meyering
7e1ff0b4f8 (simple_cat): Use a temporary to avoid bogus warnings.
(cat): Declare insize and outsize to be of type size_t, not int.
Rearrange pointer/integer expressions to avoid bogus warnings.
(main): Declare insize and outsize to be of type size_t, not int.
2002-09-29 21:25:03 +00:00
Jim Meyering
ca9b1df44b *** empty log message *** 2002-09-29 18:06:06 +00:00
Jim Meyering
c791a382f8 (parse_options): Give a sensible diagnostic for
an invalid byte or line count.  Reported by Mikko Tuumanen.
2002-09-29 18:06:02 +00:00
Jim Meyering
d27ac3d82a *** empty log message *** 2002-09-29 18:05:40 +00:00
Jim Meyering
9d9dbdb922 *** empty log message *** 2002-09-29 18:01:37 +00:00
Jim Meyering
0863bbf447 (main): Split a long line. 2002-09-29 18:00:28 +00:00
Jim Meyering
e16b6e395b update from master 2002-09-29 17:26:38 +00:00
Jim Meyering
c1d185f01c . 2002-09-29 17:26:18 +00:00
Jim Meyering
d51cd50606 (TESTS): Add slink. 2002-09-29 17:26:09 +00:00
Jim Meyering
559a6d0f80 *** empty log message *** 2002-09-29 17:26:00 +00:00
Jim Meyering
dcb8cc65fa *** empty log message *** 2002-09-29 17:25:43 +00:00
Jim Meyering
92a2cc65cb *** empty log message *** 2002-09-29 17:23:03 +00:00
Jim Meyering
b7412e8bc0 *** empty log message *** 2002-09-29 17:17:28 +00:00
Jim Meyering
9e3fc21d11 . 2002-09-29 17:12:36 +00:00
Jim Meyering
a3b479c91f . 2002-09-29 08:44:36 +00:00
Jim Meyering
b928574bf6 *** empty log message *** 2002-09-29 08:43:24 +00:00
Jim Meyering
6daabb7578 In move mode, always first try to rename. Before, upon failure to
rename a directory, this code would never attempt to rename any
other file in that directory, but would thenceforth always copy.
On some systems (NetApp version ??), renaming a directory may fail
with EXDEV, yet renaming files within that directory to a newly-
created destination directory succeeds.

(copy_internal): Remove local, move_mode;
use x->move_mode instead.  Based on a patch from Tom Haynes.
2002-09-29 08:43:19 +00:00
Jim Meyering
d7e2b7fa84 *** empty log message *** 2002-09-29 08:35:05 +00:00
Jim Meyering
9265193dd2 *** empty log message *** 2002-09-29 08:33:41 +00:00
Jim Meyering
a20222cd22 . 2002-09-28 22:03:55 +00:00
Jim Meyering
d7098ccf98 *** empty log message *** 2002-09-28 22:03:31 +00:00
Jim Meyering
e5a2ac0f88 (AM_INTL_SUBDIR): Don't require gt_HEADER_INTTYPES_H.
It's not necessary with autoconf-2.54.
2002-09-28 22:03:26 +00:00
Jim Meyering
885b7147cc (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
2002-09-28 21:40:45 +00:00
Jim Meyering
9d78678c22 (jm_MACROS): Don't set GETGROUPS_LIB here; now it's
done via getgroups.m4's wrapper function.
2002-09-28 21:39:28 +00:00
Jim Meyering
30978dfadf update from master 2002-09-28 17:02:56 +00:00
Jim Meyering
d83e894316 *** empty log message *** 2002-09-28 16:53:57 +00:00
Jim Meyering
ccd5e413fb Remove file -- now it's part of autoconf-2.54 2002-09-28 16:53:25 +00:00
Jim Meyering
500ad9b9b1 *** empty log message *** 2002-09-28 16:50:43 +00:00
Jim Meyering
fd5bc32835 (FAIL_ONLY_ONE_WAY): New macro. Factor out some duplication.
(main): Use it.
[case 'a']: Use strtoul rather than strtol to avoid compiler warnings.
2002-09-28 16:50:34 +00:00
Jim Meyering
6fee4452d3 *** empty log message *** 2002-09-28 16:32:31 +00:00
Jim Meyering
16b4b4f861 (begfield, limfield): Rearrange comparisons to avoid compiler warnings.
(fillbuf, keycompare): Cast literal `-1' to size_t in comparisons,
to avoid compiler warnings.
2002-09-28 16:32:23 +00:00
Jim Meyering
1060257446 (dopass): Use a uintmax_t temporary to avoid bogus compiler warnings. 2002-09-28 16:29:25 +00:00
Jim Meyering
475574011d (tail_bytes): Change type of bytes_remaining to off_t
to avoid overflow.  Reported by Hans Lermen.
2002-09-28 09:21:17 +00:00
Jim Meyering
876ff10b0c *** empty log message *** 2002-09-28 07:55:25 +00:00
Jim Meyering
cd6ee8563b *** empty log message *** 2002-09-28 07:55:16 +00:00
Jim Meyering
ddb038c033 (make_path): Restore umask *before* creating the final component. 2002-09-28 07:55:08 +00:00
Jim Meyering
8c10d25fd0 Fix things so `mkdir -p' can create very deep directories, e.g.,
mkdir -p $(perl -e 'print "a/" x 40000') now works.

(main): For --parents (-p), call make_path with the
entire directory name, so we don't ever require that file operations
like stat or chmod be performed on the entire command line argument.
2002-09-28 07:51:17 +00:00
Jim Meyering
7c8156ca73 *** empty log message *** 2002-09-26 08:40:44 +00:00
Jim Meyering
0327689de0 (get_ids): Use strtoul, not strtol. Remove some casts. 2002-09-26 08:39:20 +00:00
Jim Meyering
d50e1a86b7 add a FIXME comment 2002-09-26 08:25:44 +00:00
Jim Meyering
2c6d700418 *** empty log message *** 2002-09-26 08:20:32 +00:00
Jim Meyering
4b0eb25d6d [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include <stdint.h>.
(UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
(PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
int.  Work more efficiently if X is the same width as uintmax_t.
Do not compare X to -1, to avoid bogus compiler warning.
(get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
Don't assume that f_frsize and f_bsize are the same type.
2002-09-26 08:18:33 +00:00
Jim Meyering
9cc87603b9 Upgrade to gettext-0.11.5. 2002-09-25 14:34:59 +00:00
Jim Meyering
d4add26938 Add be (Belarusian). 2002-09-25 14:23:49 +00:00
Jim Meyering
4fcf036cb3 . 2002-09-25 14:23:02 +00:00
Jim Meyering
ca2302ece5 . 2002-09-25 14:19:03 +00:00
Jim Meyering
59e6528c22 . 2002-09-25 12:52:56 +00:00
Jim Meyering
b79c9e46a9 (jm_MACROS): Require gt_INTTYPES_PRI. 2002-09-25 12:52:45 +00:00
Jim Meyering
0b797ed056 (gt_INTTYPES_PRI): New file, mostly from gettext. 2002-09-25 12:52:24 +00:00
Jim Meyering
619a52f976 *** empty log message *** 2002-09-25 11:45:42 +00:00
Jim Meyering
b5a4f7671a Remove unneeded parentheses around operands of `defined'. 2002-09-25 11:45:37 +00:00
Jim Meyering
d711a9e3be *** empty log message *** 2002-09-25 08:29:57 +00:00
Jim Meyering
029b8ea75d (safe_read): Make comment more precise: upon error, it returns -1. 2002-09-25 08:29:53 +00:00
Jim Meyering
34ba862f93 (eaccess): Change type of local `euid' from int to uid_t
and add a cast, to avoid a warning about `signed and unsigned type in
conditional expression'.
2002-09-25 08:23:54 +00:00
Jim Meyering
6b7e8621e2 *** empty log message *** 2002-09-24 08:50:24 +00:00
Jim Meyering
cc0a6e14fc fmt's -s, -t, -c options didn't work properly for long lines.
Since get_line may end up calling put_paragraph (for long lines),
be sure to set global, `other_indent', before it is used there.

(set_other_indent): New function, factored out of...
(get_paragraph): ... here.  Call it.
(get_line): Call set_other_indent before calling flush_paragraph,
which calls fmt_paragraph, which in turn calls put_paragraph,
which uses other_indent.
2002-09-24 08:50:20 +00:00
Jim Meyering
8683024a34 (make_path): Minor reformatting. 2002-09-22 07:40:28 +00:00
Jim Meyering
d8e1894335 *** empty log message *** 2002-09-22 06:59:21 +00:00
Jim Meyering
68527271a5 Include "dirname.h", for declaration of strip_trailing_slashes. 2002-09-22 06:59:13 +00:00
Jim Meyering
0f88878c11 *** empty log message *** 2002-09-22 06:48:35 +00:00
Jim Meyering
fab46cb466 (PRIdMAX, PRIuMAX): Remove definitions.
Now they're defined through system.h.
2002-09-22 06:48:28 +00:00
Jim Meyering
003ab9a58d Remove all inclusions of inttypes.h,
since it's already included from sys2.h via system.h.
2002-09-22 06:41:02 +00:00
Jim Meyering
709d79631a Remove all inclusions of inttypes.h,
since it's already included from sys2.h via system.h.
2002-09-22 06:40:14 +00:00
Jim Meyering
7b355ee476 upgrade to automake-1.6f 2002-09-22 06:34:18 +00:00
Jim Meyering
3be0542f6d *** empty log message *** 2002-09-22 06:33:27 +00:00
Jim Meyering
17e6ca3e89 *** empty log message *** 2002-09-21 22:40:45 +00:00
Jim Meyering
575cb67bb2 (PERL): Remove duplicate definition. 2002-09-21 22:40:35 +00:00
Jim Meyering
457ae040b7 *** empty log message *** 2002-09-21 22:34:30 +00:00
Jim Meyering
ddc4c1a8a9 (TESTS): Add long-line. 2002-09-21 22:12:40 +00:00
Jim Meyering
ef2c79217f *** empty log message *** 2002-09-21 14:24:28 +00:00
Jim Meyering
c5c97ee23a No longer include values.h.
It was required solely for now-removed reference to BITSPERBYTE.
2002-09-21 14:24:18 +00:00
Jim Meyering
ae1f13cd3c *** empty log message *** 2002-09-21 14:22:34 +00:00
Jim Meyering
d5d3e4a862 *** empty log message *** 2002-09-21 14:22:14 +00:00
Jim Meyering
7080cab46c No longer include values.h.
It was required solely for now-removed reference to BITSPERBYTE.
2002-09-21 14:21:53 +00:00
Jim Meyering
036ab5abda (UTILS_HOST_OS): Add a case for freebsd*-gnu*. 2002-09-20 09:04:43 +00:00
Jim Meyering
17170ddcb3 (TESTS): Add t-slash. 2002-09-20 08:59:17 +00:00
Jim Meyering
9fd07809b6 *** empty log message *** 2002-09-20 08:59:07 +00:00
Jim Meyering
350063fa65 add comment 2002-09-20 08:48:21 +00:00
Jim Meyering
9a8d898e60 *** empty log message *** 2002-09-20 08:46:48 +00:00
Jim Meyering
f0693e040c (remove_parents): Strip trailing slashes. 2002-09-20 08:41:02 +00:00
Jim Meyering
899a855343 Add need-ngettext to AM_GNU_GETTEXT invocation. 2002-09-20 08:18:39 +00:00
Jim Meyering
f026fc4b46 *** empty log message *** 2002-09-20 06:44:37 +00:00
Jim Meyering
eaa5777cc5 (announcement): Arrange to gpg-sign the message.
Add a URL for each detached signature file.
2002-09-20 06:44:31 +00:00
Jim Meyering
80b4ef8025 *** empty log message *** 2002-09-19 06:21:11 +00:00
Jim Meyering
f02d6eea14 *** empty log message *** 2002-09-18 08:31:16 +00:00
Jim Meyering
62718bc18d *** empty log message *** 2002-09-18 08:30:57 +00:00
Jim Meyering
0e71fdcb84 *** empty log message *** 2002-09-18 08:30:29 +00:00
Jim Meyering
78dfee94cb *** empty log message *** 2002-09-17 22:06:28 +00:00
Jim Meyering
b8da58cdac od -t x8' used the wrong (l'-prefixed) printf format.
Likewise for the o8 and u8 formats.

(ISPEC_TO_FORMAT): Define macro.
(decode_one_format): Use PRIdMAX, PRIoMAX, etc. for LONG_LONG.
Reported by Arun Sharma.
2002-09-17 22:06:21 +00:00
Jim Meyering
8837ed851e *** empty log message *** 2002-09-17 14:43:34 +00:00
Jim Meyering
32af38ad7f (PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Define if necessary.
From gettext's intl/loadmsgcat.c.
2002-09-17 14:41:43 +00:00
Jim Meyering
eb025632fc sort/check like this:
(export LC_COLLATE=fr_FR; sed -n '/^$/,$p' THANKS|sort -c -f -t' ' -k1,1 -k2,2)
2002-09-17 08:10:50 +00:00
Jim Meyering
96a4006030 sort 2002-09-17 08:07:07 +00:00
Jim Meyering
498e1e4f34 sort 2002-09-17 07:56:51 +00:00
Jim Meyering
0ba46f3211 *** empty log message *** 2002-09-17 07:50:32 +00:00
Jim Meyering
1c6add23a8 (TESTS): Add x8. 2002-09-17 07:34:04 +00:00
Jim Meyering
83ce802e59 test for bug fixed in coreutils-4.5.2 2002-09-17 07:33:54 +00:00
Jim Meyering
2e828f4304 *** empty log message *** 2002-09-16 10:27:05 +00:00
Jim Meyering
fd275f739b Forbid symbols matching ^jm_[A-Z].
(jm_PREREQ_QUOTEARG): Add jm_FUNC_MEMCMP.
2002-09-16 10:26:59 +00:00
Jim Meyering
29cf63f13e *** empty log message *** 2002-09-16 10:21:06 +00:00
Jim Meyering
bed74c5f2c (jm_PREREQ_ERROR): Check for libintl.h. 2002-09-16 10:20:54 +00:00
Jim Meyering
9679e3f156 *** empty log message *** 2002-09-16 05:51:14 +00:00
Jim Meyering
786254cbd5 version: 4.5.1 2002-09-16 05:49:58 +00:00
Jim Meyering
3888eed848 *** empty log message *** 2002-09-15 20:24:19 +00:00
Jim Meyering
68754e2a35 *** empty log message *** 2002-09-15 07:23:14 +00:00
Jim Meyering
f4c8df3d37 (get_format_width): Add cast to avoid
warning about `signed and unsigned type in conditional expression'.
2002-09-15 07:23:08 +00:00
Jim Meyering
165e561cf5 (generate_all_output): Likewise. 2002-09-15 07:12:05 +00:00
Jim Meyering
643087c9eb *** empty log message *** 2002-09-15 07:11:59 +00:00
Jim Meyering
e13f998e3d *** empty log message *** 2002-09-15 06:52:35 +00:00
Jim Meyering
ec317bd993 (xnanosleep): Return -1 on failure, not 1, for consistency with nanosleep.
Check errno after nanosleep returns -1.
2002-09-15 06:52:29 +00:00
Jim Meyering
466902bf34 *** empty log message *** 2002-09-14 09:12:20 +00:00
Jim Meyering
3935842cb3 (main, skip): Add casts to avoid warnings about
`comparison between signed and unsigned'.
2002-09-14 09:12:13 +00:00
Jim Meyering
12b5bb320c (print_user): Change type of local to size_t
to avoid warnings about `comparison between signed and unsigned'.
2002-09-14 07:47:38 +00:00
Jim Meyering
95631bcc4d *** empty log message *** 2002-09-14 07:45:59 +00:00
Jim Meyering
c81581d5c3 (print_full_info, print_group_list): Add casts to avoid
warnings about `signed and unsigned type in conditional expression'.
2002-09-14 07:45:53 +00:00
Jim Meyering
5ca2fe79d9 Change type of global, digest_hex_bytes, to size_t
to avoid warnings about `comparison between signed and unsigned'.
(split_3): Change parameter names to be readable and add comment.
Clean up the test for whether a line may be ignored.
2002-09-14 07:40:04 +00:00
Jim Meyering
fd73068711 *** empty log message *** 2002-09-13 21:17:26 +00:00
Jim Meyering
cea6b0e19a (jm_MACROS): Require autoconf-2.54. 2002-09-13 21:17:19 +00:00
Jim Meyering
6dfd1fe44a . 2002-09-13 14:23:26 +00:00
Jim Meyering
17b4cf8818 *** empty log message *** 2002-09-13 12:18:39 +00:00
Jim Meyering
5bd4fe2400 (main): Handle leading command line argument of `--'. 2002-09-13 09:50:23 +00:00
Jim Meyering
b4994d29a1 . 2002-09-13 09:49:55 +00:00
Jim Meyering
ef7c6ac69f *** empty log message *** 2002-09-13 09:49:26 +00:00
Jim Meyering
b9485873b6 Make sure printf handles a leading -- properly. 2002-09-13 09:49:19 +00:00
Jim Meyering
6b11de0aad (TESTS): Add printf. 2002-09-13 09:48:04 +00:00
Jim Meyering
41de1d5546 *** empty log message *** 2002-09-13 09:35:22 +00:00
Jim Meyering
0264deb7f0 *** empty log message *** 2002-09-13 09:31:32 +00:00
Jim Meyering
adaffb391b (Time directives) [%S]: Explain why the range is [0..60]. 2002-09-13 09:31:26 +00:00
Jim Meyering
dbe1e3529a (stat invocation): Remove references to now-removed %S and %C. 2002-09-13 09:19:20 +00:00
Jim Meyering
a59ff019de (usage): Explain that %S's range of [0..60] is required --
rather than 0..59 -- to accommodate the occasional positive leap second.
2002-09-13 09:18:18 +00:00
Jim Meyering
4de67de0af *** empty log message *** 2002-09-13 09:14:46 +00:00
Jim Meyering
510b33a541 *** empty log message *** 2002-09-13 08:51:27 +00:00
Jim Meyering
626d26baaa (tail invocation): In --sleep-interval=NUMBER,
NUMBER may now be a floating point number.
2002-09-13 08:51:15 +00:00
Jim Meyering
96a4360079 update from master 2002-09-13 07:46:30 +00:00
Jim Meyering
5ecd38d97e . 2002-09-12 13:16:43 +00:00
Jim Meyering
313f44f036 *** empty log message *** 2002-09-12 13:16:28 +00:00
Jim Meyering
3087631793 (nanosec_libs): Define.
(sleep_LDADD, tail_LDADD): Use it here.
2002-09-12 13:16:20 +00:00
Jim Meyering
96bd9415dc . 2002-09-12 13:15:07 +00:00
Jim Meyering
a4d28ef145 . 2002-09-12 12:14:58 +00:00
Jim Meyering
3a9de00dc7 *** empty log message *** 2002-09-12 12:12:31 +00:00
Jim Meyering
a6386ad90d *** empty log message *** 2002-09-12 12:11:59 +00:00
Jim Meyering
3bbdcee8c3 *** empty log message *** 2002-09-12 12:02:56 +00:00
Jim Meyering
1e8f677ed4 Factor nanosleep-related code into ../lib/xnanosleep.c.
Include xnanosleep.h.
Factor out fenv.h-related code.
(timespec_subtract): Remove function.
(main): Remove code that deals with computing start and stop times
as well as the loop around nanosleep.  Now that's in xnanosleep.c.
2002-09-12 12:01:02 +00:00
Jim Meyering
3a49e627de *** empty log message *** 2002-09-12 11:38:59 +00:00
Jim Meyering
7a79266014 Include xnanosleep.h and xstrtod.h.
Move declaration of global variable, sleep_interval, to ...
(main): ...here.
(usage): Update description of --sleep-interval option.
(tail_forever): New parameter, sleep_interval.  Update caller.
Use xnanosleep, rather than sleep.
(parse_options): New parameter, sleep_interval.  Update caller.
Use xstrtod, now that we accept floating point values.
2002-09-12 11:38:47 +00:00
Jim Meyering
d7a4a48c83 *** empty log message *** 2002-09-11 11:35:18 +00:00
Jim Meyering
aa6f330821 (libfetish_a_SOURCES): Add xnanosleep.c and xnanosleep.h. 2002-09-11 11:35:12 +00:00
Jim Meyering
079eb6b3d1 New files, factored out of sleep.c. 2002-09-11 11:34:20 +00:00
Jim Meyering
ae3d0303a0 . 2002-09-10 13:10:16 +00:00
Jim Meyering
867d0d0403 Remove file -- now it's part of autoconf-2.53c. 2002-09-10 13:10:02 +00:00
Jim Meyering
5d5cef3277 . 2002-09-10 13:09:17 +00:00
Jim Meyering
99583c1cae Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
AC_FUNC_GETLOADAVG where to find getloadavg.c.
2002-09-10 13:09:01 +00:00
Jim Meyering
3fb3949208 *** empty log message *** 2002-09-10 13:08:43 +00:00
Jim Meyering
0b49457e24 . 2002-09-10 13:08:00 +00:00
Jim Meyering
9e35801348 Add lg (Luganda). 2002-09-10 13:06:27 +00:00
Jim Meyering
afef4e7e86 . 2002-09-06 20:58:23 +00:00
Jim Meyering
0e1e6b5e56 *** empty log message *** 2002-09-06 08:00:43 +00:00
Jim Meyering
8706a066cf *** empty log message *** 2002-09-06 08:00:36 +00:00
Jim Meyering
37f7bae4f0 (prompt): Change comment to give a better note to translators. 2002-09-06 08:00:30 +00:00
Jim Meyering
fceb8c6f6d . 2002-09-05 11:38:21 +00:00
Jim Meyering
1a71d84326 *** empty log message *** 2002-09-04 07:53:56 +00:00
Jim Meyering
de68469582 (addext): Add a cast to avoid gcc's warning about
`comparison between signed and unsigned'.
2002-09-04 07:53:42 +00:00
Jim Meyering
8b4aebd031 *** empty log message *** 2002-09-04 07:41:34 +00:00
Jim Meyering
6c0a2cd041 (str2signum, sig2str): Declare loop index variables to be
of type size_t so that they match type of upper bound, thus avoiding
warning about `comparison between signed and unsigned'.
2002-09-04 07:41:11 +00:00
Jim Meyering
2eb1ba5109 *** empty log message *** 2002-09-03 14:10:17 +00:00
Jim Meyering
d3f25cc8bf . 2002-09-03 14:07:36 +00:00
Jim Meyering
a9e5e84ed7 *** empty log message *** 2002-09-02 09:07:13 +00:00
Jim Meyering
585d13437c A good problem report/patch includes diffs against
the most recent test release.
2002-09-02 07:53:13 +00:00
Jim Meyering
496f29fa8c (NEED_PATHCONF_WRAPPER): Define.
(pathconf_wrapper): Define only if NEED_PATHCONF_WRAPPER is set.
2002-09-02 07:43:38 +00:00
Jim Meyering
0ea01d21a3 (skip): Add casts to avoid warning about comparison
between signed and unsigned. Also rearrange range-checking
comparisons to make them more readable.
2002-09-02 07:38:53 +00:00
Jim Meyering
2ebfe2fc9c (print_table_row): Use an unsigned type for widths
to avoid warning about comparison between signed and unsigned.
(list_signals): Likewise.
2002-09-02 07:31:24 +00:00
Jim Meyering
680cd976cc (skip): Add a cast to avoid warning about comparison
between signed and unsigned.
2002-09-02 07:23:09 +00:00
Jim Meyering
c6fcfa23be *** empty log message *** 2002-09-02 06:36:12 +00:00
Jim Meyering
636b6d76f3 *** empty log message *** 2002-09-02 06:34:55 +00:00
Jim Meyering
951b87ccd5 Bump version to 4.5.2. 2002-09-02 06:30:16 +00:00
Jim Meyering
e6c8577825 . 2002-09-01 09:58:07 +00:00
Jim Meyering
55b9df1653 *** empty log message *** 2002-09-01 09:42:31 +00:00
Jim Meyering
b2523f82c5 . 2002-09-01 08:56:59 +00:00
Jim Meyering
f7e3d9b0f2 *** empty log message *** 2002-08-31 16:59:23 +00:00
Jim Meyering
b0231a2f03 Update from GNU libc. 2002-08-31 16:59:12 +00:00
Jim Meyering
a5f8422570 Update from GNU libc. 2002-08-31 16:54:45 +00:00
Jim Meyering
5bdb1226eb Update from GNU libc. 2002-08-31 16:52:18 +00:00
Jim Meyering
eb540d8e9b *** empty log message *** 2002-08-31 16:46:43 +00:00
Jim Meyering
174a1f057c Update from GNU libc. 2002-08-31 16:46:40 +00:00
Jim Meyering
6dcc1a7fc3 *** empty log message *** 2002-08-31 16:25:42 +00:00
Jim Meyering
08264fc838 *** empty log message *** 2002-08-31 16:23:08 +00:00
Jim Meyering
24272cc948 . 2002-08-31 16:11:27 +00:00
Jim Meyering
62808a7fb5 Symlinks were always reported as using 0 blocks.
(ST_NBLOCKS): Don't depend on file type.
This reverts the change of 2000-01-30.
Based on a report and patch from Neil Brown via Michael Stone.
2002-08-31 16:04:57 +00:00
Jim Meyering
03b25d2e46 *** empty log message *** 2002-08-31 16:04:09 +00:00
Jim Meyering
570446de4a *** empty log message *** 2002-08-31 16:02:41 +00:00
Jim Meyering
970a18999d *** empty log message *** 2002-08-31 09:03:39 +00:00
Jim Meyering
61fe93b0c0 *** empty log message *** 2002-08-31 09:02:31 +00:00
Jim Meyering
41766f78de *** empty log message *** 2002-08-31 09:02:09 +00:00
Jim Meyering
45615cb41f *** empty log message *** 2002-08-31 08:52:15 +00:00
Jim Meyering
4006f4e672 Change exit (0)' to exit (EXIT_SUCCESS)',
`exit (1)' to `exit (EXIT_FAILURE)', and
`usage (1)' to `usage (EXIT_FAILURE)'.
2002-08-31 08:52:10 +00:00
Jim Meyering
7488703199 Change error (1, ...' to error (EXIT_FAILURE, ...'. 2002-08-30 23:04:53 +00:00
Jim Meyering
6c80ecd8d5 *** empty log message *** 2002-08-30 06:59:44 +00:00
Jim Meyering
4bffc55254 [START-INFO-DIR-ENTRY]: Don't use sc{} on LHS.
Fix typo: s/permission/permissions/.  From Michail Litvak.
2002-08-30 06:59:39 +00:00
Jim Meyering
96a48abf78 *** empty log message *** 2002-08-30 06:58:41 +00:00
Jim Meyering
e5ccb59f97 *** empty log message *** 2002-08-29 10:46:04 +00:00
Jim Meyering
649a00e9b8 (is_empty_dir): Detect and diagnose readdir failures.
Always close directory handle.
2002-08-29 10:42:12 +00:00
Jim Meyering
515f184462 (print_dir): Detect and diagnose readdir failures.
On some systems (at least EMC Celerra and Solaris5.8),
this appears to be necessary.
(print_dir): Rename local variable: reading -> dirp.
2002-08-29 10:16:00 +00:00
Jim Meyering
609231e3fa *** empty log message *** 2002-08-29 10:15:20 +00:00
Jim Meyering
1f8ece552f (remove_cwd_entries): Use closedir (not CLOSEDIR) when ignoring any return value. 2002-08-29 10:13:57 +00:00
Jim Meyering
82c0b315bc (print_dir): Rename local variable: reading -> dirp. 2002-08-29 09:44:23 +00:00
Jim Meyering
9a9e0503a2 (remove_cwd_entries): Detect and diagnose readdir
failures.  On some systems (at least EMC Celerra and Solaris5.8),
this appears to be necessary.
2002-08-29 09:42:43 +00:00
Jim Meyering
cd79080f4a (remove_cwd_entries): Use CLOSEDIR, not closedir.
Give a diagnostic and fail if closedir fails.
2002-08-28 06:52:07 +00:00
Jim Meyering
3ee8ba25ba *** empty log message *** 2002-08-26 13:10:10 +00:00
Jim Meyering
c725204141 *** empty log message *** 2002-08-26 13:04:49 +00:00
Jim Meyering
4ab5b1b246 (THANKS-to-translators): New rule.
(EXTRA_DIST): Add both THANKS-to-translators and THANKStt.in.
2002-08-26 12:58:30 +00:00
Jim Meyering
b10e1c1a4a *** empty log message *** 2002-08-26 12:49:14 +00:00
Jim Meyering
69a590a469 *** empty log message *** 2002-08-26 10:05:07 +00:00
Jim Meyering
e5f8396b09 *** empty log message *** 2002-08-26 10:04:51 +00:00
Jim Meyering
efaf3a08de *** empty log message *** 2002-08-26 10:04:05 +00:00
Jim Meyering
6f6a8f0361 . 2002-08-26 10:01:57 +00:00
Jim Meyering
7dd8275506 . 2002-08-26 07:26:34 +00:00
Jim Meyering
234cd4e3fe (close_stdout_wrapper): New, kludgey, function and file-scoped global.
(main): Register it with atexit.
Close STDOUT_FILENO, to avoid a problem when writing to
/dev/audio on at least Solaris 2.7 and 2.8 systems.
2002-08-26 07:23:37 +00:00
Jim Meyering
6d1c743816 *** empty log message *** 2002-08-26 07:23:18 +00:00
Jim Meyering
5dff34cd8d *** empty log message *** 2002-08-26 07:22:09 +00:00
Jim Meyering
83f07a2ae3 *** empty log message *** 2002-08-25 14:32:21 +00:00
Jim Meyering
c7bfa321f9 *** empty log message *** 2002-08-25 14:32:10 +00:00
Jim Meyering
3124a4e393 (main): Close STDIN_FILENO rather than a literal `0'. 2002-08-25 14:32:02 +00:00
Jim Meyering
f7f7207a69 latest 2002-08-25 07:35:00 +00:00
Jim Meyering
dd11d9349e *** empty log message *** 2002-08-20 16:53:43 +00:00
Jim Meyering
17077cbcbf Rewrite not to use `: ${VAR=not_set}' paradigm. 2002-08-20 16:53:33 +00:00
Jim Meyering
9db4370c1a *** empty log message *** 2002-08-20 10:19:18 +00:00
Jim Meyering
91d008f619 . 2002-08-20 10:18:19 +00:00
Jim Meyering
ac9b8804eb . 2002-08-14 13:44:19 +00:00
Jim Meyering
78088e3400 *** empty log message *** 2002-08-10 09:58:02 +00:00
Jim Meyering
01ac2fda31 Don't use "exec --"; it's not portable and shouldn't be needed. 2002-08-10 09:57:57 +00:00
Jim Meyering
f12b040a86 . 2002-08-09 22:13:49 +00:00
Jim Meyering
b2ad2ca795 [col-last]: New test for the above. 2002-08-09 22:13:37 +00:00
Jim Meyering
13f19a6185 *** empty log message *** 2002-08-09 10:04:19 +00:00
Jim Meyering
b1113d0168 (main): Don't ignore -COLUMN if it's the last option.
(usage): Clarify help text for the -COLUMN option.
2002-08-09 10:03:58 +00:00
Jim Meyering
82e2664b87 Start with version 4.5.1, chosen so that it's larger than
the latest version numbers of the component packages.
2002-08-09 10:00:25 +00:00
Jim Meyering
6eb3ba11fb (check-x-vs-1): Set and export PATH so we use programs in ../src. 2002-08-09 06:12:29 +00:00
Jim Meyering
a4726a4c8d *** empty log message *** 2002-08-09 06:12:18 +00:00
Jim Meyering
11eaed5c9c . 2002-08-08 17:05:13 +00:00
Jim Meyering
fc0e70fe74 *** empty log message *** 2002-08-08 16:38:29 +00:00
Jim Meyering
596072d020 *** empty log message *** 2002-08-08 16:37:27 +00:00
Jim Meyering
23fd377567 *** empty log message *** 2002-08-08 16:36:52 +00:00
Jim Meyering
4cb69e11ad Guard inclusion of <langinfo.h> with
`#if HAVE_LANGINFO_CODESET', not `#if HAVE_LANGINFO_H'.
2002-08-08 16:36:33 +00:00
Jim Meyering
99ec0b1a38 *** empty log message *** 2002-08-08 09:08:09 +00:00
Jim Meyering
f900759505 *** empty log message *** 2002-08-08 09:07:45 +00:00
Jim Meyering
c762eef14f *** empty log message *** 2002-08-08 09:02:10 +00:00
Jim Meyering
8cfd57e318 *** empty log message *** 2002-08-07 22:04:42 +00:00
Jim Meyering
0a6e22bb95 (main): Adjust to posixtime signature change.
Remove unnecessary initialization.
Use localtime, not posixtm, to warn about obsolete "touch".
2002-08-07 22:04:37 +00:00
Jim Meyering
1f6174e466 (main): Adjust to posixtime signature change. 2002-08-07 22:04:01 +00:00
Jim Meyering
8f5baf053e *** empty log message *** 2002-08-07 22:03:24 +00:00
Jim Meyering
ea1d6448fb (posixtime): Return bool instead of time_t, so
that we can return (time_t) -1 successfully.
2002-08-07 22:02:52 +00:00
Jim Meyering
c66dd95e8e Fix some minor time-related bugs with POSIX time arguments.
Some valid time stamps were being rejected (notably -1, and
time stamps before 1900 on 64-bit hosts).  And some invalid
time stamps were being accepted, e.g. September 31.

* lib/posixtm.h (posixtime): Return bool instead of time_t, so
that we can return (time_t) -1 successfully.
* lib/posixtm.c: Likewise.
[HAVE_STDBOOL_H]: Include <stdbool.h>.
(bool, false, true) [!HAVE_STDBOOL_H]: New type.
(t): Remove static var.
(year, posix_time_parse): Now takes struct tm * arg to modify, instead
of static var.  All uses changed.
(year): Do not reject years before 1900; they can occur with
64-bit time_t.
(posix_time_parse): Do not check for out-of-range components;
that is now the caller's responsibility, since our checks were
only approximations.
(posixtime): Use mktime to check for out-of-range components,
since it knows them exactly.
If mktime returns (time_t) -1, check whether an error actually occurred
by invoking localtime on -1.
(main) [TEST_POSIXTIME]: Check for input data errors, and report
posixtime failures better.
Improve the test data (in comments only).
2002-08-07 22:02:23 +00:00
Jim Meyering
bdccb7c890 Change $am_cv_sys_posix_termios to $ac_cv_sys_posix_termios.
From Andreas Schwab.
2002-08-05 12:21:42 +00:00
Jim Meyering
643bb0f883 *** empty log message *** 2002-08-05 12:20:55 +00:00
Jim Meyering
5c1e3600c9 *** empty log message *** 2002-08-05 12:20:42 +00:00
Jim Meyering
ea64b210f7 *** empty log message *** 2002-08-05 11:51:50 +00:00
Jim Meyering
67b3ee9676 Also change use of $am_cv_sys_posix_termios
to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
2002-08-05 11:51:42 +00:00
Jim Meyering
46f67717fb . 2002-08-05 10:53:37 +00:00
Jim Meyering
4597dbd2a7 *** empty log message *** 2002-08-05 10:11:54 +00:00
Jim Meyering
78c7cfea3f (TESTS): Add nice and pathchk1. 2002-08-05 08:28:29 +00:00
Jim Meyering
4ab4543c2d . 2002-08-05 08:27:56 +00:00
Jim Meyering
c6827392b2 *** empty log message *** 2002-08-04 13:48:07 +00:00
Jim Meyering
28618d4dda . 2002-08-04 13:47:09 +00:00
Jim Meyering
27076dfd18 *** empty log message *** 2002-08-04 13:46:33 +00:00
Jim Meyering
04e21e6e53 . 2002-08-04 13:46:16 +00:00
Jim Meyering
92b12e12af *** empty log message *** 2002-08-04 13:41:29 +00:00
Jim Meyering
62ddac9d22 . 2002-08-04 13:40:26 +00:00
Jim Meyering
a3e653fea2 *** empty log message *** 2002-08-04 13:36:39 +00:00
Jim Meyering
54160b0b94 . 2002-08-04 11:04:56 +00:00
Jim Meyering
f09c1b54cf *** empty log message *** 2002-08-04 11:04:38 +00:00
Jim Meyering
0e727f4c59 *** empty log message *** 2002-08-04 11:03:20 +00:00
Jim Meyering
ca845879a4 (check-README): New target/rule.
(check): Depend on it.
2002-08-04 11:03:08 +00:00
Jim Meyering
9c24b11207 *** empty log message *** 2002-08-04 11:02:44 +00:00
Jim Meyering
c1f4d04c0f (AC_CONFIG_FILES): Add old/Makefile and old/*/Makefile. 2002-08-04 11:02:26 +00:00
Jim Meyering
2220d47e56 . 2002-08-04 11:01:30 +00:00
Jim Meyering
dbb5342c42 *** empty log message *** 2002-08-04 09:38:47 +00:00
Jim Meyering
b0c47ec127 *** empty log message *** 2002-08-04 06:15:41 +00:00
Jim Meyering
667d18259c *** empty log message *** 2002-08-03 17:42:53 +00:00
Jim Meyering
12107c3302 (SUBDIRS): Add old. 2002-08-03 16:49:20 +00:00
Jim Meyering
cd93525ee8 . 2002-08-03 16:48:17 +00:00
Jim Meyering
1c421df83b . 2002-08-03 16:47:21 +00:00
Jim Meyering
245b16635b *** empty log message *** 2002-08-03 16:44:43 +00:00
Jim Meyering
cefeb81dd5 (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Set to false. 2002-08-03 16:44:33 +00:00
Jim Meyering
87ef26a750 *** empty log message *** 2002-08-03 14:57:15 +00:00
Jim Meyering
ccd890dc9f *** empty log message *** 2002-08-03 14:55:25 +00:00
Jim Meyering
9193e7e10a *** empty log message *** 2002-08-03 14:55:21 +00:00
Jim Meyering
9159586138 Require AC_SYS_POSIX_TERMIOS, not AM_SYS_POSIX_TERMIOS. 2002-08-03 14:54:21 +00:00
Jim Meyering
515fe7d138 *** empty log message *** 2002-08-03 14:01:20 +00:00
Jim Meyering
1a15d841b8 *** empty log message *** 2002-08-02 14:49:52 +00:00
Jim Meyering
be39dde5b1 uniq now obeys LC_COLLATE. 2002-08-02 14:49:29 +00:00
Jim Meyering
f74c790e4d *** empty log message *** 2002-08-02 14:42:45 +00:00
Jim Meyering
545c2323d4 Include hard-locale.h, xmemcoll.h.
(hard_LC_COLLATE): New var.
(different): Args are now char *, not const char *.
Use xmemcoll instead of memcmp to compare lines, so that
LC_COLLATE has effect.  However, use memcmp if it is an
easy locale.
(check_file): Do not include newline in comparison, so that
xmemcoll has a byte to stomp on temporarily.
(main): Set hard_LC_COLLATE.
2002-08-02 14:42:37 +00:00
Jim Meyering
69a27f2c3d *** empty log message *** 2002-08-01 21:37:04 +00:00
Jim Meyering
9a7a47422e *** empty log message *** 2002-08-01 09:19:30 +00:00
Jim Meyering
d2b62daff5 (run_shell): Exit with status 126 or 127 when execvp or
execv fails, for consistency with POSIX commands like env and nice.
2002-08-01 09:19:24 +00:00
Jim Meyering
a6005c2ba4 (main): Exit with status 126 or 127 when execvp or
execv fails, for consistency with POSIX commands like env and nice.
2002-08-01 08:50:19 +00:00
Jim Meyering
2a41097fd7 Change behavior to conform to POSIX 1003.1-2001:
- Do not adjust scheduling priority.
  - Redirects stderr to stdout, if stderr is not a terminal.
  - Exit status is now 126 if command was found but not invoked,
    127 if nohup failed or if command was not found.
  Fix bug: command was run if nohup.out wasn't writeable.
2002-08-01 08:47:33 +00:00
Jim Meyering
901688234a *** empty log message *** 2002-08-01 08:32:00 +00:00
Jim Meyering
8f065fba94 *** empty log message *** 2002-08-01 07:02:51 +00:00
Jim Meyering
12046ce90b (jm_PREREQ_TEMPNAME): lib/tempname.c may use uintmax_t,
so require require jm_AC_TYPE_UINTMAX_T.  Patch by Joe Orton.
2002-08-01 07:02:47 +00:00
Jim Meyering
cac2b2c8eb nohup changes 2002-07-29 12:19:12 +00:00
Jim Meyering
2394313610 *** empty log message *** 2002-07-29 12:18:35 +00:00
Jim Meyering
a022cf6329 Change behavior to conform to POSIX 1003.1-2001:
- Do not adjust scheduling priority.
- Redirects stderr to stdout, if stderr is not a terminal.
- Exit status is now 126 if command was found but not invoked,
  127 if nohup failed or if command was not found.
2002-07-29 12:17:42 +00:00
Jim Meyering
ac8cf8db56 . 2002-07-29 11:05:52 +00:00
Jim Meyering
2b1fd19a04 . 2002-07-29 11:04:59 +00:00
Jim Meyering
206dd4a985 require automake-1.6b 2002-07-29 10:57:12 +00:00
Jim Meyering
ef2c17c290 . 2002-07-29 10:55:22 +00:00
Jim Meyering
72c145938f . 2002-07-29 10:54:44 +00:00
Jim Meyering
0b903c36ca . 2002-07-29 10:37:33 +00:00
Jim Meyering
bc9509e015 *** empty log message *** 2002-07-29 10:35:22 +00:00
Jim Meyering
9d8a92eeb8 *** empty log message *** 2002-07-29 10:35:17 +00:00
Jim Meyering
95a4eb7b02 (SUBDIRS): Remove djgpp, for now. 2002-07-29 10:35:11 +00:00
Jim Meyering
c010271591 . 2002-07-29 10:34:32 +00:00
Jim Meyering
c017df37f1 Supply exit arg for both invocations of exit. 2002-07-29 09:54:40 +00:00
Jim Meyering
49f015c36b *** empty log message *** 2002-07-29 08:40:50 +00:00
Jim Meyering
c8729cad98 Adjust command examples in comments to use POSIX 1003.1-2001 option syntax.
From Paul Eggert.
2002-07-29 08:40:10 +00:00
Jim Meyering
14714daf41 *** empty log message *** 2002-07-28 21:48:41 +00:00
Jim Meyering
03089e39cb . 2002-07-28 21:45:04 +00:00
Jim Meyering
ff7b7797bb *** empty log message *** 2002-07-28 20:11:43 +00:00
Jim Meyering
e3d2d82194 *** empty log message *** 2002-07-28 20:10:56 +00:00
Jim Meyering
cafa875ac4 *** empty log message *** 2002-07-28 20:10:28 +00:00
Jim Meyering
aab1a6520d *** empty log message *** 2002-07-28 13:19:38 +00:00
Jim Meyering
3eb3c770fd Don't require jm_FUNC_READDIR. 2002-07-28 13:19:35 +00:00
Jim Meyering
af8dd6d427 (jm_FUNC_READDIR): Remove file/macro. No longer needed. 2002-07-28 13:15:48 +00:00
Jim Meyering
e1b511adc6 . 2002-07-27 21:39:33 +00:00
Jim Meyering
ad0b9f7dde *** empty log message *** 2002-07-27 21:39:16 +00:00
Jim Meyering
37a7d1433c (jm_PREREQ_READUTMP): Don't check just
`struct utmpx.ut_exit' and `struct utmp.ut_exit'.  Instead, check
all combinations of utmp/utmpx and ut_termination/e_termination
and ut_exit/e_exit.
2002-07-27 21:39:00 +00:00
Jim Meyering
598ed91d62 If we have both utmpx.h and utmp.h, and there exists
the utmp.ut_exit member, but not the utmpx.ut_exit member, then
undefine HAVE_UTMPX_H.  For AIX 4.3.3.  Doing all this in cpp is
a big kludge; someday we'll put the brains in an autoconf macro.
(UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
2002-07-27 21:35:39 +00:00
Jim Meyering
86af2dfa29 (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Remove definitions.
Now they're defined in readutmp.h.
(print_deadprocs): Remove obsolete FIXME comment.
2002-07-27 21:31:50 +00:00
Jim Meyering
ee16ef9929 *** empty log message *** 2002-07-27 08:45:53 +00:00
Jim Meyering
62c03f8fac Port to POSIX 1003.1-2001 "nice", which
requires the option "-n 5" rather than "-5".  This matters
with GNU "nice" if the user has set the _POSIX2_VERSION
environment variable.
2002-07-27 08:45:49 +00:00
Jim Meyering
5e8cbfdf8e *** empty log message *** 2002-07-27 07:08:03 +00:00
Jim Meyering
1d423f93c8 *** empty log message *** 2002-07-27 07:01:42 +00:00
Jim Meyering
aa2fb76aa1 *** empty log message *** 2002-07-27 07:01:03 +00:00
Jim Meyering
8c01127f70 *** empty log message *** 2002-07-26 07:38:41 +00:00
Jim Meyering
e4d4cea119 Don't include malloc.h -- it was unnecessary. 2002-07-26 07:38:35 +00:00
Jim Meyering
723e226532 update from master 2002-07-25 07:11:29 +00:00
Jim Meyering
2b4dff2063 *** empty log message *** 2002-07-24 08:33:27 +00:00
Jim Meyering
d1f42de115 (Time directives): Document %P, %R, %e, %F, %g, %G, and %V 2002-07-24 08:33:21 +00:00
Jim Meyering
ce7a9483a9 . 2002-07-24 08:27:35 +00:00
Jim Meyering
be7f1936bd undo last change 2002-07-24 08:24:12 +00:00
Jim Meyering
43343c2793 *** empty log message *** 2002-07-23 19:42:32 +00:00
Jim Meyering
68aff85110 *** empty log message *** 2002-07-23 19:42:04 +00:00
Jim Meyering
9bbd5af6e8 . 2002-07-23 08:16:11 +00:00
Jim Meyering
34598a09f5 *** empty log message *** 2002-07-23 08:14:34 +00:00
Jim Meyering
c6bb7f43ff (AC_C_BACKSLASH_A): Remove file, now that autoconf 2002-07-23 08:13:46 +00:00
Jim Meyering
2497b8e42f *** empty log message *** 2002-07-22 19:58:34 +00:00
Jim Meyering
8c55f0fbfa (Formatting the file names): Document
that -N/--literal are equivalent to --quoting-style=literal.
Reported by Oskar Liljeblad as Debian bug#103612.
2002-07-22 19:58:29 +00:00
Jim Meyering
a6d4483234 *** empty log message *** 2002-07-22 15:39:23 +00:00
Jim Meyering
33106990a6 (usage): The short form of --dereference is now -L, not -l. 2002-07-22 15:39:12 +00:00
Jim Meyering
63fb8bd5b6 *** empty log message *** 2002-07-22 12:24:48 +00:00
Jim Meyering
2bd28f0200 Add new option, --presume-input-tty, for testing only.
Not documented.
2002-07-22 12:24:41 +00:00
Jim Meyering
48a269db9c Add a test for this:
When not interactive, don't prompt for a symlink.
2002-07-22 12:22:59 +00:00
Jim Meyering
07fdea3ed9 . 2002-07-22 08:26:07 +00:00
Jim Meyering
14947f5b6c *** empty log message *** 2002-07-22 08:25:13 +00:00
Jim Meyering
786b4298a5 *** empty log message *** 2002-07-22 08:16:57 +00:00
Jim Meyering
a0ba130aea *** empty log message *** 2002-07-22 08:16:46 +00:00
Jim Meyering
ae1331b60a Handle the case in which rm produces no output. 2002-07-22 08:16:38 +00:00
Jim Meyering
2f17be04e3 This test might remove a file owned by the person running `make check'.
Hoist definition of $target_file, and use
that (not $f) in test for owner/dir/symlink.  Patch by Michael Stone.
2002-07-22 08:12:27 +00:00
Jim Meyering
db6dff2e6e rm would prompt for non-dangling symlinks
(prompt): When not interactive, don't prompt for a symlink.
2002-07-22 06:59:26 +00:00
Jim Meyering
fc1b595b19 *** empty log message *** 2002-07-22 06:55:17 +00:00
Jim Meyering
c206bac583 Fix typo in last change: add missing $ 2002-07-20 21:08:26 +00:00
Jim Meyering
64f41399ff *** empty log message *** 2002-07-20 20:06:49 +00:00
Jim Meyering
bcfbac9349 (copy_internal): Use file_name_lookup, not getdport.
Patch by Alfred M. Szmidt.
2002-07-20 20:06:41 +00:00
Jim Meyering
32ea988e8b *** empty log message *** 2002-07-20 15:48:25 +00:00
Jim Meyering
ad7b8c7978 . 2002-07-20 15:39:18 +00:00
Jim Meyering
b24b689963 . 2002-07-20 15:29:25 +00:00
Jim Meyering
334294f09d (main): Add an explicit `exit (EXIT_SUCCESS);'
for --version, rather than falling through.
2002-07-20 15:18:37 +00:00
Jim Meyering
3f6c422f1a (false.c): Convert only the final EXIT_SUCCESS
into EXIT_FAILURE.  Otherwise, false --help and false --version
would fail.
2002-07-20 15:18:20 +00:00
Jim Meyering
ad7e872471 *** empty log message *** 2002-07-20 14:24:34 +00:00
Jim Meyering
a82d360478 (news-r1, news-r2): Define. Better regexp.
(announcement): Use them here.  Also makes the line length < 80.
2002-07-20 14:24:29 +00:00
Jim Meyering
bfe17c403d *** empty log message *** 2002-07-20 14:12:31 +00:00
Jim Meyering
d234d4b968 *** empty log message *** 2002-07-20 14:10:21 +00:00
Jim Meyering
edc5d1e500 . 2002-07-20 14:06:47 +00:00
Jim Meyering
ce62cf1bd3 *** empty log message *** 2002-07-20 14:06:33 +00:00
Jim Meyering
eb7996a1df New file. From gettex-0.11.3. 2002-07-20 14:06:23 +00:00
Jim Meyering
4d84eaa764 do not use tail -1; use tail -n 1 instead 2002-07-20 11:17:27 +00:00
Jim Meyering
a5c943a9b4 . 2002-07-20 11:16:45 +00:00
Jim Meyering
6249feeba8 *** empty log message *** 2002-07-20 08:32:46 +00:00
Jim Meyering
74222f7619 *** empty log message *** 2002-07-20 08:28:24 +00:00
Jim Meyering
18d123ec85 *** empty log message *** 2002-07-20 08:24:31 +00:00
Jim Meyering
2b6249f98c . 2002-07-20 07:12:58 +00:00
Jim Meyering
6884ff795d . 2002-07-20 07:12:29 +00:00
Jim Meyering
e54c429349 *** empty log message *** 2002-07-20 07:12:13 +00:00
Jim Meyering
559555c77c Require autoconf-2.53b.
Use new macros AC_FUNC_MALLOC and AC_FUNC_REALLOC,
in place of jm_-prefixed ones.
2002-07-20 07:12:09 +00:00
Jim Meyering
b76525f29d Remove file, now that autoconf provides this macro. 2002-07-20 07:11:05 +00:00
Jim Meyering
a848d8b02b Adjust to work with new autoconf macros, AC_FUNC_MALLOC
and AC_FUNC_REALLOC: test #ifndef HAVE_MALLOC/HAVE_REALLOC.
2002-07-20 07:07:48 +00:00
Jim Meyering
6f382f7324 . 2002-07-20 06:52:12 +00:00
Jim Meyering
5e9dbfad55 Upgrade to gettext-0.11.3. 2002-07-20 06:41:26 +00:00
Jim Meyering
940ec37b9d *** empty log message *** 2002-07-20 06:38:38 +00:00
Jim Meyering
fd72bdc343 Upgrade to gettext-0.11.3. 2002-07-20 06:38:33 +00:00
Jim Meyering
5a75d400d9 Upgrade to gettext-0.11.3. 2002-07-20 06:37:36 +00:00
Jim Meyering
03229a474f Upgrade to gettext-0.11.3. 2002-07-20 06:36:49 +00:00
Jim Meyering
5b8a7240b0 Upgrade to gettext-0.11.3. 2002-07-20 06:35:12 +00:00
Jim Meyering
7e168001e9 Upgrade to gettext-0.11.3. 2002-07-20 06:34:16 +00:00
Jim Meyering
ca66dd1648 . 2002-07-20 06:31:28 +00:00
Jim Meyering
2200bd0564 Upgrade to gettext-0.11.3. 2002-07-20 06:31:12 +00:00
Jim Meyering
9befab3af8 fix typo in comment 2002-07-20 06:22:02 +00:00
Jim Meyering
39d971818e skip directories, too.
Otherwise, we'd have to account for the additional `directory ' part
of a diagnostic like this:

fail-eperm: unexpected dignostic from `rm -f /tmp/.pcmcia';
  got      rm: cannot remove directory `/tmp/.pcmcia': Is a directory
  expected rm: cannot remove `/tmp/.pcmcia': ...
2002-07-20 05:36:59 +00:00
Jim Meyering
e724268ea5 quotemeta 2002-07-19 22:01:43 +00:00
Jim Meyering
748de084cc *** empty log message *** 2002-07-19 21:36:56 +00:00
Jim Meyering
7ca9560caf Add .wav. 2002-07-19 21:36:46 +00:00
Jim Meyering
6c38ff8431 *** empty log message *** 2002-07-19 21:35:56 +00:00
Jim Meyering
b6389794e2 Don't expect `ARGV_0=$0 exec ...' to work.
It doesn't work with /bin/sh of Solaris5.6.
Use an explicit `export ARGV_0' instead.
[comparing actual and expected output]: Don't match the entire line,
but rather just the `rm: cannot remove `$dir/$f':' part.
2002-07-19 21:35:48 +00:00
Jim Meyering
29c8739e95 Use input-tty rather than testing for /dev/stdin. 2002-07-19 21:12:23 +00:00
Jim Meyering
767a8b968e *** empty log message *** 2002-07-19 20:26:28 +00:00
Jim Meyering
5db1ff6873 *** empty log message *** 2002-07-19 20:25:46 +00:00
Jim Meyering
164e61fbb9 tweak for better exit 2002-07-19 20:22:59 +00:00
Jim Meyering
4a8560e2a0 . 2002-07-19 19:42:31 +00:00
Jim Meyering
d4439bcbf4 update from master 2002-07-18 20:44:25 +00:00
Jim Meyering
af37865370 *** empty log message *** 2002-07-18 18:38:28 +00:00
Jim Meyering
3c26c805a7 *** empty log message *** 2002-07-18 18:35:47 +00:00
Jim Meyering
a19f9253c4 (main): Test sysctl(...) >= 0, not == 0, since
on NetBSD the return value may well be positive.
Use one-line aggregate initializations.
Use tightly scoped static buffers to avoid warnings about
unused variables on some systems.
2002-07-18 18:35:42 +00:00
Jim Meyering
510f7bfe87 (UNAME_HARDWARE_PLATFORM, UNAME_PROCESSOR): New macros.
(main): Use them, along with sysctl, to support uname -i and uname -p
on BSD hosts.
2002-07-18 18:28:53 +00:00
Jim Meyering
283c81ccdd . 2002-07-18 15:29:53 +00:00
Jim Meyering
80206d9811 (Makefile): Also depend on LINGUAS. 2002-07-18 09:46:38 +00:00
Jim Meyering
c696260961 *** empty log message *** 2002-07-18 09:34:52 +00:00
Jim Meyering
dadffbebca *** empty log message *** 2002-07-18 09:33:48 +00:00
Jim Meyering
2ea4083a64 *** empty log message *** 2002-07-18 09:28:45 +00:00
Jim Meyering
a536063677 Add the following to the list of colorizable
TERM names: dtterm xterm-color Eterm.
New archive suffix: .jar
New image suffixes: .jpeg .pbm .pgm .tiff .mpeg .xcf .xwd
Audio suffixes: .ogg .mp3
2002-07-18 09:28:41 +00:00
Jim Meyering
570e8c45fe *** empty log message *** 2002-07-17 15:35:22 +00:00
Jim Meyering
37bbc4c47f (print_uptime): Restore use of (equivalent, but
more readable) `>=' from Bruno's patch.
2002-07-17 10:59:54 +00:00
Jim Meyering
5486771381 . 2002-07-17 10:50:19 +00:00
Jim Meyering
9ee956a2f7 Use GNULIB_BOOT_TIME. 2002-07-17 10:49:46 +00:00
Jim Meyering
15b923a271 New file. Extracted from sh-utils' configure.ac
and extended to work also with *BSD systems.
2002-07-17 10:47:46 +00:00
Jim Meyering
6080be6701 *** empty log message *** 2002-07-16 09:49:43 +00:00
Jim Meyering
3474b1e642 *** empty log message *** 2002-07-16 09:42:43 +00:00
Jim Meyering
a96affa5e1 use $(PERL), not @PERL@ 2002-07-16 09:37:41 +00:00
Jim Meyering
d85c0c81fa *** empty log message *** 2002-07-16 09:29:56 +00:00
Jim Meyering
6978ba6736 (print_it): Use memcpy and a little pointer arithmetic, rather than stpncpy. 2002-07-16 09:29:52 +00:00
Jim Meyering
753bb04a60 . 2002-07-16 06:53:00 +00:00
Jim Meyering
99bf17613b *** empty log message *** 2002-07-16 06:51:20 +00:00
Jim Meyering
c7a1d7f58f help font-lock-mode 2002-07-16 06:49:50 +00:00
Jim Meyering
b23214fca0 *** empty log message *** 2002-07-16 06:46:19 +00:00
Jim Meyering
ce0f0e7e12 *** empty log message *** 2002-07-15 21:08:48 +00:00
Jim Meyering
52b40984a2 Include sys/sysctl.h.
(print_uptime): Add support for determining the boot time on FreeBSD.
2002-07-15 21:08:21 +00:00
Jim Meyering
eba70ec3a5 *** empty log message *** 2002-07-15 21:07:30 +00:00
Jim Meyering
9d348b20ef (jm_MACROS): Check for the sysctl function.
(jm_CHECK_ALL_HEADERS): Check for sys/sysctl.h.
2002-07-15 21:06:21 +00:00
Jim Meyering
34e8e6db03 *** empty log message *** 2002-07-15 20:43:48 +00:00
Jim Meyering
b918fce9a6 (print_uptime): Use STREQ in place of !strcmp. 2002-07-15 20:42:43 +00:00
Jim Meyering
02bdcf7646 Remove unnecessary uses of `defined' when
operating on `HAVE_...' symbols.  Remove unnecessary parentheses.
2002-07-15 13:15:07 +00:00
Jim Meyering
cdcc745b6b *** empty log message *** 2002-07-15 13:00:46 +00:00
Jim Meyering
33b79abe90 #undef MNT_IGNORE before defining it, to avoid warning on FreeBSD. 2002-07-15 13:00:40 +00:00
Jim Meyering
bac77ea3d9 Include <string.h>. 2002-07-15 12:59:47 +00:00
Jim Meyering
b65a2d1877 *** empty log message *** 2002-07-14 12:39:24 +00:00
Jim Meyering
6e5c26da04 *** empty log message *** 2002-07-14 11:46:50 +00:00
Jim Meyering
ab4c1d5532 Under some circumstances, rm would fail due to a lack of
permissions, but give a misleading diagnostic like this:
rm: cannot chdir from `.' to `foo': Not a directory

(remove_dir): Detect the case in which unlinking a
non-directory fails with EPERM, and give an appropriate diagnostic.
2002-07-14 11:46:41 +00:00
Jim Meyering
7678915a9e (TESTS): Add fail-eperm. 2002-07-13 09:24:13 +00:00
Jim Meyering
e5ee2e3aee (print_it): Use xstrdup, not strdup.
Use strspn to avoid an explicit loop.
Use fputc rather than printf "\n".

Include quote.h.
(print_stat): Use xreadlink, rather than using readlink directly.
Use the quote function rather than hard-coded double quotes.
Use error, not perror.
2002-07-13 08:05:04 +00:00
Jim Meyering
902453fc35 *** empty log message *** 2002-07-10 10:25:31 +00:00
Jim Meyering
545b6d7541 (show_dev): Make the `Use%' column align with
its heading, even when -P is used with -h or -H.
2002-07-10 10:22:10 +00:00
Jim Meyering
0fe8dc3290 update copyright 2002-07-10 10:09:10 +00:00
Jim Meyering
44ce3e4b3c *** empty log message *** 2002-07-10 10:08:33 +00:00
Jim Meyering
2aeeb5466e (du invocation): s/PAT/PATTERN/. 2002-07-10 10:08:22 +00:00
Jim Meyering
eb8c474088 Add a brief description of --exclude. 2002-07-10 10:06:39 +00:00
Jim Meyering
290867cc4a (usage) [--exclude]: Use PATTERN rather than PAT. 2002-07-10 10:05:32 +00:00
Jim Meyering
4e2a62ff5e *** empty log message *** 2002-07-10 10:05:13 +00:00
Jim Meyering
a1e22df67a update from master 2002-07-09 15:41:05 +00:00
Jim Meyering
703f6c0969 *** empty log message *** 2002-07-09 08:40:23 +00:00
Jim Meyering
00489c764a (ME_DUMMY): Don't count entries of type `auto' as dummy ones.
At least on GNU/Linux systems, `auto' means something else.
From Michael Stone.
2002-07-09 08:40:15 +00:00
Jim Meyering
6b33fa2fc6 (check-x-vs-1): cd to srcdir before running the ls.
Otherwise, it'd fail in the non-srcdir case.
2002-07-09 07:48:30 +00:00
Jim Meyering
01fb2d0ba8 . 2002-07-09 07:31:29 +00:00
Jim Meyering
d072c179a7 alphabetize the lists of programs 2002-07-09 07:30:44 +00:00
Jim Meyering
c77361418f add cat.1, once again 2002-07-09 07:27:27 +00:00
Jim Meyering
ca407c08fa *** empty log message *** 2002-07-09 07:26:49 +00:00
Jim Meyering
ffffb388a0 *** empty log message *** 2002-07-09 07:26:38 +00:00
Jim Meyering
744750ded3 (check-x-vs-1): New target.
(check-local): Depend on check-x-vs-1.
2002-07-09 07:25:40 +00:00
Jim Meyering
a879a0925f (dist_man_MANS): Add stat.
(stat.1): Add dependency.
2002-07-09 06:55:05 +00:00
Jim Meyering
56a4c59e60 (euidaccess): Remove declaration. It was unused. From Michael Stone.
(yesno): Remove declaration.  It too was unused.
2002-07-09 06:38:19 +00:00
Jim Meyering
a1d54b2837 *** empty log message *** 2002-07-08 17:15:28 +00:00
Jim Meyering
1882eec679 df now rounds all quantities up, as per POSIX.
This fixes a bug where df would report Size < Used.
2002-07-08 17:15:19 +00:00
Jim Meyering
67bf6815c4 df now rounds all quantities up, as per POSIX.
This fixes a bug where df would report Size < Used.

(df_readable): Omit last arg; we always round up now.
All callers changed.
2002-07-08 17:03:36 +00:00
Jim Meyering
dc0221e601 s/sh-utils/this package/ 2002-07-08 12:29:34 +00:00
Jim Meyering
ffceff850d (uninstall-local): Search for @GNU_PACKAGE@,
rather than the hard-coded `sh-utils'.
2002-07-08 12:26:59 +00:00
Jim Meyering
af75d641d4 *** empty log message *** 2002-07-08 09:13:33 +00:00
Jim Meyering
647eaf53a8 New ls time style: long-iso, which generates YYYY-MM-DD HH:MM.
Any time style can be preceded by "posix-".
The default time style is now posix-long-iso instead of posix-iso.
2002-07-08 09:13:12 +00:00
Jim Meyering
01eacf71cb (enum time_style): Remove posix_iso_time_style.
Add long_iso_time_style.
(time_style_args, time_style_types, decode_switches): Likewise.
(decode_switches): If a time style is prefixed by "posix-", ignore
it if in the POSIX locale.  Default style is now posix-long-iso.
(usage): Explain the above.
2002-07-08 09:12:48 +00:00
Jim Meyering
cebf7f7371 check only for $@" 2002-07-08 08:04:08 +00:00
Jim Meyering
a18abe21f7 *** empty log message *** 2002-07-08 08:01:23 +00:00
Jim Meyering
ce7f59f2ff *** empty log message *** 2002-07-08 07:09:21 +00:00
Jim Meyering
e289e5c881 (check-texinfo): Check for the above. 2002-07-08 07:08:59 +00:00
Jim Meyering
a72662ed6b (cp invocation): Remove unnecessary "$@" in example;
Texinfo would render the @" as an umlaut over the following character.
From Paul Eggert.
2002-07-08 07:07:52 +00:00
Jim Meyering
89eb405076 . 2002-07-06 15:37:12 +00:00
Jim Meyering
a6b74b8947 *** empty log message *** 2002-07-06 15:36:23 +00:00
Jim Meyering
5a6436bf38 *** empty log message *** 2002-07-06 15:35:29 +00:00
Jim Meyering
593a07614a (stat invocation): Remove description of --secure. 2002-07-06 15:35:24 +00:00
Jim Meyering
d815f6dbb7 Remove everything associated with --secure option. 2002-07-06 15:34:32 +00:00
Jim Meyering
512de3938e comments 2002-07-06 09:53:57 +00:00
Jim Meyering
66f8c36584 improve the test 2002-07-06 09:53:14 +00:00
Jim Meyering
49d3f4be1a *** empty log message *** 2002-07-06 09:16:56 +00:00
Jim Meyering
0dc6b951d8 *** empty log message *** 2002-07-04 12:07:29 +00:00
Jim Meyering
665089a167 *** empty log message *** 2002-07-04 12:07:23 +00:00
Jim Meyering
2afe4a1677 (prompt): Fix test for write-protectedness to also
check errno == EACCES.  Otherwise, `rm dangling-symlink' would
mistakenly prompt.
2002-07-04 12:06:49 +00:00
Jim Meyering
b645ebf086 *** empty log message *** 2002-07-04 12:06:18 +00:00
Jim Meyering
99c8e3f461 (TESTS): Add dangling-symlink. 2002-07-04 12:06:08 +00:00
Jim Meyering
81cae5ce24 *** empty log message *** 2002-07-04 12:05:00 +00:00
Jim Meyering
dd2496d71e *** empty log message *** 2002-07-04 12:04:37 +00:00
Jim Meyering
8a7ec6fa52 *** empty log message *** 2002-07-03 08:45:18 +00:00
Jim Meyering
973f88bd7d *** empty log message *** 2002-07-03 08:44:59 +00:00
Jim Meyering
27195acdb6 (usage): Rename --link/-l to --dereference/-L.
Describe --secure.
Describe --format.
(main): Support -L.  Deprecate -l.
2002-07-03 08:44:55 +00:00
Jim Meyering
421c142235 *** empty log message *** 2002-07-03 08:44:34 +00:00
Jim Meyering
8d7c1bb101 (stat invocation): Rename --link/-l to --dereference/-L.
Rewrite description of --dereference.
2002-07-03 08:44:27 +00:00
Jim Meyering
4afd8a87cd *** empty log message *** 2002-07-03 08:41:56 +00:00
Jim Meyering
41fe641773 add link and unlink 2002-07-02 16:20:54 +00:00
Jim Meyering
33c2d4da98 . 2002-07-02 16:20:10 +00:00
Jim Meyering
40d884ef95 *** empty log message *** 2002-07-02 16:19:46 +00:00
Jim Meyering
99e738219b *** empty log message *** 2002-07-02 14:56:32 +00:00
Jim Meyering
51e63eddf4 remove djgpp 2002-07-02 14:06:37 +00:00
Jim Meyering
3f1725cd4a . 2002-07-02 14:05:35 +00:00
Jim Meyering
bde17523a9 *** empty log message *** 2002-07-02 09:15:50 +00:00
Jim Meyering
fa6c1e3f51 . 2002-07-02 09:13:10 +00:00
Jim Meyering
b5e07cb9e8 *** empty log message *** 2002-07-02 09:12:42 +00:00
Jim Meyering
2ee11887cd (usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. 2002-07-02 09:09:10 +00:00
Jim Meyering
6d0fe4dba5 *** empty log message *** 2002-07-02 09:08:30 +00:00
Jim Meyering
5a731510b2 (usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. 2002-07-02 09:06:33 +00:00
Jim Meyering
d23970e52e (usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. 2002-07-02 09:05:33 +00:00
Jim Meyering
4c7e003c1b . 2002-07-02 09:02:16 +00:00
Jim Meyering
4262ada1bd . 2002-07-02 09:01:53 +00:00
Jim Meyering
f4bb64378d (EXTRA_DIST): Merge. 2002-07-02 08:59:21 +00:00
Jim Meyering
d3ddaf1b29 *** empty log message *** 2002-07-02 08:47:01 +00:00
Jim Meyering
16cec7b66e (.sh): Also substitute @PACKAGE_BUGREPORT@. 2002-07-02 08:46:46 +00:00
Jim Meyering
9d6d0e452b (usage_help): Use @PACKAGE_BUGREPORT@, rather than hard-coding a
deprecated address.
2002-07-02 08:45:10 +00:00
Jim Meyering
c16552eee5 (usage): Use @PACKAGE_BUGREPORT@, rather than hard-coding a deprecated address. 2002-07-02 08:44:52 +00:00
Jim Meyering
e2003dea4b (usage): Mention that the expansions of %p and %P are
empty in many locales.  From matthew arnison.
2002-07-02 05:20:52 +00:00
Jim Meyering
7f412c940d merged 2002-07-01 21:26:55 +00:00
Jim Meyering
4b42154477 s/any/some/ 2002-07-01 21:15:13 +00:00
Jim Meyering
dc58af4acf remove redundant (exit $fail) 2002-07-01 19:15:49 +00:00
Jim Meyering
58c37faa5c Handle yet another different diagnostic. 2002-07-01 14:36:57 +00:00
Jim Meyering
bec7e2c432 *** empty log message *** 2002-07-01 14:23:28 +00:00
Jim Meyering
214d3ee739 Include sys/time.h.
From Volker Borchert.
2002-07-01 14:19:20 +00:00
Jim Meyering
a7d1d17be0 update to use prologue from sample-test 2002-07-01 09:41:20 +00:00
Jim Meyering
7039e40db2 whoops. 2002-07-01 09:25:02 +00:00
Jim Meyering
c69f2e06ce merge 2002-07-01 09:24:34 +00:00
Jim Meyering
48ed048feb *** empty log message *** 2002-07-01 09:09:06 +00:00
Jim Meyering
abb32bb0ae Merge the three files from fileutils, textutils, and sh-utils. 2002-07-01 08:13:49 +00:00
Jim Meyering
5ad73398f4 Merge the three files from fileutils, textutils, and sh-utils. 2002-07-01 08:08:43 +00:00
Jim Meyering
e6b4ef7f1d *** empty log message *** 2002-06-29 13:08:16 +00:00
Jim Meyering
a9a425d557 (print_statfs): Use `fputc ('*', stdout)'
instead of the combination of strcat and printf.
(print_statfs) [!FLASK_LINUX]: Print `*' for %S and %C, rather than `S' and `C'.
(print_stat) [!FLASK_LINUX]: Likewise.
2002-06-29 13:08:08 +00:00
Jim Meyering
83df3a8165 *** empty log message *** 2002-06-29 11:50:48 +00:00
Jim Meyering
9eea5b03dd (AD_mark_current_as_unremovable): Replace dead code with an assertion. 2002-06-29 11:50:38 +00:00
Jim Meyering
b31006ba99 *** empty log message *** 2002-06-26 07:38:23 +00:00
Jim Meyering
de19a1af57 (Putting the tools together): Don't mention egrep,
since it's not part of POSIX 1003.1-2001.
2002-06-26 07:38:18 +00:00
Jim Meyering
3ba3282be5 *** empty log message *** 2002-06-26 06:18:04 +00:00
Jim Meyering
0d051ba221 (WIDE_CHAR_SUPPORT): New macro. Use it uniformly instead of
(defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
reported by Vin Shelton.
2002-06-26 06:17:35 +00:00
Jim Meyering
8020e5b1e3 *** empty log message *** 2002-06-26 06:16:13 +00:00
Jim Meyering
074e29a651 (_AC_LIBOBJ_FNMATCH): Check for btowc. 2002-06-26 06:16:05 +00:00
Jim Meyering
5da70319a7 from libc 2002-06-26 06:13:24 +00:00
Jim Meyering
8ac1a9f278 *** empty log message *** 2002-06-25 08:21:13 +00:00
Jim Meyering
6e78c788f0 (prompt): Add a comment to help translators work
around the problem of making the translations of the adjective
`write-protected' and the corresponding run-time-variable noun
(e.g., file, directory, symlink, etc.) consistent.  From Paul Eggert.
2002-06-25 08:21:07 +00:00
Jim Meyering
35f99d5347 *** empty log message *** 2002-06-24 11:12:56 +00:00
Jim Meyering
de1abda345 *** empty log message *** 2002-06-24 10:56:55 +00:00
Jim Meyering
e6d1f21ea6 (usage): Add missing open-quote. 2002-06-24 10:56:50 +00:00
Jim Meyering
2223ca3c2d *** empty log message *** 2002-06-24 10:39:37 +00:00
Jim Meyering
4605ddcc95 *** empty log message *** 2002-06-22 18:08:52 +00:00
Jim Meyering
4dcdd8be06 *** empty log message *** 2002-06-22 18:08:10 +00:00
Jim Meyering
67e6f0f233 *** empty log message *** 2002-06-22 18:03:44 +00:00
Jim Meyering
8965df82d1 (ISASCII, ISPRINT): Undefine, to avoid warning about
redefinition due to Solaris5.6's definition in /usr/include/sys/euc.h.
2002-06-22 18:03:40 +00:00
Jim Meyering
453257fa71 *** empty log message *** 2002-06-22 16:20:19 +00:00
Jim Meyering
9e7746f4c0 (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
Do not assume SA_SIGINFO behavior.
Bug reported by Jim Meyering on NetBSD 1.5.2.
2002-06-22 16:20:15 +00:00
Jim Meyering
7721a2148a *** empty log message *** 2002-06-22 10:11:25 +00:00
Jim Meyering
64a1747ac5 Update from diffutils-2.8.2. 2002-06-22 10:11:14 +00:00
Jim Meyering
2e53304940 . 2002-06-22 10:09:47 +00:00
Jim Meyering
299741bf33 *** empty log message *** 2002-06-22 10:09:33 +00:00
Jim Meyering
a715ff5d80 (libfetish_a_SOURCES): Add exitfail.c and exitfail.h. 2002-06-22 09:26:57 +00:00
Jim Meyering
e3dbc8d753 New files, from diffutils-2.8.2. 2002-06-22 09:25:36 +00:00
Jim Meyering
d8cfcf1a19 *** empty log message *** 2002-06-22 09:23:32 +00:00
Jim Meyering
7fc37adff9 (libfetish_a_SOURCES): Add c-stack.c, too. 2002-06-22 09:23:17 +00:00
Jim Meyering
53ba358c4b New file, from diffutils-2.8.2. 2002-06-22 09:03:14 +00:00
Jim Meyering
f9114f866d from diffutils-2.8.2 2002-06-22 09:01:22 +00:00
Jim Meyering
846b65a50e (jm_PREREQ): Add jm_PREREQ_C_STACK. 2002-06-22 09:01:10 +00:00
Jim Meyering
6e8cd75ccf *** empty log message *** 2002-06-22 08:55:43 +00:00
Jim Meyering
3a88e9055b . 2002-06-22 08:54:28 +00:00
Jim Meyering
10ff1d4404 Update from diffutils-2.8.2. 2002-06-22 08:54:23 +00:00
Jim Meyering
fe02d6163d . 2002-06-22 08:53:17 +00:00
Jim Meyering
6088c6dba5 *** empty log message *** 2002-06-22 08:53:02 +00:00
Jim Meyering
04c5110e59 (jm_PREREQ_EXCLUDE): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU. 2002-06-22 08:52:56 +00:00
Jim Meyering
555d569125 * jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
now that configure.ac uses AC_GNU_SOURCE.
	(jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
2002-06-22 08:51:02 +00:00
Jim Meyering
ff6434052f (libfetish_a_SOURCES): Add fnmatch_.h in place of fnmatch.h.
(EXTRA_DIST): Add fnmatch_loop.c.
2002-06-22 08:47:57 +00:00
Jim Meyering
c230b93ee1 . 2002-06-22 08:34:59 +00:00
Jim Meyering
06f7295ae7 *** empty log message *** 2002-06-22 08:32:50 +00:00
Jim Meyering
f35ad592ca from diffutils-2.8.2. 2002-06-22 08:32:40 +00:00
Jim Meyering
8b213cb96f Change each use of AC_CHECK_HEADERS(stdbool.h) to AC_HEADER_STDBOOL 2002-06-22 08:29:29 +00:00
Jim Meyering
1cbf3518b8 New file, from diffutils-2.8.2. 2002-06-22 08:27:18 +00:00
Jim Meyering
7d04e0b63c Accommodate the slightly different diagnostic we
get on some systems, due to `unlink (dir)' failing with EACCES
rather than EPERM.  E.g. for ReiserFS on Linux-2.4.18.
2002-06-22 06:49:57 +00:00
Jim Meyering
fb10c254d8 *** empty log message *** 2002-06-22 06:49:43 +00:00
Jim Meyering
003d4e0cbe Update from gettext-0.11.2. 2002-06-21 21:23:01 +00:00
Jim Meyering
b3e0a2f188 *** empty log message *** 2002-06-21 17:42:12 +00:00
Jim Meyering
04bc254d7a bump serial# 2002-06-21 17:42:06 +00:00
Jim Meyering
6d9cf68838 (jm_PREREQ_QUOTEARG): Reflect name change: s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T. 2002-06-21 17:41:58 +00:00
Jim Meyering
442596279b Reflect name change: s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T. 2002-06-21 17:41:02 +00:00
Jim Meyering
04b4ee1245 Update from diffutils-2.8.2. 2002-06-21 17:38:30 +00:00
Jim Meyering
848d68e2c7 Add comment, from diffutils-2.8.2. 2002-06-21 15:39:12 +00:00
Jim Meyering
1e1836f7ca *** empty log message *** 2002-06-21 15:29:28 +00:00
Jim Meyering
4877e7ad84 . 2002-06-21 15:21:49 +00:00
Jim Meyering
15606fc8a9 tiny tweaks 2002-06-21 13:20:39 +00:00
Jim Meyering
fc3520c6fc (stat invocation): New section. From Michael Meskes. 2002-06-21 13:19:31 +00:00
Jim Meyering
0c788cabce . 2002-06-21 12:48:36 +00:00
Jim Meyering
a170c7e497 *** empty log message *** 2002-06-21 12:48:06 +00:00
Jim Meyering
fff4a08af1 (wget-update): Checkout into config/.
Warn when skipping a file.
2002-06-21 12:48:00 +00:00
Jim Meyering
047ab72566 *** empty log message *** 2002-06-21 12:34:49 +00:00
Jim Meyering
3ec40eb458 *** empty log message *** 2002-06-21 12:34:44 +00:00
Jim Meyering
e2a70948d4 Include sys/statvfs.h.
[!HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H]: Include sys/param.h
and sys/mount.h, to get decl of struct statfs on NetBSD 1.5.2.
(NAMEMAX_FORMAT, STRUCT_STATVFS): Define.
(HAVE_STRUCT_STATXFS_F_TYPE, SB_F_NAMEMAX): Define.
Remove `static' attribute from decl of program_name.
(human_fstype): Use f_basetype or f_fstypename if available.
(print_human_time): Use nstrftime and an ISO format string, in
place of strftime with `%c'.  The latter is too locale-dependent.
(print_statfs): Deal with lots of portability issues: some fields
are available only with statfs, others only with statvfs, and
some are available in both, but with different types.
(do_statfs) [DEFAULT_FORMAT_TERSE]: Factor out.
[DEFAULT_FORMAT_VERBOSE]: Likewise.
2002-06-21 12:34:36 +00:00
Jim Meyering
a905df79ad . 2002-06-21 12:16:27 +00:00
Jim Meyering
0ab9ebc469 *** empty log message *** 2002-06-21 12:15:39 +00:00
Jim Meyering
807ad57ff1 *** empty log message *** 2002-06-21 12:13:51 +00:00
Jim Meyering
2b45b199f8 *** empty log message *** 2002-06-21 12:12:08 +00:00
Jim Meyering
ecbe7fb826 (jm_CHECK_ALL_HEADERS): Check for hurd.h. 2002-06-21 12:12:00 +00:00
Jim Meyering
071b36fd90 Change all `preserving ...' diagnostics to
`failed to preserve ...' to make the failure clearer.
2002-06-21 12:10:02 +00:00
Jim Meyering
d7313803f0 Include hurd.h.
(copy_internal): Preserve the stat.st_author field.
2002-06-21 12:06:17 +00:00
Jim Meyering
26ba37793c *** empty log message *** 2002-06-21 07:20:49 +00:00
Jim Meyering
2f223b443c (LOGIN_NAME_MAX): Define if not already defined.
(ID_LENGTH_MAX): Define.
(ST_DM_MODE): New macro.  Code moved from...
(print_long_format): ...here.
(print_long_format): Itemize and comment the individual parts
of init_bigbuf.  Use the above *_MAX macros.
2002-06-21 07:20:36 +00:00
Jim Meyering
7758b0efd3 Change defined(X)' syntax to defined X' in cpp directives. 2002-06-20 15:58:18 +00:00
Jim Meyering
343d7d4065 *** empty log message *** 2002-06-19 11:13:29 +00:00
Jim Meyering
f35cc0e4a0 Report an error if neither S_ISREG nor
S_IFREG is defined, instead of using a test specific to glibc
2.2.  This should be safe, since POSIX requires S_ISREG and
Unix Version 7 had S_IFREG.  We don't need to check for
<sys/types.h> since we don't use any symbols that it defines.
2002-06-19 11:12:59 +00:00
Jim Meyering
86adc7266e Interpret a permissions string of
drwxr-xr-x (DOS/Windows) as meaning the cwd is not setgid.
Reported by Rich Dawe.
2002-06-17 07:06:29 +00:00
Jim Meyering
57db2c8659 *** empty log message *** 2002-06-17 07:06:19 +00:00
Jim Meyering
6d797a5b97 use newer testing framework 2002-06-16 19:18:22 +00:00
Jim Meyering
3d16018d2e *** empty log message *** 2002-06-15 16:04:16 +00:00
Jim Meyering
6a4bcbb5d6 Include <sys/types.h> before system.h. 2002-06-15 16:03:57 +00:00
Jim Meyering
240330ca78 *** empty log message *** 2002-06-15 14:05:31 +00:00
Jim Meyering
719c68fe2e ls --author 2002-06-15 14:05:25 +00:00
Jim Meyering
34f5f485be *** empty log message *** 2002-06-15 13:43:20 +00:00
Jim Meyering
dc70d62988 *** empty log message *** 2002-06-15 13:42:54 +00:00
Jim Meyering
75dedb9944 (jm_CHECK_ALL_TYPES): Check for st_author. 2002-06-15 13:42:22 +00:00
Jim Meyering
45f4bb1290 (st_author) [! HAVE_STRUCT_STAT_ST_AUTHOR]: New macro.
(print_author): New var.
(AUTHOR_OPTION): New enum val.
(long_options, decode_switches, print_long_format, usage):
Support --author.
(format_user): New function.
(print_long_format): Use it.  Make print buffer a bit bigger.
2002-06-15 13:41:46 +00:00
Jim Meyering
dda6cbbb1c *** empty log message *** 2002-06-15 13:26:42 +00:00
Jim Meyering
4c52326d70 (ls invocation): Document new option: --author. 2002-06-15 13:26:38 +00:00
Jim Meyering
2fd73898d2 use trap stuff from sample-test 2002-06-15 10:19:36 +00:00
Jim Meyering
4726bde475 use trap stuff from sample-test 2002-06-15 10:17:35 +00:00
Jim Meyering
a44fd51a81 now that $tmp has two components, use mkdir's -p option to create it 2002-06-15 10:16:22 +00:00
Jim Meyering
35e9b38dd8 now that $tmp has two components, use mkdir's -p option to create it 2002-06-15 10:15:00 +00:00
Jim Meyering
a2e113a2db use trap stuff from sample-test 2002-06-15 10:04:30 +00:00
Jim Meyering
767aa7bf70 use trap stuff from sample-test 2002-06-15 09:58:37 +00:00
Jim Meyering
9234b6f7e0 *** empty log message *** 2002-06-15 09:54:28 +00:00
Jim Meyering
77bc22f77a (trap): in chmod, use u+rwx, not 700 2002-06-15 09:54:08 +00:00
Jim Meyering
646e37ff59 *** empty log message *** 2002-06-15 09:46:43 +00:00
Jim Meyering
bf7c8ba557 (trap): Make sure the temporary hierarchy is writable before removing it. 2002-06-15 09:46:32 +00:00
Jim Meyering
59f339c1f8 Use better trap.
trap 'status=$?; cd $pwd; chmod -R 700 $t0; rm -rf $t0 && exit $status' 0
2002-06-15 09:45:05 +00:00
Jim Meyering
2309be536f Use quoted here doc by default,
so e.g., backticks don't need to be escaped.
2002-06-15 09:41:47 +00:00
Jim Meyering
14c7cfea4c (TESTS): Add perm-1. 2002-06-15 09:40:25 +00:00
Jim Meyering
6f809229ef *** empty log message *** 2002-06-15 09:40:07 +00:00
Jim Meyering
f09cbdc4b4 *** empty log message *** 2002-06-15 08:47:55 +00:00
Jim Meyering
ef159d5cdb . 2002-06-15 08:47:25 +00:00
Jim Meyering
58e6f3d386 *** empty log message *** 2002-06-15 08:47:12 +00:00
Jim Meyering
39237a241f (lstat.c, stat.c, .sin.sed): Use t-$@, rather than $@-t,
so that each temporary file name is unique and valid in the first
8 characters, for operation under DOS.
2002-06-15 08:46:59 +00:00
Jim Meyering
8ba0cddae4 (FILE_TYPE_H): Guard entire contents with #ifndef.
For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
have been included before this file.
2002-06-15 08:43:45 +00:00
Jim Meyering
13221a5a13 For GNU libc 2.2 and newer, ensure that <sys/types.h>
has been included before this file.
2002-06-15 08:40:55 +00:00
Jim Meyering
3351c8aada . 2002-06-15 08:04:23 +00:00
Jim Meyering
19548deac9 Change temp file names to accommodate DOS 8.3 file name limitation. 2002-06-15 08:03:24 +00:00
Jim Meyering
ff43f6b441 Change temp. file name: s/\.err/_err/, for DOS. 2002-06-15 08:02:16 +00:00
Jim Meyering
1d51d96e1e Change temp file names to accommodate DOS 8.3 file name limitation. 2002-06-15 08:01:41 +00:00
Jim Meyering
140f272a56 Remove leading `.' from temp. names. 2002-06-15 08:01:20 +00:00
Jim Meyering
9da59fff0d Change temp file names to accommodate DOS 8.3 file name limitation. 2002-06-15 07:56:40 +00:00
Jim Meyering
06b1f74288 *** empty log message *** 2002-06-15 07:37:29 +00:00
Jim Meyering
dbb90872ee (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK is defined. 2002-06-15 07:37:21 +00:00
Jim Meyering
cb8155615a (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK is defined. 2002-06-15 07:36:57 +00:00
Jim Meyering
b29576f01f *** empty log message *** 2002-06-15 06:54:05 +00:00
Jim Meyering
d404816448 (S_ISNAM): Add to list of S_IS* macros.
Rearrange #if directives for each S_IS macro.
From diffutils-2.8.2.
2002-06-15 06:53:57 +00:00
Jim Meyering
02d8535f9e *** empty log message *** 2002-06-14 07:53:01 +00:00
Jim Meyering
dfe88896b5 Use the version from diffutils-2.8.2. 2002-06-14 07:52:32 +00:00
Jim Meyering
0f19d3650b update from master sources 2002-06-13 09:30:02 +00:00
Jim Meyering
10c95a54b5 tweak expected message 2002-06-12 08:02:12 +00:00
Jim Meyering
f849e0aaac (do_move): Give one diagnostic, not two, when unable to
unlink a destination file.  This bug was introduced in fileutils-3.16l.

$ /bin/mv /etc/passwd /tmp
/bin/mv: cannot unlink `/etc/passwd': Permission denied
/bin/mv: cannot remove `/etc/passwd': Permission denied
[Exit 1]
2002-06-12 08:01:48 +00:00
Jim Meyering
7e6aff288f (rm): Fix typo in assertion. 2002-06-12 08:00:50 +00:00
Jim Meyering
c5b3b8e2b6 tweak output: s/ directory// 2002-06-07 14:57:19 +00:00
Jim Meyering
e20a6cfb82 *** empty log message *** 2002-06-07 14:49:33 +00:00
Jim Meyering
bae1890d5b Also accept the permission-denied diagnostic
issued by some losing systems.  Reported by Volker Borchert.
2002-06-07 14:49:21 +00:00
Jim Meyering
b2816db207 . 2002-06-07 14:44:02 +00:00
Jim Meyering
2e6f8bf01e *** empty log message *** 2002-06-07 14:43:41 +00:00
Jim Meyering
a3eb51b0e2 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
They're needed at least for NetBSD 1.5.2.
($statxfs_includes): Include those same headers.
($statxfs_includes): Include sys/vfs.h if available.
($statxfs_includes): Likewise for sys/statvfs.h.
Check for the following members in both structs statfs and statvfs:
f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
2002-06-07 14:43:36 +00:00
Jim Meyering
6d3ea70cf7 *** empty log message *** 2002-06-07 14:39:21 +00:00
Jim Meyering
b965b62436 (remove_entry): Use DT_IS_DIR only if
HAVE_STRUCT_DIRENT_D_TYPE is defined.
2002-06-07 14:39:09 +00:00
Jim Meyering
8bd3e55a54 . 2002-06-06 07:48:26 +00:00
Jim Meyering
cb93da5115 *** empty log message *** 2002-06-03 11:07:02 +00:00
Jim Meyering
9897e1994c (rm invocation): Add the warning (also in the --help output)
that the contents of a removed file are often recoverable.
2002-06-03 11:06:58 +00:00
Jim Meyering
52fc0276d7 *** empty log message *** 2002-06-02 21:30:07 +00:00
Jim Meyering
ce73721712 (enum RM_status) [RM_NONEMPTY_DIR]: New member.
(UPDATE_STATUS): New macro.
Include save-cwd.h.
(struct File_spec): Remove declaration.
Update prototypes.
2002-06-02 21:28:41 +00:00
Jim Meyering
0f6d0c6016 (main): Adapt to new calling sequence for rm. 2002-06-02 20:50:33 +00:00
Jim Meyering
a4b18d8961 (do_move): Adapt to new calling sequence for rm. 2002-06-02 20:50:20 +00:00
Jim Meyering
fb205872c1 Merge in all changes from no-recursion branch.
* src/remove.c (enum Ternary): Define type.
(prompt): Add a parameter.  Adjust callers.
(remove_entry): Attempt rmdir here, only if a directory is
`known' to be empty.  Significant rework.
(remove_dir): Propagate failure `up' also when rmdir fails.

In interactive mode, prompt only once about an empty directory.
* src/remove.c (enum Prompt_action): Define.
(prompt): Two new parameters.  Adjust all callers.

Performance.
* src/remove.c (remove_entry) [!ROOT_CAN_UNLINK_DIRS]:
Don't call rmdir here.

* src/remove.c (AD_pop_and_chdir): Don't use errno (it's not valid)
in diagnostic for changed dev/ino.
(remove_entry): Tweak diagnostic.

* src/remove.c (ROOT_CAN_UNLINK_DIRS): Define.
(AD_pop_and_chdir): Propagate status as we traverse back `up' the tree.
(DO_UNLINK, DO_RMDIR): Define.
(remove_entry) [ROOT_CAN_UNLINK_DIRS]: Add code so this works also on
systems where root can use `unlink' to remove directories.

* src/remove.c: Include file-type.h.
Include file type in prompt when asking whether to remove file.
Based on a patch from Paul Eggert.

* src/remove.c (prompt): Add comment.

* src/remove.c (remove_dir): Fix another (known) leak.

* src/remove.c (hash_freer): New function.
(AD_mark_helper): Use it.
(AD_mark_as_unremovable): xstrdup the filename argument.
(remove_dir): Free directory name.

* src/remove.c (remove_entry): Fail also when trying to remove a
directory without the --recursive option.
Change a diagnostic, s/unlink/remove/, now that it can apply also
to a directory.

* src/remove.c (is_empty_dir): New function.
(prompt): New function, factored out of...
(remove_entry): ...here.  Call it.
(remove_dir): Call prompt before rmdir.

* src/remove.c (remove_entry): Add support for prompting (e.g., -i).

* src/remove.h (UPDATE_STATUS): New macro.
* src/remove.c [AD_ent] (status): New member.  This lets us propagate
the status from a subdirectory to its parent via AD_pop_and_chdir.
(AD_push_initial): Set it.
(AD_push): Likewise.
(remove_cwd_entries): Change return type to enum RM_status, and
adjust all callers.
(rm): Use UPDATE_STATUS rather than open-coding it.

* src/remove.c (remove_entry): New function, factored out of...
(remove_cwd_entries): ...here, and...
(rm_1): ...here.

* src/remove.c (remove_cwd_entries): Add support for --verbose.
(remove_dir): Likewise.
(rm_1): Likewise.

* src/remove.c (rm): Free cwd_state, if necessary.

* src/remove.c (rm_1): Remove now useless (always true)
user_specified_name parameter.  Adjust sole caller.

* src/remove.c (rm): New function.  This interface allows
one to remove multiple arguments at a time.  This is important in
that it allows us to hide the remove_init/remove_fini functions and
the cwd_state parameter.
(rm_1): Renamed from rm.
(remove_init, remove_fini): Remove functions.  Each body is now
part of `rm'.
2002-06-02 20:49:03 +00:00
Jim Meyering
a4ff1d036d *** empty log message *** 2002-06-02 20:45:46 +00:00
Jim Meyering
26693888de . 2002-06-02 20:39:20 +00:00
Jim Meyering
63a8743830 (TESTS): Add rm5. 2002-06-02 20:39:00 +00:00
Jim Meyering
2ef6aec8ce Adjust, now that we no longer report `removing all entries of directory ...'. 2002-06-02 20:37:43 +00:00
Jim Meyering
d38d008a1d adjust 2002-06-02 20:36:19 +00:00
Jim Meyering
09184490e9 don't give a diagnostic about each parent 2002-06-02 20:35:07 +00:00
Jim Meyering
c27d78e6e0 *** empty log message *** 2002-06-01 09:38:48 +00:00
Jim Meyering
3b96dac1d7 Remove use of D_TYPE_IN_DIRENT, now that that symbol has been renamed. 2002-06-01 09:38:41 +00:00
Jim Meyering
c96356eba9 *** empty log message *** 2002-06-01 09:37:58 +00:00
Jim Meyering
1d478cbd05 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
2002-06-01 09:37:53 +00:00
Jim Meyering
10d0bbfbc7 *** empty log message *** 2002-06-01 08:41:31 +00:00
Jim Meyering
76c7142a55 *** empty log message *** 2002-05-30 07:50:19 +00:00
Jim Meyering
e913eebe7c (copy_reg): Use a temporary to avoid a warning
from gcc -W about comparison between signed and unsigned.
(copy_internal): Likewise, but use a cast.
2002-05-30 07:49:56 +00:00
Jim Meyering
79278d0cad . 2002-05-29 13:16:40 +00:00
Jim Meyering
8af3bb0443 more acronyms 2002-05-28 10:03:56 +00:00
Jim Meyering
e8b70f2823 *** empty log message *** 2002-05-28 08:50:57 +00:00
Jim Meyering
79e4cbd57a (jm_FUNC_READDIR): Undefine mkdir', not rmdir'. 2002-05-28 08:50:53 +00:00
Jim Meyering
0057fa16a4 use a better test 2002-05-27 21:38:21 +00:00
Jim Meyering
924d623ac8 *** empty log message *** 2002-05-27 20:05:16 +00:00
Jim Meyering
636fceb22a Use @acronym in place of most uses of @sc. 2002-05-27 20:05:03 +00:00
Jim Meyering
ab0ab21b2e (check-texinfo): Adapt to reflect that now we use @acronym{POSIX}. 2002-05-27 20:01:03 +00:00
Jim Meyering
625d533476 *** empty log message *** 2002-05-27 16:44:12 +00:00
Jim Meyering
2eef2b57dd (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace localtime. 2002-05-27 16:44:07 +00:00
Jim Meyering
faa8bced59 *** empty log message *** 2002-05-27 16:43:00 +00:00
Jim Meyering
d2be1268c4 Fix a problem seen only on nonconforming systems whereby ls.c's
use of localtime, and then of gettimeofday would cause trouble:
the localtime call used to initialize rpl_gettimeofday's save
mechanism would clobber ls's current local time information so
that in any long listing the first file would always be listed
with date 1970-01-01.  Analysis by Volker Borchert.

(localtime): Undefine.
(rpl_localtime): New function.
2002-05-27 16:42:55 +00:00
Jim Meyering
c75c72a9fc *** empty log message *** 2002-05-27 15:09:34 +00:00
Jim Meyering
fc1018de0e (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
use the replacement function; it wouldn't resolve at link time.
Reported by Volker Borchert.
2002-05-27 15:09:29 +00:00
Jim Meyering
7ec9be427c *** empty log message *** 2002-05-26 15:29:17 +00:00
Jim Meyering
5e15547dad Use @acronym in place of most uses of @sc. 2002-05-26 15:29:10 +00:00
Jim Meyering
e9f9963e6b fix typo: s/S_TYPEISTMO/S_TYPEISMQ/ 2002-05-25 22:42:05 +00:00
Jim Meyering
ad9071c4ba fix typo 2002-05-25 22:39:13 +00:00
Jim Meyering
0ef5b0241e remove typo 2002-05-25 22:39:07 +00:00
Jim Meyering
ef71f8a52d Adapt for changed format of --verbose output. 2002-05-24 16:40:33 +00:00
Jim Meyering
4c9753bdf7 . 2002-05-24 14:09:45 +00:00
Jim Meyering
e8e002ad91 *** empty log message *** 2002-05-24 09:01:11 +00:00
Jim Meyering
36efe03850 *** empty log message *** 2002-05-24 08:59:17 +00:00
Jim Meyering
37877a3b9c renamed from nice 2002-05-24 08:37:05 +00:00
Jim Meyering
81c4b1fcff *** empty log message *** 2002-05-24 08:26:57 +00:00
Jim Meyering
516c58c84c *** empty log message *** 2002-05-24 08:24:37 +00:00
Jim Meyering
f930c9ca0e (validate_path): Compare the result of the function --
not its (constant) address -- against zero.
2002-05-24 08:24:29 +00:00
Jim Meyering
8e1915ff14 test for fix in 2.0.13 2002-05-24 08:23:19 +00:00
Jim Meyering
710a1bc347 *** empty log message *** 2002-05-24 07:41:19 +00:00
Jim Meyering
c55ed2c0a9 . 2002-05-23 07:02:11 +00:00
Jim Meyering
f08e272c8b tweak for new diagnostics
add a nonempty file
2002-05-22 09:49:14 +00:00
Jim Meyering
c2e4117240 Include "file-type.h", etc. 2002-05-22 08:39:30 +00:00
Jim Meyering
90e0ba933e *** empty log message *** 2002-05-22 08:38:33 +00:00
Jim Meyering
b2615f2b7f *** empty log message *** 2002-05-22 08:38:30 +00:00
Jim Meyering
ae6d164b7a . 2002-05-22 08:37:58 +00:00
Jim Meyering
0e7a38dbbe (libfetish_a_SOURCES): Add file-type.c and file-type.h. 2002-05-22 08:37:35 +00:00
Jim Meyering
1be69adaeb *** empty log message *** 2002-05-22 08:36:32 +00:00
Jim Meyering
925390f0bf (S_ISREG, S_ISDIR): Define if not already defined.
(S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Likewise.
2002-05-22 08:35:31 +00:00
Jim Meyering
92255513cd (file_type): New file/function. Extracted from diffutils. 2002-05-22 07:49:35 +00:00
Jim Meyering
42e9ac45ff *** empty log message *** 2002-05-22 07:33:54 +00:00
Jim Meyering
eaa373aeb6 [struct dummy]: Renamed. Don't rely on portability of
zero-length arrays.  Instead, use sizes of -1 or +1.
2002-05-22 07:33:43 +00:00
Jim Meyering
cea518eba5 *** empty log message *** 2002-05-21 23:15:19 +00:00
Jim Meyering
fdadb32d0a (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR): Define here instead. 2002-05-21 23:15:05 +00:00
Jim Meyering
b2cb94b93c (S_ISLNK, S_ISFIFO S_ISSOCK S_ISCHR S_ISBLK S_ISDOOR): Remove definitions. 2002-05-21 23:14:42 +00:00
Jim Meyering
c09bf755a6 . 2002-05-21 23:08:27 +00:00
Jim Meyering
137f240e4a . 2002-05-21 23:02:51 +00:00
Jim Meyering
59d5765b0f (TESTS): Add rm1, rm2, rm3, rm4. 2002-05-21 22:59:16 +00:00
Jim Meyering
0ded127f4c . 2002-05-21 22:58:48 +00:00
Jim Meyering
205cfe4695 *** empty log message *** 2002-05-14 21:31:48 +00:00
Jim Meyering
24f18f089d This bug was introduced with my change of 2000-10-22 (textutils-2.0.8).
(ulonglong_t): Move declaration to precede new use.
[enum size_spec] (N_SIZE_SPECS): New member.
(width_bytes): Add initializer corresponding to ulonglong_t type.
(struct assert_width_bytes_matches_size_spec_decl): Declare.
Based on a patch from Tony Kocurko.
2002-05-14 21:31:42 +00:00
Jim Meyering
61dd314ba4 *** empty log message *** 2002-05-14 21:22:57 +00:00
Jim Meyering
24a893ff63 undo last delta -- it belongs on the no-recursion branch 2002-05-13 08:50:50 +00:00
Jim Meyering
ef0776dddd . 2002-05-13 08:50:15 +00:00
Jim Meyering
6095c9a3f8 *** empty log message *** 2002-05-12 21:47:24 +00:00
Jim Meyering
ebc0c4c72f Add FIXME comment. 2002-05-03 11:46:59 +00:00
Jim Meyering
65e6baf5a9 (print_uptime): Fix last change so that we use ngettext properly. 2002-05-03 11:17:01 +00:00
Jim Meyering
072ec8dc77 (print_uptime): Use ngettext for day/days and user/users.
Suggestion from Karl Eichwalder.
2002-05-03 09:58:37 +00:00
Jim Meyering
ef8e614b04 *** empty log message *** 2002-05-03 08:13:18 +00:00
Jim Meyering
d51a8422a2 *** empty log message *** 2002-05-03 08:13:09 +00:00
Jim Meyering
7b53d3d127 (usage): Add a little to the description of --list.
Uncapitalize first word and remove period at end of each one line
option description.
2002-05-03 08:12:25 +00:00
Jim Meyering
36d90a4f13 *** empty log message *** 2002-05-03 06:57:52 +00:00
Jim Meyering
09d4a8f165 (usage): Tweak description of --users.
From Karl Eichwalder.
2002-05-03 06:57:43 +00:00
Jim Meyering
c7475ee11e *** empty log message *** 2002-05-01 14:23:15 +00:00
Jim Meyering
2431a66944 . 2002-05-01 14:22:33 +00:00
Jim Meyering
b016bc2d4f . 2002-05-01 11:49:03 +00:00
Jim Meyering
bdd9db581f *** empty log message *** 2002-05-01 06:56:32 +00:00
Jim Meyering
29fbbc05c9 *** empty log message *** 2002-05-01 06:54:38 +00:00
Jim Meyering
2a061153f6 *** empty log message *** 2002-05-01 06:53:45 +00:00
Jim Meyering
8bbc4ca7ec *** empty log message *** 2002-05-01 06:51:55 +00:00
Jim Meyering
56130b3231 *** empty log message *** 2002-04-30 09:45:48 +00:00
Jim Meyering
5a40d9ead2 (jm_PREREQ): Add jm_PREREQ_STAT. 2002-04-30 09:37:26 +00:00
Jim Meyering
13d897efcf *** empty log message *** 2002-04-30 09:30:13 +00:00
Jim Meyering
0c4c742189 (keycompare, compare): Replace #ifdef ENABLE_NLS with if (HAVE_SETLOCALE).
(hard_LC_COLLATE): Define even if ! ENABLE_NLS.
(main): Always initialize hard_LC_COLLATE.
Put initialization next to other locale-related stuff.

Include <langinfo.h> even if ! ENABLE_NLS.
(decimal_point, th_sep): Depend on HAVE_SETLOCALE, not ENABLE_NLS.
(main): Likewise.
(MONTHTAB_CONST): Remove; all uses removed.
(struct_month_cmp, inittables): Do not depend on ENABLE_NLS.
(main): hard_LC_TIME locale does not depend on ENABLE_NLS.
2002-04-30 09:29:45 +00:00
Jim Meyering
9d64f63aaa (keycmp): Replace #ifdef ENABLE_NLS with if (HAVE_SETLOCALE).
(hard_LC_COLLATE): Define even if ! ENABLE_NLS.
(main): Always initialize hard_LC_COLLATE.
Put initialization next to other locale-related stuff.
2002-04-30 09:25:37 +00:00
Jim Meyering
d7984a3fdb (compare_files): Replace #ifdef ENABLE_NLS with if (HAVE_SETLOCALE).
(hard_LC_COLLATE): Define even if ! ENABLE_NLS.
(main): Always initialize hard_LC_COLLATE.
Put initialization next to other locale-related stuff.
2002-04-30 09:23:38 +00:00
Jim Meyering
17d3a3e28c (HAVE_SETLOCALE): Define to 0 if not defined. 2002-04-30 09:21:21 +00:00
Jim Meyering
20ee294371 *** empty log message *** 2002-04-30 09:20:32 +00:00
Jim Meyering
6e40a95415 *** empty log message *** 2002-04-30 09:20:26 +00:00
Jim Meyering
24ad720079 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
Do not check for alloca.h (no longer used) or stdbool.h (was never
used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
2002-04-30 09:20:19 +00:00
Jim Meyering
bb3842917c *** empty log message *** 2002-04-30 09:18:24 +00:00
Jim Meyering
9c46845348 Upgrade to version used in GNU Diffutils 2.8.1. 2002-04-30 09:17:50 +00:00
Jim Meyering
2cc5a65c0f *** empty log message *** 2002-04-29 08:23:14 +00:00
Jim Meyering
15bef4ddb6 (tail_forever): Do not treat
max_n_unchanged_stats_between_opens specially (as if it were
infinite) if it has its maximal value.  Similarly for
max_n_consecutive_size_changes_between_opens.
2002-04-29 08:23:06 +00:00
Jim Meyering
5ce88fe525 *** empty log message *** 2002-04-29 07:31:56 +00:00
Jim Meyering
676991e630 (parse_obsolescent_option): Do not limit the maximum
line/byte count to be less than ULONG_MAX on systems where
OFF_T_MAX is larger.
2002-04-29 07:30:57 +00:00
Jim Meyering
f3959d84d3 *** empty log message *** 2002-04-29 07:02:21 +00:00
Jim Meyering
86459445f9 *** empty log message *** 2002-04-29 07:01:34 +00:00
Jim Meyering
ad0f322065 (jm_PREREQ_SIG2STR): Remove; all callers changed. 2002-04-29 07:01:29 +00:00
Jim Meyering
735b546108 Do not include <sys/wait.h>; no longer needed. 2002-04-29 07:00:23 +00:00
Jim Meyering
94650aa4ba (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
of 127, since 64 is the largest conceivable number for ancient
nonstandard hosts.
2002-04-29 06:59:24 +00:00
Jim Meyering
786fcaf4a2 *** empty log message *** 2002-04-28 23:54:55 +00:00
Jim Meyering
eae0819e3d add comment for prev change 2002-04-28 23:54:47 +00:00
Jim Meyering
550a02c909 (make_id_equals_comment): Cast sizeof expression (used as field
width argument) to `int'.
2002-04-28 23:54:06 +00:00
Jim Meyering
1e2a59b68a (PIDSTR_DECL_AND_INIT): Cast ut_pid value to int. 2002-04-28 23:47:53 +00:00
Jim Meyering
7fb3529376 . 2002-04-28 23:14:28 +00:00
Jim Meyering
3a898d66ba *** empty log message *** 2002-04-28 23:14:20 +00:00
Jim Meyering
699c46f88b *** empty log message *** 2002-04-28 23:12:01 +00:00
Jim Meyering
5565903d7c (jm_MACROS): Remove use of AC_FUNC_STRNLEN. 2002-04-28 23:11:56 +00:00
Jim Meyering
c14da32ec4 Add jm_PREREQ_STRNLEN.
Use AC_FUNC_STRNLEN here instead.
2002-04-28 23:11:45 +00:00
Jim Meyering
db37e581bc Don't AC_REQUIRE([AC_PROG_CC_STDC]).
With autoconf-2.53a, it's part of AC_PROG_CC.
2002-04-28 22:36:42 +00:00
Jim Meyering
75bb9f0a2a *** empty log message *** 2002-04-28 21:59:47 +00:00
Jim Meyering
89e4bfabcd Don't include xalloc.h.
It's already included via system.h.
2002-04-28 21:59:40 +00:00
Jim Meyering
57b792bb8a . 2002-04-28 21:58:19 +00:00
Jim Meyering
625cb88756 *** empty log message *** 2002-04-28 21:57:52 +00:00
Jim Meyering
01084fbd8d Change @code{PROG}' to @command{PROG}'. 2002-04-28 21:57:40 +00:00
Jim Meyering
219be37b93 Change @code{PROG} to @command{PROG} for the fileutils. 2002-04-28 21:55:03 +00:00
Jim Meyering
3be197ed19 Begin changing @code{PROG} to @command{PROG}. 2002-04-28 21:46:20 +00:00
Jim Meyering
2bac14f45a Use @command{(un)?link}, not @code{...} where appropriate 2002-04-28 21:35:55 +00:00
Jim Meyering
ed05aed044 Rewrite from scratch. Support everything
required by POSIX 1003.1-2001; when this conflicts with Bash,
stick with POSIX.  The conflicts are kill -l output format,
and lower case signal names preceded by `-' (e.g., "kill -hup"
is no longer supported).  Remove -L or --long-list option.
Add -t or --table option.  Rename --sigspec to --signal;
remove --signum and do not advertise obsolescent option -n.
Use str2sig and str2sig to convert between signal names and
numbers.
2002-04-28 21:32:36 +00:00
Jim Meyering
02be728995 . 2002-04-28 21:31:21 +00:00
Jim Meyering
cb75a8c02d *** empty log message *** 2002-04-28 21:30:59 +00:00
Jim Meyering
f7978a042c (jm_PREREQ): Add jm_PREREQ_SIG2STR. 2002-04-28 21:30:50 +00:00
Jim Meyering
6980e29da9 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str). 2002-04-28 21:29:39 +00:00
Jim Meyering
79d4ae4bf8 *** empty log message *** 2002-04-28 21:28:56 +00:00
Jim Meyering
03d0ba4c06 Remove definition of unused WTERMSIG. 2002-04-28 21:20:49 +00:00
Jim Meyering
b41ca51fc6 New file: from Paul Eggert. 2002-04-28 21:17:45 +00:00
Jim Meyering
8e6c9373c1 *** empty log message *** 2002-04-28 21:16:24 +00:00
Jim Meyering
dbaf821f82 (libfetish_a_SOURCES): Add sig2str.h. 2002-04-28 21:16:19 +00:00
Jim Meyering
b8b5ed3d52 *** empty log message *** 2002-04-28 21:15:37 +00:00
Jim Meyering
8075fc59b5 *** empty log message *** 2002-04-28 21:15:05 +00:00
Jim Meyering
d22026207c (kill invocation): Document the above.
Document POSIX signals better.
2002-04-28 21:14:59 +00:00
Jim Meyering
b5d5f6fffd *** empty log message *** 2002-04-28 21:07:11 +00:00
Jim Meyering
e464e1da1c Avoid new warnings from gcc.
[struct COLUMN] <name>: Declare member to be const.
(init_fps): Declare local variable `firstname' to be const.
2002-04-28 21:07:01 +00:00
Jim Meyering
ec4ea625c9 . 2002-04-28 18:43:52 +00:00
Jim Meyering
38fa93be81 *** empty log message *** 2002-04-28 17:29:12 +00:00
Jim Meyering
a1319f687c (integer_expected_error): Add `const' to paramater
declarations to avoid new warning from gcc.
2002-04-28 17:12:53 +00:00
Jim Meyering
059c9672ff (test_syntax_error): Add `const' to paramater
declarations to avoid new warning from gcc.
2002-04-28 17:09:12 +00:00
Jim Meyering
8a2075ba7d (cycle_check): Add a comment. 2002-04-27 06:46:18 +00:00
Jim Meyering
a6050a7291 (cycle_check): New function containing code factored
out of remove_dir.  The sole difference is that upon detecting a
cycle, rm now dies unconditionally.  Before, in interactive mode,
it would ask the user whether to continue.
(remove_dir): Call cycle_check.
2002-04-27 06:33:08 +00:00
Jim Meyering
d1cf325739 *** empty log message *** 2002-04-25 20:38:20 +00:00
Jim Meyering
6cc8245afb (usage): Adjust ordering to match that of default output. 2002-04-25 20:38:16 +00:00
Jim Meyering
93066fab51 *** empty log message *** 2002-04-25 20:16:15 +00:00
Jim Meyering
daeef68961 remove comment for reverted change 2002-04-25 19:51:40 +00:00
Jim Meyering
c5e9725e5b . 2002-04-25 19:47:08 +00:00
Jim Meyering
e94bd40348 . 2002-04-25 18:58:39 +00:00
Jim Meyering
6576e27321 . 2002-04-25 18:58:07 +00:00
Jim Meyering
d29bfd529e *** empty log message *** 2002-04-25 18:03:30 +00:00
Jim Meyering
e758541f7e *** empty log message *** 2002-04-25 18:03:07 +00:00
Jim Meyering
0cf2e85eda *** empty log message *** 2002-04-25 18:02:59 +00:00
Jim Meyering
de9a50b611 Avoid warnings from gcc.
Declare input_file and output_file to be `const'.
(skip): Declare `file' parameter to be `const', too.
2002-04-25 18:02:52 +00:00
Jim Meyering
b6dd48b361 *** empty log message *** 2002-04-25 17:14:28 +00:00
Jim Meyering
184edc32ab *** empty log message *** 2002-04-25 16:40:18 +00:00
Jim Meyering
0199003cf9 Remove hash table, active_dir_map, used to detect directory cycles.
Instead, detect them lazily with just O(1) memory.
Suggestion from Andi Kleen.

(is_power_of_two): New function.
(print_nth_dir, make_active_dir_ent): Remove functions.
(hash_active_dir_ent, hash_compare_active_dir_ents): Likewise.
(remove_dir): Check for cycles here, ...
(rm): ... and don't check for cycles here.

(rm): Call fspec_get_full_mode here, rather than
fspec_get_filetype_mode.  We want to get the dev/ino earlier, and
at the same time as when we get the file type, to avoid the risk
that an attacker would change e.g. a directory to a symlink before
we record its dev/ino.
2002-04-25 16:40:04 +00:00
Jim Meyering
bbd396f52f Revert last change. 2002-04-25 16:32:32 +00:00
Jim Meyering
2a15b5cbc4 Revert last change. 2002-04-25 16:31:41 +00:00
Jim Meyering
2dbf41d0d0 *** empty log message *** 2002-04-25 16:01:32 +00:00
Jim Meyering
c80374e8e8 . 2002-04-25 15:40:12 +00:00
Jim Meyering
e53320438b *** empty log message *** 2002-04-25 15:39:39 +00:00
Jim Meyering
1bb22e3075 Remove ENABLE_NLS-related code.
(_, N_) Remove definitions.
Include "gettext.h" instead.
2002-04-25 15:38:17 +00:00
Jim Meyering
fc7d0fef5f *** empty log message *** 2002-04-24 07:54:51 +00:00
Jim Meyering
b2861672f1 filtered through cppi 2002-04-24 07:54:40 +00:00
Jim Meyering
9cd1ed4307 *** empty log message *** 2002-04-24 07:52:49 +00:00
Jim Meyering
8a054458d4 (INCLUDES): Remove -I../intl.
(libfetish_a_SOURCES): Add gettext.h.
2002-04-24 07:52:39 +00:00
Jim Meyering
570703fb5e *** empty log message *** 2002-04-24 07:50:53 +00:00
Jim Meyering
0b79c81d9d (jm_PREREQ_HARD_LOCALE): New macro.
(jm_PREREQ): Use it.
2002-04-24 07:50:48 +00:00
Jim Meyering
6acdf37888 bump serial # to 9 2002-04-24 07:49:39 +00:00
Jim Meyering
1391eaea5d Check for these headers: locale.h unistd.h mach/mach.h fcntl.h.
Check for this function: setlocale.
2002-04-24 07:49:00 +00:00
Jim Meyering
d3de1d0186 (rm): Call exit with EXIT_FAILURE, not `1'. 2002-04-22 09:42:00 +00:00
Jim Meyering
a15c26266f *** empty log message *** 2002-04-22 07:36:00 +00:00
Jim Meyering
c32c344dd6 (main): Adjust caller of remove_init. 2002-04-22 07:35:54 +00:00
Jim Meyering
e305ef0fa8 (do_move): Adjust caller of remove_init. 2002-04-22 07:35:41 +00:00
Jim Meyering
f1014ac7cc (remove_init): Adjust prototype. 2002-04-22 07:35:32 +00:00
Jim Meyering
8fd6feded9 (rm, remove_init, remove_fini): Don't use or even
initialize the active_dir_map unless --recursive (-r) is specified.
2002-04-22 07:35:20 +00:00
Jim Meyering
c175e3f6c8 update framework 2002-04-20 14:49:46 +00:00
Jim Meyering
73f2d11007 update framework 2002-04-19 22:57:04 +00:00
Jim Meyering
f2bb69ebb0 Use this:
(exit $fail); exit
not this:
  exit $fail
2002-04-19 22:50:36 +00:00
Jim Meyering
0129239343 upgrade to use better framework 2002-04-19 22:41:59 +00:00
Jim Meyering
92d76e1e92 upgrade to use better framework 2002-04-19 22:39:05 +00:00
Jim Meyering
dc2f3bc5e4 *** empty log message *** 2002-04-19 22:36:11 +00:00
Jim Meyering
1a35394a57 upgrade to use better framework 2002-04-19 22:36:03 +00:00
Jim Meyering
2b5e6e4835 clean-up 2002-04-19 21:59:57 +00:00
Jim Meyering
306c8e8b4f Lots of clean-up:
E.g.,

    (exit $fail); exit

    t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
    trap 'status=$?; cd $pwd; rm -rf $t0 && exit $status' 0
2002-04-19 21:55:30 +00:00
Jim Meyering
3cc80a4390 *** empty log message *** 2002-04-19 21:54:27 +00:00
Jim Meyering
ff015c529a *** empty log message *** 2002-04-19 21:53:42 +00:00
Jim Meyering
ebf16be3ea Use tmpdir named $0.tmp/$$. Create with mkdir -p. 2002-04-19 21:53:01 +00:00
Jim Meyering
4061c49579 Use better trap, etc. 2002-04-19 21:38:32 +00:00
Jim Meyering
d01146b817 *** empty log message *** 2002-04-19 21:18:28 +00:00
Jim Meyering
d0ae660607 Use better trap. 2002-04-19 21:17:45 +00:00
Jim Meyering
5aaccdf6a7 use better trap 2002-04-19 21:17:08 +00:00
Jim Meyering
dc3a2321e0 Set $tmp the new way. 2002-04-19 20:50:43 +00:00
Jim Meyering
3f094fd26b Use `rm', not $RM. Use better trap. 2002-04-19 19:55:21 +00:00
Jim Meyering
e86cf7f5e6 Use `rm', not $RM. Use better trap. 2002-04-19 19:54:15 +00:00
Jim Meyering
ad9fd82850 Use `rm', not $RM. Use better trap. 2002-04-19 19:53:03 +00:00
Jim Meyering
da5debc995 don't fiddle with TMPDIR 2002-04-19 19:51:29 +00:00
Jim Meyering
9f79f8d7e0 don't bother with TMPDIR 2002-04-19 19:47:16 +00:00
Jim Meyering
56931437e3 Use automatically-derived name for temporary
directory.  This is more 8.3-friendly.  Based on a suggestion from Richard Dawe.
2002-04-19 19:39:45 +00:00
Jim Meyering
5051a33ba6 *** empty log message *** 2002-04-17 08:55:39 +00:00
Jim Meyering
8d851e17c0 . 2002-04-17 08:54:38 +00:00
Jim Meyering
1df5e317dc (TESTS): Add no-create-missing. 2002-04-17 08:54:32 +00:00
Jim Meyering
950d7008ea *** empty log message *** 2002-04-17 08:54:21 +00:00
Jim Meyering
8a2d561e45 *** empty log message *** 2002-04-17 08:53:50 +00:00
Jim Meyering
ccf99a6d4c (touch): Don't report errors for nonexistent files
when --no-create is in effect.  Based on a patch from TAKAI Kousuke.
2002-04-17 08:49:27 +00:00
Jim Meyering
78ec76159b *** empty log message *** 2002-04-17 08:47:33 +00:00
Jim Meyering
28ea23054e s/POSIX/@sc{posix}/ 2002-04-16 11:26:32 +00:00
Jim Meyering
cea6ca618e *** empty log message *** 2002-04-16 10:43:04 +00:00
Jim Meyering
a9ecff59e4 (jm_PREREQ_READUTMP): Also check for these members: ut_pid, ut_id, ut_exit. 2002-04-16 10:43:00 +00:00
Jim Meyering
b1f44ffb39 (UT_TYPE): Remove definition (now in who.c).
(HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
(HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
2002-04-16 10:41:33 +00:00
Jim Meyering
2e0e925d3b *** empty log message *** 2002-04-16 10:39:42 +00:00
Jim Meyering
6f0db0ac6e (UT_TYPE_UNDEF, UT_TYPE, IS_USER_PROCESS): Define.
(print_line): Use "%-8.8s" for the format: the user name is not
always NUL terminated.
(scan_entries) [need_users]: Use IS_USER_PROCESS, so that this works
even on systems without ut_type.
2002-04-16 10:39:29 +00:00
Jim Meyering
aef17cff0f (BOOT_TIME): Define.
(NEW_TIME): Define to 0, not INT_MAX.
(UT_PID, UT_ID, UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
Replace literal uses of ut_pid, ut_id, and ut_exit members with
uses through macros.
(make_id_equals_comment): New function, factored out of three others.
2002-04-16 09:49:28 +00:00
Jim Meyering
92cad6a4e5 *** empty log message *** 2002-04-16 06:51:00 +00:00
Jim Meyering
5bd81eab0f (human_fstype): Rename from print_human_fstype, and rework accordingly.
(print_statfs): Use human_fstype to honor format width on %T.
2002-04-16 06:50:54 +00:00
Jim Meyering
598064934e Add copyright comment. 2002-04-16 06:27:39 +00:00
Jim Meyering
c75c37dc2b *** empty log message *** 2002-04-15 19:05:33 +00:00
Jim Meyering
67492390d4 *** empty log message *** 2002-04-15 19:04:32 +00:00
Jim Meyering
480aa4b7c1 *** empty log message *** 2002-04-15 19:03:52 +00:00
Jim Meyering
9a9958dafc Document kill. 2002-04-15 19:03:47 +00:00
Jim Meyering
2262fbb298 add FIXME comments 2002-04-15 10:46:45 +00:00
Jim Meyering
a36a4fdedc *** empty log message *** 2002-04-15 10:37:45 +00:00
Jim Meyering
57d75ea4d8 Include xalloc.h.
Use xmalloc everywhere, not malloc.
2002-04-15 10:37:35 +00:00
Jim Meyering
7880914895 *** empty log message *** 2002-04-15 08:52:52 +00:00
Jim Meyering
b214c8214c Handle "lld" vs "ld" printf formats the same way Bash does.
Include inttypes.h.
(PRIdMAX, PRIuMAX): Define, if not already defined.
(print_statfs): Use those macros, not the literal strings.
(print_stat): Likewise.
2002-04-15 08:50:57 +00:00
Jim Meyering
68f054be8f *** empty log message *** 2002-04-15 08:41:34 +00:00
Jim Meyering
d9feb76a02 (usage): Give a verbose description of --squeeze-repeats,
including the mention of SET1.
2002-04-15 08:41:23 +00:00
Jim Meyering
872325a656 *** empty log message *** 2002-04-15 07:21:49 +00:00
Jim Meyering
d133be1fc3 (print_human_fstype): Add missing break;' for case S_MAGIC_MINIX:'. 2002-04-15 07:21:42 +00:00
Jim Meyering
ad02a0f47d remove parens in #if directives 2002-04-15 07:20:15 +00:00
Jim Meyering
f7d204bce4 *** empty log message *** 2002-04-14 12:53:10 +00:00
Jim Meyering
2b38bcb26a *** empty log message *** 2002-04-14 12:53:00 +00:00
Jim Meyering
6d89182e28 (statfs_secure): Define.
(print_stat): Remove another #ifdef.
(do_statfs): Likewise.
(print_statfs): Prefer/use fputs over printf.
(print_stat): Likewise.
2002-04-14 12:52:48 +00:00
Jim Meyering
30215a98cc filter through GNU indent 2002-04-14 08:20:15 +00:00
Jim Meyering
c8088a6184 Split some long lines.
(verbose_usage): Remove function.
2002-04-14 08:18:49 +00:00
Jim Meyering
82395d065e *** empty log message *** 2002-04-14 08:15:22 +00:00
Jim Meyering
5120cb1bc9 remove parens in #if directives 2002-04-14 08:14:37 +00:00
Jim Meyering
e407204f28 fix TABs 2002-04-14 08:14:15 +00:00
Jim Meyering
af3fa53348 *** empty log message *** 2002-04-14 08:13:50 +00:00
Jim Meyering
4fc8280fa6 *** empty log message *** 2002-04-14 07:50:19 +00:00
Jim Meyering
9e92d099ce *** empty log message *** 2002-04-14 07:49:20 +00:00
Jim Meyering
7c3982f666 (verbose_usage): Remove function. Move contents into usage.
Remove lots of #if directives involving FLASK_LINUX
[!FLASK_LINUX] (is_flask_enabled): Define.
(stat_secure, lstat_secure): Define.
(print_statfs): Remove lots of nested #if directives.
Instead, rely on support fo %llu and %lld printf formats --
but that is only temporary, since it's not porable enough.
(main): Hoist is_flask_enabled test to be done here, rather
than in each of do_stat and do_statfs for every argument.
2002-04-14 07:47:44 +00:00
Jim Meyering
b6e520d478 [HAVE_SYS_VFS_H]: Guard incluion of sys/vfs.h.
Constify many parameters.
(print_statfs): Fix typo: Use %u (to match %lu) for namelen, not %d.
2002-04-14 06:55:13 +00:00
Jim Meyering
2c41df8b40 alphabetize entries in a menu
In xref, use libc instead of library.
2002-04-14 06:27:10 +00:00
Jim Meyering
86168539c7 . 2002-04-13 17:10:57 +00:00
Jim Meyering
d849f68245 add a couple `const' 2002-04-13 14:35:46 +00:00
Jim Meyering
91990a324b (print_human_fstype): Revamp in a similar fashion. Don't use strdup. 2002-04-13 14:34:58 +00:00
Jim Meyering
ac829d6935 (print_human_type): Call fputs once rather than calling printf many times.
Declare most functions to be `static'.
2002-04-13 14:23:00 +00:00
Jim Meyering
d1a60cddfe Include system.h, error.h, and many other headers.
[HAVE_SYS_SYSMACROS_H]: Guard inclusion of sys/sysmacros.h.
(PROGRAM_NAME, AUTHORS): Define.
(long_options): Declare/define.
(print_human_access): Rewrite to use mode_string.
(usage): Rewrite.
(main): Use getopt_long.
2002-04-13 14:11:44 +00:00
Jim Meyering
8d8acf4b3c Direct from Debian's stat_3.3-1, modulo trailing blanks (removed)
and cpp directive (indented via cppi).
2002-04-13 13:47:14 +00:00
Jim Meyering
fadc4d4786 *** empty log message *** 2002-04-13 12:40:43 +00:00
Jim Meyering
9eb27b5fad Document link and unlink. 2002-04-13 12:40:36 +00:00
Jim Meyering
b1e1f83089 *** empty log message *** 2002-04-12 21:03:34 +00:00
Jim Meyering
ad935391c2 (dirfd): Elide prototype if dirfd is a macro. 2002-04-12 21:03:28 +00:00
Jim Meyering
5f057a69d6 *** empty log message *** 2002-04-12 20:51:01 +00:00
Jim Meyering
d635ea46cb (checking for getmntinfo function...): Remove now-bogus
check for f_type in sys/mount.h.  Instead, just test for the existence
of the getmntinfo function.  Needed for Darwin 5.3.
2002-04-12 20:50:53 +00:00
Jim Meyering
51816f9adb *** empty log message *** 2002-04-12 20:48:36 +00:00
Jim Meyering
50bc2a4286 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
This is necessary at least on Darwin 5.3.
2002-04-12 20:48:29 +00:00
Jim Meyering
7f01432879 *** empty log message *** 2002-04-12 11:04:02 +00:00
Jim Meyering
d11a1de3ed *** empty log message *** 2002-04-12 11:03:13 +00:00
Jim Meyering
c6590a2f61 Don't AC_REPLACE(strnlen), now that we use
AC_FUNC_STRNLEN.  That would end up putting two copies of strnlen.o
in the library, and that makes some versions of ranlib object.
2002-04-12 11:02:59 +00:00
Jim Meyering
f5da3f584b *** empty log message *** 2002-04-12 10:47:18 +00:00
Jim Meyering
5771d0193b . 2002-04-12 10:46:55 +00:00
Jim Meyering
f52a204a4e Include long-options.h.
[long_opts]: Remove.
(usage): Tweak --help output; use *_OPTION_DESCRIPTION macros.
(main): Don't use getopt directly.  Use parse_long_options instead.
Tweak a diagnostic.
Use EXIT_FAILURE rather than a literal `1'.
(main): If POSIXLY_CORRECT is set, don't recognize --help or --version,
so the program can operate on a file with one of those names.
2002-04-12 10:41:54 +00:00
Jim Meyering
21126e288b Include long-options.h.
[long_opts]: Remove.
(usage): Tweak --help output; use *_OPTION_DESCRIPTION macros.
(main): Don't use getopt directly.  Use parse_long_options instead.
Tweak a diagnostic.
Use EXIT_FAILURE rather than a literal `1'.
2002-04-12 10:41:22 +00:00
Jim Meyering
d1aa15101c *** empty log message *** 2002-04-12 10:41:00 +00:00
Jim Meyering
92c4ad70ea *** empty log message *** 2002-04-12 10:40:09 +00:00
Jim Meyering
1247f879f9 *** empty log message *** 2002-04-12 10:39:43 +00:00
Jim Meyering
b46ec3cd33 from Debian's fileutils_4.1-10 2002-04-12 10:07:17 +00:00
Jim Meyering
f0ea374271 *** empty log message *** 2002-04-09 17:55:48 +00:00
Jim Meyering
72af85a647 (jm_FUNC_REALLOC): Change the `checking ...' message
to be more precise.  Rather than saying we're checking whether the
function `works', say what we're testing.
2002-04-09 17:55:36 +00:00
Jim Meyering
aa77b79b4b (jm_FUNC_MALLOC): Change the `checking ...' message
to be more precise.  Rather than saying we're checking whether the
function `works', say what we're testing.
2002-04-09 17:55:23 +00:00
Jim Meyering
f36cf8b4d8 *** empty log message *** 2002-04-08 09:39:19 +00:00
Jim Meyering
a8a0842148 Use new directives, @copying and @insertcopying,
thus now requiring texinfo-4.2 to create the .info file.
2002-04-08 09:38:58 +00:00
Jim Meyering
8c3b497f01 *** empty log message *** 2002-04-07 21:46:15 +00:00
Jim Meyering
61d6d975af Tweak comments to reflect reality. 2002-04-07 21:46:11 +00:00
Jim Meyering
b5422e71f7 *** empty log message *** 2002-04-07 15:57:10 +00:00
Jim Meyering
c20f3cd330 Add VERBOSE=yes support. 2002-04-07 15:52:14 +00:00
Jim Meyering
a88ba0dd94 Fix typo in VERBOSE=yes handling. 2002-04-07 15:51:12 +00:00
Jim Meyering
81c7cd4c29 . 2002-03-30 15:49:57 +00:00
Jim Meyering
f79efa913c with --reply=no, no need for input file `no' 2002-03-30 15:26:46 +00:00
Jim Meyering
8b861292c6 --, not --- 2002-03-30 15:22:04 +00:00
Jim Meyering
39f54be321 *** empty log message *** 2002-03-30 15:20:22 +00:00
Jim Meyering
9bfbfd3b8a *** empty log message *** 2002-03-30 15:19:04 +00:00
Jim Meyering
fff7466c36 Use --reply=no rather than -i.
The latter depends on whether stdin is a tty.
2002-03-30 15:18:54 +00:00
Jim Meyering
bd2fa30652 . 2002-03-30 10:40:32 +00:00
Jim Meyering
fffcc47efc . 2002-03-30 07:24:19 +00:00
Jim Meyering
302c89b285 (do_move): Correct a comment. 2002-03-30 07:12:23 +00:00
Jim Meyering
3dd09fbf17 *** empty log message *** 2002-03-30 07:11:34 +00:00
Jim Meyering
baa4aff633 (forget_created): Prototype. 2002-03-30 07:11:24 +00:00
Jim Meyering
aa3694f1ff (forget_created): New function. 2002-03-30 07:11:13 +00:00
Jim Meyering
9211474a6e (copy_internal): Move the block that sets `earlier_file'
down to just before the first use of that variable.  Otherwise, it was
possible to make mv (and probably cp, too) malfunction when copying
hard-linked files into a directory containing at least one of the
source file names.  Call forget_created everywhere thereafter where
this function returns without creating a destination file that might
subsequently be linked.  Reported by Iida Yosiaki.
2002-03-30 07:10:57 +00:00
Jim Meyering
ca76cd842a New test for the above.
Based on an example from Iida Yosiaki.
2002-03-29 23:11:41 +00:00
Jim Meyering
6879364228 (TESTS): Add i-link-no. 2002-03-29 23:11:28 +00:00
Jim Meyering
0a2845a592 *** empty log message *** 2002-03-29 23:09:52 +00:00
Jim Meyering
d4e06e8c46 *** empty log message *** 2002-03-28 08:07:41 +00:00
Jim Meyering
61789dd7d5 . 2002-03-28 07:59:24 +00:00
Jim Meyering
df92958bed *** empty log message *** 2002-03-27 08:05:14 +00:00
Jim Meyering
c559453c89 *** empty log message *** 2002-03-27 07:57:00 +00:00
Jim Meyering
65ab259cdb *** empty log message *** 2002-03-25 09:53:28 +00:00
Jim Meyering
563ff6778d update copyright 2002-03-25 09:53:18 +00:00
Jim Meyering
eae700da7d (age_of): Return -1 and 0 rather than 0 and 1.
Might as well keep it simple, and like bash.
(binary_operator): Fix bug with -nt and -ot, when one of the
files did not exist.  We want to be compatible with the ksh93
documentation, and with Bash.
2002-03-25 09:53:07 +00:00
Jim Meyering
dc3bf580fc *** empty log message *** 2002-03-25 09:52:46 +00:00
Jim Meyering
d2ed2e78cf (File characteristic tests): Document the
behavior of test -nt and -ot when one of the files does not exist,
using the same behavior that is documented in ksh93.
2002-03-25 09:52:25 +00:00
Jim Meyering
c799d7b979 adjust spacing in expected diagnostic 2002-03-19 09:55:21 +00:00
Jim Meyering
73c74c33e6 use only one space after semicolon 2002-03-19 08:49:28 +00:00
Jim Meyering
c1635e0379 . 2002-03-18 09:51:22 +00:00
Jim Meyering
2486f9acdf . 2002-03-18 09:50:45 +00:00
Jim Meyering
af1a8f76a6 *** empty log message *** 2002-03-17 19:28:04 +00:00
Jim Meyering
1c1565ff39 *** empty log message *** 2002-03-17 19:21:54 +00:00
Jim Meyering
c3d98f8640 (TESTS): Add part-fail. 2002-03-17 19:21:49 +00:00
Jim Meyering
cf504308fe *** empty log message *** 2002-03-17 19:21:24 +00:00
Jim Meyering
3677890d37 (usage): Mention that --format=FORMAT must be
a *floating-point* format, also in description of that option.
(usage): Also add the `=' signs here: --format=FORMAT,
--separator=STRING.
2002-03-17 19:21:16 +00:00
Jim Meyering
2af2bec9b2 *** empty log message *** 2002-03-17 16:18:35 +00:00
Jim Meyering
30f0e39058 *** empty log message *** 2002-03-17 16:17:38 +00:00
Jim Meyering
fc1e984e89 *** empty log message *** 2002-03-17 16:17:29 +00:00
Jim Meyering
24c61a8949 *** empty log message *** 2002-03-17 16:02:47 +00:00
Jim Meyering
b3354081ac (copy_internal) [move_mode]: Give a better diagnostic
(using errno from the failed unlink) when a cross-device `mv'
fails, e.g., because the destination cannot be unlinked.
Prompted by a report from Karl Berry.
2002-03-17 16:00:54 +00:00
Jim Meyering
aedb44867d *** empty log message *** 2002-03-16 09:47:01 +00:00
Jim Meyering
65a82e4c26 *** empty log message *** 2002-03-16 09:46:40 +00:00
Jim Meyering
28571ed121 *** empty log message *** 2002-03-16 09:43:19 +00:00
Jim Meyering
3a0036e766 . 2002-03-14 12:19:49 +00:00
Jim Meyering
fa0309e396 *** empty log message *** 2002-03-12 12:12:02 +00:00
Jim Meyering
4f3c16b4f5 . 2002-03-10 22:26:35 +00:00
Jim Meyering
16b01fbdc7 *** empty log message *** 2002-03-10 22:25:01 +00:00
Jim Meyering
cd0be06ed2 (strip): Change wording in diagnostic. 2002-03-10 22:23:19 +00:00
Jim Meyering
48f998c0e8 (do_copy): Change wording in diagnostic. 2002-03-10 22:22:33 +00:00
Jim Meyering
f3a82e33ac (main): Change wording in diagnostic. 2002-03-10 22:21:44 +00:00
Jim Meyering
14867399cd (make_path): Remove a comma from a diagnostic. 2002-03-10 22:15:53 +00:00
Jim Meyering
948cbc01ff *** empty log message *** 2002-03-10 20:25:56 +00:00
Jim Meyering
29dade1a06 *** empty log message *** 2002-03-10 20:20:08 +00:00
Jim Meyering
814ef75488 (GZIP, BZIP2): Remove definitions.
($(my_distdir).tar.bz2): Remove rule.  Now, it's built by `make dist'.
2002-03-10 20:19:54 +00:00
Jim Meyering
17202b905d *** empty log message *** 2002-03-10 18:43:12 +00:00
Jim Meyering
0a35becaf5 *** empty log message *** 2002-03-10 18:42:44 +00:00
Jim Meyering
21eba648bd *** empty log message *** 2002-03-10 18:41:47 +00:00
Jim Meyering
c880cde6a9 reformat continued line 2002-03-10 10:22:47 +00:00
Jim Meyering
3afb09ac80 (gmsgfmt_cmd): New variable.
(.po.gmo): Use it here.

(.po.mo): Don't create target directly --
otherwise a failed gmsgfmt command would leave a corrupt,
yet up-to-date, .gmo file.
(.po.gmo): Likewise.
2002-03-10 10:21:55 +00:00
Jim Meyering
1595f15531 . 2002-03-10 09:30:15 +00:00
Jim Meyering
a6921b13ef *** empty log message *** 2002-03-10 08:28:43 +00:00
Jim Meyering
ae5a552bf1 (copy_reg): Don't exit upon finding a replaced file.
Instead, just skip it like the diagnostic says.
Reported by Paul Eggert.
2002-03-10 08:28:30 +00:00
Jim Meyering
0d4eeae035 (copy_reg): Use a more concise diagnostic for
reporting replaced files.  This avoids a bug in the code,
which mishandled ino_t wider than long.
2002-03-10 08:26:48 +00:00
Jim Meyering
c4f4cfbf11 * src/copy.c (copy_reg): Use a more concise diagnostic for
reporting replaced files.  This avoids a bug in the code,
which mishandled ino_t wider than long.
* src/remove.c (remove_dir): Likewise, twice.
2002-03-10 08:17:20 +00:00
Jim Meyering
8cef936d37 . 2002-03-09 22:14:08 +00:00
Jim Meyering
583ce8b6c9 . 2002-03-09 22:13:33 +00:00
Jim Meyering
f369403dc6 *** empty log message *** 2002-03-09 22:13:12 +00:00
Jim Meyering
3a82fa109f *** empty log message *** 2002-03-09 22:10:47 +00:00
Jim Meyering
57d9a3625b . 2002-03-09 21:05:49 +00:00
Jim Meyering
3f81b8e189 (rm) Add comment on new parameter. 2002-03-09 21:02:05 +00:00
Jim Meyering
d06faa245b *** empty log message *** 2002-03-09 20:44:11 +00:00
Jim Meyering
29544710c6 (struct dev_ino): Declare new type.
(rm): Add a parameter to the prototype.
2002-03-08 16:46:26 +00:00
Jim Meyering
7c38cd6901 (main): Call lstat `.' to get the device/inode numbers
now required for rm.
2002-03-08 16:46:11 +00:00
Jim Meyering
9419e88fc4 (do_move): The first time we resort to copy/remove,
call lstat `.' to get the device/inode numbers now required for rm.
2002-03-08 16:45:51 +00:00
Jim Meyering
2c929257dc Don't allow a malicious user to trick another user's rm process into
removing unintended files.  In one scenario, if root is removing a
hierarchy that is writable by the malicious user, that user may trick
root into removing all of `/'.  Reported by Wojciech Purczynski.

(remove_dir): After chdir `..', call lstat to get the
dev/inode of "." and fail if they aren't the same as the old numbers.
(remove_cwd_entries): New parameter, `cwd_dev_ino'.
(remove_dir): Likewise.
(rm): Likewise.
Adjust all callers.
2002-03-08 16:45:31 +00:00
Jim Meyering
28efd24883 *** empty log message *** 2002-03-08 15:41:30 +00:00
Jim Meyering
bb09da15fe *** empty log message *** 2002-03-08 08:23:53 +00:00
Jim Meyering
db8d2fe339 Mention that this wrapper is needed also on mips-dec-ultrix4.4 systems. 2002-03-08 08:23:47 +00:00
Jim Meyering
b3183656ef . 2002-03-06 09:15:00 +00:00
Jim Meyering
aa0c7901a4 update from masters 2002-03-06 09:11:13 +00:00
Jim Meyering
ef8f6fe459 . 2002-03-06 09:06:01 +00:00
Jim Meyering
c3aafd6932 *** empty log message *** 2002-03-06 08:56:50 +00:00
Jim Meyering
b0a1aa04ba (cut invocation): Say that selected input is written in the same
order that it is read, and is written exactly once.
2002-03-06 08:56:16 +00:00
Jim Meyering
e304471a9e *** empty log message *** 2002-03-05 09:03:40 +00:00
Jim Meyering
405638ebb0 *** empty log message *** 2002-03-03 23:25:58 +00:00
Jim Meyering
2020df6702 (tgz-size): Also handle a suffix of `K', since
the sizes in the output of `du -h' now look like `29K'
2002-03-03 23:25:05 +00:00
Jim Meyering
c4836a7811 *** empty log message *** 2002-03-03 22:30:13 +00:00
Jim Meyering
47c5a14bad Make cp -r equivalent to cp -R. Add a new cp option --copy-contents
for people who want to emulate the traditional (and rarely desirable)
cp -r behavior.

(cp invocation): Document this.
Fix some related minor bugs: --no-dereference is no longer
equivalent to -d, and --archive (-a) can override the other
symlink options.  Warn that cp -R is not portable on symbolic
links unless you also specify -P.
2002-03-03 22:30:06 +00:00
Jim Meyering
f6ac75fd2c *** empty log message *** 2002-03-03 22:29:41 +00:00
Jim Meyering
c76a2ddf15 . 2002-03-03 22:29:36 +00:00
Jim Meyering
337e4b174d (copy_internal): Remove -r warning; no longer needed. 2002-03-03 22:29:31 +00:00
Jim Meyering
246e147a6a (COPY_CONTENTS_OPTION): New enum value.
(long_opts): Add --copy-contents.
(usage): Describe new behavior.  Sort options.
(main): Implement new behavior.  Remove diagnostics for -a and -r;
no longer needed.
2002-03-03 22:28:48 +00:00
Jim Meyering
e566848d2a . 2002-03-03 09:57:20 +00:00
Jim Meyering
da1695cee6 . 2002-03-03 09:54:53 +00:00
Jim Meyering
2fd63693cc . 2002-03-02 17:43:10 +00:00
Jim Meyering
244554ca1a Reflect changed semantics of cp's -r option. 2002-03-02 17:42:45 +00:00
Jim Meyering
22b03a6110 . 2002-03-02 17:39:58 +00:00
Jim Meyering
d726c5ad5f *** empty log message *** 2002-03-02 17:39:26 +00:00
Jim Meyering
c5fcc8e462 (strnlen): Define-away/undef so that an inconsistent prototype in
string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't cause trouble.
2002-03-02 17:39:17 +00:00
Jim Meyering
256f19b8db . 2002-03-02 17:37:50 +00:00
Jim Meyering
e4dfd95e1f *** empty log message *** 2002-03-02 17:36:04 +00:00
Jim Meyering
846263ddff (cp invocation): Document that cp -r
preserves symlinks.  Emphasize non-portability of cp -r.
2002-03-02 17:35:39 +00:00
Jim Meyering
b9d1d9e98e (main): Warn when -r is specified before --archive (-a). 2002-03-02 17:23:34 +00:00
Jim Meyering
3c3e5c4a31 add a comment 2002-03-02 17:17:49 +00:00
Jim Meyering
e2497bb4fd (copy_internal): For each symlink copied by cp -r,
issue a warning that `cp -r' is not portable.
2002-03-02 17:16:42 +00:00
Jim Meyering
7a5c83d8d5 (main): Revert change of 2001-12-29. With this change,
cp -r once again preserves symlinks.
(usage): Document the original (now-restored) behavior.
2002-03-02 17:15:42 +00:00
Jim Meyering
808b51dfba *** empty log message *** 2002-03-02 16:44:07 +00:00
Jim Meyering
baea296b94 (main): Fail if -r is specified after --archive (-a) on the command line. 2002-03-02 16:44:02 +00:00
Jim Meyering
07b422cb2a be careful about leading/trailing spaces 2002-03-02 13:24:46 +00:00
Jim Meyering
558fd59769 *** empty log message *** 2002-03-02 08:38:57 +00:00
Jim Meyering
dea4262fa6 (copy_reg): Detect abuse of a race condition
whereby an unprivileged user could gain read access to otherwise-
inaccessible files when root uses cp or mv to copy a hierarchy
belonging to that user.
2002-03-02 08:38:47 +00:00
Jim Meyering
17e6a0e4bb Include timespec.h.
(strftime, time, stime): Remove declarations; no longer needed.
(usage): Document %N.
(main): Use gettime rather than time to get the time of day,
so that we can get fractional times.
Similarly for settime and stime, so that we can set fractional times
(though this currently is not available to the user since we don't
parse fractional times; add FIXMES for that).
Check for gettime failures; e.g. this can occur if it
is past 2038 and we are a 32-bit app running on a 64-bit OS.
Get fractional part of file time stamps.
Do not falsely report failures just because time_t happens to be -1
(e.g. a file time stamp 1 second before the epoch).
(show_date): 2nd arg is now struct timespec, not time_t.
All uses changed.  Use nstrftime rather than strftime, so that
we can format fractional seconds.
2002-03-01 23:57:21 +00:00
Jim Meyering
9f1c3a0e22 *** empty log message *** 2002-03-01 23:54:58 +00:00
Jim Meyering
a9e1eeab54 (gettime): Test HAVE_CLOCK_GETTIME, not HAVE_CLOCK_SETTIME. 2002-03-01 23:54:52 +00:00
Jim Meyering
b39517e205 . 2002-03-01 23:36:30 +00:00
Jim Meyering
920077edd1 (strftime-check): Add `N'. 2002-03-01 23:35:58 +00:00
Jim Meyering
e2f0548110 (Time directives): Add %N for nanoseconds.
This documents the recent change to 'ls'.
2002-03-01 23:35:00 +00:00
Jim Meyering
a25f0cdb7e reflect renaming: nanosleep.h -> timespec.h 2002-03-01 23:34:23 +00:00
Jim Meyering
5fe8296d4a *** empty log message *** 2002-03-01 23:29:32 +00:00
Jim Meyering
853b15e627 *** empty log message *** 2002-03-01 23:28:21 +00:00
Jim Meyering
f5d3da342d *** empty log message *** 2002-03-01 23:26:26 +00:00
Jim Meyering
8f5e4ea244 (jm_MACROS): Do not replace stime; no longer used.
Check for clock_settime.
2002-03-01 23:26:10 +00:00
Jim Meyering
06b02f10be *** empty log message *** 2002-03-01 23:21:09 +00:00
Jim Meyering
e616c17722 . 2002-03-01 23:21:01 +00:00
Jim Meyering
3bde76131b (libfetish_a_SOURCES): Add gettime.c, settime.c,
timespec.h.  Remove nanosleep.h.
2002-03-01 23:20:53 +00:00
Jim Meyering
5a3e8f271b new file, from Paul Eggert 2002-03-01 23:20:20 +00:00
Jim Meyering
e5106171da Reflect renaming: nanosleep.h -> timespec.h. 2002-03-01 23:19:28 +00:00
Jim Meyering
e56702cfd6 new macros/decls, from Paul Eggert 2002-03-01 23:16:55 +00:00
Jim Meyering
20075bd5d4 renamed from nanosleep.h 2002-03-01 23:15:29 +00:00
Jim Meyering
11af8c2887 (decode_switches, usage): Add --time-style=+FORMAT. 2002-02-28 08:34:43 +00:00
Jim Meyering
4e9fd57633 *** empty log message *** 2002-02-28 08:30:31 +00:00
Jim Meyering
db2557052c (pr invocation): Reword to avoid using `:'
in an @opindex entry -- info doesn't permit it.
2002-02-28 08:30:19 +00:00
Jim Meyering
97943b2180 *** empty log message *** 2002-02-28 08:20:05 +00:00
Jim Meyering
69e796de6c (Formatting file timestamps): Document new
time-formatting method: --time-style=+FORMAT.
2002-02-28 08:19:50 +00:00
Jim Meyering
2a7a905dfc . 2002-02-26 16:03:24 +00:00
Jim Meyering
81b59e0ba3 *** empty log message *** 2002-02-26 15:48:03 +00:00
Jim Meyering
419dd76de0 *** empty log message *** 2002-02-26 15:39:27 +00:00
Jim Meyering
04c4d4dc87 *** empty log message *** 2002-02-26 15:38:49 +00:00
Jim Meyering
9f96885c83 *** empty log message *** 2002-02-26 15:22:22 +00:00
Jim Meyering
7da31a15bb *** empty log message *** 2002-02-26 15:22:09 +00:00
Jim Meyering
d7f4b25511 *** empty log message *** 2002-02-26 15:21:39 +00:00
Jim Meyering
99c885f123 *** empty log message *** 2002-02-26 15:21:11 +00:00
Jim Meyering
fba433574b (jm_MACROS): Require AC_FUNC_ACL.
Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
2002-02-26 15:20:39 +00:00
Jim Meyering
d678a9231c Include "acl.h" rather than <sys/acl.h>.
(USE_ACL): Remove; replaced by HAVE_ACL everywhere.
(gobble_file): Use file_has_acl rather than doing it ourselves.
2002-02-26 15:20:00 +00:00
Jim Meyering
d936975f34 *** empty log message *** 2002-02-26 14:53:28 +00:00
Jim Meyering
4656d21181 (libfetish_a_SOURCES): Add acl.h, acl.c. 2002-02-26 14:53:18 +00:00
Jim Meyering
b11f94d927 . 2002-02-26 14:06:55 +00:00
Jim Meyering
f57432bb1d tweak comment 2002-02-26 08:32:56 +00:00
Jim Meyering
3612fcbdb2 latest from FSF 2002-02-25 12:11:03 +00:00
Jim Meyering
60a7806d6e *** empty log message *** 2002-02-24 17:24:29 +00:00
Jim Meyering
e3fe486f9f Include posixver.h. 2002-02-24 17:24:06 +00:00
Jim Meyering
0142f9ed84 (DISTFILES.common): Add remove-potcdate.sin.
(.SUFFIXES): Add .sed and .sin.
(.sin.sed): New rule.
($(DOMAIN).pot-update): Depend on remove-potcdate.sed. If the old
POT file exists and the new POT file differs from it only in the
first POT-Creation-Date line, keep the old POT file. So the PO files
don't need to be remade, and automake's "distcheck" target succeeds.
(mostlyclean): Remove remove-potcdate.sed and additional temporary
files.
2002-02-23 09:16:44 +00:00
Jim Meyering
63d4f2d50b . 2002-02-23 09:16:02 +00:00
Jim Meyering
6a8f12175a *** empty log message *** 2002-02-23 09:15:45 +00:00
Jim Meyering
687ed33f94 . 2002-02-23 09:14:52 +00:00
Jim Meyering
39ae860d5b (simple_cat, cat, main): Used char * rather than
unsigned char *, to avoid some technical violations of the C
standard, and to avoid the need for casts.  I guess the
unsigned char * was probably there for improved performance
with ancient compilers, but the code wasn't using the
unsignedness any more.
Reported by Nelson H. F. Beebe.

(cat): int -> size_t for full_write arg.  This doesn't
fix any bugs since the buffer size is small, but it makes
the code a bit clearer.
2002-02-23 09:12:20 +00:00
Jim Meyering
8f0c48cf2f *** empty log message *** 2002-02-23 09:02:23 +00:00
Jim Meyering
a5d6352ca2 (xpath_concat): Reorder code to pacify
compilers that don't know that xalloc_die never returns.
2002-02-23 09:02:18 +00:00
Jim Meyering
1f8d1e1a94 *** empty log message *** 2002-02-20 16:09:14 +00:00
Jim Meyering
0d9dce8362 *** empty log message *** 2002-02-20 16:06:29 +00:00
Jim Meyering
69e2127485 Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(main): Use `posix2_version ()' in place of POSIX2_VERSION.
2002-02-20 16:06:20 +00:00
Jim Meyering
12756a214f *** empty log message *** 2002-02-19 20:41:18 +00:00
Jim Meyering
7ca2112fce (seq invocation): In the example, use "tail
-n 3", not "tail -3", to conform to POSIX 1003.1-2001.
2002-02-19 20:41:13 +00:00
Jim Meyering
b9bf7eada4 update due to modified mk-script 2002-02-18 12:41:49 +00:00
Jim Meyering
0692039ada . 2002-02-18 12:40:53 +00:00
Jim Meyering
edd622d994 *** empty log message *** 2002-02-18 12:39:48 +00:00
Jim Meyering
c53546aa7e *** empty log message *** 2002-02-18 12:39:42 +00:00
Jim Meyering
c58e076233 (test_vector): Rename tests of obsolete usage to have prefix of `obs'.
For tests matching /^obs/,
put _POSIX2_VERSION=199209 in the environment, so the tests succeed
even when the environment would have contained _POSIX2_VERSION=200112.
2002-02-18 12:39:19 +00:00
Jim Meyering
20f7083676 *** empty log message *** 2002-02-18 12:35:15 +00:00
Jim Meyering
ebf1beaf96 For tests matching /^(obs|err-[134])/,
put _POSIX2_VERSION=199209 in the environment, so the tests succeed
even when the environment would have contained _POSIX2_VERSION=200112.
2002-02-18 12:35:00 +00:00
Jim Meyering
42eb22a775 *** empty log message *** 2002-02-18 12:33:30 +00:00
Jim Meyering
68d442ddaf When getting input via a pipe, apply the
environment settings to the command in question, not to `cat'.
No longer allow more than one element in the
$Test::env or $Test::env_default arrays.  No one used that.
2002-02-18 12:33:11 +00:00
Jim Meyering
5e8ee3161d *** empty log message *** 2002-02-17 22:53:18 +00:00
Jim Meyering
3f570570fd Tell sort to accept old-style options. 2002-02-17 22:50:33 +00:00
Jim Meyering
4228c4b860 . 2002-02-17 22:48:54 +00:00
Jim Meyering
1b34d3edee Tell head to accept old-style options like `-1'. 2002-02-17 22:48:45 +00:00
Jim Meyering
94fcdc55eb *** empty log message *** 2002-02-17 22:39:51 +00:00
Jim Meyering
09eb7ebbca Tell head to accept old-style options like `-1'. 2002-02-17 22:39:47 +00:00
Jim Meyering
91564c12b0 *** empty log message *** 2002-02-17 21:47:43 +00:00
Jim Meyering
a261a6aa62 (tsort invocation): Add a more realistic example. 2002-02-17 21:47:35 +00:00
Jim Meyering
59ad795300 (tsort background): New section.
From Ian Lance Taylor.
2002-02-17 20:26:43 +00:00
Jim Meyering
3b118bfa86 . 2002-02-17 20:15:49 +00:00
Jim Meyering
9c5a25e176 . 2002-02-17 20:14:18 +00:00
Jim Meyering
525a872b3f *** empty log message *** 2002-02-17 20:13:45 +00:00
Jim Meyering
908d3853ac *** empty log message *** 2002-02-17 19:13:21 +00:00
Jim Meyering
2377fcd9a3 (wget_files): Reflect new location of these files. 2002-02-17 19:13:11 +00:00
Jim Meyering
5e55fec6e9 *** empty log message *** 2002-02-17 19:05:53 +00:00
Jim Meyering
28d582acd9 ($(DOMAIN).pot-update): Remove/replace the .pot
file only if the new one is different (modulo the creation date).
2002-02-17 16:20:39 +00:00
Jim Meyering
2b345f4a8d *** empty log message *** 2002-02-17 08:45:54 +00:00
Jim Meyering
49a3c7a82d Upgrade to gettext-0.11. 2002-02-16 14:59:31 +00:00
Jim Meyering
2202d97525 Upgrade to gettext-0.11. 2002-02-16 14:58:48 +00:00
Jim Meyering
83dcec4e43 Update to Gettext 0.11 2002-02-16 14:40:15 +00:00
Jim Meyering
ad61fd4133 Update to Gettext 0.11 2002-02-16 14:39:44 +00:00
Jim Meyering
9644fae0fd . 2002-02-16 14:39:34 +00:00
Jim Meyering
36dd24da90 renamed from doc/texinfo.tex 2002-02-16 14:27:18 +00:00
Jim Meyering
b79eab3aa6 renamed to config/texinfo.tex 2002-02-16 14:27:17 +00:00
Jim Meyering
c7f3f0fba9 renamed to config/mdate-sh 2002-02-16 14:26:57 +00:00
Jim Meyering
0bca413339 renamed from doc/mdate-sh 2002-02-16 14:26:57 +00:00
Jim Meyering
a714e6b4e5 renamed from mkinstalldirs 2002-02-16 14:23:56 +00:00
Jim Meyering
246ae48193 renamed from install-sh 2002-02-16 14:23:51 +00:00
Jim Meyering
96cb172817 renamed from missing 2002-02-16 14:23:46 +00:00
Jim Meyering
59c60442f3 renamed from depcomp 2002-02-16 14:23:41 +00:00
Jim Meyering
7408ba7d77 renamed from config.sub 2002-02-16 14:23:37 +00:00
Jim Meyering
8b7fb356cb renamed from config.guess 2002-02-16 14:23:31 +00:00
Jim Meyering
b164e8fd95 Update to Autoconf 2.52h. 2002-02-16 14:15:27 +00:00
Jim Meyering
8481ec72a8 Update to Gettext 0.11. 2002-02-16 14:10:17 +00:00
Jim Meyering
90e921d334 Update to Gettext 0.11. 2002-02-16 14:08:46 +00:00
Jim Meyering
f033fef4ce Add support for _POSIX2_VERSION, which lets you pick which POSIX
version you want the utilities to conform to.  Remove warnings about
failure to conform to a future POSIX version.

(ISO_8601_OPTION): Remove; no longer needed.
All uses changed to back to the corresponding short options.
(short_options): Remove; no longer needed.
(COMMON_SHORT_OPTIONS): New macro.

(usage): Document only the intersection of the
old and new behaviors, to encourage portability.
(main): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 09:04:30 +00:00
Jim Meyering
7513e6d4f4 Add support for _POSIX2_VERSION, which lets you pick which POSIX
version you want the utilities to conform to.  Remove warnings about
failure to conform to a future POSIX version.

(usage): Document only the intersection of the
old and new behaviors, to encourage portability.
(main): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 09:03:12 +00:00
Jim Meyering
361dda3c20 *** empty log message *** 2002-02-16 08:59:10 +00:00
Jim Meyering
44cfebcac7 *** empty log message *** 2002-02-16 08:58:20 +00:00
Jim Meyering
e2ae699ef5 Use head -n 150', not head -150'. 2002-02-16 08:55:56 +00:00
Jim Meyering
b2b2d44f20 *** empty log message *** 2002-02-16 08:55:02 +00:00
Jim Meyering
76272609c2 Use head -n 7', not head -7'. 2002-02-16 08:54:52 +00:00
Jim Meyering
ebce0d1dec . 2002-02-16 08:26:04 +00:00
Jim Meyering
21d2ed30b3 *** empty log message *** 2002-02-16 08:23:43 +00:00
Jim Meyering
7592628e48 (jm_PREREQ_POSIXVER): New macro.
(jm_PREREQ): Use it.
2002-02-16 08:23:10 +00:00
Jim Meyering
9fff44980c Document _POSIX2_VERSION. 2002-02-16 08:22:32 +00:00
Jim Meyering
5de5f30d9b *** empty log message *** 2002-02-16 08:21:44 +00:00
Jim Meyering
aa21da0560 fix typo 2002-02-16 08:20:34 +00:00
Jim Meyering
c1e20b738a Add support for _POSIX2_VERSION, which lets you pick which POSIX
version you want the utilities to conform to.  Remove warnings about
failure to conform to a future POSIX version.

* NEWS, doc/coreutils.texi: Document _POSIX2_VERSION.
* doc/coreutils.texi (Standards Conformance): New section.
2002-02-16 08:16:26 +00:00
Jim Meyering
981a7966e7 *** empty log message *** 2002-02-16 08:14:53 +00:00
Jim Meyering
cc98f8a745 (libfetish_a_SOURCES): Add posixver.c and posixver.h. 2002-02-16 08:14:09 +00:00
Jim Meyering
815c5a7a31 new file, from Paul Eggert 2002-02-16 08:13:08 +00:00
Jim Meyering
5c7becf8ca *** empty log message *** 2002-02-16 08:12:01 +00:00
Jim Meyering
b7bdf635da Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(shortopts): Remove; no longer needed.
(main): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 08:11:50 +00:00
Jim Meyering
1e6f7000ac Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(main, parse_obsolescent_option): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 08:10:10 +00:00
Jim Meyering
e1ce35d51f Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(shortopts): Remove; no longer needed.
(main): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 08:04:12 +00:00
Jim Meyering
12549a6db8 Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(shortopts): Remove; no longer needed.
(main): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 08:00:46 +00:00
Jim Meyering
3741aa834b (_POSIX2_VERSION, POSIX2_VERSION): Remove definitions.
(OPTARG_POSIX, OBSOLETE_OPTION_WARNINGS): Likewise.
2002-02-16 07:47:48 +00:00
Jim Meyering
e98b44e829 Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(short_options): Remove; no longer needed.
(COMMON_SHORT_OPTIONS): New macro.
(main): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 07:44:20 +00:00
Jim Meyering
9cb0d2f448 Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(short_options): Remove; no longer needed.
(COMMON_SHORT_OPTIONS): New macro.
(SEP_STRING_OPTION): Remove; no longer needed.
All uses changed to back to the corresponding short options.
(main): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 07:42:52 +00:00
Jim Meyering
8232744d27 Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(main): Revert to previous behavior, except report
an error and exit if the obsolete syntax is used and if conforming
to the new standard.
2002-02-16 07:39:17 +00:00
Jim Meyering
a5e2a85f07 Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(short_options): Remove; no longer needed.
(COMMON_SHORT_OPTIONS): New macro.
(STRINGS_OPTION, WIDTH_OPTION): Remove; no longer needed.
All uses changed to back to the corresponding short options.
(main): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 07:37:15 +00:00
Jim Meyering
1183723f25 Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(main): Revert to previous behavior, except report
an error and exit if the obsolete syntax is used and if conforming
to the new standard.
2002-02-16 07:31:27 +00:00
Jim Meyering
014c8f4a02 Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(shortopts): Remove; no longer needed.
(main): Revert to previous behavior, except report
an error and exit if the obsolete syntax is used and if conforming
to the new standard.
2002-02-16 07:29:18 +00:00
Jim Meyering
b042392540 . 2002-02-16 07:22:32 +00:00
Jim Meyering
7823d1aaed *** empty log message *** 2002-02-16 07:22:17 +00:00
Jim Meyering
f676dbef22 New test for change of 2002-02-05. 2002-02-16 07:22:09 +00:00
Jim Meyering
0798f9740f (TESTS): Add split-a. 2002-02-16 07:21:59 +00:00
Jim Meyering
80cb677ce9 Change 'split' to conform to POSIX. It now accepts an -a or
--suffix-length option, and refuses to generate more files
than there are suffixes.

Document this.
2002-02-15 15:22:32 +00:00
Jim Meyering
18a3d6a8aa from texinfo-4.0g 2002-02-15 09:10:54 +00:00
Jim Meyering
9e2f2e9f31 . 2002-02-13 13:59:39 +00:00
Jim Meyering
98ca17881b *** empty log message *** 2002-02-12 15:46:40 +00:00
Jim Meyering
d4e24746dc (DEFAULT_SUFFIX_LENGTH): Define constant.
(suffix_length): Use it here.
(usage): Use it here.
2002-02-12 15:46:34 +00:00
Jim Meyering
65cbf7d1fd Include "dirname.h".
(outbase): Now a global var.
(outfile_end): Remove.
(suffix_length): New var.
(shortopts, longopts, main): Add -a or --suffix-length.
(next_file_name): Implement -a.  Do not extend the suffix length.
Check for file names that are too long.
(main): Move outfile initialization to next_file_name.

(shortopts): Remove -v (a typo).
2002-02-12 15:44:16 +00:00
Jim Meyering
edcef60550 *** empty log message *** 2002-02-12 07:40:54 +00:00
Jim Meyering
3e7513f731 *** empty log message *** 2002-02-12 07:40:39 +00:00
Jim Meyering
2efda64d38 (main): Output warnings only if OBSOLETE_OPTION_WARNINGS. 2002-02-12 07:40:24 +00:00
Jim Meyering
e34b2d9108 . 2002-02-11 23:27:05 +00:00
Jim Meyering
bc4fb9c6f0 *** empty log message *** 2002-02-11 23:26:20 +00:00
Jim Meyering
a4376b2603 Add more support for POSIX 1003.1-2001, which requires removal
for support of obsolete "-DIGITS" option syntax in nice, and
which prohibits options with optional arguments like date's
-I option.

Document this.
2002-02-11 23:25:34 +00:00
Jim Meyering
28bcd77302 *** empty log message *** 2002-02-11 23:23:48 +00:00
Jim Meyering
6793260cdd (main): Conform to POSIX 1003.1-2001 if
POSIX2_VERSION says to, otherwise warn of obsolete usage if
OBSOLETE_OPTION_WARNINGS is nonzero and if not POSIXLY_CORRECT.
2002-02-11 23:23:42 +00:00
Jim Meyering
d614857d03 Add more support for POSIX 1003.1-2001, which requires removal
for support of obsolete "-DIGITS" option syntax in nice, and
which prohibits options with optional arguments like date's
-I option.

(ISO_8601_OPTION): New enum value.
(long_options): Use it.
(short_options): New constant.

(usage): Document the change.

(main): Conform to POSIX 1003.1-2001 if
POSIX2_VERSION says to, otherwise warn of obsolete usage if
OBSOLETE_OPTION_WARNINGS is nonzero and if not POSIXLY_CORRECT.
2002-02-11 22:58:59 +00:00
Jim Meyering
8abf13fa94 *** empty log message *** 2002-02-11 21:45:02 +00:00
Jim Meyering
154e260c9d (usage): Describe %F, %g, %G, %P, and %R. 2002-02-11 21:44:35 +00:00
Jim Meyering
1b7ac91429 Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.
2002-02-11 15:11:05 +00:00
Jim Meyering
bbc05d986e . 2002-02-11 15:04:51 +00:00
Jim Meyering
21b915db0f *** empty log message *** 2002-02-11 14:35:02 +00:00
Jim Meyering
c2fbf52745 Use tail -n +2', rather than tail +2'. 2002-02-11 14:34:49 +00:00
Jim Meyering
5c754a018b *** empty log message *** 2002-02-11 14:32:49 +00:00
Jim Meyering
821811d87f From Bruno Haible
(print_esc): Call print_unicode_char with exit_on_error = false.
2002-02-11 14:32:22 +00:00
Jim Meyering
57eace9a0f *** empty log message *** 2002-02-11 14:29:31 +00:00
Jim Meyering
afd24a90a3 2002-02-02 Paul Eggert <eggert@twinsun.com>
Bruno Haible  <bruno@clisp.org>

	* unicodeio.c (unicode_to_mb): New function, extracted from
	print_unicode_char. Call failure callback instead of error.
	(fwrite_success_callback): New function.
	(exit_failure_callback): New function.
	(fallback_failure_callback): New function.
	(print_unicode_char): Call unicode_to_mb.
2002-02-11 14:28:35 +00:00
Jim Meyering
395fbc0389 2002-02-02 Paul Eggert <eggert@twinsun.com>
Bruno Haible  <bruno@clisp.org>

	* unicodeio.c (unicode_to_mb): New function, extracted from
	print_unicode_char. Call failure callback instead of error.
	(fwrite_success_callback): New function.
	(exit_failure_callback): New function.
	(fallback_failure_callback): New function.
	(print_unicode_char): Call unicode_to_mb.
2002-02-11 14:28:09 +00:00
Jim Meyering
19d1db4624 . 2002-02-11 14:13:30 +00:00
Jim Meyering
f54a032ad1 *** empty log message *** 2002-02-11 11:00:55 +00:00
Jim Meyering
213d9a655f (TESTS): Add head-pos. 2002-02-11 11:00:46 +00:00
Jim Meyering
71447df741 *** empty log message *** 2002-02-11 11:00:10 +00:00
Jim Meyering
e44fbb95ea (head_lines): If we have read too much data, try
to seek back to the position we would have gotten to had we
been reading one byte at a time.  POSIX currently doesn't
require this, but it's easy to do and some software relies on it.
2002-02-11 11:00:00 +00:00
Jim Meyering
5ec71c5990 New file/test for the change of 2002-02-08. 2002-02-11 10:55:51 +00:00
Jim Meyering
f1587760e9 *** empty log message *** 2002-02-11 08:37:00 +00:00
Jim Meyering
78c4877776 *** empty log message *** 2002-02-11 08:35:10 +00:00
Jim Meyering
55a1f9d86b (unquote): Make comment a little clearer. 2002-02-11 08:34:47 +00:00
Jim Meyering
a759b38acf *** empty log message *** 2002-02-10 21:04:12 +00:00
Jim Meyering
04a5f2605f *** empty log message *** 2002-02-02 09:54:50 +00:00
Jim Meyering
7278cc2e51 (main): Prepend `warning: ' to the diagnostic, so it's
consistent with all of the other `... is obsolete...' diagnostics.
2002-02-02 09:54:38 +00:00
Jim Meyering
4166236b53 Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(usage): Document this.
(shortopts): New constant.
(main): Check for obsolete options.
2002-02-02 09:53:26 +00:00
Jim Meyering
1f6bad2b30 Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(usage): Document this.
(shortopts): New constant.
(main): Check for obsolete options.
2002-02-02 09:47:57 +00:00
Jim Meyering
3c25a62eb8 Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(usage): Document this.
(main): Check for obsolete options.
(shortopts): New constant.
(main): Use -1, not EOF, for getopt_long.
2002-02-02 09:40:50 +00:00
Jim Meyering
5e2bb11618 Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(main): Check for obsolete options.
(short_options): New constant.
2002-02-02 09:37:12 +00:00
Jim Meyering
44dc43bb3d *** empty log message *** 2002-02-02 09:35:52 +00:00
Jim Meyering
bf76cb368c Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(usage): Document it.
(main): Check for obsolete options.
(short_options): New constant.
(SEP_STRING_OPTION): New enum value.
(long_options): Use it.
2002-02-02 09:35:43 +00:00
Jim Meyering
c578654cad Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(usage): Document it.
(main): Check for obsolete options.
(short_options): New constant.
New enum for long options.
2002-02-02 09:31:09 +00:00
Jim Meyering
bf3a5672fb Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(usage): Document it.
(main): Check for obsolete options.
(header_mode_option): New constant.
2002-02-02 08:10:04 +00:00
Jim Meyering
f87b5cab0c Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(main): Check for obsolete options.
(main): Fix bug: -- -N was treated as -N --.
2002-02-02 07:58:50 +00:00
Jim Meyering
33f9d106bc Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(shortopts): New constant.
(main): Check for obsolete options.
2002-02-02 07:54:49 +00:00
Jim Meyering
793fbbc7f2 (OPTARG_POSIX, OBSOLETE_OPTION_WARNINGS): New macros. 2002-02-02 00:06:50 +00:00
Jim Meyering
20c2cd43a9 *** empty log message *** 2002-02-01 23:47:28 +00:00
Jim Meyering
546f26cbb3 * src/shred.c: (VERBOSE_UPDATE): Update every 5 seconds, not every 10.
(wipename): Quote file names only when necessary.
(main): Copy quoted string into malloc'd storage so it doesn't
get clobbered when using -u and --verbose.

Minor clean-up.
* src/shred.c:
Use `NULL' rather than `(time_t *) 0'.
(dopass): Use STREQ in place of strcmp.
Add parentheses around use of nested ternary operator.
2002-02-01 23:43:46 +00:00
Jim Meyering
a00579f70b (VERBOSE_UPDATE): Now counts seconds, not bytes.
(dopass): If verbose, output a line every VERBOSE_UPDATE seconds,
and suppress duplicate output lines.  Output a percentage as well
as a count of bytes.

Also, fix comment/code typo regarding how many bytes have been
written; this typo was harmless before, but is no longer harmless with
the above change in effect.
2002-02-01 23:34:57 +00:00
Jim Meyering
61d5f094fd (rm): Add a comment. 2002-02-01 23:30:23 +00:00
Jim Meyering
3e04fcdbb5 Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(parse_obsolescent_option, main): Likewise.
2002-02-01 16:31:55 +00:00
Jim Meyering
31cb36e88f (start_lines): Handle the case in which bytes_read is zero. 2002-02-01 09:12:50 +00:00
Jim Meyering
06506ceb4f *** empty log message *** 2002-01-28 13:51:22 +00:00
Jim Meyering
2c1c1dc64e (ac-check): Remove, now that we no longer have
to duplicate that information.
2002-01-28 13:50:50 +00:00
Jim Meyering
7db90444af *** empty log message *** 2002-01-28 10:10:33 +00:00
Jim Meyering
92747bfbc9 *** empty log message *** 2002-01-28 10:09:08 +00:00
Jim Meyering
467a80a588 *** empty log message *** 2002-01-28 10:08:38 +00:00
Jim Meyering
2d34812b74 *** empty log message *** 2002-01-28 06:30:41 +00:00
Jim Meyering
874d77f17f *** empty log message *** 2002-01-27 07:53:45 +00:00
Jim Meyering
662fff7861 tail -n +2 would perform an extra read after encountering EOF
(start_lines): Detect EOF, inform caller.
(tail_lines): Upon EOF in start_lines, return immediately.
2002-01-27 07:53:37 +00:00
Jim Meyering
2852c1c0a1 split a long line 2002-01-26 22:04:00 +00:00
Jim Meyering
bae9a65da4 . 2002-01-26 19:03:43 +00:00
Jim Meyering
a08c6469be (jm_MACROS): Require autoconf-2.52g. 2002-01-26 19:03:23 +00:00
Jim Meyering
c99c6c304a . 2002-01-26 09:56:05 +00:00
Jim Meyering
6cf1df86a5 *** empty log message *** 2002-01-26 09:55:15 +00:00
Jim Meyering
b2d18ac8f5 (getdate$U.o): Depend on unlocked-io.h. 2002-01-26 09:55:02 +00:00
Jim Meyering
1c3fa0f99e *** empty log message *** 2002-01-24 09:14:52 +00:00
Jim Meyering
5d9ed2d7bc (START-INFO-DIR-ENTRY): Remove a few entries
and clean up a few others based on suggestions from Bob Proulx.
2002-01-24 09:14:45 +00:00
Jim Meyering
97d18a1d85 *** empty log message *** 2002-01-22 18:16:06 +00:00
Jim Meyering
7e37a5e5e1 (skip): Remove redundant check for overflow.
fseeko's seek argument is already known to be in range,
since it is less than the file size.
2002-01-22 18:15:57 +00:00
Jim Meyering
d283021a71 (save_stdin): Report proper errno value after
fwrite failures.  Do not bother to rewind the temp file, as
it'll be read backwards anyway.
2002-01-22 17:50:41 +00:00
Jim Meyering
0e4a77847a . 2002-01-22 12:00:00 +00:00
Jim Meyering
bc3afd9b46 *** empty log message *** 2002-01-22 11:59:20 +00:00
Jim Meyering
fb92d24736 (Makefile): Don't depend on $(BUILT_SOURCES).
Otherwise, some versions of automake would omit the rule that makes
Makefile from Makefile.in.
2002-01-22 11:59:11 +00:00
Jim Meyering
c00f96b198 . 2002-01-22 11:58:36 +00:00
Jim Meyering
7a50bc0dff header-check: fix it yet again 2002-01-22 11:22:03 +00:00
Jim Meyering
31a6a88517 (header-check): Add `&& :'. 2002-01-22 11:13:50 +00:00
Jim Meyering
78ebc8e8d5 *** empty log message *** 2002-01-22 11:12:00 +00:00
Jim Meyering
e053850b61 *** empty log message *** 2002-01-22 11:11:22 +00:00
Jim Meyering
aa247b62b3 . 2002-01-22 11:03:33 +00:00
Jim Meyering
c31e5c3ca5 update copyright year 2002-01-22 11:02:31 +00:00
Jim Meyering
3da062869b (swallow_file_in_memory): Work even if `open' returns 0.
Check for `close' error.
2002-01-22 10:51:53 +00:00
Jim Meyering
f8053809f8 remove the parens I just added to Paul's patch 2002-01-22 10:47:14 +00:00
Jim Meyering
ef95b3233e (EOVERFLOW, fseeko): New macros. 2002-01-22 10:46:05 +00:00
Jim Meyering
437d89a151 (skip): Use fseeko rather than lseek.
(Also, check for overflow when converting uintmax_t to off_t.)
2002-01-22 10:44:13 +00:00
Jim Meyering
2b1c83e4e2 *** empty log message *** 2002-01-22 10:34:49 +00:00
Jim Meyering
e4407b754b (jm_MACROS): Require AC_FUNC_FSEEKO. 2002-01-22 10:34:43 +00:00
Jim Meyering
f2c93707b4 . 2002-01-22 09:53:13 +00:00
Jim Meyering
5713380d80 . 2002-01-22 08:14:46 +00:00
Jim Meyering
ff9ea9b139 *** empty log message *** 2002-01-22 08:13:00 +00:00
Jim Meyering
026c2017b1 Include xmemcoll.h, not memcoll.h.
Use xmemcoll instead of memcoll.

(die): Do not invoke cleanup; atexit does this now.
(main): Use atexit to invoke cleanup on exit.
Set xmemcoll_exit_failure to SORT_FAILURE.
2002-01-22 08:12:51 +00:00
Jim Meyering
64eb355c76 Include xmemcoll.h, not memcoll.h.
Use xmemcoll instead of memcoll.
2002-01-22 08:11:04 +00:00
Jim Meyering
023877ac27 *** empty log message *** 2002-01-22 08:04:03 +00:00
Jim Meyering
cc6668c3e7 (libfetish_a_SOURCES): Add them. 2002-01-22 08:03:54 +00:00
Jim Meyering
ecf261bb6e *** empty log message *** 2002-01-22 08:02:55 +00:00
Jim Meyering
3de8f89388 (quotearg_n_style_mem): New function. 2002-01-22 08:02:43 +00:00
Jim Meyering
1495a99781 (quotearg_buffer_restyled):
Fix bug with quoting buffers containing NUL when backslashing escapes.
This bug was exposed by the other changes in this patch.
(quotearg_n_options): New arg ARGSIZE.
All callers changed.
(quoting_options_from_style): New function.
(quotearg_n_style): Use it.
(quotearg_n_style_mem): New function.
2002-01-22 08:02:22 +00:00
Jim Meyering
80e8506f75 Include errno.h, and declare errno if not defined.
(memcoll): Set errno to zero if there is no error.
2002-01-22 07:56:44 +00:00
Jim Meyering
bb1f5171c4 *** empty log message *** 2002-01-21 23:33:51 +00:00
Jim Meyering
5883167774 *** empty log message *** 2002-01-21 22:02:35 +00:00
Jim Meyering
2d1ec93821 (CMP_WITH_IGNORE): Don't assume that the difference
between two size_t values can be stored in an int; this doesn't
work, for example, on 64-bit Solaris.
2002-01-21 22:02:28 +00:00
Jim Meyering
012945ff54 (keycmp): Don't assume that the difference between two size_t values can be
stored in an int; this doesn't work, for example, on 64-bit Solaris.

Also, fix the type of two locals to be size_t instead of int.
2002-01-21 22:01:58 +00:00
Jim Meyering
0199f37303 (compare_files): Don't assume that the difference
between two size_t values can be stored in an int; this doesn't
work, for example, on 64-bit Solaris.
2002-01-21 22:00:32 +00:00
Jim Meyering
8ecf5f402d *** empty log message *** 2002-01-21 20:04:08 +00:00
Jim Meyering
81e204a3e7 (header-check): New rule.
(local-check): Add header-check.
2002-01-21 20:03:59 +00:00
Jim Meyering
ccfd76fbc8 (strftime-check): New rule.
(local-check): Convert this target to a list.  Update uses.
Mark them as .PHONY.
2002-01-21 19:57:53 +00:00
Jim Meyering
0957ccf367 *** empty log message *** 2002-01-21 19:53:45 +00:00
Jim Meyering
3ca688d69a Don't include "xalloc.h", as system.h already does that via sys2.h. 2002-01-21 19:53:23 +00:00
Jim Meyering
885956355c *** empty log message *** 2002-01-21 19:52:06 +00:00
Jim Meyering
e6345ecb09 Don't include "xalloc.h", as system.h already does that via sys2.h. 2002-01-21 19:51:31 +00:00
Jim Meyering
758e7f409f Don't include "xalloc.h", as system.h already does that via sys2.h. 2002-01-21 19:50:50 +00:00
Jim Meyering
945532de66 Don't include "xalloc.h", as system.h already does that via sys2.h. 2002-01-21 19:50:28 +00:00
Jim Meyering
54bf872aab *** empty log message *** 2002-01-21 19:49:58 +00:00
Jim Meyering
ee6911b745 Don't include "xalloc.h", as system.h already does that via sys2.h. 2002-01-21 19:49:51 +00:00
Jim Meyering
c5c6647f22 Don't include "xalloc.h", as system.h already does that via sys2.h. 2002-01-21 19:49:24 +00:00
Jim Meyering
72d40f6724 Avoid undefined behavior when strcoll fails,
by resorting the directory with strcmp instead.

Include <setjmp.h>.
Include "quote.h".
(compare_atime, rev_cmp_atime, compare_ctime, rev_cmp_ctime,
compare_mtime, rev_cmp_mtime, compare_size, rev_comp_size,
compare_name, rev_cmp_name, compare_extension, rev_cmp_extension,
compare_version, rev_compare_version): Move before use, so that
we can remove the forward declaration.  Reimplement in terms of
the new functions described below, using xstrcoll instead of strcoll.
(failed_strcoll): New var.
(xstrcoll): New function.
(V): New type.
(cmp_ctime, compstr_ctime, rev_str_ctime): New functions.
(cmp_mtime, compstr_mtime, rev_str_mtime): Likewise.
(cmp_atime, compstr_atime, rev_str_atime): Likewise.
(cmp_size, compstr_size, rev_str_size): Likewise.
(cmp_version): Likewise.
(cmp_name, compstr_name, rev_str_name): Likewise.
(cmp_extension, compstr_extension, rev_str_extension): Likewise.
(sort_files): Use prototype for internal function var.
If the strcoll-based comparison fails, fall back on a strcmp-based one.
2002-01-20 20:44:49 +00:00
Jim Meyering
99f7bd761f *** empty log message *** 2002-01-20 08:22:12 +00:00
Jim Meyering
325addae1d Ensure that the two version numbers in configure.ac remain in sync.
(local-check): Depend on ac-check.
(ac_p_pkg, AC_INIT_PKG): Define.
(ac_p_ver, AC_INIT_VER): Define.
(ac-check): New rule.
2002-01-19 00:12:30 +00:00
Jim Meyering
4e69204179 . 2002-01-19 00:07:20 +00:00
Jim Meyering
c7b097f904 *** empty log message *** 2002-01-19 00:03:42 +00:00
Jim Meyering
8723a1eaae *** empty log message *** 2002-01-19 00:02:48 +00:00
Jim Meyering
fe680fd860 *** empty log message *** 2002-01-18 23:59:25 +00:00
Jim Meyering
2bd66cf7fc . 2002-01-18 23:56:59 +00:00
Jim Meyering
8e7e29d1de . 2002-01-18 23:56:32 +00:00
Jim Meyering
96efa91b23 . 2002-01-18 23:50:03 +00:00
Jim Meyering
ea2703dd8c *** empty log message *** 2002-01-18 23:47:33 +00:00
Jim Meyering
009e3b99cf *** empty log message *** 2002-01-18 23:47:13 +00:00
Jim Meyering
10b3363e2e (jm_MACROS): Use AC_FUNC_STRNLEN.
Remove useless quotes: DF_PROG="df".
2002-01-18 23:43:38 +00:00
Jim Meyering
c8aa23a9cc (main): Issue a warning for obsolete usage, unless POSIXLY_CORRECT. 2002-01-18 23:40:06 +00:00
Jim Meyering
8a755a3d27 (parse_obsolescent_option): Issue a warning for obsolete usage,
unless POSIXLY_CORRECT.
2002-01-18 23:39:37 +00:00
Jim Meyering
36a16de45c (main): Issue a warning for obsolete usage, unless POSIXLY_CORRECT. 2002-01-18 23:39:06 +00:00
Jim Meyering
6e2ffd49b1 tweak copyright line 2002-01-18 23:36:00 +00:00
Jim Meyering
2abefb14eb *** empty log message *** 2002-01-18 19:51:04 +00:00
Jim Meyering
e2c1c2e529 Add these tests:
tr '[==]' x
tr '[::]' x
they should fail, not get a failed assertion.
2002-01-18 19:50:28 +00:00
Jim Meyering
067c2ea921 Fix tr so it no longer gets a failed assertion for [::] or [==].
(xmemdup): Rename from `substr' and rewrite to
take only pointer/length parameters.
(build_spec_list): Update sole caller.
Properly diagnose the invalid specs [::] and [==].
Pawel Prokop reported that `tr [::] _' elicits a failed assertion.
2002-01-18 19:18:07 +00:00
Jim Meyering
e91fe759ec *** empty log message *** 2002-01-18 19:16:03 +00:00
Jim Meyering
37d0d50168 *** empty log message *** 2002-01-18 19:13:27 +00:00
Jim Meyering
6f46b8dd99 . 2002-01-18 15:40:54 +00:00
Jim Meyering
1f2f9be7f8 (main): Issue a warning for obsolete usage, unless POSIXLY_CORRECT. 2002-01-18 15:36:23 +00:00
Jim Meyering
96400fcda4 . 2002-01-16 23:33:48 +00:00
Jim Meyering
4ff8979277 *** empty log message *** 2002-01-16 23:32:01 +00:00
Jim Meyering
3e9354e7f7 Add support for POSIX 1003.1-2001, which requires removal for
support of the obsolete `touch [-acm] MMDDhhmm[YY] FILE...' syntax.

Document this.
2002-01-16 23:31:51 +00:00
Jim Meyering
42e25937cf *** empty log message *** 2002-01-16 23:31:33 +00:00
Jim Meyering
1701230f32 Add support for POSIX 1003.1-2001, which requires removal for
support of the obsolete `touch [-acm] MMDDhhmm[YY] FILE...' syntax.
(usage, main): Implement this.
2002-01-16 23:31:14 +00:00
Jim Meyering
68bd369ece *** empty log message *** 2002-01-16 23:14:24 +00:00
Jim Meyering
358a274042 Add support for POSIX 1003.1-2001, which requires removal for
support of obsolete "+" option syntax in sort, tail, and uniq.
* doc/coreutils.texi: Document this.  (Also, document a similar
change to "touch", for fileutils).
2002-01-16 23:13:49 +00:00
Jim Meyering
2f8c0a3131 (ISDIGIT, S_ISVTX, S_IXUGO): Comment fix. 2002-01-16 23:04:06 +00:00
Jim Meyering
9b0e6e4b56 *** empty log message *** 2002-01-16 23:02:37 +00:00
Jim Meyering
2302cc643b (_POSIX2_VERSION, POSIX2_VERSION): New macros. 2002-01-16 23:02:28 +00:00
Jim Meyering
f29617e3fe add 2002 to Copyright line 2002-01-16 23:01:04 +00:00
Jim Meyering
485d699baf tweak comment 2002-01-16 23:00:10 +00:00
Jim Meyering
a5bda3260c add 2002 to Copyright line 2002-01-16 22:59:27 +00:00
Jim Meyering
b5b50f46ea Add support for POSIX 1003.1-2001, which requires removal for
support of obsolete "+" option syntax in sort, tail, and uniq.

(usage, main): Implement this.
2002-01-16 22:59:14 +00:00
Jim Meyering
0037e217df add 2002 to Copyright line 2002-01-16 22:56:54 +00:00
Jim Meyering
2bea3939c6 Add support for POSIX 1003.1-2001, which requires removal for
support of obsolete "+" option syntax in sort, tail, and uniq.

(usage, main): Implement this.
2002-01-16 22:56:33 +00:00
Jim Meyering
65562d99c3 Add support for POSIX 1003.1-2001, which requires removal for
support of obsolete "+" option syntax in sort, tail, and uniq.

(usage, parse_obsolescent_option): Implement the above.
2002-01-16 22:53:00 +00:00
Jim Meyering
f199c753eb *** empty log message *** 2002-01-16 22:46:26 +00:00
Jim Meyering
af0225072d (ISDIGIT): Comment fix.
add 2002 to Copyright line
2002-01-16 22:44:43 +00:00
Jim Meyering
d85702e334 add 2002 to Copyright line 2002-01-16 22:43:41 +00:00
Jim Meyering
b4012f613a add 2002 to Copyright line 2002-01-16 22:38:26 +00:00
Jim Meyering
bc3a5c4e5f add 2002 to Copyright line 2002-01-16 22:38:04 +00:00
Jim Meyering
fe734b9b2d (ISDIGIT): Comment fix. 2002-01-16 22:37:35 +00:00
Jim Meyering
d298aab8a2 (ISDIGIT): Comment fix. 2002-01-16 22:36:52 +00:00
Jim Meyering
87ca587534 *** empty log message *** 2002-01-16 22:34:07 +00:00
Jim Meyering
aafbc6e7fc (ISDIGIT): Comment fix.
Add three semicolons, each just before a closing brace.
Bison (as of version 1.31) no longer papers over that mistake.
2002-01-16 22:33:58 +00:00
Jim Meyering
8efbf4f961 . 2002-01-16 10:01:52 +00:00
Jim Meyering
9e19c0c5cd *** empty log message *** 2002-01-14 18:52:15 +00:00
Jim Meyering
9b2c2ebb79 . 2002-01-14 09:58:35 +00:00
Jim Meyering
9f9d6f6c31 Comment fixes to bring us up to date with respect to POSIX 1003.1-2001.
In particular, POSIX.2 is now obsolete.
2002-01-14 09:58:19 +00:00
Jim Meyering
e73a9ed54d Comment fixes to bring us up to date with respect to POSIX 1003.1-2001.
In particular, POSIX.2 is now obsolete.
2002-01-14 09:56:49 +00:00
Jim Meyering
84f8fd1af6 Comment fixes to bring us up to date with respect to POSIX 1003.1-2001.
In particular, POSIX.2 is now obsolete.
2002-01-14 09:56:28 +00:00
Jim Meyering
15e112e97b *** empty log message *** 2002-01-14 08:53:49 +00:00
Jim Meyering
37d93402d2 (TESTS): Add sort.
(TESTS_ENVIRONMENT): Add PROG=$$tst.  This is a gross kludge
that depends on the name of an automake-generated local variable.
2002-01-14 08:53:25 +00:00
Jim Meyering
b00199bd9b *** empty log message *** 2002-01-14 08:52:45 +00:00
Jim Meyering
98ad587709 (mergefps): Fix bug when eliminating empty files. 2002-01-14 08:36:48 +00:00
Jim Meyering
5d1f26b8e5 . 2002-01-13 19:54:12 +00:00
Jim Meyering
dd3d3d7226 *** empty log message *** 2002-01-13 19:44:32 +00:00
Jim Meyering
fe42846981 *** empty log message *** 2002-01-13 09:33:37 +00:00
Jim Meyering
a907e0806e Tweak to work with the programs in diffutils. 2002-01-13 09:33:32 +00:00
Jim Meyering
4705104cfa . 2002-01-12 22:33:09 +00:00
Jim Meyering
706fae60a3 . 2002-01-12 22:32:46 +00:00
Jim Meyering
9aec59b45a *** empty log message *** 2002-01-12 22:32:09 +00:00
Jim Meyering
3fcb933b8c *** empty log message *** 2002-01-12 22:30:02 +00:00
Jim Meyering
50c1199e09 (copy_reg): Don't treat errno==ENOENT as a special case.
(same_file_ok): Detect a case that would have lead to the errno==ENOENT
condition above (and a misleading diagnostic), and return 0 so we give
a diagnostic about the source and destination being the same file.
(copy_internal): Use an explicit test for errno==EXDEV to detect
that rename has failed because source and destination are on
different devices.  This reverts part of a change from 1997-12-13,
and is to avoid letting a race condition evoke a bogus diagnostic.
Note that while POSIX has encouraged the errno==EXDEV test for
years, it was inadequate back in 1997.	I'm hoping that many
more systems have conforming support these days.
Reported by Michael Gaughen <mgaughen@polyserve.com>
2002-01-12 22:29:55 +00:00
Jim Meyering
5ce160d64c *** empty log message *** 2002-01-12 22:19:06 +00:00
Jim Meyering
30c0861e98 *** empty log message *** 2002-01-12 09:14:08 +00:00
Jim Meyering
6d5707dfa6 (shred invocation): List some journaled filesystems. 2002-01-12 09:13:31 +00:00
Jim Meyering
fca9e007c6 (usage): Also mention Ext3. 2002-01-12 09:12:13 +00:00
Jim Meyering
75ecfa15f1 s/the the/the/ in a comment 2002-01-12 08:48:08 +00:00
Jim Meyering
e3cc4f6bc8 *** empty log message *** 2002-01-09 18:11:35 +00:00
Jim Meyering
d851ca7056 *** empty log message *** 2002-01-08 21:51:25 +00:00
Jim Meyering
4471d9eb05 (long_time_format): Extended translator comments. 2002-01-08 21:51:14 +00:00
Jim Meyering
39b517459f update from master 2002-01-06 09:34:09 +00:00
Jim Meyering
d4eb26affa *** empty log message *** 2002-01-05 21:13:34 +00:00
Jim Meyering
fc9f72abca (version_etc_copyright): Update copyright year. 2002-01-05 21:13:29 +00:00
Jim Meyering
cec759ed61 *** empty log message *** 2002-01-05 20:38:36 +00:00
Jim Meyering
9d4fa35a77 . 2002-01-05 20:11:34 +00:00
Jim Meyering
66be6a1689 *** empty log message *** 2002-01-05 20:11:05 +00:00
Jim Meyering
aaa4c7445b add another test 2002-01-05 20:10:44 +00:00
Jim Meyering
4d18918a3a *** empty log message *** 2002-01-05 19:18:02 +00:00
Jim Meyering
26802588fa (install-data-yes, uninstall-data-yes):
Install the LC_TIME locale category as an alias for LC_MESSAGES.
This fixes a bug introduced in the 2001-09-22 upgrade to gettext 0.10.40.
2002-01-02 19:59:44 +00:00
Jim Meyering
d8a4f42f8c . 2001-12-31 07:56:43 +00:00
Jim Meyering
638f87f1bd *** empty log message *** 2001-12-29 23:01:15 +00:00
Jim Meyering
521f68c0a5 *** empty log message *** 2001-12-29 22:59:09 +00:00
Jim Meyering
c672e2892b (main): With -r, always dereference symlinks. 2001-12-29 22:58:40 +00:00
Jim Meyering
27d553aad2 *** empty log message *** 2001-12-29 22:55:43 +00:00
Jim Meyering
d04627589e . 2001-12-29 22:55:17 +00:00
Jim Meyering
9782cef803 *** empty log message *** 2001-12-29 22:53:38 +00:00
Jim Meyering
88429654db (TESTS): Add r-vs-symlink. 2001-12-29 22:53:09 +00:00
Jim Meyering
b9ca7077bb . 2001-12-28 08:08:15 +00:00
Jim Meyering
f5bf6fe980 Use notation compatible with SI and with IEC 60027-2.
For example, --block-size=1MB now means --block-size=1000000,
whereas --block-size=1MiB now means --block-size=1048576.
A trailing `B' now means decimal, not binary; this is a silent change.
-H or --si now outputs the trailing 'B', for consistency with this.
Programs now output trailing 'K' (not 'k') to mean 1024.
New df, du short option -B is short for --block-size.
You can omit an integer `1' before a block size suffix,
e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'.

Document the above.  Remove documentation
for obsolescent constructs MD, --kilobytes, -m or --megabytes.
2001-12-21 11:54:04 +00:00
Jim Meyering
9db9190cd4 *** empty log message *** 2001-12-21 11:40:55 +00:00
Jim Meyering
df5fb23be1 *** empty log message *** 2001-12-21 11:39:22 +00:00
Jim Meyering
9b9c6a8565 [!HAVE_CONFIG_H]: Remove block of code that duplicated
code in lib/ for compiling this program without config.h.
2001-12-21 11:39:02 +00:00
Jim Meyering
51a3adcefa (usage): Deprecate --kilobytes. Document size suffixes. 2001-12-21 11:36:35 +00:00
Jim Meyering
d1772031ee (BLOCK_SIZE_OPTION): Remove; no longer needed now that we have 'B'.
(long_options, usage, main): Add -B.
(usage): Deprecate --kilobytes, -m, --megabytes.
Document size suffixes.

(print_header, show_dev): Enlarge column widths for trailing "B".
2001-12-21 11:35:54 +00:00
Jim Meyering
309253682d (BLOCK_SIZE_OPTION): Remove; no longer needed now that we have 'B'.
(long_options, usage, main): Add -B.
(usage): Deprecate --kilobytes, -m, --megabytes.
Document size suffixes.
2001-12-21 11:31:54 +00:00
Jim Meyering
b34d965da0 (usage, parse_integer): Prefer K to k for 1024. 2001-12-21 11:28:34 +00:00
Jim Meyering
b9676dd73d *** empty log message *** 2001-12-20 16:54:24 +00:00
Jim Meyering
de9ef8a7a7 *** empty log message *** 2001-12-20 16:53:56 +00:00
Jim Meyering
3c20276087 (usage, specify_sort_size): Accept 'K' (which is
now preferred, as it connotes 1024) as well as 'k'.
2001-12-20 16:53:50 +00:00
Jim Meyering
174e9df9c1 *** empty log message *** 2001-12-20 10:01:41 +00:00
Jim Meyering
8d83abaf89 (close_stdout_status): If ferror (stdout), do
not silently exit merely because the output buffer happens to
have nothing pending.
2001-12-20 10:01:25 +00:00
Jim Meyering
82a83f3743 *** empty log message *** 2001-12-19 18:10:46 +00:00
Jim Meyering
0b6b9b5195 Add FSF copyright notice. 2001-12-19 18:10:24 +00:00
Jim Meyering
ae3295706e *** empty log message *** 2001-12-19 15:07:13 +00:00
Jim Meyering
79a8c33f6d *** empty log message *** 2001-12-19 15:05:38 +00:00
Jim Meyering
44dcbba28a (suffixes): Prefer K to k for 1024.
(generate_suffix_backwards): New function.
(human_readable_inexact): Use it.
2001-12-19 15:05:33 +00:00
Jim Meyering
f0ed17134a (__xstrtol): If there is no number but there
is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
Accept 'K' as well as 'k'.
2001-12-19 10:41:27 +00:00
Jim Meyering
1cc94659ad (xstrtoumax): If there is no number but there
is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
Accept 'K' as well as 'k'.
2001-12-19 10:35:39 +00:00
Jim Meyering
4ee49675d3 *** empty log message *** 2001-12-17 19:45:12 +00:00
Jim Meyering
2fcddf2514 (usage): Remove strap `)' in --help output. 2001-12-17 19:45:03 +00:00
Jim Meyering
450dbb37c2 *** empty log message *** 2001-12-17 09:09:05 +00:00
Jim Meyering
42ee53e9ba *** empty log message *** 2001-12-17 09:08:39 +00:00
Jim Meyering
2a9c589d4d *** empty log message *** 2001-12-17 09:07:22 +00:00
Jim Meyering
4efee8b478 (url_dir_list): Don't set define it here, but... 2001-12-17 09:06:56 +00:00
Jim Meyering
6e5e7b7179 (url_dir_list): ...define it here instead.
(hosts, a_host, b_host): Remove now-unused variables.
(alpha_subdir, a_url_dir, b_url_dir): Remove now-unused variables.
2001-12-17 09:06:33 +00:00
Jim Meyering
a580a5e647 (real_dir): Remove unused variable. 2001-12-17 09:01:08 +00:00
Jim Meyering
d63b8caa5c use generated fs_name function 2001-12-16 22:59:07 +00:00
Jim Meyering
2fae9e5d26 Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION
instead of hard-coding --help and --version descriptions.
Split --help output into smaller pieces.
Use fputs, not printf.
2001-12-15 20:46:30 +00:00
Jim Meyering
9be58099c4 *** empty log message *** 2001-12-15 20:46:00 +00:00
Jim Meyering
49db4dd32c *** empty log message *** 2001-12-15 16:59:00 +00:00
Jim Meyering
c6be028a84 (STREQ): Define. 2001-12-15 16:58:53 +00:00
Jim Meyering
e92b78f873 (__restrict_arr): Update from libc. 2001-12-15 16:57:15 +00:00
Jim Meyering
83c58cadbc from Marcus Brinkmann 2001-12-15 16:45:38 +00:00
Jim Meyering
c3d224580c *** empty log message *** 2001-12-15 10:38:55 +00:00
Jim Meyering
894cb43a58 *** empty log message *** 2001-12-15 10:37:11 +00:00
Jim Meyering
d063f15ca1 (ME_REMOTE): Recognize file systems of type smbfs
as `remote' if the name starts with `//'.
2001-12-15 10:36:58 +00:00
Jim Meyering
7e03c96656 *** empty log message *** 2001-12-15 09:29:14 +00:00
Jim Meyering
ae66a6b2b0 Also accept SunOS4's `Not owner' diagnostic. 2001-12-15 09:28:50 +00:00
Jim Meyering
686562b5a7 Run each --help and --version test with a few different settings
of LC_MESSAGES.
2001-12-15 09:14:21 +00:00
Jim Meyering
b094fe9daa Fail also if ./$i --version fails. 2001-12-15 09:07:18 +00:00
Jim Meyering
16a1aff95a *** empty log message *** 2001-12-14 11:21:13 +00:00
Jim Meyering
7f892add00 (jm_MACROS): Check for iswspace.
Suggestion from Bruno Haible.
2001-12-14 11:21:04 +00:00
Jim Meyering
a9f5b7cff2 *** empty log message *** 2001-12-13 11:17:49 +00:00
Jim Meyering
6b1cbebf24 *** empty log message *** 2001-12-13 11:12:35 +00:00
Jim Meyering
fc0b04b093 *** empty log message *** 2001-12-13 11:12:23 +00:00
Jim Meyering
8471372f24 (wc): Use ISSPACE and iswspace in addition to hard-coding
the ASCII space character.
2001-12-13 11:12:18 +00:00
Jim Meyering
80f17f22f2 *** empty log message *** 2001-12-11 11:51:17 +00:00
Jim Meyering
098bfeea80 (main):
Include the word `fail' in some diagnostics to make it clearer
that they indicate a failure.
s/getting attributes/failed to get attributes/
2001-12-11 11:49:36 +00:00
Jim Meyering
0ef9bacdc7 split long line 2001-12-11 11:49:14 +00:00
Jim Meyering
879adb17cc (change_file_mode, main):
Include the word `fail' in some diagnostics to make it clearer
that they indicate a failure.
s/getting attributes/failed to get attributes/
2001-12-11 11:48:54 +00:00
Jim Meyering
92c8fc20fb (change_file_owner):
Include the word `fail' in some diagnostics to make it clearer
that they indicate a failure.
s/getting attributes/failed to get attributes/
2001-12-11 11:48:21 +00:00
Jim Meyering
47a2e7569c (main):
Include the word `fail' in some diagnostics to make it clearer
that they indicate a failure.
s/getting attributes/failed to get attributes/
2001-12-11 11:47:54 +00:00
Jim Meyering
d5654c49bd (re_protect):
Include the word `fail' in some diagnostics to make it clearer
that they indicate a failure.
s/getting attributes/failed to get attributes/
2001-12-11 11:47:25 +00:00
Jim Meyering
a6a92722ff Include the word `fail' in some diagnostics to make it clearer
that they indicate a failure.
s/getting attributes/failed to get attributes/
2001-12-11 11:46:49 +00:00
Jim Meyering
f5a1b61888 *** empty log message *** 2001-12-11 11:41:15 +00:00
Jim Meyering
24d1484e1c (buggy_lseek_support): Remove function.
(skip_via_lseek) [__linux__]: New function.
(skip): Use skip_via_lseek, not buggy_lseek_support.
2001-12-11 11:40:50 +00:00
Jim Meyering
efc6e85c74 . 2001-12-10 00:17:05 +00:00
Jim Meyering
a988aefd03 Remove explicit declarations of xmalloc and xrealloc,
Instead, include "xalloc.h".
(initbuffer): Don't cast xmalloc return value to char*.
(readline): Reword comment.
Don't cast xrealloc return value to char*
Return NULL, not 0.
2001-12-10 00:13:36 +00:00
Jim Meyering
a49772f23b *** empty log message *** 2001-12-09 22:57:15 +00:00
Jim Meyering
ea1f6ec04b *** empty log message *** 2001-12-09 22:56:52 +00:00
Jim Meyering
0b072ba82c (posix_time_parse): Add cast to avoid warning about
`signed and unsigned type in conditional expression'.
2001-12-09 22:56:16 +00:00
Jim Meyering
0928d79889 (mode_compile): Add cast to avoid warning about
`signed and unsigned type in conditional expression'.
2001-12-09 22:54:19 +00:00
Jim Meyering
6994cb9650 (xreadlink): Add cast to avoid a warning. 2001-12-09 22:46:53 +00:00
Jim Meyering
5b34b167f9 (readtoken): Declare an index to be of type unsigned
to avoid a pedantic warning.
2001-12-09 22:39:02 +00:00
Jim Meyering
923091ff96 Don't include assert.h.
(getstr): Remove warning-evoking assertions.
Return -1 if offset parameter is out of bounds.
Change the type of a local from int to size_t.
2001-12-09 22:08:19 +00:00
Jim Meyering
26061de96f (my_strftime_localtime_r): Include this function
definition in the `#if ! HAVE_TM_GMTOFF' block.
2001-12-09 21:02:43 +00:00
Jim Meyering
102ad5c8ff *** empty log message *** 2001-12-09 21:01:23 +00:00
Jim Meyering
bb0d2464f8 Remove declarations of xmalloc and xrealloc.
Include xalloc.h instead.
2001-12-09 21:01:15 +00:00
Jim Meyering
2de5b90948 *** empty log message *** 2001-12-09 10:27:44 +00:00
Jim Meyering
d85b445409 *** empty log message *** 2001-12-08 20:44:05 +00:00
Jim Meyering
707c2dc263 *** empty log message *** 2001-12-08 20:42:13 +00:00
Jim Meyering
7f8213c31e *** empty log message *** 2001-12-08 20:41:53 +00:00
Jim Meyering
e1958d172e (wget_files): Remove ansi2knr.c, since it's
no longer available at that location.
2001-12-08 20:41:46 +00:00
Jim Meyering
7f0947ae50 *** empty log message *** 2001-12-08 19:19:19 +00:00
Jim Meyering
dcfb371a6b tweak to align with libc 2001-12-08 06:57:58 +00:00
Jim Meyering
acca325884 (join invocation): tweak wording 2001-12-05 14:14:43 +00:00
Jim Meyering
3e729d218d *** empty log message *** 2001-12-04 21:38:54 +00:00
Jim Meyering
56117f587b *** empty log message *** 2001-12-04 21:37:37 +00:00
Jim Meyering
568ec722bb *** empty log message *** 2001-12-04 17:55:12 +00:00
Jim Meyering
a95d10ec54 Don't use diff's -u option. It's not portable.
Besides, with GNU diff one can use the DIFF_OPTIONS envvar.
2001-12-04 17:55:08 +00:00
Jim Meyering
8f730b8a46 (usage): Don't split translatable strings in the middle of a sentence. 2001-12-03 16:07:50 +00:00
Jim Meyering
2f8490672b *** empty log message *** 2001-12-03 16:07:23 +00:00
Jim Meyering
99fbca4eba (usage): Merge lone "\n" into adjacent string. 2001-12-03 15:56:48 +00:00
Jim Meyering
f05581b361 (usage): Merge lone "\n" into adjacent string. 2001-12-03 15:56:24 +00:00
Jim Meyering
5444831241 *** empty log message *** 2001-12-02 22:47:09 +00:00
Jim Meyering
1e40feefae *** empty log message *** 2001-12-02 22:27:01 +00:00
Jim Meyering
f3ac2e7839 Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION
instead of hard-coding --help and --version descriptions.
2001-12-02 22:26:57 +00:00
Jim Meyering
01f0361e79 *** empty log message *** 2001-12-02 20:18:43 +00:00
Jim Meyering
33c85ae850 *** empty log message *** 2001-12-02 20:16:28 +00:00
Jim Meyering
db5fd4aaae *** empty log message *** 2001-12-02 20:10:31 +00:00
Jim Meyering
f4df046ab6 (TESTS): Add recursive. 2001-12-02 20:10:25 +00:00
Jim Meyering
93da1d6e5b use diff -u 2001-12-02 20:09:27 +00:00
Jim Meyering
3e947ade15 *** empty log message *** 2001-12-02 20:08:14 +00:00
Jim Meyering
800c8d7882 *** empty log message *** 2001-12-02 20:05:56 +00:00
Jim Meyering
7afc9d1829 (touch): Extend the change of 2001-09-15 to work on
systems for which errno is set to EPERM in that case.  Thus, e.g.,
`touch /' by non-root gives a better diagnostic on systems like SunOS4.
2001-12-02 20:05:33 +00:00
Jim Meyering
15295aaf8a *** empty log message *** 2001-12-02 19:59:49 +00:00
Jim Meyering
4542868aea Don't declare getenv, thus reverting the change of 2001-11-18.
It's no longer necessary, now that stdlib.h is always included.
2001-12-02 19:59:39 +00:00
Jim Meyering
3287aaae94 *** empty log message *** 2001-12-02 17:47:34 +00:00
Jim Meyering
86eb6a1aac *** empty log message *** 2001-12-02 17:47:01 +00:00
Jim Meyering
4a2b55cc60 [!__BOUNDED_POINTERS__]: Define away __bounded, __unbounded, and __ptrvalue. 2001-12-02 17:46:54 +00:00
Jim Meyering
73711e47bb *** empty log message *** 2001-12-02 07:50:04 +00:00
Jim Meyering
e03be48b10 Don't emulate dd's skip=N for *all* character devices; lseek works
just fine on non-tape character devices like /dev/mem and /dev/kmem.

(buggy_lseek_support) [__linux__]: Emulate `skip=N'
behavior using reads, not lseek for Linux tape devices (major == 9).
Kernel lseek support for tapes is broken, up to and including
linux-2.4.16.  Reported by Herbert Xu.
2001-12-02 07:49:46 +00:00
Jim Meyering
b8efd17fe8 (emit-upload-commands): Fix typo: s/distdir/PACKAGE/. 2001-12-02 06:49:33 +00:00
Jim Meyering
d7b3fa5629 . 2001-12-01 19:52:31 +00:00
Jim Meyering
8572927454 (po-check): Check for uses of _() not just in .c files, but also in .h files. 2001-12-01 17:56:23 +00:00
Jim Meyering
b3fca9f7f6 *** empty log message *** 2001-12-01 17:54:34 +00:00
Jim Meyering
3a0a028c8c Reflect renaming to, and new usage of these macros:
HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION.
2001-12-01 17:41:25 +00:00
Jim Meyering
0c3fd30903 *** empty log message *** 2001-12-01 17:40:17 +00:00
Jim Meyering
52f3031b24 Rename just-added macros. Here are the new names:
HELP_OPTION_DESCRIPTION
  VERSION_OPTION_DESCRIPTION
2001-12-01 17:31:09 +00:00
Jim Meyering
b3463e39bd *** empty log message *** 2001-12-01 17:22:02 +00:00
Jim Meyering
a34483b143 (EMIT_HELP_DESCRIPTION): New macro.
(EMIT_VERSION_DESCRIPTION): New macro.
2001-12-01 17:21:57 +00:00
Jim Meyering
afa12bc912 (usage): Use new macros, EMIT_HELP_DESCRIPTION and EMIT_VERSION_DESCRIPTION
instead of hard-coding --help and --version descriptions.
2001-12-01 17:21:56 +00:00
Jim Meyering
c0f45e1e43 . 2001-12-01 15:41:16 +00:00
Jim Meyering
7c8e0d8c97 *** empty log message *** 2001-11-30 14:51:13 +00:00
Jim Meyering
b0b791399d Include xalloc.h, so that xstrdup is declared before being defined. 2001-11-30 14:32:22 +00:00
Jim Meyering
6dd490fa03 . 2001-11-28 14:05:29 +00:00
Jim Meyering
dec4961f11 *** empty log message *** 2001-11-28 06:57:33 +00:00
Jim Meyering
ff927371bd (quotearg_n, quotearg_n_style):
First arg is int, not unsigned.
2001-11-28 06:57:25 +00:00
Jim Meyering
0dc8754559 (quotearg_n, quotearg_n_style): Likewise.
(SIZE_MAX, UINT_MAX): New macros.
(quotearg_n_options): Abort if N is negative.
Avoid overflow check on hosts where size_t is 64 bits and int
is 32 bits, as overflow is impossible there.
Fix off-by-one typo that caused unnecessary reallocation.
2001-11-28 06:57:02 +00:00
Jim Meyering
fb66999103 Merge with version from libc. 2001-11-27 21:34:15 +00:00
Jim Meyering
97b434be77 *** empty log message *** 2001-11-27 20:49:52 +00:00
Jim Meyering
51cd0868f5 *** empty log message *** 2001-11-27 12:56:20 +00:00
Jim Meyering
65d5eb615d Include stdlib.h unconditionally. On some old systems for which
STDC_HEADERS is 0, it was not included, resulting in a warning
about an integer-to-pointer conversion problem with getenv.
2001-11-27 12:55:16 +00:00
Jim Meyering
0bb8253d33 Merge with version from libc. 2001-11-27 12:54:58 +00:00
Jim Meyering
b0c1bd7cb5 (libfetish_a_SOURCES): Remove gtod.h. 2001-11-27 10:25:52 +00:00
Jim Meyering
2fe074017c *** empty log message *** 2001-11-27 10:22:43 +00:00
Jim Meyering
e91b426d5a Compare all lines of output.
Update code to use `trap' and more up to date infrastructure.
2001-11-27 10:22:28 +00:00
Jim Meyering
f05548e77b *** empty log message *** 2001-11-27 10:19:30 +00:00
Jim Meyering
df4c89a556 The change of 2001-11-01 introduced a bug whereby some recursive
listings didn't have a blank line between per-directory groups of files.

(print_dir): Print a newline before each directory name
except the first one, rather than after each except the last, since
now (after the changes of 2001-11-01) detecting whether a `pending*'
is the last would involve more work.  Reported by Andreas Schwab.

This change has no net effect.
(main): Remove always-true conjunct and add a comment.
2001-11-27 10:19:24 +00:00
Jim Meyering
2c9dc1f509 *** empty log message *** 2001-11-27 10:16:18 +00:00
Jim Meyering
b7d1e33e4a *** empty log message *** 2001-11-27 07:50:35 +00:00
Jim Meyering
0d1ddb59de (SET_MODE) [O_BINARY]: Call setmode, not set_mode. 2001-11-27 07:48:47 +00:00
Jim Meyering
022e60027b Don't include "gtod.h"
(main): Don't `call' GETTIMEOFDAY_INIT.
2001-11-26 16:46:20 +00:00
Jim Meyering
2bb262fd64 *** empty log message *** 2001-11-26 12:31:12 +00:00
Jim Meyering
225d614f6f Don't include gtod.h.
(GTOD_init): Remove function.
(rpl_gettimeofday): Do its job here instead, rather than aborting.
2001-11-26 12:29:43 +00:00
Jim Meyering
8087128c07 (cat): Don't test whether the full_write return value (of type size_t)
is less than 0.  Reported by Nelson H. F. Beebe,
as a warning from Irix 6.5's C compiler.
2001-11-26 12:16:48 +00:00
Jim Meyering
3cfa2e263a . 2001-11-26 12:08:16 +00:00
Jim Meyering
a927d9b0ae *** empty log message *** 2001-11-26 11:04:49 +00:00
Jim Meyering
0099b7b26e *** empty log message *** 2001-11-25 14:47:06 +00:00
Jim Meyering
9e1b4e382a (usage): Indent --help and --version strings to start in the 7th column. 2001-11-25 14:46:05 +00:00
Jim Meyering
a62884b9bb *** empty log message *** 2001-11-25 14:37:40 +00:00
Jim Meyering
79d3f45d37 (usage): Indent --help and --version strings to start in the 7th column. 2001-11-25 14:37:18 +00:00
Jim Meyering
31f6ab878e *** empty log message *** 2001-11-24 10:00:54 +00:00
Jim Meyering
8fade926f8 Include signatures for the xdelta file, too. 2001-11-24 10:00:30 +00:00
Jim Meyering
7fa1528c0f (emit-upload-commands): Rename from emit-rsync-commands.
Output only the package name and the prev and current version numbers.
2001-11-24 08:57:02 +00:00
Jim Meyering
5073e90886 *** empty log message *** 2001-11-24 08:19:59 +00:00
Jim Meyering
7cec3ce1bd . 2001-11-24 08:06:18 +00:00
Jim Meyering
0924e6fa60 now generated 2001-11-24 08:05:20 +00:00
Jim Meyering
608b7ce3ba *** empty log message *** 2001-11-24 08:01:50 +00:00
Jim Meyering
b15c6a222b (usage): Make --help and --version strings start in column 7. 2001-11-24 08:01:39 +00:00
Jim Meyering
722b47ca02 *** empty log message *** 2001-11-24 07:14:11 +00:00
Jim Meyering
67632ea61f (move_if_change): Remove definition.
($(srcdir)/m4/jm-glibc-io.m4): Use mv, not move-if-change.
2001-11-24 07:13:52 +00:00
Jim Meyering
6766af1902 *** empty log message *** 2001-11-23 20:32:51 +00:00
Jim Meyering
fd59122b41 *** empty log message *** 2001-11-23 20:32:29 +00:00
Jim Meyering
90ed4c7d26 *** empty log message *** 2001-11-23 20:31:29 +00:00
Jim Meyering
072b27d4d2 (usage): Note that ``Mandatory arguments to long options are mandatory
for short options too.''
2001-11-23 20:29:56 +00:00
Jim Meyering
27fc27695b *** empty log message *** 2001-11-23 20:11:43 +00:00
Jim Meyering
44fc00b79c (usage): Use output', not print' in description of
the --version option, so this message is consistent with all the rest.
2001-11-23 20:11:34 +00:00
Jim Meyering
b78de3e724 Split usage strings so that --help and --version
descriptions are alone in their own string.
2001-11-23 20:10:25 +00:00
Jim Meyering
faf0e1a16e *** empty log message *** 2001-11-23 20:03:52 +00:00
Jim Meyering
909dc8c01d Factor out some common strings to make translation easier.
Split usage strings so that --help and --version descriptions are alone
in their own string.
Likewise for the one that says:
  Mandatory arguments to long options are mandatory for short options too.
2001-11-23 19:58:23 +00:00
Jim Meyering
6f468fedb4 (main): Don't split string in the middle of sentence. 2001-11-23 18:45:32 +00:00
Jim Meyering
a5f1ced62a (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-23 15:41:16 +00:00
Jim Meyering
2e55f17398 *** empty log message *** 2001-11-23 08:11:49 +00:00
Jim Meyering
4d13e6fa55 Use opaque type, Hash_table, not `struct hash_table'. 2001-11-23 08:10:49 +00:00
Jim Meyering
e38b3095cb (struct hash_table): Don't define here. Merely declare it. 2001-11-23 08:09:31 +00:00
Jim Meyering
c759590c03 (struct hash_table): Define it here instead. 2001-11-23 08:09:14 +00:00
Jim Meyering
647185eda4 *** empty log message *** 2001-11-22 19:54:23 +00:00
Jim Meyering
0764c7eb69 *** empty log message *** 2001-11-22 19:50:48 +00:00
Jim Meyering
3856e7a1c1 *** empty log message *** 2001-11-22 19:49:07 +00:00
Jim Meyering
669102ec61 (cp_option_init): Likewise.
(do_copy): Call src_info_init.
2001-11-22 19:49:01 +00:00
Jim Meyering
a2e185c904 (cp_option_init): Initialize new member. 2001-11-22 19:48:17 +00:00
Jim Meyering
039ff08371 (struct cp_options) [src_info]: New member.
(src_info_init): Declare.
2001-11-22 19:47:58 +00:00
Jim Meyering
507e4c7e69 (triple_hash_no_name): New function.
(src_info_init): New function.
(copy_internal): Warn and return early for the second and subsequent
occurrences of the same source file named on the command line.
2001-11-22 19:45:27 +00:00
Jim Meyering
8529df5a59 . 2001-11-22 15:58:06 +00:00
Jim Meyering
52be7173c0 *** empty log message *** 2001-11-22 15:50:25 +00:00
Jim Meyering
746246f20f more tests 2001-11-22 15:49:32 +00:00
Jim Meyering
8faf6cb717 *** empty log message *** 2001-11-22 14:06:46 +00:00
Jim Meyering
e093b77bfb (TESTS): Add dup-source. 2001-11-22 14:06:31 +00:00
Jim Meyering
25170852d7 *** empty log message *** 2001-11-22 13:03:50 +00:00
Jim Meyering
7a0fd15ee7 (seen_file): Change type of `stats' parameter to pointer.
(copy_internal): Update caller.
2001-11-22 12:25:09 +00:00
Jim Meyering
31bfafc32e (struct F_triple): Rename from dest_info.
(seen_file): Rename from seen_dest.  Rename parameters accordingly.
(record_file): Rename from record_dest.  Rename parameters accordingly.
(triple_hash): Rename from dest_info_hash.
(triple_compare): Rename from dest_info_compare.
(triple_free): Rename from dest_info_free.
2001-11-22 12:22:46 +00:00
Jim Meyering
554f8ec02f . 2001-11-22 10:58:01 +00:00
Jim Meyering
3364b4a289 *** empty log message *** 2001-11-22 10:57:42 +00:00
Jim Meyering
988d9b05dd (main): Add a literal format string to suppress
a warning from gcc's -Wformat-security.
2001-11-22 10:57:27 +00:00
Jim Meyering
c531932fd2 *** empty log message *** 2001-11-22 10:56:01 +00:00
Jim Meyering
c5ad355677 (cp_option_init): Initialize new member.
(do_copy): Remove const attribute from declaration of parameter, x.
dest_info_init now takes a parameter.
2001-11-22 10:55:40 +00:00
Jim Meyering
42ad428793 (cp_option_init): Initialize new member.
(main): dest_info_init now takes a parameter.
2001-11-22 10:54:31 +00:00
Jim Meyering
8cd4321b8b (cp_option_init): Initialize new member.
(main): dest_info_init now takes a parameter.
2001-11-22 10:54:05 +00:00
Jim Meyering
6b5ddbc2c9 Include hash.h.
(struct cp_options) [dest_info]: New member.
2001-11-22 10:52:40 +00:00
Jim Meyering
6f1ebf7e68 copy.c shouldn't maintain static state.
(dest_info): Remove declaration of file-scoped global.
(dest_info_init): Require a parameter.
Update all callers.
(seen_dest): Require a hash table parameter.  Update callers.
(record_dest): Likewise.
2001-11-22 10:52:15 +00:00
Jim Meyering
2bcf0bd3f3 Bracket contents of file with #ifndef HASH_H_ ... #endif. 2001-11-22 10:38:49 +00:00
Jim Meyering
7b94e62e37 . 2001-11-22 10:10:00 +00:00
Jim Meyering
94bdbcb500 *** empty log message *** 2001-11-22 10:09:13 +00:00
Jim Meyering
3723d62e4f . 2001-11-22 10:04:10 +00:00
Jim Meyering
fe8cf19c6b . 2001-11-22 09:31:30 +00:00
Jim Meyering
cf9b64e697 *** empty log message *** 2001-11-22 09:05:26 +00:00
Jim Meyering
c36eeadd49 csplit could get a failed assertion: printf 'a\n\n'|csplit - '/^$/' 2
No longer include assert.h.
(process_line_count): Remove invalid assertion.
2001-11-22 09:01:39 +00:00
Jim Meyering
a76c54f4c1 *** empty log message *** 2001-11-22 09:00:52 +00:00
Jim Meyering
cc76ce042c *** empty log message *** 2001-11-22 08:50:58 +00:00
Jim Meyering
5d0c6e59ac *** empty log message *** 2001-11-22 08:46:23 +00:00
Jim Meyering
d62d8770a6 *** empty log message *** 2001-11-22 08:44:49 +00:00
Jim Meyering
84d2cd2820 (TESTS): Add csplit. 2001-11-22 08:40:37 +00:00
Jim Meyering
a4f4371389 *** empty log message *** 2001-11-22 08:20:49 +00:00
Jim Meyering
4c7e4c094e *** empty log message *** 2001-11-20 10:38:47 +00:00
Jim Meyering
52b883ffc0 update comment to reflect that SunOS4, solaris2.5.1 lose, too. 2001-11-20 10:37:24 +00:00
Jim Meyering
df6f3a4998 remove FIXME comment about duplicate code 2001-11-20 09:53:33 +00:00
Jim Meyering
23b0d345e9 remove a harmless newline 2001-11-19 13:33:50 +00:00
Jim Meyering
d3caacdc49 (Makefile): Depend on $(BUILT_SOURCES), so those
files will be created before anything else.
2001-11-19 13:33:26 +00:00
Jim Meyering
63821aae49 *** empty log message *** 2001-11-19 13:32:29 +00:00
Jim Meyering
500578e250 (mode_adjust): Fix error introduced on 1999-04-26
that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
rather than group writable.  Patch by Juan F. Codagnone.
2001-11-19 13:32:23 +00:00
Jim Meyering
bc0c927da9 *** empty log message *** 2001-11-19 11:10:23 +00:00
Jim Meyering
0fdba7fb2a *** empty log message *** 2001-11-19 11:06:38 +00:00
Jim Meyering
81ca387201 (TMP_MAX): Remove; no longer needed.
(TEMPORARIES): New macro.
(__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
removes an artificial limitation (e.g. HP-UX 10.20, where
TMP_MAX is 17576).
2001-11-19 11:06:32 +00:00
Jim Meyering
2afb97d4f4 *** empty log message *** 2001-11-19 11:00:10 +00:00
Jim Meyering
a71d24334e (xlseek): New function.
Call it instead of lseek, in most cases, so any failure is reported.
2001-11-19 10:59:56 +00:00
Jim Meyering
0ea919d2da *** empty log message *** 2001-11-19 10:00:17 +00:00
Jim Meyering
c2a79f9f5f *** empty log message *** 2001-11-19 10:00:06 +00:00
Jim Meyering
1b6f16a2d0 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
directory.  Use "conftestXXXXXX" as the template.
Suggestion from Paul Eggert.
2001-11-19 10:00:00 +00:00
Jim Meyering
05128c2c79 *** empty log message *** 2001-11-19 09:56:36 +00:00
Jim Meyering
711933ad30 Close each descriptor immediately so the test
doesn't mistakenly hit the max-open-files limit.
2001-11-19 09:56:29 +00:00
Jim Meyering
2ce61398ce . 2001-11-18 17:59:36 +00:00
Jim Meyering
2e9825b4e7 *** empty log message *** 2001-11-18 10:55:55 +00:00
Jim Meyering
c89f42f5b7 *** empty log message *** 2001-11-18 10:55:26 +00:00
Jim Meyering
9c9354c36d (jm_PREREQ_TEMPNAME): Check for declaration of getenv. 2001-11-18 10:55:18 +00:00
Jim Meyering
16aa74d9d2 [!HAVE_DECL_GETENV]: Declare getenv to avoid warning on SunOS4. 2001-11-18 10:54:42 +00:00
Jim Meyering
c59588ce72 . 2001-11-17 23:43:36 +00:00
Jim Meyering
cf6f431bce *** empty log message *** 2001-11-17 23:05:28 +00:00
Jim Meyering
bbaec810c7 *** empty log message *** 2001-11-17 22:53:29 +00:00
Jim Meyering
b1c9ecbff6 ($(srcdir)/m4/jm-glibc-io.m4): Use $(move_if_change),
not the literal `move-if-change'.
2001-11-17 22:53:24 +00:00
Jim Meyering
6e8beadc83 *** empty log message *** 2001-11-17 18:42:23 +00:00
Jim Meyering
79bca6482d *** empty log message *** 2001-11-17 18:25:11 +00:00
Jim Meyering
d43f88070c (TESTS): Add equals. 2001-11-17 18:24:54 +00:00
Jim Meyering
c1c76161dc New test for the just-fixed bug in lib/modechange.c. 2001-11-17 18:24:38 +00:00
Jim Meyering
88d2464bd8 *** empty log message *** 2001-11-17 14:11:06 +00:00
Jim Meyering
a10a5f3a93 (tail_forever): Add a cast. 2001-11-17 14:10:52 +00:00
Jim Meyering
3e94e8645c (TESTS): Add proc-ksyms and start-middle. 2001-11-17 13:57:08 +00:00
Jim Meyering
bd9d31c3f0 *** empty log message *** 2001-11-17 13:51:40 +00:00
Jim Meyering
13d08934ba Remove explicit declarations of xmalloc and xrealloc,
Instead, include "xalloc.h".
2001-11-17 13:51:34 +00:00
Jim Meyering
b150c16ebc Include unlocked-io.h after all system headers.
Remove explicit declarations of xmalloc, xrealloc,
and xstrdup.  Instead, include "xalloc.h".
2001-11-17 13:50:40 +00:00
Jim Meyering
76f8ced07d *** empty log message *** 2001-11-17 13:45:34 +00:00
Jim Meyering
fd09326a94 *** empty log message *** 2001-11-17 13:31:37 +00:00
Jim Meyering
3eb2a22131 Include unlocked-io.h. 2001-11-17 13:29:42 +00:00
Jim Meyering
1edeae648d *** empty log message *** 2001-11-17 12:21:27 +00:00
Jim Meyering
940fd633a2 Remove unsigned' attribute from type of global prefix'.
(copy_rest): Cast to (unsigned char *) before dereferencing.
(get_prefix): Likewise.
2001-11-17 12:21:00 +00:00
Jim Meyering
d577c22aa6 . 2001-11-17 11:31:21 +00:00
Jim Meyering
476382ce9d . 2001-11-17 11:09:24 +00:00
Jim Meyering
5814c8c46b *** empty log message *** 2001-11-17 11:08:49 +00:00
Jim Meyering
4796fb9f3a *** empty log message *** 2001-11-17 11:04:00 +00:00
Jim Meyering
fe9777a0bd *** empty log message *** 2001-11-17 10:59:07 +00:00
Jim Meyering
649d8f321e #undef mkstemp.
Include config.h.
(rpl_mkstemp): Rename from mkstemp.
Protoize.
2001-11-17 10:59:01 +00:00
Jim Meyering
6dc7d3dea2 (UTILS_FUNC_MKSTEMP): New file and macro.
Prompted by a report from Bob Proulx.
2001-11-17 08:54:26 +00:00
Jim Meyering
e7389b6a8f (jm_MACROS): Don't test for mkstemp here.
Instead, require UTILS_FUNC_MKSTEMP.
2001-11-17 08:18:48 +00:00
Jim Meyering
2130b49220 *** empty log message *** 2001-11-17 07:25:14 +00:00
Jim Meyering
387827ac90 *** empty log message *** 2001-11-17 07:13:18 +00:00
Jim Meyering
c322ce4c4f (jm_WINSIZE_IN_PTEM): Do not define
WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
2001-11-17 07:13:12 +00:00
Jim Meyering
9c8f7eb9b7 *** empty log message *** 2001-11-16 09:20:31 +00:00
Jim Meyering
e7d469d663 [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
(physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
determine the amount of total physical memory, use pstat_getstatic.
HPUX-11 doesn't define _SC_PHYS_PAGES.
(physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
If sysconf couldn't be used to determine the amount of available
physical memory, use both pstat_getstatic and pstat_getdynamic.
Based on a patch from Bob Proulx.
2001-11-16 09:20:25 +00:00
Jim Meyering
3fad422ee5 *** empty log message *** 2001-11-14 11:53:06 +00:00
Jim Meyering
8379824202 (file_lines): Remove unnecessary cast.
(tail_lines): Could have called file_lines even though the first
lseek failed.  Fix that.
2001-11-14 11:52:59 +00:00
Jim Meyering
8b67554aec *** empty log message *** 2001-11-14 10:51:53 +00:00
Jim Meyering
edd66bd294 *** empty log message *** 2001-11-14 10:30:42 +00:00
Jim Meyering
db29cde02a *** empty log message *** 2001-11-14 10:19:11 +00:00
Jim Meyering
306433db58 split a line that was too long 2001-11-13 23:36:57 +00:00
Jim Meyering
a94c64bcad *** empty log message *** 2001-11-13 23:32:18 +00:00
Jim Meyering
389d9bc4e0 (file_lines): Add a parameter, start_pos.
Work properly even when the read pointer is not at beginning of file.
(tail_lines): Call file_lines for any regular file, as long as lseek
can be used to seek to its end, not just when the initial read pointer
is at beginning of file.
2001-11-13 23:32:12 +00:00
Jim Meyering
9a628d3908 (tail_lines): Move declaration of local `length' into scope where it's used.
(tail_file): Likewise for local `stats'.
2001-11-13 10:23:44 +00:00
Jim Meyering
513813de35 *** empty log message *** 2001-11-13 10:21:12 +00:00
Jim Meyering
63c90500f0 *** empty log message *** 2001-11-13 10:20:48 +00:00
Jim Meyering
1f3e04f05c *** empty log message *** 2001-11-13 10:20:02 +00:00
Jim Meyering
8cbf0850d9 *** empty log message *** 2001-11-13 10:19:39 +00:00
Jim Meyering
0c583dd647 *** empty log message *** 2001-11-13 10:19:09 +00:00
Jim Meyering
5579ee544c `tail /proc/ksyms' would segfault on Linux.
(tail_lines): Use status of lseek (...SEEK_END) call
in deciding whether to call file_lines or pipe_lines.
From Herbert Xu.
2001-11-13 10:14:12 +00:00
Jim Meyering
30690e6b57 clean up 2001-11-12 13:06:16 +00:00
Jim Meyering
2b22830114 use rm, not $RM 2001-11-12 12:44:01 +00:00
Jim Meyering
6e05a8291b *** empty log message *** 2001-11-12 12:41:40 +00:00
Jim Meyering
53d9bb54c7 *** empty log message *** 2001-11-11 20:05:33 +00:00
Jim Meyering
69b3ea263d (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 20:04:57 +00:00
Jim Meyering
b890a03963 *** empty log message *** 2001-11-11 16:05:20 +00:00
Jim Meyering
86bb482007 (usage): Split --help output into smaller pieces. 2001-11-11 16:04:43 +00:00
Jim Meyering
436f7c405a (struct tspec): Declare function pointer with prototype. 2001-11-11 15:42:07 +00:00
Jim Meyering
52f24baacc (main): Declare function pointer with prototype. 2001-11-11 15:40:39 +00:00
Jim Meyering
6b16d2e1fe (usage): Fix typo in last change to usage. 2001-11-11 15:38:00 +00:00
Jim Meyering
f409a8a021 (count_items): Mark parameter as unused. 2001-11-11 15:35:37 +00:00
Jim Meyering
dae7a9d7f4 (struct_month_cmp): Guard definition with the same
cpp directive that guards the use.
2001-11-11 15:24:53 +00:00
Jim Meyering
4bdaed5ff4 (xwrite): Remove assertion that size_t N >= 0. 2001-11-11 15:08:48 +00:00
Jim Meyering
f7eb4c8913 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 15:08:02 +00:00
Jim Meyering
c0fca1bce9 *** empty log message *** 2001-11-11 15:02:40 +00:00
Jim Meyering
d9b0ac1791 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 15:02:23 +00:00
Jim Meyering
4696d3dabf (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 15:00:53 +00:00
Jim Meyering
fa3228b72d *** empty log message *** 2001-11-11 15:00:38 +00:00
Jim Meyering
507b8890a4 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 14:55:20 +00:00
Jim Meyering
70654669d5 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 14:48:45 +00:00
Jim Meyering
14c6978cc5 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 14:47:28 +00:00
Jim Meyering
997fd16b2d (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 14:46:13 +00:00
Jim Meyering
2cf349d10e (main, usage): Split --help output into smaller pieces. 2001-11-11 14:40:01 +00:00
Jim Meyering
99ec01ea67 *** empty log message *** 2001-11-11 14:36:08 +00:00
Jim Meyering
051550c21b (struct COLUMN) [print_func]: Declare as a protype.
(struct COLUMN) [char_func]: Declare as a protype.
2001-11-11 14:35:39 +00:00
Jim Meyering
2753d47434 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 14:34:28 +00:00
Jim Meyering
b94d49e397 (parse_old_offset): Declare to be static. 2001-11-11 14:24:54 +00:00
Jim Meyering
b57a53520b (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 14:24:34 +00:00
Jim Meyering
5ffa85be43 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 14:20:56 +00:00
Jim Meyering
03132c06be (usage): Split --help output into smaller pieces. 2001-11-11 14:18:46 +00:00
Jim Meyering
18cdfb06b1 (make_blank): Declare to be static.
(prfield): Declare local to be of type size_t, not int.
2001-11-11 14:13:55 +00:00
Jim Meyering
7cbc9c5c4d (make_blank): Declare to be static. 2001-11-11 14:12:49 +00:00
Jim Meyering
2fc820ac2b (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 14:12:27 +00:00
Jim Meyering
7d24fad90d (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 13:56:07 +00:00
Jim Meyering
1f7d9dacf4 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 13:52:50 +00:00
Jim Meyering
2237d0c5d1 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 13:41:19 +00:00
Jim Meyering
2bf54d98be *** empty log message *** 2001-11-11 13:38:28 +00:00
Jim Meyering
cfcf052439 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 13:38:18 +00:00
Jim Meyering
04b6320338 *** empty log message *** 2001-11-11 13:17:58 +00:00
Jim Meyering
06e70ddab4 (alloca) [__GNUC__]: Define only if not already defined. 2001-11-11 13:17:49 +00:00
Jim Meyering
70246cdb71 (jm_PREREQ_PHYSMEM): don't check for bp-sym.h 2001-11-11 10:55:41 +00:00
Jim Meyering
ceae44d812 *** empty log message *** 2001-11-11 10:09:48 +00:00
Jim Meyering
503372a035 *** empty log message *** 2001-11-11 10:09:21 +00:00
Jim Meyering
db7b7871a3 (jm_MACROS): Remove code to set POW_LIBM.
Now, that's done as part of AC_FUNC_STRTOD.
2001-11-11 10:07:07 +00:00
Jim Meyering
dd971baefb *** empty log message *** 2001-11-10 21:18:48 +00:00
Jim Meyering
6af87f1ac6 (jm_PREREQ_PHYSMEM): New function.
(jm_PREREQ): Use it.
2001-11-10 21:18:34 +00:00
Jim Meyering
aa4d86195c *** empty log message *** 2001-11-10 14:23:42 +00:00
Jim Meyering
6f59cd3b32 (proc_text): Use `puts' to output a string of spaces, not printf. 2001-11-10 14:22:46 +00:00
Jim Meyering
51ce2f8e5f tweak locale-related somments for sort 2001-11-10 08:59:24 +00:00
Jim Meyering
a1d32600e6 tweak locale-related somments for sort 2001-11-10 08:58:09 +00:00
Jim Meyering
fca7f39b74 . 2001-11-10 08:46:09 +00:00
Jim Meyering
d62b389816 (usage): Document %u. 2001-11-10 08:46:05 +00:00
Jim Meyering
1c87370738 *** empty log message *** 2001-11-10 08:45:38 +00:00
Jim Meyering
8f751a33c3 (Date directives): Document %u. 2001-11-10 08:44:34 +00:00
Jim Meyering
e5b0e0f712 *** empty log message *** 2001-11-09 08:43:37 +00:00
Jim Meyering
3fb9cf6101 . 2001-11-08 23:24:04 +00:00
Jim Meyering
ffd066b0f4 *** empty log message *** 2001-11-08 23:22:06 +00:00
Jim Meyering
ae7dbaf035 *** empty log message *** 2001-11-08 23:20:09 +00:00
Jim Meyering
4bba632820 Require autoconf-2.52f.
(AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
Use these AC_-prefixed names, not the AM_-prefixed ones.
2001-11-08 23:20:01 +00:00
Jim Meyering
7d9ec7823a *** empty log message *** 2001-11-08 23:17:52 +00:00
Jim Meyering
5e1d777314 (jm_AFS): Quote the body. Patch by Akim Demaille. 2001-11-08 23:17:41 +00:00
Jim Meyering
2d5f1727df *** empty log message *** 2001-11-08 09:29:42 +00:00
Jim Meyering
8bfb607ef8 (paste invocation): Give examples.
Thanks to Dan Jacobson for suggesting the examples.
2001-11-08 09:28:13 +00:00
Jim Meyering
25c00a2209 *** empty log message *** 2001-11-06 07:36:12 +00:00
Jim Meyering
330a67148c Remove duplicate entry for .png. 2001-11-06 07:36:06 +00:00
Jim Meyering
8689db3bd6 *** empty log message *** 2001-11-06 07:35:07 +00:00
Jim Meyering
4aaedfa9d2 *** empty log message *** 2001-11-05 11:20:15 +00:00
Jim Meyering
9f05072b09 (slash_aware_lstat): Correct a misleading comment. 2001-11-05 11:20:02 +00:00
Jim Meyering
005e766386 *** empty log message *** 2001-11-05 10:13:34 +00:00
Jim Meyering
64d9604079 *** empty log message *** 2001-11-05 10:12:06 +00:00
Jim Meyering
5bf497f604 (sort invocation): Recommend setting LC_ALL=C,
not LC_COLLATE=C.  Explain how the latter can cause problems.
Based on a message from Paul Eggert.
(ls invocation): Recommend setting LC_ALL=C, not LC_COLLATE=C.
2001-11-05 10:12:00 +00:00
Jim Meyering
74942a8e91 (usage): Don't recommend setting LC_COLLATE=C.
That can cause problems (now documented in coreutils.texi).
2001-11-05 10:09:25 +00:00
Jim Meyering
2f39ab1832 *** empty log message *** 2001-11-04 09:46:30 +00:00
Jim Meyering
3e0f9951dd *** empty log message *** 2001-11-04 09:46:11 +00:00
Jim Meyering
ff4121e50e (usage): Say that
``Mandatory arguments to long options are mandatory for short options too.\n\''
2001-11-04 09:43:16 +00:00
Jim Meyering
4155657f6f (usage): Add one-line description. 2001-11-04 09:03:15 +00:00
Jim Meyering
7d6e8efb15 *** empty log message *** 2001-11-04 07:16:06 +00:00
Jim Meyering
a490e3f68b Remove unused cruft that saved, set, and restored $DEFS. 2001-11-04 07:15:57 +00:00
Jim Meyering
467828f261 *** empty log message *** 2001-11-03 22:22:50 +00:00
Jim Meyering
d5f0bac1aa (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg of AC_DEFUN. 2001-11-03 22:22:41 +00:00
Jim Meyering
2678e964e6 *** empty log message *** 2001-11-03 21:46:35 +00:00
Jim Meyering
2ad3aaaca2 (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
in argmatch_to_argument call.
2001-11-03 21:46:29 +00:00
Jim Meyering
3eba873029 *** empty log message *** 2001-11-03 21:44:36 +00:00
Jim Meyering
5a6c247bcb . 2001-11-03 21:44:00 +00:00
Jim Meyering
c2a328bb30 it's CFLAGS, not DEFS 2001-11-03 20:07:10 +00:00
Jim Meyering
af1d1e7d3d fix indentation of cpp `#'s 2001-11-03 20:00:36 +00:00
Jim Meyering
968b78491b . 2001-11-03 18:51:46 +00:00
Jim Meyering
7e1e127680 *** empty log message *** 2001-11-03 18:51:38 +00:00
Jim Meyering
4f2e8e8b2b (dirfd): Reflect the fact that DIR_TO_FD now takes an argument. 2001-11-03 18:50:53 +00:00
Jim Meyering
ef991b4aa3 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
know the name of the variable in the macro definition.
2001-11-03 18:49:27 +00:00
Jim Meyering
dbc3f75efa *** empty log message *** 2001-11-03 08:24:27 +00:00
Jim Meyering
8cb947f707 (hash_clear): Fix a bug that could lead to an infloop or
e.g., a fault due to an attempt to free a NULL pointer.
2001-11-03 08:23:54 +00:00
Jim Meyering
361446c55b *** empty log message *** 2001-11-03 07:33:41 +00:00
Jim Meyering
93b4e4074f (DEV_INO_PUSH): Avoid unnecessary copies.
(dev_ino_pop): Likewise.
2001-11-03 07:33:32 +00:00
Jim Meyering
f1bafaa237 *** empty log message *** 2001-11-02 13:19:11 +00:00
Jim Meyering
1941ce9f42 *** empty log message *** 2001-11-02 13:16:21 +00:00
Jim Meyering
7b8da9264b (dev_ino_pop): Cast 2nd arg of obstack_blank to `int'
before negating to avoid warning from gcc on systems with 64-bit size_t.

Rename global: s/trace_dirs/recursive/.
(extract_dirs_from_files): Rename parameter:
s/recursive/ignore_dot_and_dot_dot/.
2001-11-02 13:16:10 +00:00
Jim Meyering
07d71b97ce *** empty log message *** 2001-11-02 11:10:25 +00:00
Jim Meyering
c07abd1655 *** empty log message *** 2001-11-02 08:25:43 +00:00
Jim Meyering
71e6aca3b2 Use XREALLOC. It's cleaner. 2001-11-02 08:04:37 +00:00
Jim Meyering
81679a0c34 Use XMALLOC in a several places. It's cleaner. 2001-11-02 07:38:56 +00:00
Jim Meyering
3e06bb8549 put `const' back, now that the .m4 test works 2001-11-02 07:37:19 +00:00
Jim Meyering
a427fa83f6 Use the replacement only if we have neither the function
nor a declaration.
2001-11-02 07:36:35 +00:00
Jim Meyering
594350107d remove const 2001-11-01 22:16:43 +00:00
Jim Meyering
d73c55e449 whoops 2001-11-01 22:14:26 +00:00
Jim Meyering
f8b38d358b *** empty log message *** 2001-11-01 21:40:07 +00:00
Jim Meyering
6fa5979ccb Include dirfd.h.
(print_dir): If dirfd fails, resort to using stat.
2001-11-01 21:40:01 +00:00
Jim Meyering
866d4b9e59 . 2001-11-01 17:58:23 +00:00
Jim Meyering
24e2617917 *** empty log message *** 2001-11-01 17:58:09 +00:00
Jim Meyering
533999f0fe (libfetish_a_SOURCES): Add dirfd.h. 2001-11-01 17:57:56 +00:00
Jim Meyering
eaa95f208b . 2001-11-01 17:57:09 +00:00
Jim Meyering
9d874c09f6 *** empty log message *** 2001-11-01 17:44:43 +00:00
Jim Meyering
b701bf8a30 *** empty log message *** 2001-11-01 16:57:18 +00:00
Jim Meyering
7c102d03c7 use AC_HEADER_DIRECT and all the associated cruft 2001-11-01 16:55:16 +00:00
Jim Meyering
0c0ad8da77 don't indent the #include directive 2001-11-01 16:47:00 +00:00
Jim Meyering
8d503b5362 check for decl, too 2001-11-01 16:46:06 +00:00
Jim Meyering
274003219b *** empty log message *** 2001-11-01 16:43:02 +00:00
Jim Meyering
0bba57ce8c (jm_MACROS): Require UTILS_FUNC_DIRFD. 2001-11-01 16:42:53 +00:00
Jim Meyering
afd8381b51 (UTILS_FUNC_DIRFD): New macro. 2001-11-01 16:41:57 +00:00
Jim Meyering
76ffae0660 *** empty log message *** 2001-11-01 15:55:59 +00:00
Jim Meyering
74b63f68dd (hash_print) [TESTING]: Clean up. 2001-11-01 15:55:53 +00:00
Jim Meyering
85431d93ed Redirect cmp's stderr to /dev/null. 2001-11-01 15:54:36 +00:00
Jim Meyering
186af758eb *** empty log message *** 2001-11-01 15:52:27 +00:00
Jim Meyering
c4dbc53ec4 (struct pending) [st_ino, st_dev]: Remove just-added members.
(queue_directory): Remove just-added 3rd parameter
and associated code, and update callers.
(print_dir): Get dev/inode pair via `fstat (dirfd (reading), ...',
and call visit_dir to detect cycles here.
Push the dev/inode pair onto the new stack.
(dev_ino_obstack): New global.
(DEV_INO_PUSH): New macro.
(dev_ino_pop): New function.
(ASSERT_MATCHING_DEV_INO): New macro.
(visit_dir): Take two parameters (dev,ino), not one `pending'.
(main): Initialized the dev_ino_obstack.
Don't call visit_dir here.
Get the dev/ino pair from the new stack, not from the pending entry.
2001-11-01 15:51:53 +00:00
Jim Meyering
00fc6c9262 *** empty log message *** 2001-11-01 11:31:26 +00:00
Jim Meyering
9e2756872d Make ls -R detect directory cycles.
Include hash.h, same.h, and xalloc.h.
(INITIAL_TABLE_SIZE, LOOP_DETECT): Define.
(active_dir_set): New global.
(struct dev_ino): Declare.
(dev_ino_hash, dev_ino_compare, dev_ino_free): New functions.
(visit_dir, free_pending_ent): New functions.
(main): Initialize the active_dir_set hash table, if necessary.
Don't confuse a marker entry with a real one.
Detect loops.
Manage the set of active directories.
Free the hash table.
(queue_directory): Add a new parameter.
Ensure that we set the new dev/ino members for each enqueued directory.
Update all callers.
(print_dir): Don't confuse a marker entry with a real one.
(extract_dirs_from_files): Insert a marker entry before inserting
the entries for subdirectories.
2001-11-01 11:31:19 +00:00
Jim Meyering
c1c9a579e3 *** empty log message *** 2001-11-01 10:56:41 +00:00
Jim Meyering
e3f8ccf486 (TESTS): Add dired. 2001-11-01 10:56:25 +00:00
Jim Meyering
3eeda5b2bf Don't try to print a NULL pointer.
(main): Don't use ARGMATCH_TO_ARGUMENT.
This reverts part of the 1998-12-31 change.
2001-11-01 10:43:23 +00:00
Jim Meyering
09edea7381 update copyright year 2001-10-28 10:01:07 +00:00
Jim Meyering
02da289e42 *** empty log message *** 2001-10-28 09:40:57 +00:00
Jim Meyering
6d81e0f580 . 2001-10-28 09:40:25 +00:00
Jim Meyering
1c7b8f6e85 test Paul's fix 2001-10-28 09:39:52 +00:00
Jim Meyering
af6ce0f12c (TESTS): Add sysv. 2001-10-28 09:39:26 +00:00
Jim Meyering
904404bfd2 *** empty log message *** 2001-10-28 08:31:39 +00:00
Jim Meyering
a4d1bdafd6 Include human.h.
(ROTATE_RIGHT): Remove; it was slow and the comment was
misleading anyway.
(bsd_sum_file): Avoid unsigned and long when they're not needed.
Compute total input bytes as uintmax_t, not long, so that the
code works even with files whose size does not fit in 'long'.
(sysv_sum_file): Likewise.
(sysv_sum_file): Do not reduce checksum until the end; this is
what System V does.
2001-10-28 08:31:08 +00:00
Jim Meyering
e922107a25 *** empty log message *** 2001-10-28 08:26:53 +00:00
Jim Meyering
8e763221fd *** empty log message *** 2001-10-28 08:20:01 +00:00
Jim Meyering
df5b9c4dc3 *** empty log message *** 2001-10-27 16:43:52 +00:00
Jim Meyering
cda8d2a9af *** empty log message *** 2001-10-27 14:24:56 +00:00
Jim Meyering
58b5f108f2 Give an accurate diagnostic when `head --bytes=30M' fails.
(string_to_integer): Check explicitly for overflow,
and lump everything else together as `invalid'.
2001-10-27 14:24:42 +00:00
Jim Meyering
93a207af8d Remove as many instances of 'unsigned' as
possible, as some of them were not conforming to ANSI C, and
they made the code hard to read.  Avoiding 'unsigned' cuts
down on the number of casts.

(newline_character, space_character, save_char):
Now char, not unsigned char.
(obuf): Now char *, not unsigned char *.
(ascii_to_ebcdic, ascii_to_ibm, ebcdic_to_ascii):
Now char[], not unsigned char[].
(translate_charset, translate_buffer, swab_buffer, skip, copy_simple,
copy_with_block, copy_with_unblock):
Arg now points to char, not unsigned char.
All callers changed.
(translate_charset, parse_conversion, apply_translations):
Use int index, not unsigned int.
(bit_count): Arg is now int, not unsigned int.
Callers not changed, as they already assumed this.
(translate_buffer): Cast char to unsigned char before using
it as a subscript.
(swab_buffer): Returns char *, not unsigned char *.
(dd_copy): Use char, not unsigned char, for buffers.
Use size_t for possibly-large index, not unsigned int.
2001-10-24 10:38:53 +00:00
Jim Meyering
fd77bc4a78 *** empty log message *** 2001-10-24 07:38:33 +00:00
Jim Meyering
1e2d216c9e (main): Free hash table storage. 2001-10-24 07:38:26 +00:00
Jim Meyering
df1b3c4948 (forget_all): Use hash_free, not hash_clear. 2001-10-24 07:36:53 +00:00
Jim Meyering
0b765fd547 . 2001-10-22 08:02:38 +00:00
Jim Meyering
8229e0dbef *** empty log message *** 2001-10-22 08:02:09 +00:00
Jim Meyering
05c446084e (alloca): Define to __builtin_alloca if __GNUC__,
to avoid a warning if -Wall.
2001-10-22 08:01:43 +00:00
Jim Meyering
e28263f673 (alloca): Define to __builtin_alloca if __GNUC__,
to avoid a warning if -Wall.
2001-10-22 08:01:22 +00:00
Jim Meyering
b96c3e6a5d *** empty log message *** 2001-10-22 06:56:44 +00:00
Jim Meyering
ddd7e2a0b8 (uintptr_t): Remove macro and decl; it's config.h's job. 2001-10-22 06:56:31 +00:00
Jim Meyering
b7bf622acb . 2001-10-21 21:46:09 +00:00
Jim Meyering
48cab72bd1 (isaac_seed_machdep): Handle SIGSEGV, too. Ick. 2001-10-21 19:52:12 +00:00
Jim Meyering
e735c8f6e0 yikes. put the preserve_metadata assignment *after* declarations.
gcc-3.0 didn't complain.
2001-10-21 18:50:16 +00:00
Jim Meyering
7436273688 . 2001-10-21 17:06:36 +00:00
Jim Meyering
79e188a2ec *** empty log message *** 2001-10-21 17:03:50 +00:00
Jim Meyering
17232a74f2 (TESTS): Remove i-3. It's not portable. 2001-10-21 17:03:31 +00:00
Jim Meyering
7af1f21709 *** empty log message *** 2001-10-21 15:21:34 +00:00
Jim Meyering
b9bda3c30d Include xreadlink.h.
(copy_internal): Don't use PATH_MAX.
Rewrite the symlink-copying code to use xreadlink.
2001-10-21 15:21:28 +00:00
Jim Meyering
bd0070c191 whoops! fix comment on first line :-) 2001-10-21 15:12:39 +00:00
Jim Meyering
a43c0607ac *** empty log message *** 2001-10-21 13:39:20 +00:00
Jim Meyering
2a1279c26d (_): Honor the setting of ENABLE_NLS. Otherwise,
this code would end up calling gettext even in packages built
with --disable-nls.
2001-10-21 13:39:12 +00:00
Jim Meyering
9ff208503c *** empty log message *** 2001-10-21 12:33:26 +00:00
Jim Meyering
c73398fa51 (cp invocation): Describe --reply=... 2001-10-21 12:33:21 +00:00
Jim Meyering
25839c6c48 *** empty log message *** 2001-10-21 10:55:36 +00:00
Jim Meyering
9d8ec0121c (_): Honor the setting of ENABLE_NLS. Otherwise,
this code would end up calling gettext even in packages built
with --disable-nls.
2001-10-21 10:55:29 +00:00
Jim Meyering
9c0e765d5a *** empty log message *** 2001-10-21 09:01:31 +00:00
Jim Meyering
8f67d26ec0 (_): Honor the setting of ENABLE_NLS. Otherwise,
this code would end up calling gettext even in packages built
with --disable-nls.
2001-10-21 09:01:24 +00:00
Jim Meyering
b96446bf59 *** empty log message *** 2001-10-21 07:59:09 +00:00
Jim Meyering
7d6185f0f5 (strerror_r): Do not declare unless !_LIBC.
Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
Use strerror_r that is only a macro, even if it is not a function.
(strerror): Check for HAVE_DECL_STRERROR before declaring.
(private_strerror): Use prototypes, not old-style function definition.
(print_errno_message): New function.
Support the POSIX 'int'-flavored strerror_r, as well as the traditional
char*-flavored one.
(error_tail, error, error_at_line): Use it.
2001-10-21 07:59:04 +00:00
Jim Meyering
ad2abcb447 *** empty log message *** 2001-10-21 07:49:37 +00:00
Jim Meyering
df8f50e9bc (jm_PREREQ_ERROR):
Do not invoke AC_CHECK_FUNCS with strerror_r, as
AC_FUNC_STRERROR_R does that.
2001-10-21 07:49:27 +00:00
Jim Meyering
b5501a398e Add copyright notice, as nontrivial m4 files
are supposed to have them these days.
(AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
Merge changes from latest Autoconf CVS.
Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
POSIX decided to standardize on the int flavor of strerror_r.
2001-10-21 07:49:13 +00:00
Jim Meyering
baef38bda1 *** empty log message *** 2001-10-20 19:13:41 +00:00
Jim Meyering
dc421733a1 *** empty log message *** 2001-10-20 14:59:07 +00:00
Jim Meyering
968956b998 (usage): Improve the description of --dereference (-L). 2001-10-20 14:58:59 +00:00
Jim Meyering
8458d3c376 Declare some local variables to be `const', where appropriate. 2001-10-20 14:57:39 +00:00
Jim Meyering
7cdce2075e *** empty log message *** 2001-10-20 14:54:07 +00:00
Jim Meyering
891d094b56 (usage): Clarify description of --directory (-d).
Based on a patch from Michael Stone.
2001-10-20 14:53:45 +00:00
Jim Meyering
c8445f75e0 *** empty log message *** 2001-10-20 14:41:31 +00:00
Jim Meyering
8afe15dd9b tweak 2001-10-20 14:41:23 +00:00
Jim Meyering
5cfcfdc5c7 Describe sticky files and directories. 2001-10-20 14:40:12 +00:00
Jim Meyering
9a40ef44fb *** empty log message *** 2001-10-20 14:01:33 +00:00
Jim Meyering
54a8b24b6e Don't use a umask that removes owner read/write.
Use a stricter test for permissions.
2001-10-20 14:01:23 +00:00
Jim Meyering
f2d0d9bda9 Don't use a umask that removes owner
read/write.  That induces spurious failures in a probably-old
version of purify.
2001-10-20 13:59:57 +00:00
Jim Meyering
30b904e1f3 split a long line into two 2001-10-18 20:29:57 +00:00
Jim Meyering
8a385c1588 *** empty log message *** 2001-10-18 08:14:45 +00:00
Jim Meyering
493d1adca1 (movefile): Now that remember_copied xstrdup's the file name, free `new_dest'. 2001-10-18 08:13:28 +00:00
Jim Meyering
6a03579aa4 *** empty log message *** 2001-10-18 07:45:00 +00:00
Jim Meyering
b564762ef5 Plug a leak.
(remember_copied): Use src_to_dest_free to free the entry we couldn't insert.
2001-10-18 07:44:41 +00:00
Jim Meyering
a7870f9997 (dest_info_free): New function.
(dest_info_init): Make the hash table code use it.
(record_dest): Store each DEST in malloc'd  memory.  Hence the above.
Use dest_info_free to free the `ent' we couldn't insert.
2001-10-18 07:42:11 +00:00
Jim Meyering
37af708d04 *** empty log message *** 2001-10-17 10:24:13 +00:00
Jim Meyering
279d3ae95e (cp invocation): `cp --no-dereference' is
no longer equivalent to `cp -d'.
`cp -d' is equivalent to `--no-dereference --preserve=links'.
cp's -P option means --no-dereference, not --parents.
Describe new optional argument to --preserve.
Describe new option: --no-preserve=ATTRIBUTE_LIST.
2001-10-17 10:24:07 +00:00
Jim Meyering
321db91227 *** empty log message *** 2001-10-17 10:14:28 +00:00
Jim Meyering
99a1b10d2e *** empty log message *** 2001-10-17 10:11:52 +00:00
Jim Meyering
39f15c676a *** empty log message *** 2001-10-14 20:55:02 +00:00
Jim Meyering
af51884dac Now, -P is the same as --no-dereference, per POSIX.
Use --parents to get the old meaning.

(enum) [NO_DEREFERENCE_OPTION]: Remove member.
(long_opts): Associate --no-dereference with `-P'.
(usage): Update description of -P.
(main): Remove local, used_P_option, and code to warn
that the meaning of -P would be changing.
2001-10-14 20:54:44 +00:00
Jim Meyering
e3eb136b93 . 2001-10-13 21:42:16 +00:00
Jim Meyering
a810608d0d *** empty log message *** 2001-10-13 20:53:41 +00:00
Jim Meyering
d78d5d448f (copy_internal): Tighten up and add comments
describing the test for when to record (via remember_copied)
a <dst_path, source_dev, source_ino> triple.
Relax the test that guards the hard-linked-dir check and
the hard-link-preserving code.
2001-10-13 20:53:36 +00:00
Jim Meyering
8f28cc8708 add tests for some of the recent changes to cp 2001-10-13 20:44:59 +00:00
Jim Meyering
0dc71387d4 *** empty log message *** 2001-10-13 19:58:41 +00:00
Jim Meyering
ed759a47cb (enum) [NO_DEREFERENCE_OPTION]: New member.
(enum) [NO_PRESERVE_ATTRIBUTES_OPTION]: New member.
(enum) [PRESERVE_ATTRIBUTES_OPTION]: New member.
(long_opts): Separate -d and --no-dereference options.
Add `no-preserve'.
Separate -p and --preserve options.
The long-named --preserve now accepts optional arguments; -p doesn't.
(usage): Describe additions and changes.
(cp_option_init): Initialize new member, preserve_links, to 0.
(decode_preserve_arg): New function.
(main) [case 'a']: Set preserve_links to 1.
[case 'd']: Set preserve_links to 1.
Add `case' for long-named --no-dereference.
Handle long-named --no-preserve and --preserve.
2001-10-13 19:57:08 +00:00
Jim Meyering
a5f6a3dc40 (cp_option_init): Initialize new member to 1. 2001-10-13 19:41:17 +00:00
Jim Meyering
8429ee57dd (cp_option_init): Initialize new member, preserve_links. 2001-10-13 19:40:31 +00:00
Jim Meyering
95cc4c0984 (enum Dereference_symlink): Add comments.
(struct cp_options) [preserve_links]: New member.
2001-10-13 19:36:26 +00:00
Jim Meyering
ef549ef73e *** empty log message *** 2001-10-13 19:13:16 +00:00
Jim Meyering
6d334f8f62 (cp_option_init): Don't set it. 2001-10-13 19:12:52 +00:00
Jim Meyering
da73a665f0 (struct cp_options) [failed_unlink_is_fatal]: Remove unused member. 2001-10-13 19:12:06 +00:00
Jim Meyering
72695161da *** empty log message *** 2001-10-13 17:25:17 +00:00
Jim Meyering
66372e29eb * src/copy.h (struct cp_options): Rename members:
s/preserve_owner_and_group/preserve_ownership/, and
s/preserve_chmod_bits/preserve_mode/.
* src/copy.c, src/cp.c, src/install.c, src/mv.c: Update all uses.
2001-10-13 17:24:38 +00:00
Jim Meyering
b604e6b1f1 * src/copy.h (struct cp_options): Rename members:
s/preserve_owner_and_group/preserve_ownership/, and
s/preserve_chmod_bits/preserve_mode/.
* src/copy.c, src/cp.c, src/install.c, src/mv.c: Update all uses.
2001-10-13 17:24:09 +00:00
Jim Meyering
039d440f50 (struct cp_options): Rename members:
s/preserve_owner_and_group/preserve_ownership/, and
s/preserve_chmod_bits/preserve_mode/.
2001-10-13 17:23:44 +00:00
Jim Meyering
f40532072e *** empty log message *** 2001-10-13 16:54:18 +00:00
Jim Meyering
b9f3b0ed92 *** empty log message *** 2001-10-13 16:51:09 +00:00
Jim Meyering
35e2136e59 Fix typo: s/Sh/SH/ before OPTIONS. 2001-10-13 16:50:59 +00:00
Jim Meyering
209557e03a don't use diff 2001-10-12 21:47:06 +00:00
Jim Meyering
d225261a77 *** empty log message *** 2001-10-12 07:03:12 +00:00
Jim Meyering
0f14bad291 (TESTS): Add infloop.
(XFAIL_TESTS): Mark it as a test that we expect to fail (temporarily).
2001-10-12 07:03:04 +00:00
Jim Meyering
f4e8ba6beb *** empty log message *** 2001-10-12 06:33:55 +00:00
Jim Meyering
1afc458839 (main): Tell what's wrong with `mknod c zero 1 5' rather
than saying just `Try `./mknod --help' for more information.'.
2001-10-12 06:32:13 +00:00
Jim Meyering
629576ece4 *** empty log message *** 2001-10-11 15:52:22 +00:00
Jim Meyering
b729ec75ca (argmatch_invalid): Use quotearg_n_style (0, ...
and quote_n (1, ... to avoid clobbering a buffer.
2001-10-11 15:52:17 +00:00
Jim Meyering
4d390a18ba *** empty log message *** 2001-10-07 09:39:35 +00:00
Jim Meyering
fc3429bc45 *** empty log message *** 2001-10-07 09:39:09 +00:00
Jim Meyering
06ab933220 *** empty log message *** 2001-10-07 08:41:23 +00:00
Jim Meyering
61b95dac69 (remember_copied): Make a local copy of the file name.
(src_to_dest_free): New function (to free the above).
(hash_init): Register src_to_dest_free.
2001-10-07 08:41:03 +00:00
Jim Meyering
3cff443b59 (copy_dir): Now that remember_copied copies the
file name, free the temporary `dst_path' allocated here.
2001-10-07 08:40:00 +00:00
Jim Meyering
38e11fdc5d (do_copy): Don't clear the hash table after processing
each command line argument.
2001-10-07 08:39:43 +00:00
Jim Meyering
94eb7340ec whoops. use cp's -a option 2001-10-07 07:52:40 +00:00
Jim Meyering
79476921ef (TESTS): Add link-preserve. 2001-10-07 07:47:41 +00:00
Jim Meyering
d34280f171 *** empty log message *** 2001-10-07 07:47:29 +00:00
Jim Meyering
c8987dca56 *** empty log message *** 2001-10-06 21:31:57 +00:00
Jim Meyering
ccdb1b0215 Convert du.c to use the functions in lib/hash.c, not private,
slightly-modified copies of those that used to be in cp-hash.c.

(struct entry) [coll_link]: Remove member.
(struct htab): Remove.
(hash_reset, hash_init, hash_insert2, hash_insert): Remove functions.

Include hash.h and same.h.
(htab): Change type of global to `struct hash';
(entry_hash, entry_compare, hash_ins): New functions.
(count_entry): Use hash_ins instead of hash_insert.
2001-10-06 21:29:19 +00:00
Jim Meyering
bf0b70f10d (hash_init): Die if hash_initialize fails. 2001-10-06 21:25:08 +00:00
Jim Meyering
adac7cd0e3 *** empty log message *** 2001-10-06 17:25:12 +00:00
Jim Meyering
de879011f3 Update prototype for hash_init. 2001-10-06 17:24:58 +00:00
Jim Meyering
f275d7ae99 Rewrite to use the functions in lib/hash.c. 2001-10-06 17:24:10 +00:00
Jim Meyering
f5b2352264 (record_dest): Fix test for whether to free `ent'.
Thank heavens for regression tests.
2001-10-06 17:07:15 +00:00
Jim Meyering
110190e4d9 *** empty log message *** 2001-10-06 16:46:27 +00:00
Jim Meyering
e1b81c9b74 (main): Reflect that hash_init now takes no arguments. 2001-10-06 16:46:06 +00:00
Jim Meyering
3dfa4910e2 (do_move): Reflect that hash_init now takes no arguments. 2001-10-06 16:45:53 +00:00
Jim Meyering
706a45c0b8 (record_dest): Avoid a small leak.
(copy_internal): Call remember_copied only for if the source file
has 1 < st_nlink, or if it's a directory.
Now that EARLIER_FILE is set conditionally, initialize it to NULL.
2001-10-06 16:43:07 +00:00
Jim Meyering
7bdd841fd2 Redirect stderr. 2001-10-06 10:43:07 +00:00
Jim Meyering
6d64ac8442 *** empty log message *** 2001-10-05 11:47:15 +00:00
Jim Meyering
175e677c82 Include hash-pjw.h and remove definition of hash_pjw. 2001-10-05 11:46:57 +00:00
Jim Meyering
8b856a3132 . 2001-10-05 11:45:36 +00:00
Jim Meyering
a97b7f61ff (libfetish_a_SOURCES): Add hash-pjw.c and hash-pjw.h. 2001-10-05 11:45:25 +00:00
Jim Meyering
0b9c7cac74 *** empty log message *** 2001-10-05 11:44:30 +00:00
Jim Meyering
32852d9825 *** empty log message *** 2001-10-04 07:52:44 +00:00
Jim Meyering
63b6a548e1 adjust to use new option-arg name 2001-10-04 07:50:09 +00:00
Jim Meyering
f27c09a303 *** empty log message *** 2001-10-04 07:49:19 +00:00
Jim Meyering
fb4a9133ed Rename --all-repeated argument precede' to prepend'.
* src/uniq.c (enum delimit_method): s/DM_PRECEDE/DM_PREPEND/
and change all uses.
(delimit_method_string): s/precede/prepend/
Patch by Padraig Brady.

* src/uniq.c (usage): Correct typo in description of --all-repeated.
Patch by Padraig Brady.
2001-10-04 07:49:10 +00:00
Jim Meyering
11691bf911 *** empty log message *** 2001-09-30 21:39:54 +00:00
Jim Meyering
034781fc4f (jm_LIST_MOUNTED_FILESYSTEMS): See if
`struct fsstat' has the `f_fstypename' member.
Use that to define FS_TYPE, which is now used to make
the getfsstat link test tighter.
2001-09-30 21:39:51 +00:00
Jim Meyering
2fa9e8e2d9 *** empty log message *** 2001-09-30 21:28:26 +00:00
Jim Meyering
565b41ed31 [MOUNTED_GETFSSTAT]:
Include <sys/ucred.h>, for Apple Darwin.
Include sys/mount.h and sys/fs_types.h only if available.
(FS_TYPE): Define.
(read_filesystem_list): Use FS_TYPE.
2001-09-30 21:28:15 +00:00
Jim Meyering
2570759aa0 *** empty log message *** 2001-09-30 15:38:23 +00:00
Jim Meyering
eb04599224 *** empty log message *** 2001-09-30 11:33:04 +00:00
Jim Meyering
83e51f160b tail -F would segfault
(parse_options): Add missing `break;' from last change.
2001-09-30 11:32:58 +00:00
Jim Meyering
3bf61e47d8 *** empty log message *** 2001-09-30 06:26:57 +00:00
Jim Meyering
1c670cbcd2 (excluded_filename): 0 -> false, since it's a boolean context. 2001-09-30 06:26:46 +00:00
Jim Meyering
82f70b1ed9 *** empty log message *** 2001-09-29 10:30:41 +00:00
Jim Meyering
56a2795f38 *** empty log message *** 2001-09-29 10:29:25 +00:00
Jim Meyering
dd39ed6e81 *** empty log message *** 2001-09-29 10:27:35 +00:00
Jim Meyering
726b66072a (jm_LIST_MOUNTED_FILESYSTEMS)
Check for these headers: sys/param.h sys/ucred.h sys/mount.h
sys/fs_types.h, and make the link-test for getfsstat guard #include
directives with appropriate #if HAVE_*_H tests so that we can
detect getfsstat on Apple Darwin1.3.7 systems.

Also fix harmless typo in cache variable name: s/getsstat/getfsstat/.
2001-09-29 10:27:28 +00:00
Jim Meyering
7bf6b048be *** empty log message *** 2001-09-29 09:37:13 +00:00
Jim Meyering
10a482fd41 (copy_internal): Call record_dest for all types of
files (for which this makes sense), not just regular ones.
2001-09-29 09:35:01 +00:00
Jim Meyering
16de496c5d *** empty log message *** 2001-09-29 08:13:26 +00:00
Jim Meyering
33e8cff715 (jm_LIST_MOUNTED_FILESYSTEMS)
[one-argument getmntent function]): Include stdio.h before mntent.h.
SunOS4.1.x needs it for the declaration of `FILE'.
Patch by Volker Borchert.
2001-09-29 08:13:18 +00:00
Jim Meyering
23eb5e1acd *** empty log message *** 2001-09-29 06:49:35 +00:00
Jim Meyering
900acbdbcb (wget-update): Add mkinstalldirs. 2001-09-29 06:49:25 +00:00
Jim Meyering
45d6772cfe *** empty log message *** 2001-09-28 19:58:37 +00:00
Jim Meyering
fa805211ac *** empty log message *** 2001-09-28 19:55:51 +00:00
Jim Meyering
eca1e2d890 (main): Call dest_info_init if necessary. 2001-09-28 19:55:06 +00:00
Jim Meyering
6027bfa668 (main): Call dest_info_init if necessary. 2001-09-28 19:53:21 +00:00
Jim Meyering
679295f1de (do_copy): Call dest_info_init if necessary. 2001-09-28 19:52:34 +00:00
Jim Meyering
beee918e72 (dest_info_init): Declare. 2001-09-28 19:52:01 +00:00
Jim Meyering
9d0fbdaf36 Include "hash.h" and "same.h".
(struct Dest_info): Define.
(dest_info): Declare global.
(DEST_INFO_INITIAL_CAPACITY): Define.
(hash_pjw): New function.
(dest_info_hash): Likewise.
(dest_info_compare): Likewise.
(dest_info_init): Likewise.
(seen_dest): Likewise.
(record_dest): Likewise.
(copy_internal): If the destination exists, fail if it's in the set
of files that have already been created as part of this mv or cp.
(copy_internal) [move_mode]: Record the destination dev/ino/filename.
(copy_internal) [!move_mode, regular file]: Likewise.
2001-09-28 19:51:19 +00:00
Jim Meyering
e60f34c475 Accept new option: --reply={yes,no,query}
(enum) [REPLY_OPTION]: Define.
(usage): Describe new option.
Split long usage string into smaller pieces.
(main): Handle new option.
2001-09-28 19:43:17 +00:00
Jim Meyering
1f987f7eed *** empty log message *** 2001-09-28 19:37:57 +00:00
Jim Meyering
5dffc8a83c * xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
Check for strtoul and strtoumax,
as those declarations are made even in the signed case.
* xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
Likewise, for strtol and strtoimax.
2001-09-28 19:37:38 +00:00
Jim Meyering
c9b0d2415a *** empty log message *** 2001-09-28 19:35:42 +00:00
Jim Meyering
9893f72169 *** empty log message *** 2001-09-28 19:35:01 +00:00
Jim Meyering
9a8547bc45 (strtol): Do not declare if HAVE_DECL_STRTOL.
(strtoul): Do not declare if HAVE_DECL_STRTOUL.
(strtoimax, strtoumax): Do not declare if already defined as a macro.
2001-09-28 19:34:31 +00:00
Jim Meyering
173be61cad . 2001-09-28 08:14:35 +00:00
Jim Meyering
855fc65068 *** empty log message *** 2001-09-28 08:08:41 +00:00
Jim Meyering
4f16f7f014 . 2001-09-28 08:06:04 +00:00
Jim Meyering
909593073d *** empty log message *** 2001-09-28 06:45:25 +00:00
Jim Meyering
b2f1dc2045 *** empty log message *** 2001-09-26 08:51:53 +00:00
Jim Meyering
0cf127ff5c *** empty log message *** 2001-09-26 08:51:24 +00:00
Jim Meyering
7316ccbb5f *** empty log message *** 2001-09-26 08:33:14 +00:00
Jim Meyering
50ab0a78e0 *** empty log message *** 2001-09-26 08:27:49 +00:00
Jim Meyering
ea59c2ae6d (USE_UNLOCKED_IO): Define to 1 if not already defined. 2001-09-26 08:27:42 +00:00
Jim Meyering
8cd9be5598 . 2001-09-26 08:22:37 +00:00
Jim Meyering
dc374320b8 *** empty log message *** 2001-09-26 08:21:55 +00:00
Jim Meyering
5f97defa02 remove now-unused tmp/trap junk 2001-09-26 08:21:06 +00:00
Jim Meyering
8910e98330 exit from only one place: the end 2001-09-26 08:20:38 +00:00
Jim Meyering
a11576bb59 portability tweaks 2001-09-26 08:19:17 +00:00
Jim Meyering
de7d4fdb5f *** empty log message *** 2001-09-26 08:13:41 +00:00
Jim Meyering
ddbaad372e (unlocked-io.h): Use $(SHELL). 2001-09-26 08:13:27 +00:00
Jim Meyering
70729acb60 . 2001-09-26 08:11:20 +00:00
Jim Meyering
5b60bebabb (unlocked-io.h): Rewrite to use a separate script,
rather than trying to embed it here.
(EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
2001-09-26 08:11:01 +00:00
Jim Meyering
29f888398d . 2001-09-26 07:55:04 +00:00
Jim Meyering
e2365ea11e *** empty log message *** 2001-09-26 07:53:18 +00:00
Jim Meyering
681607ae07 *** empty log message *** 2001-09-26 07:52:57 +00:00
Jim Meyering
c82b876b6f Update to autoconf 2.50 version. 2001-09-26 07:44:23 +00:00
Jim Meyering
ec6cab66bf *** empty log message *** 2001-09-25 13:01:36 +00:00
Jim Meyering
08575c4bce (rpl_gettimeofday): Declare local variable `result'. 2001-09-25 13:01:22 +00:00
Jim Meyering
caa5ba0ca2 *** empty log message *** 2001-09-25 09:20:22 +00:00
Jim Meyering
7682c7ed4b *** empty log message *** 2001-09-25 08:42:53 +00:00
Jim Meyering
41033e8bd0 *** empty log message *** 2001-09-25 06:28:41 +00:00
Jim Meyering
c4d9b90a58 . 2001-09-24 15:35:09 +00:00
Jim Meyering
9c1108fdea Use the version from gettext-0.10.40, not CVS. 2001-09-24 15:35:00 +00:00
Jim Meyering
1ee0ec3463 . 2001-09-23 18:11:09 +00:00
Jim Meyering
26ebb5b5de *** empty log message *** 2001-09-23 18:10:54 +00:00
Jim Meyering
d9ab98a19f *** empty log message *** 2001-09-23 18:08:52 +00:00
Jim Meyering
44a8a34725 tighten up the tests 2001-09-23 18:08:45 +00:00
Jim Meyering
b310d2131d . 2001-09-23 15:47:00 +00:00
Jim Meyering
0f16f7e6b2 (TESTS): Add childproof. 2001-09-23 14:38:03 +00:00
Jim Meyering
d454296098 *** empty log message *** 2001-09-23 14:37:38 +00:00
Jim Meyering
ad094a6c52 *** empty log message *** 2001-09-23 14:24:35 +00:00
Jim Meyering
98a0f8c36e (jm_LIST_MOUNTED_FILESYSTEMS): In the outer getmntent if-block, don't
die if neither of the getmntent tests succeeds.  Instead, just fall
through and continue with the remaianing tests.
2001-09-23 14:24:23 +00:00
Jim Meyering
28ecf065f8 *** empty log message *** 2001-09-23 09:19:52 +00:00
Jim Meyering
61c83b3d22 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
instead of the mere test for existence of mntent.h.  The latter
would get a false-positive on AIX 3.4 systems.
2001-09-23 09:19:42 +00:00
Jim Meyering
5e7630f24f *** empty log message *** 2001-09-23 08:56:27 +00:00
Jim Meyering
4bccf0b322 Remove useless parentheses in #if directives.
(MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
the deprecated MOUNTED symbol is no longer defined in mntent.h.
2001-09-23 08:56:11 +00:00
Jim Meyering
0439c570ab *** empty log message *** 2001-09-23 08:08:40 +00:00
Jim Meyering
78d4dc2ea3 . 2001-09-23 07:45:07 +00:00
Jim Meyering
7dc3d4d8f8 *** empty log message *** 2001-09-23 07:44:08 +00:00
Jim Meyering
cdd85ee367 (check-texinfo): Redirect stderr of `grep -w' to
/dev/null, so people with old versions of grep don't see the failure.
2001-09-23 07:44:01 +00:00
Jim Meyering
9ffb6b8bb6 *** empty log message *** 2001-09-23 07:36:53 +00:00
Jim Meyering
ee32712334 *** empty log message *** 2001-09-23 06:59:57 +00:00
Jim Meyering
b4c4729c8f . 2001-09-22 20:11:33 +00:00
Jim Meyering
f4ab08b5ca *** empty log message *** 2001-09-22 20:10:44 +00:00
Jim Meyering
4cedb82f6e Update from gettext cvs repository. 2001-09-22 19:19:44 +00:00
Jim Meyering
9917b0be5a *** empty log message *** 2001-09-22 19:15:53 +00:00
Jim Meyering
363a391db4 *** empty log message *** 2001-09-22 16:45:36 +00:00
Jim Meyering
0d784f664b . 2001-09-22 16:45:28 +00:00
Jim Meyering
0265852ab2 . 2001-09-22 16:41:44 +00:00
Jim Meyering
d377c5bd7f *** empty log message *** 2001-09-22 16:40:25 +00:00
Jim Meyering
77678307a5 . 2001-09-22 16:40:17 +00:00
Jim Meyering
b7b37133ac . 2001-09-22 16:39:57 +00:00
Jim Meyering
f13c461cf7 Upgrade to gettext-0.10.40. 2001-09-22 16:38:35 +00:00
Jim Meyering
2d1b13b6d0 Sync with gettext -- this changes only comments. 2001-09-22 16:34:51 +00:00
Jim Meyering
556a834d33 Sync with gettext -- this changes only comments. 2001-09-22 16:34:30 +00:00
Jim Meyering
cbed45a540 decrement serial number to sync with gettext 2001-09-22 15:18:47 +00:00
Jim Meyering
bfcb6bacf8 decrement serial number to sync with gettext 2001-09-22 15:18:03 +00:00
Jim Meyering
9e82f23de4 . 2001-09-22 15:17:26 +00:00
Jim Meyering
20925d812d Upgrade to gettext 0.10.39. 2001-09-22 15:15:41 +00:00
Jim Meyering
e8d79c1502 *** empty log message *** 2001-09-22 15:08:51 +00:00
Jim Meyering
8d45c22c3c Update from latest gettext. 2001-09-22 15:08:35 +00:00
Jim Meyering
16aef05416 . 2001-09-22 13:27:04 +00:00
Jim Meyering
8000bd993e . 2001-09-22 13:18:57 +00:00
Jim Meyering
8751c5fc27 . 2001-09-22 13:18:19 +00:00
Jim Meyering
29955c54b8 *** empty log message *** 2001-09-22 13:18:04 +00:00
Jim Meyering
5d461b6c45 *** empty log message *** 2001-09-22 13:16:48 +00:00
Jim Meyering
62471a036d *** empty log message *** 2001-09-22 13:16:21 +00:00
Jim Meyering
0ed1711755 *** empty log message *** 2001-09-22 08:27:36 +00:00
Jim Meyering
3939790637 Mostly clean-up (modulo the better diagnostic).
(copy_internal): Rename parameter, move_mode, to
command_line_arg, and adjust caller.  Now, move_mode is a local
that is derived from command_line_arg.
Factor some involved code to produce something slightly more readable.
Use x->move_mode, not move_mode in determining which diagnostic
to give (`backing up %s would destroy source;  %s not moved').
2001-09-22 08:27:27 +00:00
Jim Meyering
483977a347 *** empty log message *** 2001-09-20 15:04:07 +00:00
Jim Meyering
b5fd786410 (strtoimax): Guard declaration with
`#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
have their own, conflicting declaration of strtoimax in sys/inttypes.h.
(strtoumax): Likewise, for completeness (it wasn't necessary).
2001-09-20 14:46:55 +00:00
Jim Meyering
95ce12946b *** empty log message *** 2001-09-20 14:41:51 +00:00
Jim Meyering
0ec82af940 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of strtoumax. 2001-09-20 14:41:43 +00:00
Jim Meyering
c2f01a209e (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of strtoumax. 2001-09-20 14:41:26 +00:00
Jim Meyering
7b9a35951b *** empty log message *** 2001-09-20 08:44:22 +00:00
Jim Meyering
b6baea64d1 (MAX_ADDRESS_LENGTH, pseudo_offset, format_address,
n_bytes_to_skip, skip, format_address_none,
format_address_std, format_address_paren,
format_address_label, write_block, parse_old_offset, dump,
dump_strings, main):
Use uintmax_t, not off_t, for file addresses, so that we can
handle multiple large files even if the sum of their sizes
exceeds off_t limits.

(print_s_char, print_char, print_s_short, print_short,
print_int, print_long, print_long_long, print_float,
print_double, print_long_double, dump_hexl_mode_trailer,
print_named_ascii, print_ascii, decode_one_format):
Use size_t, not off_t, for in-memory byte counts.

(end_offset): New var.
(dump, dump_strings): Use it.
(main): Set it, but check for overflow while doing so.

(skip): Report an error if an in-range lseek fails on a
regular file, as something's seriously wrong.  Check for
negative regular file sizes (possible with some broken NFS
implementations).

(parse_old_offset): Now all offsets are valid, so return a
success boolean and take a pointer to an offset as an argument.
All callers changed.

(dump_strings): Check for overflow when computing end_offset -
string_min.

(main): Remove OFF_T_MAX checks that are no longer needed.
Don't bother assigning through temporary when there's no size
limit to check.
2001-09-20 08:44:12 +00:00
Jim Meyering
447637fb37 . 2001-09-19 11:30:58 +00:00
Jim Meyering
2b21f12d85 *** empty log message *** 2001-09-19 10:52:03 +00:00
Jim Meyering
5a0dcd18c4 *** empty log message *** 2001-09-19 10:34:47 +00:00
Jim Meyering
f3eff573fc (open_next_file): Use SETVBUF, not setbuf.
(skip): Revert part of last change: use lseek, not fseek.
2001-09-19 10:28:09 +00:00
Jim Meyering
18b2abbf6c When --read-bytes=N (-N N) is used, disable input buffering in
the standard I/O library.  Otherwise, od would read more input
than requested.  This could have caused problems when reading
from pipes, character devices, and open file descriptors inherited
from a parent process.

* src/od.c (open_next_file): New function, factored out of...
(skip): Adapt to use open_next_file.
(read_char): Likewise.
(read_block): Likewise.
(main): Likewise.
(dump): Fix an off-by-one error that could have made od fail to
report a read error when reading from a named file (not stdin).
(check_and_close): Account for the fact that in_stream may now be NULL.
(usage): Correct descriptions of -j and -N options.
Patch by Ian Bruce.
2001-09-19 10:19:19 +00:00
Jim Meyering
7a33a02755 Use AC_DEFINE rather than AC_DEFINE_UNQUOTED, whenever the right hand side need not be expanded by the shell. 2001-09-17 21:44:03 +00:00
Jim Meyering
3aafbfb626 . 2001-09-17 21:43:41 +00:00
Jim Meyering
0283d73512 *** empty log message *** 2001-09-17 19:32:52 +00:00
Jim Meyering
ebc79b0b6d (jm_FUNC_FNMATCH): Remove test for GNU C
library.  It's not correct, as some older glibcs are buggy.
fnmatch wasn't fixed until glibc 2.2.

Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
special shell magic here.
2001-09-17 19:32:45 +00:00
Jim Meyering
b6f0933da1 *** empty log message *** 2001-09-17 10:24:27 +00:00
Jim Meyering
d6e1aff5e6 (HAVE_LONG_LONG): Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
(strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
to work around bug in IBM C compiler.
2001-09-17 10:24:20 +00:00
Jim Meyering
81c488fe62 *** empty log message *** 2001-09-17 10:21:08 +00:00
Jim Meyering
b6e61f0f18 (usage): Fix typo in -g usage.
-H now means --dereference-command-line.
2001-09-17 10:20:50 +00:00
Jim Meyering
f04d7b8252 *** empty log message *** 2001-09-17 10:11:42 +00:00
Jim Meyering
c3a2a9a1cf (main): Change the `ignoring excess arguments' diagnostic
to list the first one we're ignoring.  Suggestion from Karl Berry.
2001-09-17 10:11:27 +00:00
Jim Meyering
83ab129925 *** empty log message *** 2001-09-16 20:14:25 +00:00
Jim Meyering
fc172101b7 *** empty log message *** 2001-09-16 20:11:36 +00:00
Jim Meyering
22e8070d31 (usage): Prefix each line with a space, so that
help2man produces a better stty.1 man page.
2001-09-16 20:10:06 +00:00
Jim Meyering
fb84cd1881 (usage): Describe -h option.
From Michael Stone.  http://bugs.debian.org/99272
2001-09-16 19:58:00 +00:00
Jim Meyering
5b2989b22a *** empty log message *** 2001-09-16 19:55:07 +00:00
Jim Meyering
96c32a549f Add note to help people understand that this documentation
may not refer to the (shell built-in) command they're running.
2001-09-16 19:54:53 +00:00
Jim Meyering
4b44b870de Add note to help people understand this documentation
may not refer to the (shell built-in) command they're running.
2001-09-16 19:54:29 +00:00
Jim Meyering
de8600a83e *** empty log message *** 2001-09-16 19:49:47 +00:00
Jim Meyering
c0e0779f61 tweak line in help output 2001-09-16 16:07:07 +00:00
Jim Meyering
989527ca9e *** empty log message *** 2001-09-16 15:52:41 +00:00
Jim Meyering
a73c5cdedd (mv invocation): Describe new option: --reply={yes,no,query}. Fix a few typos. 2001-09-16 15:52:04 +00:00
Jim Meyering
6732d5e87e *** empty log message *** 2001-09-16 15:30:48 +00:00
Jim Meyering
d8eba2c4de . 2001-09-16 12:43:54 +00:00
Jim Meyering
dd5500c678 . 2001-09-16 12:43:33 +00:00
Jim Meyering
e105aad760 *** empty log message *** 2001-09-16 12:42:14 +00:00
Jim Meyering
f886ecfdcf . 2001-09-16 12:32:26 +00:00
Jim Meyering
674500658f *** empty log message *** 2001-09-16 12:32:12 +00:00
Jim Meyering
0b0b0c10b9 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro. 2001-09-16 12:32:07 +00:00
Jim Meyering
74ab294e6f (UTILS_FUNC_MKDIR_TRAILING_SLASH): Require it. 2001-09-16 12:31:55 +00:00
Jim Meyering
32317fa2be . 2001-09-16 09:30:07 +00:00
Jim Meyering
17eefced98 *** empty log message *** 2001-09-16 09:28:42 +00:00
Jim Meyering
4d87cd7f5c (digest_check): On systems for which setmode actually
does something, arrange to read the file containing checksum strings
in text mode.  Based on a patch from Chris Faylor.
2001-09-16 09:28:34 +00:00
Jim Meyering
1b86315413 (SET_MODE): Define. 2001-09-16 09:27:58 +00:00
Jim Meyering
5f5eb0cb24 *** empty log message *** 2001-09-16 09:26:10 +00:00
Jim Meyering
00c25e46b5 *** empty log message *** 2001-09-16 09:23:42 +00:00
Jim Meyering
28ae3f3e55 *** empty log message *** 2001-09-16 07:02:38 +00:00
Jim Meyering
02e4c447fb (uniq invocation): The input need not
be sorted.  Try to clarify -d versus -D versus -u.
2001-09-16 07:02:26 +00:00
Jim Meyering
fc98e3b53b . 2001-09-15 22:51:06 +00:00
Jim Meyering
6d87de19d3 . 2001-09-15 22:50:05 +00:00
Jim Meyering
8686ed3e79 *** empty log message *** 2001-09-15 21:34:50 +00:00
Jim Meyering
ecd73385f0 Check for help2man. 2001-09-15 21:34:44 +00:00
Jim Meyering
c0aad8bb11 *** empty log message *** 2001-09-15 21:31:09 +00:00
Jim Meyering
4c8c36c325 renamed from ginstall.x 2001-09-15 18:46:23 +00:00
Jim Meyering
db111e12ae (TESTS): Add fail-diag. 2001-09-15 17:08:27 +00:00
Jim Meyering
7161f22f6d *** empty log message *** 2001-09-15 17:07:54 +00:00
Jim Meyering
7088e9294e (EISDIR): Define to 0, if not already defined.
(touch): Give a better diagnostic for e.g., `touch /' by non-root.
Based on a patch from Michael Stone.
Reported by Jeff Sheinberg as Debian bug #101677.
2001-09-15 17:07:24 +00:00
Jim Meyering
e1e9b12ead . 2001-09-15 12:53:11 +00:00
Jim Meyering
7471db2e0d *** empty log message *** 2001-09-15 12:52:55 +00:00
Jim Meyering
e1e70abfab (UNWRITABLE): Define (factored out of copy_internal).
(copy_internal): Use UNWRITABLE.
2001-09-15 12:46:05 +00:00
Jim Meyering
cb40817c27 (copy_internal) [move_mode]: Support the new
--reply=... option.
2001-09-15 12:34:17 +00:00
Jim Meyering
a9b3766804 Accept new option: --reply={yes,no,query}
Include argmatch.h.
(enum) [REPLY_OPTION]: Define.
(usage): Describe new option.
Split long usage string into smaller pieces.
(main): Handle new option.
2001-09-15 11:38:36 +00:00
Jim Meyering
6b6a9cd8c4 (main): Reflect renaming: s/I_ON/I_ASK_USER/. 2001-09-15 11:21:23 +00:00
Jim Meyering
d929a883fc (enum Interactive): Remove members, I_OFF and I_ON.
Instead, add I_ALWAYS_YES, I_ALWAYS_NO, and I_ASK_USER.
2001-09-15 11:20:47 +00:00
Jim Meyering
8ddf9aa30c *** empty log message *** 2001-09-15 11:18:51 +00:00
Jim Meyering
2b87d03f50 Clean up: use priv-check rather than open-coding it. 2001-09-15 11:18:40 +00:00
Jim Meyering
836ab0b6f7 *** empty log message *** 2001-09-15 11:16:12 +00:00
Jim Meyering
08e983d3df (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 11:15:56 +00:00
Jim Meyering
222d08dc72 (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 11:14:49 +00:00
Jim Meyering
099fd9e8f0 (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 11:14:09 +00:00
Jim Meyering
52d78f0558 (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 10:32:36 +00:00
Jim Meyering
72dadf240e (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 10:32:05 +00:00
Jim Meyering
917893f4d3 *** empty log message *** 2001-09-12 09:07:40 +00:00
Jim Meyering
63a52bbb4c The command `echo a|./fmt -2147483647' would cause fmt to segfault.
(fmt_paragraph): Test for sentinal directly, rather than
doing arithmetic with it's potentially large (INT_MAX) length.
2001-09-12 09:07:35 +00:00
Jim Meyering
ea7b78f868 *** empty log message *** 2001-09-12 09:05:27 +00:00
Jim Meyering
707be37f35 Add wide-1 and wide-2. 2001-09-12 09:04:52 +00:00
Jim Meyering
7ef999a43f *** empty log message *** 2001-09-12 07:45:27 +00:00
Jim Meyering
73a5c3b847 *** empty log message *** 2001-09-12 07:37:50 +00:00
Jim Meyering
37991cf4a9 *** empty log message *** 2001-09-12 07:31:25 +00:00
Jim Meyering
940b6777c0 (tail invocation): Document new option: -F.
From Herbert Xu.
2001-09-12 07:31:19 +00:00
Jim Meyering
e440740bd9 *** empty log message *** 2001-09-12 07:30:29 +00:00
Jim Meyering
8a6d80dda1 *** empty log message *** 2001-09-12 07:28:06 +00:00
Jim Meyering
388c1a6104 tail: accept new option: -F, equivalent to `--follow=name --retry',
for compatibility with FreeBSD and NetBSD versions of tail.

(usage): Describe new option.
(parse_options): Accept it.
2001-09-12 07:27:29 +00:00
Jim Meyering
484ce2d8de The command `echo foo| fmt -w 100000' would cause fmt to segfault.
[struct Word]: Declare members length, space, and
line_length to be of type `int', not short.
(MAXCOST): Define using TYPE_MAXIMUM.
2001-09-12 06:41:01 +00:00
Jim Meyering
caa75371a8 . 2001-09-11 20:12:26 +00:00
Jim Meyering
78c5e7b7ba . 2001-09-11 20:11:47 +00:00
Jim Meyering
414207ccc7 *** empty log message *** 2001-09-11 20:11:37 +00:00
Jim Meyering
58eeea1ac8 Require UTILS_HOST_OS. 2001-09-11 20:11:30 +00:00
Jim Meyering
5ae09a5d3d *** empty log message *** 2001-09-11 20:11:04 +00:00
Jim Meyering
8deb67d1db (UTILS_HOST_OS): New file/macro.
The body, by Paul Eggert, was moved here from configure.in.
2001-09-11 20:10:44 +00:00
Jim Meyering
99eb99dc7d *** empty log message *** 2001-09-09 18:40:45 +00:00
Jim Meyering
5d1daca135 (binary_operator): Correct typo in diagnostic.
From Jochen Hein.
2001-09-09 18:40:24 +00:00
Jim Meyering
1a282c62b7 *** empty log message *** 2001-09-08 13:23:31 +00:00
Jim Meyering
4d6b3bb492 (TESTS): Add i-4. 2001-09-08 13:23:22 +00:00
Jim Meyering
55a0417174 *** empty log message *** 2001-09-08 13:22:58 +00:00
Jim Meyering
326aa5c043 (copy_internal): Add braces around now-multi-stmt
if-block.  This fixes a bug introduced by my 2001-08-06 change.
2001-09-08 13:22:41 +00:00
Jim Meyering
ca01db1efe *** empty log message *** 2001-09-07 09:47:46 +00:00
Jim Meyering
14c3068647 *** empty log message *** 2001-09-07 09:47:10 +00:00
Jim Meyering
deef029135 *** empty log message *** 2001-09-07 09:46:49 +00:00
Jim Meyering
c21b31a36f 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.
Uname option --release has been renamed to --kernel-release,
and --sysname has been renamed to --kernel-name;
the old options will work for a while, but are no longer documented.
2001-09-07 09:44:07 +00:00
Jim Meyering
aaeb7a61c4 Correct copyright notice as per latest coding standards.
Remove list of options in comment, which wasn't
worth maintaining separately from usage().

(print_element): Move definition up, avoiding the need for
declaration and allowing inlining on some platforms.
Keep track of whether something has been printed; this is more
natural than modifying `toprint'.

(PRINT_KERNEL_NAME): Renamed from PRINT_SYSNAME.
(PRINT_KERNEL_RELEASE): Renamed from PRINT_RELEASE.
(PRINT_KERNEL_VERSION): Renamed from PRINT_VERSION.
(PRINT_HARDWARE_PLATFORM, PRINT_OPERATING_SYSTEM): New macros.
(toprint): Remove global var; now local in `main'.
(long_options, usage, main): Implement changes described in NEWS.
Reorder options to reflect output order.
(main): Use buffers one byte longer, for compatibility with Solaris 8.
Output newline at end.  -a sets `toprint' to -1 now; this is simpler.
Do not bother invoking system calls like uname if the resulting
information does not need to be printed.
Do not fail if sysinfo fails; just print "unknown".
2001-09-07 09:43:03 +00:00
Jim Meyering
3a6d52861d *** empty log message *** 2001-09-06 14:36:28 +00:00
Jim Meyering
3737902524 (join invocation): Describe the GNU
extension to join, which does not require sorted input when
the input contains no unpairable lines.
2001-09-06 14:36:21 +00:00
Jim Meyering
09026d5413 *** empty log message *** 2001-09-04 20:28:35 +00:00
Jim Meyering
c01a38db4d Revert some of the previous change; intead,
fix the HAVE_GETCWD_NULL code to behave more like the
!HAVE_GETCWD_NULL code used to.

Include "xalloc.h".
(xgetcwd): Do not return NULL when memory is exhausted; instead,
invoke xalloc_die.
2001-09-04 20:28:31 +00:00
Jim Meyering
1e50f47812 *** empty log message *** 2001-09-04 20:24:18 +00:00
Jim Meyering
87261b73b3 (get_link_name): Update use of xreadlink. 2001-09-04 20:23:48 +00:00
Jim Meyering
121f936e4f . 2001-09-04 20:22:47 +00:00
Jim Meyering
a5261150bb (jm_PREREQ_XREADLINK): New macro.
(jm_PREREQ): Use it.
2001-09-04 20:22:27 +00:00
Jim Meyering
d4cc62de24 *** empty log message *** 2001-09-04 20:22:18 +00:00
Jim Meyering
28526f7763 (xreadlink): Update prototype. 2001-09-04 20:21:54 +00:00
Jim Meyering
beb34bac0a (xreadlink): Omit size_t* arg. All uses changed.
Use ssize_t, not int, to store result of readlink.
Check for ssize_t overflow as well as size_t overflow,
as POSIX says the result of readlink is implementation-defined
when ssize_t overflows.
Remove unnecessary cast to char*.
Use free+malloc instead of realloc, as the storage doesn't need
to be preserved and it's clearer and can be more efficient that way.
(SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
2001-09-04 20:20:16 +00:00
Jim Meyering
6ea18cc152 *** empty log message *** 2001-09-03 18:46:09 +00:00
Jim Meyering
5aa9a43b0c (fnmatch_no_wildcards): Fix confusion between
usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
spotted by Jim Meyering.
2001-09-03 18:45:20 +00:00
Jim Meyering
f839ec4d47 include errno.h etc, too 2001-09-03 18:32:05 +00:00
Jim Meyering
279c73a725 *** empty log message *** 2001-09-03 18:28:36 +00:00
Jim Meyering
fb18828c2c (jm_PREREQ_XGETCWD): Check for limits.h and
sys/param.h, as pathmax.h includes them.
2001-09-03 18:28:30 +00:00
Jim Meyering
b2b3e046e7 *** empty log message *** 2001-09-03 18:26:58 +00:00
Jim Meyering
f5d7ab79b8 tweak comment 2001-09-03 18:26:42 +00:00
Jim Meyering
c9488ff0e1 (xreadlink): Preserve errno around `free' during failure. 2001-09-03 18:25:58 +00:00
Jim Meyering
8df5a2474c update comment re power of 2 2001-09-03 18:24:37 +00:00
Jim Meyering
cb2a0f5e50 Fix the !HAVE_GETCWD_NULL code to behave more
like the HAVE_GETCWD_NULL code.
Include pathmax.h if not HAVE_GETCWD.
Do not include xalloc.h.
(INITIAL_BUFFER_SIZE): New symbol.
Do not use xmalloc / xrealloc, since the caller is responsible for
handling errors.  Preserve errno around `free' during failure.
Do not overrun buffer when using getwd.
2001-09-03 18:21:53 +00:00
Jim Meyering
9525a77c98 . 2001-09-03 09:43:36 +00:00
Jim Meyering
dbb27d4a36 . 2001-09-03 09:10:49 +00:00
Jim Meyering
4da3051ac3 *** empty log message *** 2001-09-03 07:45:34 +00:00
Jim Meyering
da313bea2d (jm_PREREQ): Add jm_PREREQ_XGETCWD.
(jm_PREREQ_XGETCWD): New macro.
2001-09-03 07:45:11 +00:00
Jim Meyering
0604854c16 *** empty log message *** 2001-09-03 07:44:18 +00:00
Jim Meyering
f5a12e3c11 *** empty log message *** 2001-09-03 07:43:54 +00:00
Jim Meyering
ae60bce16e (xgetcwd): Use HAVE_GETCWD_NULL, not (defined __GLIBC__ && __GLIBC__ >= 2),
to decide whether to use getcwd (NULL, 0).
2001-09-03 07:43:44 +00:00
Jim Meyering
dabc92dc12 *** empty log message *** 2001-09-02 15:23:19 +00:00
Jim Meyering
ee5c9da57b Don't pass an argument to a sourced script. 2001-09-02 15:22:37 +00:00
Jim Meyering
cf346c4179 Don't pass an argument to a sourced script. 2001-09-02 15:22:12 +00:00
Jim Meyering
f89de05989 Change usage not to use $1.
That's not portable to e.g., Solaris2.6's /bin/sh.
Communicate via an envvar instead.
2001-09-02 15:21:33 +00:00
Jim Meyering
5a3b6381c2 update for new priv-check usage 2001-09-02 15:19:27 +00:00
Jim Meyering
cb5a1ce84b *** empty log message *** 2001-09-02 14:34:07 +00:00
Jim Meyering
c976fc9de2 (alpha): Depend on local-check so that they run a little earlier. 2001-09-02 14:33:59 +00:00
Jim Meyering
fb3d344a5b *** empty log message *** 2001-09-02 14:26:06 +00:00
Jim Meyering
93a2f57576 *** empty log message *** 2001-09-02 14:25:03 +00:00
Jim Meyering
4fdadc2de6 *** empty log message *** 2001-09-02 14:22:50 +00:00
Jim Meyering
701b698712 *** empty log message *** 2001-09-02 14:20:39 +00:00
Jim Meyering
2a36dfaa48 *** empty log message *** 2001-09-02 14:14:01 +00:00
Jim Meyering
7d70c84f7d *** empty log message *** 2001-09-02 14:13:07 +00:00
Jim Meyering
cd8327ce2d *** empty log message *** 2001-09-02 13:22:33 +00:00
Jim Meyering
79a41c2f8b Update from GNU libc. 2001-09-02 13:22:25 +00:00
Jim Meyering
60d1eabd0c *** empty log message *** 2001-09-01 16:24:32 +00:00
Jim Meyering
be53392f0a (show_point): Use canonicalize_file_name, if possible.
[HAVE_RESOLVEPATH], [!HAVE_RESOLVEPATH]: Use malloc, not alloca,
so that these two paths also produce `resolved' in malloc'd storage.
Free that memory when done with it.
2001-09-01 16:24:19 +00:00
Jim Meyering
d9025b763b *** empty log message *** 2001-09-01 16:13:09 +00:00
Jim Meyering
fadaa762b5 (jm_MACROS): Check for canonicalize_file_name. 2001-09-01 16:12:45 +00:00
Jim Meyering
5c46e766b0 (get_link_name): Restore error-handling that was removed by preceding delta. 2001-09-01 13:26:41 +00:00
Jim Meyering
678bbca816 *** empty log message *** 2001-09-01 10:02:07 +00:00
Jim Meyering
fa207c2942 Include "xreadlink.h".
(get_link_name): Don't use PATH_MAX.
Rewrite to use xreadlink.
2001-09-01 09:58:04 +00:00
Jim Meyering
9e2ed8d97a . 2001-09-01 09:53:58 +00:00
Jim Meyering
4c419b468b *** empty log message *** 2001-09-01 09:53:48 +00:00
Jim Meyering
31555f918c *** empty log message *** 2001-09-01 09:50:48 +00:00
Jim Meyering
1d9ccbf010 (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h. 2001-09-01 09:50:21 +00:00
Jim Meyering
1db0824586 . 2001-09-01 07:43:13 +00:00
Jim Meyering
4d9bd13285 *** empty log message *** 2001-09-01 07:40:02 +00:00
Jim Meyering
6fd75407f4 (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
doesn't conflict with sparc-sun-solaris2.7's definition in
/usr/include/sys/int_types.h.
2001-09-01 07:39:56 +00:00
Jim Meyering
1d07c58db8 *** empty log message *** 2001-09-01 07:29:08 +00:00
Jim Meyering
847d1c0da7 Use ""', not <>' to #include non-system header files.
(fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
and strncasecmp as r-values.  Unixware didn't have declarations.
2001-09-01 07:28:51 +00:00
Jim Meyering
414d5f13be fix typo 2001-09-01 06:13:08 +00:00
Jim Meyering
985cae59cb *** empty log message *** 2001-08-31 11:41:46 +00:00
Jim Meyering
72ee797c44 (xgetcwd): Reorganize to avoid some duplication.
Use an initial, malloc'd, buffer of length 128 rather than
a statically allocated one of length 1024.
2001-08-31 11:39:16 +00:00
Jim Meyering
73caa61683 *** empty log message *** 2001-08-31 10:36:23 +00:00
Jim Meyering
ee65e66c6c Don't include pathmax.h.
Include stdlib.h and unistd.h if available.
Include xalloc.h.
(xmalloc, xstrdup, free): Remove decls.
(xgetcwd): Don't assume sizes fit in unsigned.
Check for overflow when computing sizes.
Simplify reallocation code.
2001-08-31 10:36:12 +00:00
Jim Meyering
48f3734b37 *** empty log message *** 2001-08-31 10:22:11 +00:00
Jim Meyering
df08b15a80 (jm_MACROS):Don't require jm_AC_HEADER_INTTYPES_H. 2001-08-31 10:21:56 +00:00
Jim Meyering
8d10649023 (jm_PREREQ_HUMAN): Don't require jm_AC_HEADER_INTTYPES_H.
Update comment.
2001-08-31 10:20:17 +00:00
Jim Meyering
c346a4e4cf (jm_AC_PREREQ_XSTRTOUMAX):
Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
since they are needed to parse the include file even if we need
only xstrtoumax.  Simplify logic behind the args to AC_REPLACE.
2001-08-31 10:18:21 +00:00
Jim Meyering
9b27320468 (jm_AC_PREREQ_XSTRTOIMAX):
Quote first arg of AC_DEFUN.
Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
since they are needed to parse the include file even if we need
only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
2001-08-31 10:14:52 +00:00
Jim Meyering
d25d599163 (AC_PREREQ): Bump to 2.52.
(jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
All uses removed.
(jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
Move AC_REQUIRE to next-to-top level, to avoid confusion.
Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
2001-08-31 10:12:12 +00:00
Jim Meyering
5dc16bf67a Remove, as it duplicates inttypes.m4. 2001-08-31 10:05:52 +00:00
Jim Meyering
dea4390e10 . 2001-08-31 10:04:15 +00:00
Jim Meyering
d77adba2d7 *** empty log message *** 2001-08-31 09:55:52 +00:00
Jim Meyering
b6c2910a61 (bool): Remove typedef, now that it's in system.h.
(TRUE): Define to `true', not 1.
(FALSE): Define to `false', not 0.
2001-08-31 09:55:26 +00:00
Jim Meyering
023c594b9b *** empty log message *** 2001-08-31 09:45:04 +00:00
Jim Meyering
d50c8903f9 *** empty log message *** 2001-08-31 09:39:22 +00:00
Jim Meyering
b51a19058f Include strtoimax.c, not strtouxmax.c. 2001-08-31 09:39:10 +00:00
Jim Meyering
c1845ef979 Renamed from strtoxmax.c, removing the old strtoimax.c.
Also, make the following further changes to make this file's
configuration more similar to that of strtol.c:
(UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
(strtoumax, uintmax_t, strtoull, strtol): Remove.
(intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
(strtoimax): Renamed from strtoumax.  All uses of unsigned values
changed to signed values.

And make the following changes as well:
Fix copyright notice, as 1999 was missing.
(verify): New macro.
(strtoimax): Check sizes at compile-time, not run-time.
Prefer strtol to strtoll if both work.
(main): Remove; it was not that useful and was a pain to maintain.
2001-08-31 09:37:58 +00:00
Jim Meyering
ed3076c1e3 . 2001-08-31 09:30:02 +00:00
Jim Meyering
436ab156b1 (libfetish_a_SOURCES): Remove strtoxmax.c. 2001-08-31 09:29:44 +00:00
Jim Meyering
ca9bd98b2a (copy_dir): Remove st_size argument. 2001-08-31 09:19:40 +00:00
Jim Meyering
b20df0057f (count_entry): Remove st_size argument. 2001-08-31 09:18:13 +00:00
Jim Meyering
d7c291117c (change_dir_mode): Remove statp arg; no longer needed. 2001-08-31 09:16:54 +00:00
Jim Meyering
56478b94ae (change_dir_owner): Remove statp arg; no longer needed. 2001-08-31 09:15:59 +00:00
Jim Meyering
3b7a24cc92 Do not include savedir.h; not used. 2001-08-31 09:11:04 +00:00
Jim Meyering
2c63fed0e8 (savedir): Remove size parameter, as POSIX says that
a directory's st_size can have an arbitrary value, so the old
usage could waste an arbitrary amount of memory.  All uses
changed.
2001-08-31 09:09:53 +00:00
Jim Meyering
fab23e172d Update prototype. 2001-08-31 09:09:35 +00:00
Jim Meyering
45f197087d *** empty log message *** 2001-08-31 08:18:06 +00:00
Jim Meyering
2fb1f177d9 (strtoimax): New decl. 2001-08-31 08:17:45 +00:00
Jim Meyering
dc1f8d9a16 *** empty log message *** 2001-08-31 08:16:12 +00:00
Jim Meyering
2adb484d90 * lib/xstrtol.h: Add copyright notice.
(_DECLARE_XSTRTOL): Improve quality of diagnostic for
LONGINT_INVALID_SUFFIX_CHAR.
2001-08-31 08:15:10 +00:00
Jim Meyering
46abc467c6 *** empty log message *** 2001-08-31 07:52:28 +00:00
Jim Meyering
b1828eec81 BSD/OS 4.1 wchar.h requires FILE and struct tm to be declared. 2001-08-31 07:51:13 +00:00
Jim Meyering
a6ad856b3b *** empty log message *** 2001-08-31 07:49:54 +00:00
Jim Meyering
8a7b2f0191 Remove '2001' from copyright notice. 2001-08-31 07:49:39 +00:00
Jim Meyering
06392556ec *** empty log message *** 2001-08-31 07:46:38 +00:00
Jim Meyering
222973731a Include full-write.h.
(full_write): Remove decl; not needed.
2001-08-31 07:46:28 +00:00
Jim Meyering
30cc300814 copyright 2001-08-31 07:45:28 +00:00
Jim Meyering
722e2f0957 Include full-write.h.
(full_write): Remove decl; not needed.
(simple_cat, cat): Don't assume read and write size fits in int.
2001-08-31 07:45:12 +00:00
Jim Meyering
4f982cb6f5 *** empty log message *** 2001-08-31 07:42:37 +00:00
Jim Meyering
3f25540d1e (full_write): Remove decl; not needed. 2001-08-31 07:42:30 +00:00
Jim Meyering
7de89daf4d *** empty log message *** 2001-08-31 07:37:47 +00:00
Jim Meyering
4337731793 copyright 2001-08-31 07:35:47 +00:00
Jim Meyering
04b726d04d Include full-write.h. 2001-08-31 07:35:37 +00:00
Jim Meyering
16dc8023ae *** empty log message *** 2001-08-31 07:34:41 +00:00
Jim Meyering
c8ef0d4bbe (libfetish_a_SOURCES): Add full-write.h. 2001-08-31 07:34:13 +00:00
Jim Meyering
aee944ad9b Correct credits, as cccp.c no longer
exists and anyway it was so heavily changed from the old cccp
code as to be unrecognizable.  Include full-write.h.
(full_write) Return size_t, with short writes meaning failure.
All callers changed.  This fixes a bug with large buffers
on 64-bit hosts.
2001-08-31 07:29:05 +00:00
Jim Meyering
63f570d12b (full_write): Remove decl; not needed. 2001-08-31 07:22:06 +00:00
Jim Meyering
109d7b4386 (full_write): Remove decl; not needed. 2001-08-31 07:21:23 +00:00
Jim Meyering
34db7168de Include full-write.h.
(full_write): Remove decl; not needed.
(open_fd): Don't assume read and write size fits in int.
2001-08-31 07:19:24 +00:00
Jim Meyering
b62d5afd3f Include full-write.h.
(full_write): Remove decl; not needed.
(copy_reg): Don't assume read and write size fits in int.
2001-08-31 07:15:14 +00:00
Jim Meyering
ab0bba9958 *** empty log message *** 2001-08-31 07:05:14 +00:00
Jim Meyering
e4676fbb20 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
(jm_PREREQ_EXCLUDE): New macro.
2001-08-31 07:05:08 +00:00
Jim Meyering
fd90d8dbf8 * src/remove.c: Move true/false definitions and include from here...
* src/system.h: ...to here.
2001-08-31 06:50:44 +00:00
Jim Meyering
edbe4553a8 copyright 2001-08-31 06:46:52 +00:00
Jim Meyering
0e18bbb519 (count_entry, main): Reflect changes to the exclude functions. 2001-08-31 06:46:39 +00:00
Jim Meyering
473f37a6c9 *** empty log message *** 2001-08-31 06:35:13 +00:00
Jim Meyering
90525ea340 (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS): New macros.
(free_exclude): New decl.
(add_exclude, add_exclude_file): Now takes int options arg.
(excluded_filename): No longer requires options arg, as the options
are determined by add_exclude.  Now returns bool, not int.
2001-08-31 06:34:06 +00:00
Jim Meyering
083a5e420b Merge 'exclude' changes from tar 1.13.22.
This fixes one or two unlikely storage allocation overflow bugs,
but doesn't change user-visible behavior otherwise.

(bool): Declare, perhaps by including stdbool.h.
(<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
(<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
Include	if available.
(<xalloc.h>): Include
(SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
(verify): New macro.  Use it to verify that EXCLUDE macros do not
collide with FNM macros.
(struct patopts): New struct.
(struct exclude): Use it, as exclude patterns now come with options.
(new_exclude): Support above changes.
(new_exclude, add_exclude_file):
Initial size must now be a power of two to simplify overflow checking.
(free_exclude, fnmatch_no_wildcards): New function.
(excluded_filename): No longer requires options arg, as the options
are determined by add_exclude.  Now returns bool, not int.
(excluded_filename, add_exclude):
Add support for the fancy new exclusion options.
(add_exclude, add_exclude_file): Now takes int options arg.
Check for arithmetic overflow when computing sizes.
(add_exclude_file): xrealloc might modify errno, so don't
realloc until after errno might be used.
2001-08-31 06:33:42 +00:00
Jim Meyering
0f165cf273 *** empty log message *** 2001-08-30 19:19:10 +00:00
Jim Meyering
3b57acb098 (alloca): Arg is of type size_t, not unsigned. 2001-08-30 19:19:02 +00:00
Jim Meyering
8a1213f73f *** empty log message *** 2001-08-28 08:33:05 +00:00
Jim Meyering
9ac5676264 (main): Diagnose an invalid width option. 2001-08-28 08:32:51 +00:00
Jim Meyering
da05e6a690 *** empty log message *** 2001-08-28 08:18:29 +00:00
Jim Meyering
5dcf4f2419 (main): Correct the diagnostic for invalid argument to -w. 2001-08-28 08:18:19 +00:00
Jim Meyering
aa69564e94 #define STRTOUXMAX_UNSIGNED 2001-08-27 21:25:15 +00:00
Jim Meyering
73dc52f0b9 whoops. Don't define anything here. imax is the default 2001-08-27 21:24:59 +00:00
Jim Meyering
ae6c9955fb *** empty log message *** 2001-08-27 08:56:01 +00:00
Jim Meyering
dd494192a1 Undo last change. Instead, simply remove `N_('. 2001-08-27 08:55:54 +00:00
Jim Meyering
fa9fc61ee6 . 2001-08-27 08:55:04 +00:00
Jim Meyering
7faf69c42d remove xstrtoxmax.c 2001-08-27 08:54:19 +00:00
Jim Meyering
61e5152b36 *** empty log message *** 2001-08-27 08:52:46 +00:00
Jim Meyering
301cc00d3b (libfetish_a_SOURCES): Add strtoxmax.c 2001-08-27 08:52:40 +00:00
Jim Meyering
1bd2ed97b2 Actually remove the definition of N_. 2001-08-27 08:50:19 +00:00
Jim Meyering
3a9d91bb57 (N_): Remove definition.
Revert most of last change.
Instead, simply don't mark the `Copyright...' string for translation.
Based on advice from Paul Eggert.
2001-08-27 08:50:04 +00:00
Jim Meyering
a26e5e37b8 *** empty log message *** 2001-08-27 08:46:16 +00:00
Jim Meyering
a2e87ae6d1 Tweak comment. 2001-08-27 08:46:08 +00:00
Jim Meyering
482dc4ee3c include strtoxmax.c 2001-08-27 08:44:27 +00:00
Jim Meyering
e698bc0929 renamed to strtoxmax.c 2001-08-27 08:43:54 +00:00
Jim Meyering
d64218ea47 renamed from strtouxmax.c 2001-08-27 08:31:30 +00:00
Jim Meyering
afb733429b (copyright-check): Update to reflect fact that
the copyright year is now defined separately.
2001-08-26 18:27:00 +00:00
Jim Meyering
9e24c8b0b8 *** empty log message *** 2001-08-26 18:26:49 +00:00
Jim Meyering
f86ac0a31d (version_etc_copyright_fmt): Replace literal year
of copyright with `%s' so translators don't get an untranslated message in 2002.
(COPYRIGHT_YEAR): Define.
(version_etc): Use fprintf rather than fputs.
2001-08-26 18:26:01 +00:00
Jim Meyering
989a7519d5 . 2001-08-26 10:54:59 +00:00
Jim Meyering
f811e82ad5 . 2001-08-26 10:46:20 +00:00
Jim Meyering
52928277c2 . 2001-08-26 10:43:53 +00:00
Jim Meyering
a4b249905e . 2001-08-26 10:43:00 +00:00
Jim Meyering
de8c144109 Add xstrtoimax. 2001-08-26 10:42:50 +00:00
Jim Meyering
86c5732f05 *** empty log message *** 2001-08-26 10:41:57 +00:00
Jim Meyering
4a7159dc6c (libfetish_a_SOURCES): Add xstrtoimax.c. 2001-08-26 10:41:52 +00:00
Jim Meyering
7fe7b5d7e2 . 2001-08-26 07:33:20 +00:00
Jim Meyering
84f5f8528f *** empty log message *** 2001-08-26 07:28:44 +00:00
Jim Meyering
a28d74d2d2 New file, from GNU libc. 2001-08-26 07:28:06 +00:00
Jim Meyering
2f25926b52 *** empty log message *** 2001-08-26 07:20:57 +00:00
Jim Meyering
4b0c5ec1e9 Require jm_AC_PREREQ_XSTRTOIMAX. 2001-08-26 07:20:50 +00:00
Jim Meyering
b3e98fa251 resync with xstrtoumax.m4 2001-08-26 07:20:05 +00:00
Jim Meyering
ed1dca3b40 bump serial number 2001-08-26 07:19:43 +00:00
Jim Meyering
a27a05e698 Add comments explaining why we AC_REPLACE_FUNCS(strtol). 2001-08-26 07:19:28 +00:00
Jim Meyering
585aa5fac9 *** empty log message *** 2001-08-26 07:06:48 +00:00
Jim Meyering
a5a086c06e *** empty log message *** 2001-08-26 07:03:32 +00:00
Jim Meyering
ee356181ed *** empty log message *** 2001-08-26 07:03:07 +00:00
Jim Meyering
114c6c6af1 Stub. Just #define STRTOUXMAX_SIGNED, then
#include "strtouxmax.c"
2001-08-26 07:00:08 +00:00
Jim Meyering
96096e769d Now this file is just a stub. 2001-08-26 06:59:12 +00:00
Jim Meyering
b8d9cea40a Renamed from a factored strtoumax.c. 2001-08-26 06:58:10 +00:00
Jim Meyering
f9a905424f Factored to work both for unsigned and signed types, ... 2001-08-26 06:53:56 +00:00
Jim Meyering
10d29bac27 *** empty log message *** 2001-08-26 06:51:25 +00:00
Jim Meyering
9a3433a769 (mergefps): Do not allocate at least sort_size bytes for each merge buffer.
Instead, allocate at least sort_size bytes total.
2001-08-26 06:51:10 +00:00
Jim Meyering
b2dfbca4f7 . 2001-08-26 05:42:40 +00:00
Jim Meyering
a25c404a31 *** empty log message *** 2001-08-26 05:41:35 +00:00
Jim Meyering
1463ff6353 (nextarg): Use strcoll, not strcmp. 2001-08-26 05:40:46 +00:00
Jim Meyering
c8cde25280 expr now uses LC_COLLATE for string comparison, as per POSIX. 2001-08-26 05:39:37 +00:00
Jim Meyering
b3d09e5532 . 2001-08-25 17:24:16 +00:00
Jim Meyering
c764daeac9 . 2001-08-25 17:14:46 +00:00
Jim Meyering
8e17181225 *** empty log message *** 2001-08-25 17:13:45 +00:00
Jim Meyering
cd66abd80a *** empty log message *** 2001-08-25 17:13:30 +00:00
Jim Meyering
0603231e16 Use @option, rather than @samp everywhere. 2001-08-25 17:13:23 +00:00
Jim Meyering
e73f197706 *** empty log message *** 2001-08-25 15:11:00 +00:00
Jim Meyering
71409500a9 Re-enable some commented-out tests. 2001-08-25 15:10:53 +00:00
Jim Meyering
83485ba28d *** empty log message *** 2001-08-25 15:09:36 +00:00
Jim Meyering
598382f216 (main): Fix a typo in the previous patch: missing
a bounds check for examples like `uniq a b c'.
2001-08-25 15:09:31 +00:00
Jim Meyering
ba2900b4aa (main): Fix some more incompatibilities with POSIX.2,
(e.g. `uniq +3 --' did not work) by invoking getopt_long with
leading '-', resembling what was done to 'sort' on 2001-03-20.
Recognize an +N option only if it is an integer in range, and
(if POSIXLY_CORRECT) only if a file name argument has not been seen;
otherwise silently treat it as a file name.

If the user specifies too many operands, output the first one
in the error message, as a diagnostic aid.
2001-08-25 15:07:17 +00:00
Jim Meyering
1774bc1d78 *** empty log message *** 2001-08-25 13:50:47 +00:00
Jim Meyering
b27c41df41 (main): Don't report an error when given the valid options `+3 -d'. 2001-08-25 13:50:41 +00:00
Jim Meyering
a1ec1c4af3 . 2001-08-25 09:23:34 +00:00
Jim Meyering
666c84f948 *** empty log message *** 2001-08-25 09:20:14 +00:00
Jim Meyering
c1471b042b (different): Don't assume that lengths can fit
into size_t.  Tune code for the common case where the line
lengths differ: we avoid comparing them entirely in that case.
2001-08-25 09:19:59 +00:00
Jim Meyering
7bd952c2a8 *** empty log message *** 2001-08-25 09:04:57 +00:00
Jim Meyering
18005e1153 Add tests for -s 0 and -w 0. 2001-08-25 09:04:54 +00:00
Jim Meyering
a2057e286e *** empty log message *** 2001-08-25 09:04:33 +00:00
Jim Meyering
74f084382d *** empty log message *** 2001-08-25 07:33:39 +00:00
Jim Meyering
59d2dceb2c Remove arbitrary restrictions on sizes, fixing a bug reported
by Geoff Whale.

(skip_fields, skip_chars, check_chars): Now size_t, not int.
(size_opt): New function.  Do not arbitrarily reject size zero.
Change the wording of the error message slightly, for convenience.
(find_field): Use size_t, not int, to compute sizes.
(different, main): check_chars==0 is no longer a special case, as
it defaults to SIZE_MAX.
(main): Check for overflow with args like -234234234234234.
Use 'size_opt' to convert optional arguments to sizes.
2001-08-25 07:33:20 +00:00
Jim Meyering
b087829d9b Add new test, #54, for the just-fixed bug. 2001-08-25 05:48:19 +00:00
Jim Meyering
a6cac026c6 *** empty log message *** 2001-08-25 05:42:53 +00:00
Jim Meyering
81cb734910 (find_field): Don't count trailing newline to be
part of the field.  This disagrees with POSIX.2, but it's
gotta be a bug in the standard.  An interpretations request
has been submitted to PASC.
2001-08-25 05:42:46 +00:00
Jim Meyering
90790efabe *** empty log message *** 2001-08-25 05:42:07 +00:00
Jim Meyering
8e092dca08 (cut invocation): Document how cut treats lines with no separators. 2001-08-24 08:48:21 +00:00
Jim Meyering
fa10fa9e64 *** empty log message *** 2001-08-24 08:41:48 +00:00
Jim Meyering
9c2368bab8 Use n_users' in place of argc - optind' in two more places. 2001-08-24 08:41:26 +00:00
Jim Meyering
815dafff5a (main): Fail if -l is specified with no username. 2001-08-24 08:40:29 +00:00
Jim Meyering
5f6b9742d1 *** empty log message *** 2001-08-24 08:31:11 +00:00
Jim Meyering
b64b2719bc (usage): Clarify description of -l. From Clark Morgan. 2001-08-24 08:31:02 +00:00
Jim Meyering
3fcc2c725f . 2001-08-24 08:11:30 +00:00
Jim Meyering
8126042cb4 *** empty log message *** 2001-08-24 07:59:09 +00:00
Jim Meyering
30d2217876 *** empty log message *** 2001-08-24 07:59:02 +00:00
Jim Meyering
c8de90386d *** empty log message *** 2001-08-24 07:58:42 +00:00
Jim Meyering
1553648f54 *** empty log message *** 2001-08-24 07:58:21 +00:00
Jim Meyering
aef02ded49 'expr' now requires '+' rather than 'quote' to quote tokens. 2001-08-24 07:58:15 +00:00
Jim Meyering
4bc8b66e3a (posixly_correct): Remove; no longer needed.
(main): Do not worry about POSIXLY_CORRECT, as it's OK for
expr to have options (so long as they do not begin with digits).
2001-08-24 07:56:46 +00:00
Jim Meyering
e0f3ba1a46 update from libc 2001-08-24 06:39:29 +00:00
Jim Meyering
1683c6c470 update from glibc 2001-08-23 06:43:44 +00:00
Jim Meyering
24b279f642 wording tweak 2001-08-21 09:39:22 +00:00
Jim Meyering
e82e2278a2 *** empty log message *** 2001-08-19 18:12:03 +00:00
Jim Meyering
f623b9cc48 add paren tests 2001-08-18 21:21:40 +00:00
Jim Meyering
7808919ea4 *** empty log message *** 2001-08-18 21:21:15 +00:00
Jim Meyering
9ee54a9b3a (nextarg): Advance ARGS by one if the next token matches.
All callers changed.
2001-08-18 21:21:07 +00:00
Jim Meyering
c0b3a3636c *** empty log message *** 2001-08-18 20:48:09 +00:00
Jim Meyering
74c1d7d5f4 00: new test 2001-08-18 20:47:57 +00:00
Jim Meyering
dd08ddd29d *** empty log message *** 2001-08-18 20:46:04 +00:00
Jim Meyering
2169593a4f (isstring): Remove.
(eval2): Do comparisons as strings first, before trying to convert to
integer.  This avoids loss of information and wrong result, e.g. for
"expr '00' '<' '0!'", where you don't want to convert '00' to '0'.
2001-08-18 20:45:59 +00:00
Jim Meyering
bf009adc4e . 2001-08-18 20:24:44 +00:00
Jim Meyering
2dce4a36d9 Code cleanup to avoid tricky macros and old-style function declarations.
(cmpf, less_than, less_equal, equal, not_equal, greater_equal,
greater_than, arithf, arithdivf, plus, minus, multiply, divide, mod):
Remove.

(eval4, eval3, eval2): Rewrite to avoid the need for the above macros
and functions.
2001-08-18 20:23:01 +00:00
Jim Meyering
69683b305d . 2001-08-18 19:29:51 +00:00
Jim Meyering
f459045c8c . 2001-08-18 19:29:21 +00:00
Jim Meyering
1806cb5075 . 2001-08-18 19:00:40 +00:00
Jim Meyering
2764048933 *** empty log message *** 2001-08-18 17:48:37 +00:00
Jim Meyering
7012d1083e (binary_operator): Move declarations of lt,rt `down'
into the scopes where they're actually used.
(unary_operator): Likewise for `fd'.
2001-08-18 17:48:20 +00:00
Jim Meyering
406ddda49f *** empty log message *** 2001-08-18 17:45:37 +00:00
Jim Meyering
1c9af0041d (isint, binary_operator, unary_operator):
Use intmax_t for argument integers, not long.
(age_of, binary_operator): Use time_t for times, not long.
(unary_operator): If N is out of int range, -t N now returns false.
2001-08-18 17:45:31 +00:00
Jim Meyering
9402bfd9ef add minus2 2001-08-18 17:14:52 +00:00
Jim Meyering
a39a7f8ada (main): Handle a leading "--" option as POSIX requires. 2001-08-18 17:10:32 +00:00
Jim Meyering
95143d669f fix typo 2001-08-18 16:48:17 +00:00
Jim Meyering
5061ab5f05 *** empty log message *** 2001-08-18 16:39:58 +00:00
Jim Meyering
92b78195a1 (toarith): Don't accept plain "-" as a valid integer. 2001-08-18 16:39:33 +00:00
Jim Meyering
bc70df09bb add more 2001-08-18 16:27:46 +00:00
Jim Meyering
2f327c7f34 *** empty log message *** 2001-08-18 16:19:26 +00:00
Jim Meyering
7650a9d9e4 *** empty log message *** 2001-08-18 16:13:16 +00:00
Jim Meyering
b87d62b760 *** empty log message *** 2001-08-18 16:04:24 +00:00
Jim Meyering
c6c2071280 Modify 'expr' so that it uses intmax_t, not int, to calculate
the value of integer expressions.

(struct valinfo.i): Now intmax_t, not int.
(docolon, int_value, str_value, isstring, nextarg, toarith,
freev, tostring, trace): Remove unnecessary forward decls.
(int_value, printv, tostring, toarith, arithf, arithdivf, docolon,
eval6, eval4, eval3): Do integer arithmetic using intmax_t, not int.
(docolon): Don't assume size_t fits in int.
2001-08-18 16:04:16 +00:00
Jim Meyering
28b012a9cc *** empty log message *** 2001-08-18 15:59:27 +00:00
Jim Meyering
821add521e Add AC_PREREQ(2.13).
(jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
(jm_AC_TYPE_INTMAX_T): New macro.
(jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
2001-08-18 15:59:02 +00:00
Jim Meyering
1443d5fffa (jm_AC_TYPE_LONG_LONG): New macro. 2001-08-18 15:55:38 +00:00
Jim Meyering
24844c6332 renamed from ulonglong.m4 2001-08-18 15:54:36 +00:00
Jim Meyering
a26140a98f renamed to longlong.m4 2001-08-18 15:54:35 +00:00
Jim Meyering
456b0e7bca renamed from inttypes_h.m4 2001-08-18 15:54:09 +00:00
Jim Meyering
a1a34e0a9b renamed to inttypes.m4 2001-08-18 15:54:08 +00:00
Jim Meyering
955a34ed82 *** empty log message *** 2001-08-18 15:43:32 +00:00
Jim Meyering
6eb493e1db Revert part of last change and solve the problem a better way.
(show_date) [--rfc-822]: Set LC_ALL=C just before
calling strftime and restore it just afterwards.
Suggestion from Ulrich Drepper.
2001-08-18 15:43:28 +00:00
Jim Meyering
50f3294545 *** empty log message *** 2001-08-18 15:26:28 +00:00
Jim Meyering
1a6915b4d8 ($(v_etc_file)): Define.
(copyright-check): Use the new variable.
(my-distcheck): Depend on local-check so those checks are once
again run by `make distcheck'.
2001-08-18 15:26:24 +00:00
Jim Meyering
4bc8a7b528 Merge in changes from autoconf. 2001-08-18 15:24:36 +00:00
Jim Meyering
9940a771e1 *** empty log message *** 2001-08-18 10:55:01 +00:00
Jim Meyering
88e4ad1d36 (show_date) [--rfc-822]: Don't space-pad the day of the month.
Set only LC_TYPE to the "C" locale.  Setting LC_ALL is overkill,
and would have unwanted side effects if there is an error message.
2001-08-18 10:54:56 +00:00
Jim Meyering
3e08e11574 . 2001-08-18 10:11:16 +00:00
Jim Meyering
215ba7757e (head_bytes): Read no more than the specified number of bytes. 2001-08-18 10:10:56 +00:00
Jim Meyering
54041560f5 *** empty log message *** 2001-08-18 10:10:29 +00:00
Jim Meyering
dd553cb9e4 . 2001-08-18 09:27:50 +00:00
Jim Meyering
1dabc37a3a *** empty log message *** 2001-08-18 09:27:37 +00:00
Jim Meyering
34a52b7574 *** empty log message *** 2001-08-18 09:23:11 +00:00
Jim Meyering
99d96a6ba3 *** empty log message *** 2001-08-18 09:20:03 +00:00
Jim Meyering
b87e838b05 *** empty log message *** 2001-08-16 05:55:35 +00:00
Jim Meyering
652303d907 (main): When there are too many non-option arguments,
include the first offending argument in the diagnostic.
Suggestion from Karl Berry.
2001-08-16 05:47:48 +00:00
Jim Meyering
4ebfbeef6d fix typo: s/-quiet/--quiet/
From: noon@cote-dazur.com (Fabrice Bauzac)
2001-08-14 20:14:19 +00:00
Jim Meyering
27b35f3dcc . 2001-08-14 07:49:17 +00:00
Jim Meyering
48c448a356 . 2001-08-14 07:48:47 +00:00
Jim Meyering
af123efc85 . 2001-08-14 07:47:25 +00:00
Jim Meyering
166a16089f *** empty log message *** 2001-08-14 07:38:08 +00:00
Jim Meyering
e02dc25a9e . 2001-08-14 07:25:56 +00:00
Jim Meyering
0285f77feb *** empty log message *** 2001-08-14 07:24:43 +00:00
Jim Meyering
bf03365731 *** empty log message *** 2001-08-14 07:18:42 +00:00
Jim Meyering
727433f0db (xputenv): Remove parameter's const qualifier. 2001-08-14 07:18:34 +00:00
Jim Meyering
1e4a6cbe1c (AUTHORS): Mark string for translation, since it contains the English word `and'. 2001-08-14 07:10:10 +00:00
Jim Meyering
543be22259 *** empty log message *** 2001-08-14 07:09:45 +00:00
Jim Meyering
6195ec1bc7 . 2001-08-14 06:59:30 +00:00
Jim Meyering
f5342d557b *** empty log message *** 2001-08-14 06:56:03 +00:00
Jim Meyering
43a6f9d2d8 (AUTHORS): Mark string for translation, since it contains the English word `and'. 2001-08-14 06:54:27 +00:00
Jim Meyering
33795311ba whoops. remove the backslash, too. 2001-08-13 20:14:36 +00:00
Jim Meyering
60a8a47a86 *** empty log message *** 2001-08-13 20:11:15 +00:00
Jim Meyering
269f95aef7 (unlocked-io.h): Do not append "_unlocked" twice.
Port to Solaris 8, where 'sed' requires a space after the 'r'
command, and where sh dislikes "$/".  Clean up the spacing a bit.
Redirect output to $tmp just once.
2001-08-13 20:11:03 +00:00
Jim Meyering
23b6d0adbe *** empty log message *** 2001-08-13 10:34:09 +00:00
Jim Meyering
a70f409dee *** empty log message *** 2001-08-13 10:33:40 +00:00
Jim Meyering
41a201e991 (AUTHORS): Mark string for translation, since it contains the English word `and'. 2001-08-13 10:33:28 +00:00
Jim Meyering
4c83ec781b (author_mark_check): New rule.
(local-check): Depend on it.
2001-08-13 10:27:02 +00:00
Jim Meyering
63cf4a9893 *** empty log message *** 2001-08-13 08:44:57 +00:00
Jim Meyering
57241aed6a Change expected exit status to reflect the above. 2001-08-13 08:44:49 +00:00
Jim Meyering
fb9e0e1b1a *** empty log message *** 2001-08-13 08:37:02 +00:00
Jim Meyering
fdb24f917f (cp_option_init): Adjust initialization of `interactive',
and initialize new member, stdin_tty.
2001-08-13 08:36:54 +00:00
Jim Meyering
2e91541147 (cp_option_init): Adjust initialization of `interactive',
and initialize new member, stdin_tty.
(main): Adjust initialization(s) of `interactive',
2001-08-13 08:36:16 +00:00
Jim Meyering
ebb48992c0 (cp_option_init): Adjust initialization of `interactive',
and initialize new member, stdin_tty.
(main): Adjust initialization(s) of `interactive',
2001-08-13 08:33:04 +00:00
Jim Meyering
3b21e822ac (enum Interactive): New type.
(struct cp_options) [interactive]: Change type to Interactive.
(struct cp_options) [stdin_tty]: New member.
2001-08-13 08:32:10 +00:00
Jim Meyering
66c2f3a08a (overwrite_prompt): New function.
(copy_internal): Separate the mv-specific and non-move_mode code
that determines whether to prompt the user.
[move_mode]: Don't make mv fail (i.e. don't return 1) just because
the user declined to remove one or more of the files.
2001-08-13 08:31:03 +00:00
Jim Meyering
c1c7368372 *** empty log message *** 2001-08-13 06:30:14 +00:00
Jim Meyering
7fda17ac4f (<errno.h>): Include.
(errno): Declare if not defined.
(addext): Work correctly when pathconf returns -1 and leaves
errno alone because there is no limit.  Also, work even if
pathconf returns a value greater than SIZE_MAX.
2001-08-13 06:30:10 +00:00
Jim Meyering
242256b45d *** empty log message *** 2001-08-12 20:11:49 +00:00
Jim Meyering
79dbd85e74 (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
Simply `return getcwd (NULL, 0);'.
[! (defined __GLIBC__ && __GLIBC__ >= 2)]:
Use 1300 as initial value for length, not PATH_MAX.
2001-08-12 20:11:39 +00:00
Jim Meyering
8982646a63 Clean up cpp syntax. 2001-08-12 18:49:13 +00:00
Jim Meyering
fbf9eeb8d7 *** empty log message *** 2001-08-12 18:46:25 +00:00
Jim Meyering
4911e67aa8 Guard the above pathconf-using definitions with `#if HAVE_PATHCONF'
rather than with `#ifdef _POSIX_VERSION'.
2001-08-12 18:46:20 +00:00
Jim Meyering
66d5a12094 *** empty log message *** 2001-08-12 18:28:25 +00:00
Jim Meyering
4d94665d3d (PATH_MAX_FOR): Use pathconf via wrapper.
(NAME_MAX_FOR): Likewise.
(pathconf_wrapper): New function.
(validate_path): Declare length variables to be `long', not `int'.
Adjust corresponding printf-style specs to use %ld.
2001-08-12 18:28:19 +00:00
Jim Meyering
e3b1f10354 *** empty log message *** 2001-08-12 18:23:28 +00:00
Jim Meyering
d971214e89 *** empty log message *** 2001-08-12 17:52:27 +00:00
Jim Meyering
94fe1350f4 *** empty log message *** 2001-08-12 17:51:55 +00:00
Jim Meyering
494f552020 . 2001-08-12 17:51:44 +00:00
Jim Meyering
0b219591dd . 2001-08-12 17:50:42 +00:00
Jim Meyering
28154116c4 (main): Iterate over the sorted keys (rather than `while...each...'),
so this script produces the same output regardless of which version
of perl (e.g., perl5.6) is used.
2001-08-12 17:44:03 +00:00
Jim Meyering
4488d9300d *** empty log message *** 2001-08-12 17:37:26 +00:00
Jim Meyering
bdf06b6060 ($program_name): Define.
(main): Use $program_name, rather than long-inaccurate `build-script'.
2001-08-12 17:37:18 +00:00
Jim Meyering
105f262769 *** empty log message *** 2001-08-12 13:26:08 +00:00
Jim Meyering
1f295ae62d Quote the first argument in each use of AC_DEFUN. 2001-08-12 13:26:00 +00:00
Jim Meyering
7c80315d48 . 2001-08-12 13:10:59 +00:00
Jim Meyering
93696dfa49 update from libc 2001-08-12 13:02:20 +00:00
Jim Meyering
2238faa8fd Include gtod.h -- should have been part of preceding delta 2001-08-12 13:00:15 +00:00
Jim Meyering
5bd7048dfe update from libc 2001-08-12 12:50:16 +00:00
Jim Meyering
43f4c1dfd6 update from libc 2001-08-12 12:49:11 +00:00
Jim Meyering
2634943070 . 2001-08-12 10:57:10 +00:00
Jim Meyering
73db00ea87 *** empty log message *** 2001-08-12 10:55:53 +00:00
Jim Meyering
a9066ef619 *** empty log message *** 2001-08-12 09:19:37 +00:00
Jim Meyering
3e4950247e Include gtod.h.
(main): `Call' GETTIMEOFDAY_INIT, just in case the code ever changes
to make it necessary.
2001-08-12 08:47:35 +00:00
Jim Meyering
7292e5031b Work around non-compliant gettimeofday on Mac OS X 10.0.4,
(aka Darwin 1.3.7) that caused the date of the first file listed
in long output to be the current time rather than the file's mtime.
The real work is in m4/gettimeofday.m4 and the wrapper function,
lib/gettimeofday.c.

Include gtod.h.
(main): `Call' GETTIMEOFDAY_INIT.
(print_long_format): Add a comment about gettimeofday.
2001-08-12 08:47:19 +00:00
Jim Meyering
98950444e6 *** empty log message *** 2001-08-12 08:37:22 +00:00
Jim Meyering
1249a88daf (libfetish_a_SOURCES): Add gtod.h. 2001-08-12 08:33:25 +00:00
Jim Meyering
1d3ea9cba8 *** empty log message *** 2001-08-12 08:33:09 +00:00
Jim Meyering
c04d364e49 *** empty log message *** 2001-08-12 08:31:50 +00:00
Jim Meyering
e5e8774bc5 remove unused cruft 2001-08-12 08:30:36 +00:00
Jim Meyering
1a52475baa yes/no were reversed 2001-08-12 08:30:03 +00:00
Jim Meyering
eac67711b5 *** empty log message *** 2001-08-10 19:02:06 +00:00
Jim Meyering
7ad9855775 *** empty log message *** 2001-08-10 19:02:00 +00:00
Jim Meyering
bffeb8c5aa (print_long_format): Simplify previous patch for
listing negative sizes, by adding OFF_T_MAX - OFF_T_MIN + 1
instead of doing a fancy conditional shift.  This is simpler
and it avoids GCC's bogus compile-time warning about shift
counts.  (As a bonus, it is portable to hosts that do not use
twos-complement arithmetic.  :-)
2001-08-10 19:01:54 +00:00
Jim Meyering
97dcae2fb6 (print_long_format): Multiply the shift width by zero
to avoid a warning from gcc on hosts with an unsigned type for the
st_size member.
2001-08-10 08:13:03 +00:00
Jim Meyering
4e27c7372b *** empty log message *** 2001-08-10 07:51:56 +00:00
Jim Meyering
67ba4ac017 (print_long_format): If a file size is negative, assume
the typical case where it has wrapped around from a positive value.
2001-08-10 07:51:52 +00:00
Jim Meyering
b84a28d9dd *** empty log message *** 2001-08-07 13:45:31 +00:00
Jim Meyering
0d1d166269 (cfcc_msg): Remove now-inaccurate part of comment.
From Bruno Haible.
2001-08-07 13:45:26 +00:00
Jim Meyering
62dbf128a5 *** empty log message *** 2001-08-07 12:10:39 +00:00
Jim Meyering
6258f69c2c (m4-check): New rule.
(local-check): Depend on it.
2001-08-07 12:10:10 +00:00
Jim Meyering
fb3d202184 whoops 2001-08-07 11:32:28 +00:00
Jim Meyering
ea9d247693 test both cp and mv 2001-08-07 11:31:06 +00:00
Jim Meyering
65cb579ccc . 2001-08-07 10:44:12 +00:00
Jim Meyering
ebde935587 (TESTS): Add update. 2001-08-07 10:44:00 +00:00
Jim Meyering
01f160092e (copy_internal): Set *rename_succeeded, so that
the caller (mv) doesn't remove the source file.
2001-08-06 17:29:15 +00:00
Jim Meyering
053a9d88ee (usage): Correct the description of --update. 2001-08-06 17:28:37 +00:00
Jim Meyering
742dc8804a *** empty log message *** 2001-08-06 15:50:45 +00:00
Jim Meyering
11b02c5e13 finally make it work 2001-08-06 09:50:05 +00:00
Jim Meyering
0324f0f18b . 2001-08-06 09:49:14 +00:00
Jim Meyering
35559dd156 rename variables 2001-08-05 08:58:52 +00:00
Jim Meyering
07e4a0df24 Reflect renaming. 2001-08-05 08:53:04 +00:00
Jim Meyering
eab8963d92 *** empty log message *** 2001-08-05 08:52:48 +00:00
Jim Meyering
8e81a3f7a5 (TESTS): Add i-3. 2001-08-05 08:50:14 +00:00
Jim Meyering
294df06bed . 2001-08-05 08:48:05 +00:00
Jim Meyering
f0801eeaad . 2001-08-05 08:47:20 +00:00
Jim Meyering
79209163af Reflect name and usage changes. 2001-08-05 08:46:34 +00:00
Jim Meyering
9ae6099323 Reflect name and usage changes. 2001-08-05 08:45:36 +00:00
Jim Meyering
273c2c5fbc Renamed from root-only. 2001-08-05 08:42:53 +00:00
Jim Meyering
8e47db95c6 Require autoconf-2.52. 2001-08-05 03:40:52 +00:00
Jim Meyering
87d796becc *** empty log message *** 2001-08-04 19:09:07 +00:00
Jim Meyering
09bf17f365 *** empty log message *** 2001-08-04 17:55:10 +00:00
Jim Meyering
34c138f62a *** empty log message *** 2001-08-04 17:52:45 +00:00
Jim Meyering
0e6ddcffef (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt,
to get in sync with glibc.
2001-08-04 17:52:38 +00:00
Jim Meyering
a5fe0f8417 fix typos 2001-08-04 17:51:15 +00:00
Jim Meyering
c00db580d2 *** empty log message *** 2001-08-04 17:49:11 +00:00
Jim Meyering
4c625eb0d6 . 2001-08-04 17:33:17 +00:00
Jim Meyering
0e158f1b05 . 2001-08-04 17:31:31 +00:00
Jim Meyering
3ff5583bb6 . 2001-08-04 17:20:07 +00:00
Jim Meyering
aecb3ebe6f (quote_name): Pass 0 to mbsnwidth, since the default
got changed and we want the default now.
2001-08-04 17:08:37 +00:00
Jim Meyering
0017571134 *** empty log message *** 2001-08-04 17:07:43 +00:00
Jim Meyering
752fb79cac Don't include <limits.h>.
Include <stdlib.h> and <string.h> unconditionally.
(iswcntrl, mbsinit, ISCNTRL): New macros.
(mbsnwidth): Use K&R style function declarations.
Don't bother checking for MB_LEN_MAX == 1, since the compiler
can optimize it when MB_CUR_MAX == 1.
The width of control characters is zero, not 1.
2001-08-04 17:07:37 +00:00
Jim Meyering
465a0e3b5e (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
with inverted sense.  All uses changed.
2001-08-04 17:06:05 +00:00
Jim Meyering
a0921ba770 . 2001-08-04 17:03:30 +00:00
Jim Meyering
927ab782d4 (jm_MACROS): Reflect s/jm_/AM_/ renamings. 2001-08-04 17:02:18 +00:00
Jim Meyering
06f3a96515 (jm_PREREQ_MBSWIDTH): No longer requires AM_C_PROTOTYPES.
Check for iswcntrl, mbsinit.  Use AC_TRY_COMPILE, not AC_CHECK_DECLS,
for portability to Autoconf 2.13.
2001-08-04 17:00:11 +00:00
Jim Meyering
847f8d0124 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Quote first arg of AC_DEFUN. 2001-08-04 16:59:23 +00:00
Jim Meyering
da8058b5dc (jm_AC_TYPE_UINTMAX_T): Quote first arg of AC_DEFUN. 2001-08-04 16:59:09 +00:00
Jim Meyering
2029c3f7c4 (AM_PATH_PROG_WITH_TEST): Quote first arg of AC_DEFUN.
(AM_PATH_PROG_WITH_TEST): Output "no" only if $1 isn't $4.
2001-08-04 16:58:55 +00:00
Jim Meyering
4ed098d64f (AM_LC_MESSAGES): Quote first arg of AC_DEFUN. 2001-08-04 16:58:42 +00:00
Jim Meyering
3c652fbccb (AC_ISC_POSIX): Quote first arg of AC_DEFUN. 2001-08-04 16:58:23 +00:00
Jim Meyering
31d84d08e1 (jm_AC_HEADER_INTTYPES_H): Quote first arg of AC_DEFUN. 2001-08-04 16:58:07 +00:00
Jim Meyering
98185c3285 (jm_GLIBC21): Quote first arg of AC_DEFUN. 2001-08-04 16:57:45 +00:00
Jim Meyering
b225f0052c (AM_FUNC_GETLINE): Quote first arg of AC_DEFUN.
(AM_FUNC_GETLINE): Don't bother checking for string.h any more.
2001-08-04 16:56:32 +00:00
Jim Meyering
7ff05dde60 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN. 2001-08-04 16:56:18 +00:00
Jim Meyering
f2e4930801 Upgrade to serial AM2.
(AM_ICONV): Renamed from jm_ICONV; all uses changed.
Add --with-libconv-prefix.
Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
(am_cv_func_iconv): Renamed from jm_cv_func_iconv.
(am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
(am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
2001-08-04 16:55:58 +00:00
Jim Meyering
697d5aade0 Upgrade to serial AM1.
(AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
all uses changed.  Quote first arg of AC_DEFUN.
(am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
2001-08-04 16:55:36 +00:00
Jim Meyering
9eba0a5500 *** empty log message *** 2001-08-04 15:27:17 +00:00
Jim Meyering
e302d9c571 *** empty log message *** 2001-08-04 15:23:32 +00:00
Jim Meyering
4475c1fb99 *** empty log message *** 2001-08-04 15:22:55 +00:00
Jim Meyering
ba05e365f0 *** empty log message *** 2001-08-04 15:16:37 +00:00
Jim Meyering
227da5e6ce *** empty log message *** 2001-08-04 15:16:30 +00:00
Jim Meyering
44acfea13a . 2001-08-03 10:42:40 +00:00
Jim Meyering
e34a8a5084 (jm_FUNC_MBRTOWC): Use #include', not @%:@include',
as it was in the original.  Reported by Paul Eggert.
2001-08-03 10:09:06 +00:00
Jim Meyering
472b34493d *** empty log message *** 2001-07-16 08:59:15 +00:00
Jim Meyering
506a9218f4 *** empty log message *** 2001-07-16 08:58:20 +00:00
Jim Meyering
86b6fbd90c . 2001-07-15 16:28:39 +00:00
Jim Meyering
da026ebe10 *** empty log message *** 2001-07-15 16:03:55 +00:00
Jim Meyering
b0e6b6a062 *** empty log message *** 2001-07-15 15:42:38 +00:00
Jim Meyering
b4f1cf7143 (all-local): Depend on unlocked-io.h, to ensure it is created. 2001-07-15 15:42:27 +00:00
Jim Meyering
24950c329b *** empty log message *** 2001-07-15 15:35:02 +00:00
Jim Meyering
c3db551fd7 (DISTCLEANFILES): Add unlocked-io.h. 2001-07-15 15:29:05 +00:00
Jim Meyering
70d3f1e772 *** empty log message *** 2001-07-15 15:17:12 +00:00
Jim Meyering
2b3aab956d *** empty log message *** 2001-07-15 15:16:27 +00:00
Jim Meyering
35f7a62c1c Remove unlocked-io.h rule -- now it's in its final resting place:
lib/Makefile.am.
2001-07-15 15:15:35 +00:00
Jim Meyering
525eedaf38 *** empty log message *** 2001-07-15 15:14:56 +00:00
Jim Meyering
982d395b6a (EXTRA_DIST): Add unlocked-io.hin.
(BUILT_SOURCES): Add unlocked-io.h.
(io_functions): Define.
(unlocked-io.h): New rule.
2001-07-15 15:14:18 +00:00
Jim Meyering
11cfdfba16 *** empty log message *** 2001-07-15 15:13:14 +00:00
Jim Meyering
3cc73c9659 *** empty log message *** 2001-07-15 14:39:51 +00:00
Jim Meyering
82f4ea062b Update from glibc. 2001-07-15 14:39:46 +00:00
Jim Meyering
8bdaac168a *** empty log message *** 2001-07-15 14:39:29 +00:00
Jim Meyering
5f19438017 Include "unlocked-io.h", rather than hard-coding the HAVE_*_UNLOCKED macros. 2001-07-15 14:39:04 +00:00
Jim Meyering
cedd6e358d (unlocked-io.h): New rule.
($(srcdir)/m4/jm-glibc-io.m4): New rule.
2001-07-15 14:37:50 +00:00
Jim Meyering
d010bd778c . 2001-07-15 14:33:50 +00:00
Jim Meyering
264546ddf1 *** empty log message *** 2001-07-15 14:33:37 +00:00
Jim Meyering
773ad92533 remove unlocked-io.h stuff 2001-07-15 14:31:54 +00:00
Jim Meyering
876fe14529 *** empty log message *** 2001-07-15 14:30:55 +00:00
Jim Meyering
9a8b88f974 bump serial number 2001-07-15 12:21:46 +00:00
Jim Meyering
f1a6dd3dcc (__attribute__): Define it to be empty for compilers
that don't support that syntax.
2001-07-14 19:47:20 +00:00
Jim Meyering
0e4b6ae724 don't depend on xd-delta directly 2001-07-14 18:47:48 +00:00
Jim Meyering
a034129a21 (rel-files): Define and factor. 2001-07-14 18:18:26 +00:00
Jim Meyering
30ae7570c6 (emit-rsync-commands): Also emit code to rsync the .bz2 files. 2001-07-14 18:14:01 +00:00
Jim Meyering
293e33d6b4 merge in a fix from autoconf 2001-07-14 18:03:51 +00:00
Jim Meyering
75b89617fb Create tar.bz2 files and include them in announcement. 2001-07-14 17:55:53 +00:00
Jim Meyering
b1eedbaa0a *** empty log message *** 2001-07-14 17:10:48 +00:00
Jim Meyering
038cd9b6ac More changes from autoconf. 2001-07-14 17:10:17 +00:00
Jim Meyering
62ef54223a *** empty log message *** 2001-07-14 13:09:40 +00:00
Jim Meyering
a129fd7d2f (cp invocation): Reflect 2001-07-08 change to cp (via copy.c). 2001-07-14 13:09:33 +00:00
Jim Meyering
e519cc9571 *** empty log message *** 2001-07-14 13:03:36 +00:00
Jim Meyering
8fadcd2d9e (tgz-size): Also work for sizes in the kilobyte range.
(GZIP_ENV): Add --best.
(AMTAR): Define.
(writable-files): Factor out ../release/ constant, and work (by
creating it) even if such a directory doesn't exist.
2001-07-14 13:03:31 +00:00
Jim Meyering
049759fe01 *** empty log message *** 2001-07-12 10:01:26 +00:00
Jim Meyering
d2cb2639f0 . 2001-07-11 15:28:51 +00:00
Jim Meyering
d9076f5a87 fix typo in comment 2001-07-10 13:05:46 +00:00
Jim Meyering
89bef497fd revert unrelated part of last delta -- coming soon with a separate log entry 2001-07-08 21:31:42 +00:00
Jim Meyering
9af2cc052b *** empty log message *** 2001-07-08 21:29:15 +00:00
Jim Meyering
8927e79a05 (usage): Reformat so help2man generates a properly indented man page. 2001-07-08 21:29:09 +00:00
Jim Meyering
876acbccf4 *** empty log message *** 2001-07-08 21:24:08 +00:00
Jim Meyering
ad44c41742 *** empty log message *** 2001-07-08 21:22:49 +00:00
Jim Meyering
c6d89f346a (get_dest_mode): Clear set-user-ID and set-group-ID bits
when copying (i.e., not in move mode) and not preserving permissions.
2001-07-08 21:22:40 +00:00
Jim Meyering
7fe83a7a35 *** empty log message *** 2001-07-08 21:17:30 +00:00
Jim Meyering
6bcf3fe4e4 . 2001-07-05 10:39:08 +00:00
Jim Meyering
1226c8ad6f *** empty log message *** 2001-07-05 08:29:19 +00:00
Jim Meyering
26e8855760 (noinst_HEADERS): Remove definition, per new automake recommendation.
(libfetish_a_SOURCES): Put all .h files here instead.
Remove a thus-exposed (better checks in automake) duplicate and
two unnecessary .h files.
2001-07-05 07:58:06 +00:00
Jim Meyering
6683b38ce1 (glibc-io.struct): New target. Rework the code
that generates jm-glibc-io.m4 so that it doesn't trigger any make
distcheck failure.
2001-07-04 21:16:03 +00:00
Jim Meyering
ae0e62acab . 2001-07-02 08:12:29 +00:00
Jim Meyering
5152182db3 . 2001-07-02 08:11:52 +00:00
Jim Meyering
a780d450bc . 2001-07-02 07:41:09 +00:00
Jim Meyering
a18f65b1d3 *** empty log message *** 2001-07-02 07:40:45 +00:00
Jim Meyering
aef2dad707 . 2001-07-02 07:40:36 +00:00
Jim Meyering
39b654069a now-generated 2001-07-02 07:40:17 +00:00
Jim Meyering
5a3ec90c81 (Makefile.am): Include jm-glibc-io.m4n in emitted
definition of EXTRA_DIST.
(Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
ensure that the generated file is created/updated whenever the list
of $(unlocked_functions) is changed.
(jm-glibc-io.m4): New rule.
(unlocked-io.h): New rule -- currently unused.
2001-07-02 07:39:33 +00:00
Jim Meyering
3e55e5756f *** empty log message *** 2001-07-02 07:39:12 +00:00
Jim Meyering
293fbc2d0a . 2001-07-02 07:13:33 +00:00
Jim Meyering
f7383741d3 *** empty log message *** 2001-07-02 06:45:14 +00:00
Jim Meyering
cd88376b05 (do_link): Test the boolean symbolic_link, not the function, symlink.
Patch by Frederik Eaton.
2001-07-02 06:42:35 +00:00
Jim Meyering
40277bdae4 *** empty log message *** 2001-07-02 06:42:12 +00:00
Jim Meyering
168d3387ef *** empty log message *** 2001-07-01 19:46:33 +00:00
Jim Meyering
736a31a3fc (usage): Suggest setting LC_COLLATE=C, rather than LC_ALL=C. 2001-07-01 19:46:26 +00:00
Jim Meyering
e919024c70 *** empty log message *** 2001-06-24 20:01:30 +00:00
Jim Meyering
917646ccb0 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
unmatched right bracket, rather than an extra, falsely-matching
quote in a comment.  Patch by Akim Demaille.
2001-06-24 20:01:11 +00:00
Jim Meyering
30eb0e4ed0 *** empty log message *** 2001-06-20 07:15:13 +00:00
717 changed files with 381656 additions and 21334 deletions

6
.cvsignore Normal file
View File

@@ -0,0 +1,6 @@
Makefile
config.h
config.log
config.status
stamp-h1
autom4te.cache

1
.prev-version Normal file
View File

@@ -0,0 +1 @@
4.5.12

453
ABOUT-NLS
View File

@@ -8,7 +8,7 @@ A few packages already provide translations for their messages.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site. But you do *not*
itself available at your nearest GNU archive site. But you do _not_
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.
@@ -22,8 +22,8 @@ related to internationalization, you should tell about the version of
`gettext' which is used. The information can be found in the
`intl/VERSION' file, in internationalized packages.
One advise in advance
=====================
Quick configuration advice
==========================
If you want to exploit the full power of internationalization, you
should configure it using
@@ -34,13 +34,14 @@ to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in the
operating system where this package is being installed. So far, only
the `gettext' implementation in the GNU C library version 2 provides as
many features (such as locale alias or message inheritance) as the
implementation here. It is also not possible to offer this additional
functionality on top of a `catgets' implementation. Future versions of
GNU `gettext' will very likely convey even more functionality. So it
might be a good idea to change to GNU `gettext' as soon as possible.
many features (such as locale alias, message inheritance, automatic
charset conversion or plural form handling) as the implementation here.
It is also not possible to offer this additional functionality on top
of a `catgets' implementation. Future versions of GNU `gettext' will
very likely convey even more functionality. So it might be a good idea
to change to GNU `gettext' as soon as possible.
So you need not provide this option if you are using GNU libc 2 or
So you need _not_ provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
@@ -53,23 +54,20 @@ 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 provides
usable `catgets' (if using this is selected by the installer) or
`gettext' functions. If neither is available, the GNU `gettext' own
messages. It will automatically detect whether the system already
provides the GNU `gettext' functions. If not, the GNU `gettext' own
library will be used. This library is wholly contained within this
package, usually in the `intl/' subdirectory, so prior installation of
the GNU `gettext' package is *not* required. Installers may use
the GNU `gettext' package is _not_ required. Installers may use
special options at configuration time for changing the default
behaviour. The commands:
./configure --with-included-gettext
./configure --with-catgets
./configure --disable-nls
will respectively bypass any pre-existing `catgets' or `gettext' to use
the internationalizing routines provided within this package, enable
the use of the `catgets' functions (if found on the locale system), or
else, *totally* disable translation of messages.
will respectively bypass any pre-existing `gettext' to use the
internationalizing routines provided within this package, or else,
_totally_ disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
@@ -83,18 +81,10 @@ package is more recent, you should use
to prevent auto-detection.
By default the configuration process will not test for the `catgets'
function and therefore they will not be used. The reasons are already
given above: the emulation on top of `catgets' cannot provide all the
extensions provided by the GNU `gettext' library. If you nevertheless
want to use the `catgets' functions use
./configure --with-catgets
to enable the test for `catgets' (this causes no harm if `catgets' is
not available on your system). If you really select this option we
would like to hear about the reasons because we cannot think of any
good one ourself.
The configuration process will not test for the `catgets' function
and therefore it will not be used. The reason is that even an
emulation of `gettext' on top of `catgets' could not provide all the
extensions of the GNU `gettext' library.
Internationalized packages have usually many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
@@ -110,22 +100,42 @@ Using This Package
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
ISO 639 `LL' two-letter code prior to using the programs in the
package. For example, let's suppose that you speak German. At the
shell prompt, merely execute `setenv LANG de' (in `csh'),
`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
can be done from your `.login' or `.profile' file, once and for all.
`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
suppose that you speak German and live in Germany. At the shell
prompt, merely execute `setenv LANG de_DE' (in `csh'),
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
This can be done from your `.login' or `.profile' file, once and for
all.
An operating system might already offer message localization for
many of its programs, while other programs have been installed locally
with the full capabilities of GNU `gettext'. Just using `gettext'
extended syntax for `LANG' would break proper localization of already
available operating system programs. In this case, users should set
both `LANGUAGE' and `LANG' variables in their environment, as programs
using GNU `gettext' give preference to `LANGUAGE'. For example, some
Swedish users would rather read translations in German than English for
when Swedish is not available. This is easily accomplished by setting
`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
You might think that the country code specification is redundant.
But in fact, some languages have dialects in different countries. For
example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
country code serves to distinguish the dialects.
The locale naming convention of `LL_CC', with `LL' denoting the
language and `CC' denoting the country, is the one use on systems based
on GNU libc. On other systems, some variations of this scheme are
used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
locales supported by your system for your country by running the command
`locale -a | grep '^LL''.
Not all programs have translations for all languages. By default, an
English message is shown in place of a nonexistent translation. If you
understand other languages, you can set up a priority list of languages.
This is done through a different environment variable, called
`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
for the purpose of message handling, but you still need to have `LANG'
set to the primary language; this is required by other parts of the
system libraries. For example, some Swedish users who would rather
read translations in German than English for when Swedish is not
available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
In the `LANGUAGE' environment variable, but not in the `LANG'
environment variable, `LL_CC' combinations can be abbreviated as `LL'
to denote the language's main dialect. For example, `de' is equivalent
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.
Translating Teams
=================
@@ -133,33 +143,21 @@ Translating Teams
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, courtesy of Linux
International. You may reach your translation team at the address
`LL@li.org', replacing LL by the two-letter ISO 639 code for your
language. Language codes are *not* the same as the country codes given
in ISO 3166. The following translation teams exist, as of December
1997:
Each translation team has its own mailing list. The up-to-date list of
teams can be found at the Free Translation Project's homepage,
`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
area.
Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
`hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
`pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
Swedish `sv', and Turkish `tr'.
For example, you may reach the Chinese translation team by writing to
`zh@li.org'.
If you'd like to volunteer to *work* at translating messages, you
If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is *not* the same as the list itself, it has
The subscribing address is _not_ the same as the list itself, it has
`-request' appended. For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:
subscribe
Keep in mind that team members are expected to participate
*actively* in translations, or at solving translational difficulties,
_actively_ in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `translation@iro.umontreal.ca' to reach the
@@ -173,42 +171,274 @@ Available Packages
==================
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of December
1997. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination.
matrix shows the current state of internationalization, as of February
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 cs da de en es fi fr it ja ko nl no pl pt ru sl sv
.----------------------------------------------------.
bash | [] [] [] | 3
bison | [] [] [] | 3
clisp | [] [] [] [] | 4
cpio | [] [] [] [] [] [] | 6
diffutils | [] [] [] [] [] | 5
enscript | [] [] [] [] [] [] | 6
fileutils | [] [] [] [] [] [] [] [] [] [] | 10
findutils | [] [] [] [] [] [] [] [] [] | 9
flex | [] [] [] [] | 4
gcal | [] [] [] [] [] | 5
gettext | [] [] [] [] [] [] [] [] [] [] [] | 12
grep | [] [] [] [] [] [] [] [] [] [] | 10
hello | [] [] [] [] [] [] [] [] [] [] [] | 11
id-utils | [] [] [] | 3
indent | [] [] [] [] [] | 5
libc | [] [] [] [] [] [] [] | 7
m4 | [] [] [] [] [] [] | 6
make | [] [] [] [] [] [] | 6
music | [] [] | 2
ptx | [] [] [] [] [] [] [] [] | 8
recode | [] [] [] [] [] [] [] [] [] | 9
sh-utils | [] [] [] [] [] [] [] [] | 8
sharutils | [] [] [] [] [] [] | 6
tar | [] [] [] [] [] [] [] [] [] [] [] | 11
texinfo | [] [] [] | 3
textutils | [] [] [] [] [] [] [] [] [] | 9
wdiff | [] [] [] [] [] [] [] [] | 8
`----------------------------------------------------'
17 languages cs da de en es fi fr it ja ko nl no pl pt ru sl sv
27 packages 6 4 25 1 18 1 26 2 1 12 20 9 19 7 4 7 17 179
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
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
@@ -221,6 +451,27 @@ 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 December 1997 seems to be old, you may fetch a more recent copy
of this `ABOUT-NLS' file on most GNU archive sites.
If February 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'.
Using `gettext' in new packages
===============================
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
in particular that even non-free programs can use `libintl' as a shared
library, whereas only free software can use `libintl' as a static
library or use modified versions of `libintl'.
Once the sources are changed appropriately and the setup can handle
the use of `gettext' the only thing missing are the translations. The
Free Translation Project is also available for packages which are not
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.

86
AUTHORS Normal file
View File

@@ -0,0 +1,86 @@
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
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
date: David MacKenzie
dd: Paul Rubin, David MacKenzie, and Stuart Kemp
df: Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert
dircolors: H. Peter Anvin
dirname: David MacKenzie and Jim Meyering
du: Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert
echo: FIXME unknown
env: Richard Mlynarik and David MacKenzie
expand: David MacKenzie
expr: Mike Parker
factor: Paul Rubin
false: no one
fmt: Ross Paterson
fold: David MacKenzie
head: David MacKenzie
hostid: Jim Meyering
hostname: Jim Meyering
id: Arnold Robbins and David MacKenzie
install: David MacKenzie
join: Mike Haertel
kill: Paul Eggert
link: Michael Stone
ln: Mike Parker and David MacKenzie
logname: FIXME: unknown
ls: Richard Stallman and David MacKenzie
md5sum: Ulrich Drepper and Scott Miller
mkdir: David MacKenzie
mkfifo: David MacKenzie
mknod: David MacKenzie
mv: Mike Parker, David MacKenzie, and Jim Meyering
nice: David MacKenzie
nl: Scott Bartram and David MacKenzie
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
printf: David MacKenzie
ptx: François Pinard
pwd: Jim Meyering
rm: Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering
rmdir: David MacKenzie
seq: Ulrich Drepper
shred: Colin Plumb
sleep: Jim Meyering and Paul Eggert
sort: Mike Haertel and Paul Eggert
split: Torbjorn Granlund and Richard M. Stallman
stat: Michael Meskes
stty: David MacKenzie
su: David MacKenzie
sum: Kayvan Aghaiepour and 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
tr: Jim Meyering
true: no one
tsort: Mark Kettenis
tty: David MacKenzie
uname: David MacKenzie
unexpand: David MacKenzie
uniq: Richard Stallman and 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
whoami: Richard Mlynarik
yes: David MacKenzie

1884
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,9 @@ have-Makefile := $(shell test -f Makefile && echo yes)
# give them a diagnostic.
ifeq ($(have-Makefile),yes)
# Make tar archive easier to reproduce.
export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
include Makefile
include $(srcdir)/Makefile.cfg
include $(srcdir)/Makefile.maint

127
INSTALL
View File

@@ -1,3 +1,9 @@
Copyright 1994, 1995, 1996, 1999, 2000, 2001 Free Software Foundation,
Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
@@ -8,20 +14,27 @@ various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
The simplest way to compile this package is:
@@ -55,14 +68,15 @@ Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
You can give `configure' initial values for variables by setting
them in the environment. You can do that on the command line like this:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
@@ -75,11 +89,11 @@ directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a
time in the source code directory. After you have installed the
package for one architecture, use `make distclean' before reconfiguring
for another architecture.
Installation Names
==================
@@ -122,22 +136,35 @@ you can use the `configure' options `--x-includes=DIR' and
Specifying the System Type
==========================
There may be some features `configure' can not figure out
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 can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
a message saying it cannot guess the host 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:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
where SYSTEM can have one of these forms:
OS KERNEL-OS
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.
If you are building compiler tools for cross-compiling, you can also
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 and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
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).
Sharing Defaults
================
@@ -150,20 +177,44 @@ default values for variables like `CC', `cache_file', and `prefix'.
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is
overridden in the site shell script).
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
@@ -175,8 +226,6 @@ operates.
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
`configure' also accepts some other, not widely useful, options.

48
Makefile.am Normal file
View File

@@ -0,0 +1,48 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
SUBDIRS = lib src doc man m4 po tests
EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
.kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
announce-gen \
old/fileutils/ChangeLog \
old/fileutils/ChangeLog-1997 \
old/sh-utils/ChangeLog \
old/sh-utils/ChangeLog.0 \
old/textutils/ChangeLog \
old/fileutils/NEWS \
old/sh-utils/NEWS \
old/textutils/NEWS
install-root:
cd src && $(MAKE) $@
ACLOCAL_AMFLAGS = -I m4
# Some tests always need root privileges, others need them only sometimes.
check-root:
cd tests && $(MAKE) $@
distcheck-hook:
$(MAKE) my-distcheck
# 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
# `rm: cannot unlink `rm': Text file busy' when `.' appears so early
# in the shell's search path that running `rm' would run the `rm'
# executable in the current directory.
# Similarly, adjust the clean-binPROGRAMS rule.
rm_subst = \
s!(rm -f (rm|\$$\(bin_PROGRAMS\)))$$!$$1 > /dev/null 2>&1 || /bin/$$1!
.kludge-stamp: $(srcdir)/src/Makefile.in
perl -pi -e '$(rm_subst)' $(srcdir)/src/Makefile.in
touch $@
THANKS-to-translators: po/LINGUAS THANKStt.in
( \
cat $(srcdir)/THANKStt.in; \
for lang in `cat po/LINGUAS`; do \
echo http://www.iro.umontreal.ca/contrib/po/HTML/team-$$lang.html; \
done; \
) > $@-tmp && mv $@-tmp $@

View File

@@ -1,21 +1,30 @@
# -*- makefile -*-
## Customize Makefile.maint.
move_if_change = move-if-change
# 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_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE))
# List the hosts to which test releases are copied.
# `a' and `b' are merely placeholders, and correspond to the
# `a_' and `b_' prefixes of the following variables.
hosts = a b
a_host = alpha.gnu.org
b_host = freefriends.org
url_dir_list = \
ftp://$(gnu_rel_host).gnu.org/gnu/coreutils \
http://fetish.sf.net
alpha_subdir = gnu/fetish
a_url_dir = $(alpha_subdir)
b_url_dir = $(alpha_subdir)
# Files that `make wget-update' should update.
# Files to update automatically.
wget_files = \
$(srcdir)/config.guess \
$(srcdir)/config.sub \
$(srcdir)/doc/texinfo.tex \
$(srcdir)/src/ansi2knr.c
$(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/config/texinfo.tex
cvs_files = \
$(srcdir)/config/elisp-comp \
$(srcdir)/config/mdate-sh \
$(srcdir)/config/missing \
$(srcdir)/config/install-sh \
$(srcdir)/config/mkinstalldirs
# $(srcdir)/src/ansi2knr.c
local_updates = wget-update cvs-update

609
Makefile.in Normal file
View File

@@ -0,0 +1,609 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# 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.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
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
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = lib src doc man m4 po tests
EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
.kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
announce-gen \
old/fileutils/ChangeLog \
old/fileutils/ChangeLog-1997 \
old/sh-utils/ChangeLog \
old/sh-utils/ChangeLog.0 \
old/textutils/ChangeLog \
old/fileutils/NEWS \
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
# `rm: cannot unlink `rm': Text file busy' when `.' appears so early
# in the shell's search path that running `rm' would run the `rm'
# executable in the current directory.
# Similarly, adjust the clean-binPROGRAMS rule.
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)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(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/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/iconv.m4 m4/intdiv0.m4 m4/inttypes-pri.m4 m4/inttypes.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/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/nanosleep.m4 m4/onceonly.m4 m4/open-max.m4 m4/perl.m4 m4/prereq.m4 m4/progtest.m4 m4/putenv.m4 m4/regex.m4 m4/rename.m4 m4/restrict.m4 m4/rmdir-errno.m4 m4/search-libs.m4 m4/st_dm_mode.m4 m4/st_mtim.m4 m4/stat.m4 m4/stdbool.m4 m4/strftime.m4 m4/timespec.m4 m4/unlink-busy.m4 m4/uptime.m4 m4/utimbuf.m4 m4/utime.m4 m4/utimes.m4 m4/xstrtoimax.m4 m4/xstrtoumax.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
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)
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.hin
distclean-hdr:
-rm -f config.h stamp-h1
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (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; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
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 \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
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
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
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 \
*"$(VERSION)"*) : ;; \
*) \
echo "NEWS not updated; not releasing" 1>&2; \
exit 1;; \
esac
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/config $(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 \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
-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
$(am__remove_distdir)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
$(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
$(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 -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && $(mkinstalldirs) "$$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) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distuninstallcheck:
cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
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
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf autom4te.cache
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
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 \
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 \
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
install-root:
cd src && $(MAKE) $@
# Some tests always need root privileges, others need them only sometimes.
check-root:
cd tests && $(MAKE) $@
distcheck-hook:
$(MAKE) my-distcheck
.kludge-stamp: $(srcdir)/src/Makefile.in
perl -pi -e '$(rm_subst)' $(srcdir)/src/Makefile.in
touch $@
THANKS-to-translators: po/LINGUAS THANKStt.in
( \
cat $(srcdir)/THANKStt.in; \
for lang in `cat po/LINGUAS`; do \
echo http://www.iro.umontreal.ca/contrib/po/HTML/team-$$lang.html; \
done; \
) > $@-tmp && mv $@-tmp $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -1,52 +1,188 @@
# -*-Makefile-*-
# This Makefile fragment is shared between fileutils, sh-utils, textutils.
# This Makefile fragment is shared between fileutils, sh-utils, textutils,
# CPPI, Bison, and Autoconf.
maintainer-check:
if head ChangeLog| grep 'Version $(VERSION)' > /dev/null; then \
:; \
else \
echo "$(VERSION) not in ChangeLog; not tagging" 1>&2; \
exit 1; \
fi
$(MAKE) distcheck
$(MAKE) my-distcheck
## 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, 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.
prev_version_file ?= .prev-version
# Do not save the original name or timestamp in the .tar.gz file.
GZIP_ENV = '--no-name --best'
CVS = cvs
ifeq ($(origin prev_version_file), undefined)
prev_version_file = .prev-version
endif
THIS_VERSION_REGEXP = $(subst .,\.,$(VERSION))
PREV_VERSION := $(shell cat $(prev_version_file))
PREV_VERSION_REGEXP := $(shell echo $(PREV_VERSION)|sed 's/\./\\./g')
tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
tag-this-version = $(subst .,_,$(VERSION))
tag-prev-version = $(subst .,_,$(PREV_VERSION))
this-cvs-tag = $(tag-package)-$(tag-this-version)
prev-cvs-tag = $(tag-package)-$(tag-prev-version)
my_distdir = $(PACKAGE)-$(VERSION)
# Old releases are stored here.
# Used for diffs and xdeltas.
release_archive_dir ?= ../release
## --------------- ##
## Sanity checks. ##
## --------------- ##
# Checks that don't require cvs.
# Run `changelog-check' last, as previous test may reveal problems requiring
# new ChangeLog entries.
local-check = \
po-check copyright-check writable-files m4-check author_mark_check \
changelog-check strftime-check header-check makefile_path_separator_check
.PHONY: $(local-check)
# 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.
header-check:
if test -f $(srcdir)/src/sys2.h; then \
if grep 'xalloc\.h' $(srcdir)/src/*.c; then \
exit 1; \
fi; \
fi
# 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.
extract_char = sed 's/^[^%][^%]*%\(.\).*/\1/'
strftime-check:
if test -f $(srcdir)/src/date.c; then \
grep '^ %. ' $(srcdir)/src/date.c | sort \
| $(extract_char) > $@-src; \
{ echo N; \
info libc date calendar format | grep '^ `%.'\' \
| $(extract_char); } | sort > $@-info; \
diff -u $@-src $@-info || exit 1; \
rm -f $@-src $@-info; \
fi
changelog-check:
if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
:; \
else \
echo "$(VERSION) not in ChangeLog" 1>&2; \
exit 1; \
fi
m4-check:
@grep 'AC_DEFUN([^[]' m4/*.m4 \
&& { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \
exit 1; } || :
# Verify that all source files using _() are listed in po/POTFILES.in.
po-check:
if test -f po/POTFILES.in; then \
grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \
grep -E -l '\b_\(' lib/*.c src/*.c | sort > $@-2; \
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; \
fi
# Do not save the original name or timestamp in the .tar.gz file.
GZIP_ENV = --no-name
# In a definition of #define AUTHORS "... and ..." where the RHS contains
# the English word `and', the string must be marked with `N_ (...)' so that
# gettext recognizes it as a string requiring translation.
author_mark_check:
@grep '^# *define AUTHORS "[^"]* and ' src/*.c |grep -v ' N_ (' && \
{ echo 'Makefile.maint: enclose the above strings in N_ (...)' 1>&2; \
exit 1; } || :
# Sometimes it is useful to change the PATH environment variable
# in Makefiles. When doing so, it's better not to use the Unix-centric
# path separator of `:', but rather the automake-provided `@PATH_SEPARATOR@'.
# It'd be better to use `find -print0 ...|xargs -0 ...', but less portable,
# and there probably aren't many projects with so many Makefile.am files
# that we'd have to worry about limits on command line length.
msg = 'Makefile.maint: Do not use `:'\'' above; use @PATH_SEPARATOR@ instead'
makefile_path_separator_check:
@grep 'PATH=.*:' `find $(srcdir) -name Makefile.am` \
&& { echo $(msg) 1>&2; exit 1; } || :
# Check that `make alpha' will not fail at the end of the process.
writable-files:
if test -d $(release_archive_dir); then :; else \
mkdir $(release_archive_dir); \
fi
for file in $(distdir).tar.gz $(xd-delta) \
$(release_archive_dir)/$(distdir).tar.gz \
$(release_archive_dir)/$(xd-delta); do \
test -e $$file || continue; \
test -w $$file \
|| { echo ERROR: $$file is not writable; fail=1; }; \
done; \
test "$$fail" && exit 1 || :
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) \
>/dev/null \
|| { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
exit 1; }; \
fi
# Sanity checks with the CVS repository.
cvs-tag-check:
echo $(this-cvs-tag); \
if $(CVS) -n log -h README | grep -e $(this-cvs-tag): >/dev/null; then \
echo "$(this-cvs-tag) as already been used; not tagging" 1>&2; \
exit 1; \
else :; fi
cvs-diff-check:
if $(CVS) diff >cvs-diffs; then \
rm cvs-diffs; \
else \
echo "Some files are locally modified:" 1>&2; \
cat cvs-diffs; \
exit 1; \
fi
cvs-check: cvs-diff-check cvs-tag-check
maintainer-distcheck: changelog-check
$(MAKE) distcheck
$(MAKE) my-distcheck
# Tag before making distribution. Also, don't make a distribution if
# checks fail. Also, make sure the NEWS file is up-to-date.
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
cvs-dist: maintainer-check
echo $(this-cvs-tag); \
if cvs -n log -h README| grep -e $(this-cvs-tag): > /dev/null; then \
echo "VERSION not new; not tagging" 1>&2; \
exit 1; \
fi; \
cvs update po; \
cvs tag -c $(this-cvs-tag)
cvs-dist: $(local-check) cvs-check maintainer-distcheck
$(CVS) update po
$(CVS) tag -c $(this-cvs-tag)
$(MAKE) dist
# Use this to make sure we don't run these programs when building
@@ -62,11 +198,12 @@ null_AM_MAKEFLAGS = \
# 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.
t=./=test
my-distcheck: writable-files po-check
TMPDIR ?= /tmp
t=$(TMPDIR)/$(PACKAGE)/test
my-distcheck: $(local-check)
-rm -rf $(t)
mkdir $(t)
GZIP=$(GZIP) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
mkdir -p $(t)
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
cd $(t)/$(distdir) \
&& ./configure --disable-nls \
&& $(MAKE) CFLAGS='-Wformat -Werror' \
@@ -74,24 +211,23 @@ my-distcheck: writable-files po-check
&& $(MAKE) dvi \
&& $(MAKE) check \
&& $(MAKE) distclean
cd $(t) && mv $(distdir) $(distdir).old \
&& $(AMTAR) -zxf ../$(distdir).tar.gz
(cd $(t) && mv $(distdir) $(distdir).old \
&& $(AMTAR) -zxf - ) < $(distdir).tar.gz
diff -ur $(t)/$(distdir).old $(t)/$(distdir)
-rm -rf $(t)
@echo "========================"; \
echo "$(distdir).tar.gz is ready for distribution"; \
echo "========================"
# This must be the same name on both hosts.
# Make it a symlink that points to the right place.
real_dir = fetish-ftp
url_dir_list = $(foreach x,$(hosts),ftp://$($(x)_host)/$($(x)_url_dir))
md5 = $(shell md5sum < $(my_distdir).tar.gz|sed 's/ -//')
sha1 = $(shell sha1sum < $(my_distdir).tar.gz|sed 's/ -//')
tgz-size = $(shell du --human $(my_distdir).tar.gz|sed 's/M.*/MB/')
xd-size = $(shell du --human $(xd-delta)|sed 's/M.*/MB/')
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/ -//')
bz2-sha1 = $(shell sha1sum < $(my_distdir).tar.bz2|sed 's/ -//')
xdelta-md5 = $(shell md5sum < $(xd-delta)|sed 's/ -//')
xdelta-sha1 = $(shell sha1sum < $(xd-delta)|sed 's/ -//')
tgz-size = $(shell du --human $(my_distdir).tar.gz|sed 's/\([MkK]\).*/ \1B/')
bz2-size = $(shell du --human $(my_distdir).tar.bz2|sed 's/\([MkK]\).*/ \1B/')
xd-size = $(shell du --human $(xd-delta)|sed 's/\([MkK]\).*/ \1B/')
rel-check:
tarz=/tmp/rel-check-tarz-$$$$; \
@@ -102,64 +238,77 @@ rel-check:
echo "$(md5) -" > $$md5_tmp; \
md5sum -c $$md5_tmp < $$tarz
release-archive-dir = ../release
prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
announcement: NEWS ChangeLog $(distdir).tar.gz
@( \
echo Subject: $(my_distdir) released; \
echo; \
echo FIXME: put comments here; \
echo; \
for url in $(url_dir_list); do \
echo " $$url/$(my_distdir).tar.gz ($(tgz-size))"; \
done; \
echo; \
echo And here are xdelta-style diffs; \
echo; \
for url in $(url_dir_list); do \
echo " $$url/$(xd-delta) ($(xd-size))"; \
done; \
echo; \
echo "Here are the MD5 and SHA1 signatures for the .tar.gz file"; \
echo; \
echo "$(md5) $(my_distdir).tar.gz"; \
echo "$(sha1) $(my_distdir).tar.gz"; \
echo; \
echo NEWS:; \
sed -n "/$(THIS_VERSION_REGEXP)/,/^\[$(PREV_VERSION_REGEXP)/p" NEWS \
| grep -v '^\['; \
echo; \
echo ChangeLog entries:; \
find . -name ChangeLog -maxdepth 2 \
| xargs cvs diff -up -r$(prev-cvs-tag) -rHEAD \
| sed -n 's/^+//p' \
| perl -ne 'm!^\+\+ (\./)?! or print,next;' \
-e 'print "\n"."*"x70 ."\n"; s///; print; print "*"x70 ."\n"'; \
)
signatures ?= $(distdir).tar.bz2.sig $(distdir).tar.gz.sig
%.sig: %
gpg --detach-sign $<
writable-files:
for file in $(distdir).tar.gz $(xd-delta) \
../release/$(distdir).tar.gz ../release/$(xd-delta); do \
test -e $$file || continue; \
test -w $$file \
|| { echo ERROR: $$file is not writable; fail=1; }; \
done; \
test "$$fail" && exit 1 || :
rel-files = $(xd-delta) $(distdir).tar.bz2 $(distdir).tar.gz $(signatures)
announcement: NEWS ChangeLog $(rel-files) $(signatures)
@./announce-gen \
--release-type=$(RELEASE_TYPE) \
--package=$(PACKAGE) \
--prev=$(PREV_VERSION) \
--curr=$(VERSION) \
--release-archive-directory=$(release_archive_dir) \
--news=NEWS \
$(addprefix --url-dir=, $(url_dir_list)) \
## ---------------- ##
## Updating files. ##
## ---------------- ##
WGET = wget
ftp-gnu = ftp://ftp.gnu.org/gnu
www-gnu = http://www.gnu.org
# Use mv, if you don't have/want move-if-change.
move_if_change ?= move-if-change
# --------------------- #
# Updating everything. #
# --------------------- #
.PHONY: update
local_updates ?= wget-update cvs-update po-update
update: $(local_updates)
# ------------------- #
# Updating PO files. #
# ------------------- #
po_repo = http://www.iro.umontreal.ca/contrib/po/maint/$(PACKAGE)
.PHONY: do-po-update po-update
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)) &&\
cp $$tmppo/*.po po
cd po && $(MAKE) update-po
$(MAKE) po-check
po-update:
if test -d "po"; then \
$(MAKE) do-po-update; \
fi
# -------------------------- #
# Updating GNU build tools. #
# -------------------------- #
# 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.guess $(srcdir)/config.sub \
wget_files ?= $(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/src/ansi2knr.c \
$(srcdir)/doc/texinfo.tex
$(srcdir)/config/texinfo.tex
get-targets = $(patsubst %, get-%, $(wget_files))
config.guess-url_prefix = $(ftp-gnu)/config/
@@ -169,8 +318,8 @@ ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/
texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/
standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/
make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/
standards.texi-url_prefix = $(www-gnu)/prep/
make-stds.texi-url_prefix = $(standards.texi-url_prefix)
target = $(patsubst get-%, %, $@)
url = $($(notdir $(target))-url_prefix)$(notdir $(target))
@@ -180,43 +329,47 @@ $(get-targets):
$(WGET) $(url) -O $(target).t \
&& $(move_if_change) $(target).t $(target)
automake_repo=:pserver:anoncvs@anoncvs.cygnus.com:/cvs/automake
cvs_files ?= $(srcdir)/config/depcomp $(srcdir)/config/missing \
$(srcdir)/config/mkinstalldirs \
$(srcdir)/config/install-sh $(srcdir)/src/ansi2knr.c
automake_repo=:pserver:anoncvs:anoncvs@sources.redhat.com:/cvs/automake
.PHONY: wget-update
wget-update: $(get-targets)
for f in depcomp missing; do \
test -f $$f || continue; \
echo checking out $$f...; \
cvs -d $(automake_repo) co -p automake/lib/$$f > $$f.t \
&& $(move_if_change) $$f.t $$f; \
done
define emit-rsync-commands
.PHONY: cvs-update
cvs-update:
fail=; \
for f in $(cvs_files); do \
test -f $$f || { echo "*** skipping $$f" 1>&2; continue; }; \
cvs diff $$f > /dev/null \
|| { echo "*** $$f is locally modified; skipping it" 1>&2; \
fail=yes; continue; }; \
file=$$(basename $$f); \
echo checking out $$file...; \
$(CVS) -d $(automake_repo) co -p automake/lib/$$file> $$f.t \
&& $(move_if_change) $$f.t $$f; \
done; \
test "$$fail" && exit 1
define emit-upload-commands
echo =====================================
echo =====================================
echo 'for host in $(a_host) $(b_host); do \'
echo ' rsync -e ssh --pro -av $(xd-delta) $(my_distdir).tar.gz \'
echo ' $$host:$(real_dir); done'
echo upload $(PACKAGE) $(PREV_VERSION) $(VERSION)
echo '# send the /tmp/announcement e-mail'
echo =====================================
echo =====================================
endef
# Make sure that the copyright date in lib/version-etc.c is up to date.
check-copyright:
@if test -f lib/version-etc.c; then \
grep 'N_("Copyright (C) $(shell date +%Y) Free' lib/version-etc.c > /dev/null \
|| { echo 'out of date copyright in $<; update it' 1>&2; exit 1; }; \
fi
$(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
xdelta delta -9 $^ $@ || :
alpha: writable-files po-check check-copyright
.PHONY: alpha beta major
alpha beta major: $(local-check)
$(MAKE) cvs-dist
$(MAKE) -s announcement > /tmp/announce-$(my_distdir)
ln $(distdir).tar.gz ../release
chmod a-w $(distdir).tar.gz
cd $(release-archive-dir) \
&& xdelta delta -9 $(prev-tgz) $(distdir).tar.gz $(xd-delta) || :
ln $(release-archive-dir)/$(xd-delta) .
chmod a-w $(release-archive-dir)/$(xd-delta)
$(MAKE) $(xd-delta)
$(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
ln $(rel-files) $(release_archive_dir)
chmod a-w $(rel-files)
echo $(VERSION) > $(prev_version_file)
cvs ci -m. $(prev_version_file)
@$(emit-rsync-commands)
$(CVS) ci -m. $(prev_version_file)
@$(emit-upload-commands)

365
NEWS Normal file
View File

@@ -0,0 +1,365 @@
[5.0]
* false --help now exits nonzero
[4.5.12]
* printf no longer treats \x specially when POSIXLY_CORRECT is set
* printf avoids buffer overrun with format ending in a backslash and
* printf avoids buffer overrun with incomplete conversion specifier
* printf accepts multiple flags in a single conversion specifier
[4.5.11]
* seq no longer requires that a field width be specified
* seq no longer fails when given a field width of `0'
* seq now accepts ` ' and `'' as valid format flag characters
* df now shows a HOSTNAME: prefix for each remote-mounted file system on AIX 5.1
* portability tweaks for HP-UX, AIX 5.1, DJGPP
[4.5.10]
* printf no longer segfaults for a negative field width or precision
* shred now always enables --exact for non-regular files
* du no longer lists hard-linked files more than once
* du no longer dumps core on some systems due to `infinite' recursion
via nftw's use of the buggy replacement function in getcwd.c
* portability patches for a few vendor compilers and 64-bit systems
* du -S *really* now works like it did before the change in 4.5.5
[4.5.9]
* du no longer truncates file sizes or sums to fit in 32-bit size_t
* work around Linux kernel bug in getcwd (fixed in 2.4.21-pre4), so that pwd
now fails if the name of the working directory is so long that getcwd
truncates it. Before it would print the truncated name and exit successfully.
* `df /some/mount-point' no longer hangs on a GNU libc system when another
hard-mounted NFS file system (preceding /some/mount-point in /proc/mounts)
is inaccessible.
* rm -rf now gives an accurate diagnostic when failing to remove a file
under certain unusual conditions
* mv and `cp --preserve=links' now preserve multiple hard links even under
certain unusual conditions where they used to fail
[4.5.8]
* du -S once again works like it did before the change in 4.5.5
* stat accepts a new file format, %B, for the size of each block reported by %b
* du accepts new option: --apparent-size
* du --bytes (-b) works the same way it did in fileutils-3.16 and before
* du reports proper sizes for directories (not zero) (broken in 4.5.6 or 4.5.7)
* df now always displays under `Filesystem', the device file name
corresponding to the listed mount point. Before, for a block- or character-
special file command line argument, df would display that argument. E.g.,
`df /dev/hda' would list `/dev/hda' as the `Filesystem', rather than say
/dev/hda3 (the device on which `/' is mounted), as it does now.
* test now works properly when invoked from a set user ID or set group ID
context and when testing access to files subject to alternate protection
mechanisms. For example, without this change, a set-UID program that invoked
`test -w F' (to see if F is writable) could mistakenly report that it *was*
writable, even though F was on a read-only file system, or F had an ACL
prohibiting write access, or F was marked as immutable.
[4.5.7]
* du would fail with more than one DIR argument when any but the last did not
contain a slash (due to a bug in ftw.c)
[4.5.6]
* du no longer segfaults on Solaris systems (fixed heap-corrupting bug in ftw.c)
* du --exclude=FILE works once again (this was broken by the rewrite for 4.5.5)
* du no longer gets a failed assertion for certain hierarchy lay-outs
involving hard-linked directories
* `who -r' no longer segfaults when using non-C-locale messages
* df now displays a mount point (usually `/') for non-mounted
character-special and block files
[4.5.5]
* ls --dired produces correct byte offset for file names containing
nonprintable characters in a multibyte locale
* du has been rewritten to use a variant of GNU libc's ftw.c
* du now counts the space associated with a directory's directory entry,
even if it cannot list or chdir into that subdirectory.
* du -S now includes the st_size of each entry corresponding to a subdirectory
* rm on FreeBSD can once again remove directories from NFS-mounted file systems
* ls has a new option --dereference-command-line-symlink-to-dir, which
corresponds to the new default behavior when none of -d, -l -F, -H, -L
has been specified.
* ls dangling-symlink now prints `dangling-symlink'.
Before, it would fail with `no such file or directory'.
* ls -s symlink-to-non-dir and ls -i symlink-to-non-dir now print
attributes of `symlink', rather than attributes of their referents.
* Fix a bug introduced in 4.5.4 that made it so that ls --color would no
longer highlight the names of files with the execute bit set when not
specified on the command line.
* shred's --zero (-z) option no longer gobbles up any following argument.
Before, `shred --zero file' would produce `shred: missing file argument',
and worse, `shred --zero f1 f2 ...' would appear to work, but would leave
the first file untouched.
* readlink: new program
* cut: new feature: when used to select ranges of byte offsets (as opposed
to ranges of fields) and when --output-delimiter=STRING is specified,
output STRING between ranges of selected bytes.
* rm -r can no longer be tricked into mistakenly reporting a cycle.
* when rm detects a directory cycle, it no longer aborts the entire command,
but rather merely stops processing the affected command line argument.
[4.5.4]
* cp no longer fails to parse options like this: --preserve=mode,ownership
* `ls --color -F symlink-to-dir' works properly
* ls is much more efficient on directories with valid dirent.d_type.
* stty supports all baud rates defined in linux-2.4.19.
* `du symlink-to-dir/' would improperly remove the trailing slash
* `du ""' would evoke a bounds violation.
* In the unlikely event that running `du /' resulted in `stat ("/", ...)'
failing, du would give a diagnostic about `' (empty string) rather than `/'.
* printf: a hexadecimal escape sequence has at most two hex. digits, not three.
* The following features have been added to the --block-size option
and similar environment variables of df, du, and ls.
- A leading "'" generates numbers with thousands separators.
For example:
$ ls -l --block-size="'1" file
-rw-rw-r-- 1 eggert src 47,483,707 Sep 24 23:40 file
- A size suffix without a leading integer generates a suffix in the output.
For example:
$ ls -l --block-size="K"
-rw-rw-r-- 1 eggert src 46371K Sep 24 23:40 file
* ls's --block-size option now affects file sizes in all cases, not
just for --block-size=human-readable and --block-size=si. Fractional
sizes are now always rounded up, for consistency with df and du.
* df now displays the block size using powers of 1000 if the requested
block size seems to be a multiple of a power of 1000.
* nl no longer gets a segfault when run like this `yes|nl -s%n'
[4.5.3]
* du --dereference-args (-D) no longer fails in certain cases
* `ln --target-dir=DIR' no longer fails when given a single argument
[4.5.2]
* `rm -i dir' (without --recursive (-r)) no longer recurses into dir
* `tail -c N FILE' now works with files of size >= 4GB
* `mkdir -p' can now create very deep (e.g. 40,000-component) directories
* rmdir -p dir-with-trailing-slash/ no longer fails
* printf now honors the `--' command line delimiter
* od's 8-byte formats x8, o8, and u8 now work
* tail now accepts fractional seconds for its --sleep-interval=S (-s) option
[4.5.1]
* du and ls now report sizes of symbolic links (before they'd always report 0)
* uniq now obeys the LC_COLLATE locale, as per POSIX 1003.1-2001 TC1.
========================================================================
Here are the NEWS entries made from fileutils-4.1 until the
point at which the packages merged to form the coreutils:
[4.1.11]
* `rm symlink-to-unwritable' doesn't prompt [introduced in 4.1.10]
[4.1.10]
* rm once again gives a reasonable diagnostic when failing to remove a file
owned by someone else in a sticky directory [introduced in 4.1.9]
* df now rounds all quantities up, as per POSIX.
* New ls time style: long-iso, which generates YYYY-MM-DD HH:MM.
* Any time style can be preceded by "posix-"; this causes "ls" to
use traditional timestamp format when in the POSIX locale.
* The default time style is now posix-long-iso instead of posix-iso.
Set TIME_STYLE="posix-iso" to revert to the behavior of 4.1.1 thru 4.1.9.
* `rm dangling-symlink' doesn't prompt [introduced in 4.1.9]
* stat: remove support for --secure/-s option and related %S and %C format specs
* stat: rename --link/-l to --dereference/-L.
The old options will continue to work for a while.
[4.1.9]
* rm can now remove very deep hierarchies, in spite of any limit on stack size
* new programs: link, unlink, and stat
* New ls option: --author (for the Hurd).
* `touch -c no-such-file' no longer fails, per POSIX
[4.1.8]
* mv no longer mistakenly creates links to preexisting destination files
that aren't moved
[4.1.7]
* rm: close a hole that would allow a running rm process to be subverted
[4.1.6]
* New cp option: --copy-contents.
* cp -r is now equivalent to cp -R. Use cp -R -L --copy-contents to get the
traditional (and rarely desirable) cp -r behavior.
* ls now accepts --time-style=+FORMAT, where +FORMAT works like date's format
* The obsolete usage `touch [-acm] MMDDhhmm[YY] FILE...' is no longer
supported on systems conforming to POSIX 1003.1-2001. Use touch -t instead.
* cp and inter-partition mv no longer give a misleading diagnostic in some
unusual cases
[4.1.5]
* cp -r no longer preserves symlinks
* The block size notation is now compatible with SI and with IEC 60027-2.
For example, --block-size=1MB now means --block-size=1000000,
whereas --block-size=1MiB now means --block-size=1048576.
A missing `B' (e.g. `1M') has the same meaning as before.
A trailing `B' now means decimal, not binary; this is a silent change.
The nonstandard `D' suffix (e.g. `1MD') is now obsolescent.
* -H or --si now outputs the trailing 'B', for consistency with the above.
* Programs now output trailing 'K' (not 'k') to mean 1024, as per IEC 60027-2.
* New df, du short option -B is short for --block-size.
* You can omit an integer `1' before a block size suffix,
e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'.
* The following options are now obsolescent, as their names are
incompatible with IEC 60027-2:
df, du: -m or --megabytes (use -BM or --block-size=1M)
df, du, ls: --kilobytes (use --block-size=1K)
[4.1.4]
* df --local no longer lists smbfs file systems whose name starts with //
* dd now detects the Linux/tape/lseek bug at run time and warns about it.
[4.1.3]
* ls -R once again outputs a blank line between per-directory groups of files.
This was broken by the cycle-detection change in 4.1.1.
* dd once again uses `lseek' on character devices like /dev/mem and /dev/kmem.
On systems with the linux kernel (at least up to 2.4.16), dd must still
resort to emulating `skip=N' behavior using reads on tape devices, because
lseek has no effect, yet appears to succeed. This may be a kernel bug.
[4.1.2]
* cp no longer fails when two or more source files are the same;
now it just gives a warning and doesn't copy the file the second time.
E.g., cp a a d/ produces this:
cp: warning: source file `a' specified more than once
* chmod would set the wrong bit when given symbolic mode strings like
these: g=o, o=g, o=u. E.g., `chmod a=,o=w,ug=o f' would give a mode
of --w-r---w- rather than --w--w--w-.
[4.1.1]
* mv (likewise for cp), now fails rather than silently clobbering one of
the source files in the following example:
rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c
* ls -R detects directory cycles, per POSIX. It warns and doesn't infloop.
* cp's -P option now means the same as --no-dereference, per POSIX.
Use --parents to get the old meaning.
* When copying with the -H and -L options, cp can preserve logical
links between source files with --preserve=links
* cp accepts new options:
--preserve[={mode,ownership,timestamps,links,all}]
--no-preserve={mode,ownership,timestamps,links,all}
* cp's -p and --preserve options remain unchanged and are equivalent
to `--preserve=mode,ownership,timestamps'
* mv and cp accept a new option: --reply={yes,no,query}; provides a consistent
mechanism to control whether one is prompted about certain existing
destination files. Note that cp's and mv's -f options don't have the
same meaning: cp's -f option no longer merely turns off `-i'.
* remove portability limitations (e.g., PATH_MAX on the Hurd, fixes for
64-bit systems)
* mv now prompts before overwriting an existing, unwritable destination file
when stdin is a tty, unless --force (-f) is specified, as per POSIX.
* mv: fix the bug whereby `mv -uf source dest' would delete source,
even though it's older than dest.
* chown's --from=CURRENT_OWNER:CURRENT_GROUP option now works
* cp now ensures that the set-user-ID and set-group-ID bits are cleared for
the destination file when when copying and not preserving permissions.
* `ln -f --backup k k' gives a clearer diagnostic
* ls no longer truncates user names or group names that are longer
than 8 characters.
* ls's new --dereference-command-line option causes it to dereference
symbolic links on the command-line only. It is the default unless
one of the -d, -F, or -l options are given.
* ls -H now means the same as ls --dereference-command-line, as per POSIX.
* ls -g now acts like ls -l, except it does not display owner, as per POSIX.
* ls -n now implies -l, as per POSIX.
* ls can now display dates and times in one of four time styles:
- The `full-iso' time style gives full ISO-style time stamps like
`2001-05-14 23:45:56.477817180 -0700'.
- The 'iso' time style gives ISO-style time stamps like '2001-05-14 '
and '05-14 23:45'.
- The 'locale' time style gives locale-dependent time stamps like
'touko 14 2001' and 'touko 14 23:45' (in a Finnish locale).
- The 'posix-iso' time style gives traditional POSIX-locale
time stamps like 'May 14 2001' and 'May 14 23:45' unless the user
specifies a non-POSIX locale, in which case it uses ISO-style dates.
This is the default.
You can specify a time style with an option like --time-style='iso'
or with an environment variable like TIME_STYLE='iso'. GNU Emacs 21
and later can parse ISO dates, but older Emacs versions cannot, so
if you are using an older version of Emacs outside the default POSIX
locale, you may need to set TIME_STYLE="locale".
* --full-time is now an alias for "-l --time-style=full-iso".
========================================================================
Here are the NEWS entries made from sh-utils-2.0 until the
point at which the packages merged to form the coreutils:
[2.0.15]
* date no longer accepts e.g., September 31 in the MMDDhhmm syntax
* fix a bug in this package's .m4 files and in configure.ac
[2.0.14]
* nohup's behavior is changed as follows, to conform to POSIX 1003.1-2001:
- nohup no longer adjusts scheduling priority; use "nice" for that.
- nohup now redirects stderr to stdout, if stderr is not a terminal.
- nohup exit status is now 126 if command was found but not invoked,
127 if nohup failed or if command was not found.
[2.0.13]
* uname and uptime work better on *BSD systems
* pathchk now exits nonzero for a path with a directory component
that specifies a non-directory
[2.0.12]
* kill: new program
* who accepts new options: --all (-a), --boot (-b), --dead (-d), --login,
--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:
- `date -I' is no longer supported. Instead, use `date --iso-8601'.
- `nice -NUM' is no longer supported. Instead, use `nice -n NUM'.
* 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.
Uname option --release has been renamed to --kernel-release,
and --sysname has been renamed to --kernel-name;
the old options will work for a while, but are no longer documented.
* 'expr' now uses the LC_COLLATE locale for string comparison, as per POSIX.
* 'expr' now requires '+' rather than 'quote' to quote tokens;
this removes an incompatibility with POSIX.
* date -d 'last friday' would print a date/time that was one hour off
(e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday)
when run such that the current time and the target date/time fall on
opposite sides of a daylight savings time transition.
This problem arose only with relative date strings like `last monday'.
It was not a problem with strings that include absolute dates.
* factor is twice as fast, for large numbers
[2.0.11]
* setting the date now works properly, even when using -u
* `date -f - < /dev/null' no longer dumps core
* some DOS/Windows portability changes
[2.0j]
* `date -d DATE' now parses certain relative DATEs correctly
[2.0i]
* fixed a bug introduced in 2.0h that made many programs fail with a
`write error' when invoked with the --version option
[2.0h]
* all programs fail when printing --help or --version output to a full device
* printf exits nonzero upon write failure
* yes now detects and terminates upon write failure
* date --rfc-822 now always emits day and month names from the `C' locale
* portability tweaks for Solaris8, Ultrix, and DOS
[2.0g]
* date now handles two-digit years with leading zeros correctly.
* printf interprets unicode, \uNNNN \UNNNNNNNN, on systems with the
required support; from Bruno Haible.
* stty's rprnt attribute now works on HPUX 10.20
* seq's --equal-width option works more portably
[2.0f]
* fix build problems with ut_name vs. ut_user
[2.0e]
* stty: fix long-standing bug that caused test failures on at least HPUX
systems when COLUMNS was set to zero
* still more portability fixes
* unified lib/: now that directory and most of the configuration framework
is common between fileutils, textutils, and sh-utils
[2.0d]
* fix portability problem with sleep vs lib/strtod.c's requirement for -lm
[2.0c]
* fix portability problems with nanosleep.c and with the new code in sleep.c
[2.0b]
* Regenerate lib/Makefile.in so that nanosleep.c is distributed.
[2.0a]
* sleep accepts floating point arguments on command line
* sleep's clock continues counting down when sleep is suspended
* when a suspended sleep process is resumed, it continues sleeping if
there is any time remaining
* who once again prints whatever host information it has, even without --lookup
========================================================================
For older NEWS entries for the fileutils, textutils, and sh-utils
packages, see ./old/*/NEWS.
This package began as the union of the following:
textutils-2.1, fileutils-4.1.11, sh-utils-2.0.15.

126
README Normal file
View File

@@ -0,0 +1,126 @@
These are the GNU core utilities. This package is the union of
the GNU fileutils, sh-utils, and textutils packages.
Most of these programs have significant advantages over their Unix
counterparts, such as greater speed, additional options, and fewer
arbitrary limits.
The programs that can be built with this package are:
basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd
df dir dircolors dirname du echo env expand expr factor false fmt fold
ginstall groups head hostid hostname id join kill link ln logname ls
md5sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr
printenv printf ptx pwd readlink rm rmdir seq sha1sum shred sleep sort
split stat stty su sum sync tac tail tee test touch tr true tsort tty
uname unexpand uniq unlink uptime users vdir wc who whoami yes
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.
The ls, dir, and vdir commands are all separate executables instead of
one program that checks argv[0] because people often rename these
programs to things like gls, gnuls, l, etc. Renaming a program
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
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.
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,
Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe,
Réjean Payette, Sam Tardieu.
Thanks to Michael Stone for inflicting test releases of the fileutils
on Debian's unstable distribution, and to all the kind folks who used
that distribution and found and reported bugs.
Note that each man page is now automatically generated from a template
and from the corresponding --help usage message. Patches to the template
files (man/*.x) are welcome. However, the authoritative documentation
is in texinfo form in the doc directory.
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
---------------------------------------
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
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.
--- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996
+++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003
@@ -489 +489 @@
-#ifndef __STDC_32_MODE__
+#ifndef __LP64__
I've heard that stat.c doesn't compile on Ultrix 4.3.
Does anyone with access to such a system want to investigate?
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).
***************************************
There are pretty many tests, but nowhere near as many as we need.
Additions and corrections are very welcome.
If you see a problem that you've already reported, feel free to re-report
it -- it won't bother me to get a reminder. Besides, the more messages I
get regarding a particular problem the sooner it'll be fixed -- usually.
If you sent a complete patch and, after a couple weeks you haven't
received any acknowledgement please ping us. A complete patch includes
a well-written ChangeLog entry, unified (diff -u format) diffs relative
to the most recent test release, an explanation for why the patch is
necessary or useful, and if at all possible, enough information to
reproduce whatever problem prompted it.
If your patch adds a new feature, please try to get some sort of consensus
that it is a worthwhile change. One way to do that is to send mail to
bug-coreutils@gnu.org including as much description and justification
as you can. Based on the feedback that generates, you may be able to
convince us that it's worth adding.
WARNING: If you modify files like configure.in, m4/*.m4, aclocal.m4,
or any Makefile.am, then don't be surprised if what gets regenerated no
longer works. To make things work, you'll have to be using appropriate
versions of automake and autoconf. As for what versions are `appropriate',
use the versions of
* autoconf specified via AC_PREREQ in m4/jm-macros.m4
* automake specified via AM_INIT_AUTOMAKE in configure.ac
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.
For general documentation on the coding and usage standards
this distribution follows, see the GNU Coding Standards,
http://www.gnu.org/prep/standards_toc.html.
Mail suggestions and bug reports for these programs to
the address on the last line of --help output.

View File

@@ -0,0 +1,13 @@
As of 2002-09-01, the GNU fileutils, textutils, and sh-utils
packages have been merged into one, called the GNU coreutils.
See http://www.gnu.org/software/coreutils/ for a description.
For information on the mailing lists associated with the
coreutils package, see these:
http://mail.gnu.org/mailman/listinfo/coreutils-announce
http://mail.gnu.org/mailman/listinfo/bug-coreutils
mailing list archives are here:
http://mail.gnu.org/pipermail/bug-coreutils/

27
README-valgrind Normal file
View File

@@ -0,0 +1,27 @@
#! /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,'
# Create src/vg:
coreutils=$(echo 'spy:;@echo $(all_programs)' | (cd src; make -f Makefile -f - spy | tr -s '\n ' ' '))
mkdir src/vg
pwd=`pwd`
up=`dirname $pwd`
path='export PATH='$up':${PATH#*:}'
pre='#!/bin/sh\n'"$path"'\n'
n=9
vg='exec /p/bin/valgrind --quiet --num-callers='$n
cat <<EOF > src/vg/gen
for i in $coreutils; do
printf "$pre$vg \$i"' "\$@"\n' > \$i
chmod a+x \$i
done
EOF
cd src/vg
. ./gen

116
THANKS
View File

@@ -1,27 +1,33 @@
These people have contributed to the GNU fileutils, textutils,
and/or sh-utils packages. Some have reported problems, others have
contributed improvements to the documentation, actual code, and even
These people have contributed to the GNU coreutils (formerly, the fileutils,
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.
Some old names and addresses are still in the ChangeLog.
??? kytek@cybercomm.net
Achim Blumensath blume@corona.oche.de
Adam Klein aklein@debian.org
Akim Demaille demaille@inf.enst.fr
Alain Magloire alain@qnx.com
Alan Iwi iwi@atm.ox.ac.uk
Albert Chin-A-Young china@thewrittenword.com
Albert Hopkins ahopkins@dynacare.com
Alberto Accomazzi alberto@cfa0.harvard.edu
aldomel aldomel@ix.netcom.com
Alen Muzinic zveki@fly.cc.fer.hr
Alexandre Duret-Lutz duret_g@epita.fr
Alexey Solovyov alekso@math.uu.se
Alexey Vyskubov alexey@pippuri.mawhrin.net
Alfred M. Szmidt ams@kemisten.nu
Andi Kleen freitag@alancoxonachip.com
Andre Novaes Cunha Andre.Cunha@br.global-one.net
Andreas Gruenbacher ag@bestbits.at
Andreas Jaeger jaeger@gnu.org
Andreas Luik luik@isa.de
Andreas Schwab schwab@suse.de
Andreas Stolcke stolcke@ICSI.Berkeley.EDU
Andrei Gaponenko andr@triumf.ca
Andres Soolo andres@soolo.matti.ee
Andrew Burgess aab@cichlid.com
Andrew Dalke dalke@bioreason.com
@@ -33,12 +39,18 @@ Antonio Rendas ajrendas@yahoo.com
Ariel Faigon ariel@cthulhu.engr.sgi.com
Arne H. Juul arnej@solan.unit.no
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
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
Bengt Martensson bengt@mathematik.uni-Bremen.de
Bernd Leibing bernd.leibing@rz.uni-ulm.de
Bernhard Baehr bernhard.baehr@gmx.de
Bernhard Gabler bernhard@uni-koblenz.de
Bernhard Rosenkraenzer bero@redhat.de
Bill Peters peters@gaffel.as.arizona.edu
Bjorn Helgaas helgaas@rsn.hp.com
@@ -55,35 +67,46 @@ Carlos Canau Carlos.Canau@relay.puug.pt
Charles Karney karney@pppl.gov
Charles Randall crandall@matchlogic.com
Chip Salzenberg chip@valinux.com
Chris Faylor cgf@cygnus.com
Chris J. Bednar cjb@AdvancedDataSolutions.com
Chris Sylvain csylvain@umm.edu
Chris Yeo cyeo@biking.org
Christi Alice Scarborough christi@chiark.greenend.org.uk
Christian Harkort christian.harkort@web.de
Christian Krackowizer ckrackowiz@std.schuler-ag.com
Christian Rose menthos@menthos.com
Christian von Roques roques@pond.sub.org
Chuck Hedrick hedrick@klinzhai.rutgers.edu
Clark Morgan cmorgan@aracnet.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
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
Darren Salt ds@youmustbejoking.demon.co.uk
Dave Beckett dajobe@dajobe.org
David Dyck dcd@tc.fluke.COM
David Eisner cradle@umd.edu
David Godfrey dave@delta.demon.co.uk
David Luyer david_luyer@pacific.net.au
Deepak Goel deego@gnufans.org
Dennis Henriksen opus@flamingo.osrl.dk
Derek Clegg dclegg@next.com
Dick Streefland dick_streefland@tasking.com
Dirk Lattermann dlatt@t-online.de
Dirk-Jan Faber djfaber@snow.nl
Dan Jacobson http://www.geocities.com/jidani
Dmitry V. Levin ldv@altlinux.org
Don Parsons dparsons@synapse.kent.edu
Donni Erpel donald@appc11.gsi.de
Doug Coleman coleman@iarc1.ece.utexas.edu
Doug McLaren dougmc@comco.com
Dragos Harabor dharabor@us.oracle.com
Ed Avis epa98@doc.ic.ac.uk
Duncan Roe duncanr@optimation.com.au
Ed Avis ed@membled.com
Edzer Pebesma Edzer.Pebesma@rivm.nl
Eirik Fuller eirik@hackrat.com
Eivind eivindt@multinet.no
@@ -91,40 +114,54 @@ Eli Zaretskii eliz@is.elta.co.il
Emile LeBlanc leblanc@math.toronto.edu
Eric Backus ericb@lsid.hp.com
Eric G. Miller egm2@jps.net
Eric Pemente pemente@northpark.edu
Eric S. Raymond esr@snark.thyrsus.com
Erik Bennett bennett@cvo.oneworld.com
Erik Corry erik@kroete2.freinet.de
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
Frank Adler fadler@allesklar.de
Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU
François Pinard pinard@iro.umontreal.ca
Fred Fish fnf@ninemoons.com
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
Galen Hazelwood galenh@micron.net
Gary Anderson ganderson@clark.net
Gaël Quéri gqueri@mail.dotcom.fr
Gaute Hvoslef Kvalnes gaute@verdsveven.com
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
GOTO Masanori gotom@debian.or.jp
Greg Louis glouis@dynamicro.on.ca
Greg McGary gkm@gnu.org
Greg Schafer gschafer@zip.com.au
Greg Troxel gdt@bbn.com
Greg Wooledge gawooledge@sherwin.com
Gregory Leblanc gleblanc@cu-portland.edu
Göran Uddeborg goeran@uddeborg.pp.se
H. J. Lu hjl@valinux.com
Hans Ginzel hans@matfyz.cz
Hans Lermen lermen@fgan.de
Hans Verkuil hans@wyst.hobby.nl
Harry Liu rliu@lek.ugcs.caltech.edu
Herbert Xu herbert@gondor.apana.org.au
Holger Berger hberger@ess.nec.de
Hon-Yin Kok hkok@yoda.unl.edu
Hugh Daniel hugh@xanadu.com
Ian Bruce ian.bruce@myrealbox.com
Ian Jackson ijackson@chiark.greenend.org.uk
Ian Lance Taylor ian@cygnus.com
Ian Turner vectro@pipeline.com
Iida Yosiaki iida@gnu.org
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 Sneeringer jvs@ocslink.com
@@ -135,8 +172,9 @@ Jan Fedak J.Fedak@sh.cvut.cz
Jan Nieuwenhuizen janneke@gnu.org
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@erols.com
Jeff Sheinberg jeffsh@localnet.com
Jens Schmidt jms@jsds.hamburg.com
Jerome Abela abela@hsc.fr
Jesse Thilo jgt2@eecs.lehigh.edu
@@ -145,7 +183,7 @@ Jim Blandy jimb@cyclic.com
Jim Dennis jimd@starshine.org
Joakim Rosqvist dvljrt@cs.umu.se
Jochen Hein jochen@jochen.org
Joe Orton joe@orton.demon.co.uk
Joe Orton joe@manyfish.co.uk
Johan Danielsson joda@pdc.kth.se
John Bley jbb6@acpub.duke.edu
John David Anglin dave.anglin@nrc.ca
@@ -160,11 +198,12 @@ John Summerfield summer@OS2.ami.com.au
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
Jungshik Shin jshin@pantheon.yale.edu
Jürgen Fluk louis@dachau.marco.de
jvogel jvogel@linkny.com
Kai-Uwe Rommel rommel@informatik.tu-muenchen.de
Kai Henningsen kai@debian.org
Kai-Uwe Rommel rommel@informatik.tu-muenchen.de
Kalle Olavi Niemitalo tosi@stekt.oulu.fi
Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu
Karl Eichwalder keichwa@gmx.net
@@ -175,12 +214,14 @@ Kaveh R. Ghazi ghazi@caip.rutgers.edu
Keith Owens kaos@audio.apana.org.au
Keith Thompson kst@sdsc.edu
Ken Pizzini kenp@halcyon.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
Lehti Rami rammer@cs.tut.fi
Leonard N. Zubkoff lnz@dandelion.com
Leonardo Milano lmilano@udel.edu
Lorne Baker lbaker@nitro.avint.net
M. P. Suzuki mpsuzuki@hiroshima-u.ac.jp
Maciej Kwapulinski pikpok@univ.gda.pl
@@ -189,6 +230,7 @@ Manfred Hollstein manfred@s-direktnet.de
Marc Boucher marc@mbsi.ca
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 D. Roth roth@uiuc.edu
@@ -200,8 +242,10 @@ Mark Nudelman marknu@flash.net
Mark W. Eichin eichin@cygnus.com
Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de
Martin martin@dresden.nacamar.de
Martin Buck martin.buck@ascom.ch
Martin Gallant martyg@goodbit.net
Martin Hippe martin.hippe@schlund.de
Martin Michlmayr tbm@cyrius.com
Martin Mitchell martin@debian.org
Martin P.J. Zinser zinser@decus.de
Marty Leisner leisner@sdsp.mc.xerox.com
@@ -210,49 +254,69 @@ Mate Wierdl mw@moni.msci.memphis.edu
Matej Vela mvela@public.srce.hr
Matt Perry matt@primefactor.com
Matt Schalit mschalit@pacbell.net
Matthew Arnison maffew@cat.org.au
Matthew Braun matthew@ans.net
Matthew Clarke Matthew_Clarke@mindlink.bc.ca
Matthew S. Levine mslevine@theory.lcs.mit.edu
Matthew Smith matts@bluesguitar.org
Matthew Swift swift@alum.mit.edu
Mattias Wadenstein maswan@acc.umu.se
Matthias Urlichs smurf@noris.de
Mattias Wadenstein maswan@acc.umu.se
Meelis Roos mroos@tartu.cyber.ee
Michael ??? michael@roka.net
Michael Bacarella mbac@netgraft.com>
Michael Deutschmann michael@talamasca.ocis.net
Michael Gaughen mgaughen@polyserve.com
Michael Hasselberg mikelh@zonta.ping.de
Michael Hohn hohn@math.utah.edu
Michael J. Croghan mcroghan@usatoday.com
Michael Piefel piefel@informatik.hu-berlin.de
Michael Steffens michael.steffens@s.netic.de
Michael Stone mstone@debian.org
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 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
Mikko Tuumanen m@sorvankyla.yok.utu.fi
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 Lawes nlawes@silverplatter.com
Niklas Edmundsson nikke@acc.umu.se
Noah Friedman friedman@splode.com
Noel Cragg noel@red-bean.com
Olav Morkrid olav@funcom.com
Ole Laursen olau@hardworking.dk
Oskar Liljeblad osk@hem.passagen.se
Oliver Kiddle okiddle@yahoo.co.uk
Ørn E. Hansen oehansen@daimi.aau.dk
Oskar Liljeblad osk@hem.passagen.se
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
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 Moulder reiter@netspace.net.au
Peter Samuelson psamuels@sampo.creighton.edu
Peter Seebach seebs@taniemarie.solon.com
Petter Reinholdtsen pere@hungry.com
Phelippe Neveu pneveu@pcigeomatics.com
Phil Richards phil.richards@vf.vodafone.co.uk
Philippe De Muyter phdm@macqel.be
Philippe Schnoebelen Philippe.Schnoebelen@imag.fr
Phillip Jones mouse@datastacks.com
Piergiorgio Sartor sartor@sony.de
Piotr Kwapulinski kwap@univ.gda.pl
Prashant TR tr@eth.net
@@ -260,15 +324,20 @@ 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
Richard A Downing richard.downing@bcs.org.uk
Richard Braakman dark@xs4all.nl
Richard Dawe richdawe@bigfoot.com
Richard J. Rauenzahn rrauenza@hairball.cup.hp.com
Richard Neill rn214@hermes.cam.ac.uk
Richard Sharman rsharman@magmacom.com
Rick Sladkey jrs@world.std.com
Rik Faith faith@cs.unc.edu
Risto Kankkunen kankkune@lingsoft.fi
Robert H. de Vries robert@and.nl
Rogier Wolff R.E.Wolff@BitWizard.nl
Roland Huebner ro-huebner@gmx.de
Roland Turner raz@raz.cx
Ronald F. Guilmette rfg@netcom.com
Ross Alexander r.alexander@auckland.ac.nz
Ross Paterson rap@doc.ic.ac.uk
@@ -279,22 +348,33 @@ 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
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
Stephen Depooter sbdep@myrealbox.com
Stephen Eglen eglen@pcg.wustl.edu
Stephen Gildea gildea@x.org
Stephen Smoogen ??????????
Stephen Gildea gildea@stop.mail-abuse.org
Stephen Smoogen smooge@mindspring.com
Steve McConnel steve@acadcomp.sil.org
Steven G. Johnson stevenj@alum.mit.edu
Steven P Watson steven@magelico.net
Stuart Kemp skemp@peter.bmc.com
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 Quinot thomas@Cuivre.FR.EU.ORG
Tim J. Robbins tjr@FreeBSD.org
Tim Smithers mouse@dmouse.com.au
Tim Waugh twaugh@redhat
Todd A. Jacobs tjacobs@codegnome.org
Tom Haynes thomas@netapp.com
Tom Quinn trq@dionysos.thphys.ox.ac.uk
Ton Hospel thospel@mail.dma.be
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
@@ -302,6 +382,7 @@ Torbjorn Lindgren tl@funcom.no
Torsten Landschoff torsten@pclab.ifg.uni-kiel.de
Ulrich Drepper drepper@gnu.org
Urs Thuermann urs@isnogud.escape.de
Uwe H. Steinfeld usteinfeld@gmx.net
Vesselin Atanasov vesselin@bgnet.bg
Vin Shelton acs@alumni.princeton.edu
Volker Borchert bt@teknon.de
@@ -313,6 +394,9 @@ Will Edgington wedgingt@acm.org
William Bader william@nscs.fast.net
William Dowling will@franklin.com
William Lewis wiml@omnigroup.com
wiregauze wiregauze@yahoo.com
Wojciech Purczynski cliph@isec.pl
Wolfram Kleff kleff@cs.uni-bonn.de
Won-kyu Park wkpark@chem.skku.ac.kr
Yann Dirson dirson@debian.org
Zvi Har'El rl@math.technion.ac.il

4
THANKStt.in Normal file
View File

@@ -0,0 +1,4 @@
The following teams have translated the many diagnostics of this
package into many different languages. Thank you!
---

79
TODO Normal file
View File

@@ -0,0 +1,79 @@
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
doc/coreutils.texi:
Address this comment: FIXME: mv's behavior in this case is system-dependent
Better still: fix the code so it's *not* system-dependent.
implement --target-directory=DIR for install (per texinfo documentation)
ls: add --format=FORMAT option that controls how each line is printed.
cp --no-preserve=X should not attempt to preserve attribute X
reported by Andreas Schwab
copy.c: Address the FIXME-maybe comment in copy_internal.
And once that's done, add an exclusion so that `cp --link'
no longer incurs the overhead of saving src. dev/ino and dest. filename
in the hash table.
Apply suggestion from Paul Jarc to use something along the
lines of http://cr.yp.to/daemontools/setuidgid.html to avoid
kludges (as in tests/rm/fail-2eperm) when running tests as root.
See if we can be consistent about where --verbose sends its output:
These all send --verbose output to stdout:
head, tail, rm, cp, mv, ln, chmod, chown, chgrp, install, ln
These send it to stderr:
shred mkdir split
readlink is different
Write an autoconf test to work around build failure in HPUX's 64-bit mode.
See notes in README -- and remove them once there's a work-around.
after 5.0, change doc strings (like df, ls, etc) not to use `,'
as thousands separator in e.g. 1,000,000. Instead, do this:
SIZE may be (or may be an integer optionally followed by) one of following:
kB 1000, K 1024, MB 1000*1000, M 1024*1024 and so on for G, T, P, E, Z, Y.
Integrate use of sendfile, suggested here:
http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html
Should printf '\0123' print "\n3"?
per report from TAKAI Kousuke on Mar 27
http://mail.gnu.org/archive/html/bug-coreutils/2003-03/index.html
printf: consider adapting builtins/printf.def from bash
df: add `--total' option, suggested here http://bugs.debian.org/186007
Martin Michlmayr's patch to provide ls with `--sort directory' option
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
nl: fix this bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177256
# printf 'a\n\n'|nl|cat -A
1^Ia$
$
$
m4: rename all macros that start with AC_ to start with another prefix
Consider using an autoconf test and rename wrapper to make mv work
properly (by unlinking a) in cases like this:
: > a; ln a b; mv a b
Reported by Ed Avis: http://article.gmane.org/gmane.comp.gnu.fileutils.bugs/686

32
TODO-private Normal file
View File

@@ -0,0 +1,32 @@
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

6408
aclocal.m4 vendored Normal file

File diff suppressed because it is too large Load Diff

331
announce-gen Executable file
View File

@@ -0,0 +1,331 @@
#!/usr/bin/perl -w
# Generate an announcement message.
use strict;
use Getopt::Long;
use Digest::MD5;
use Digest::SHA1;
(my $VERSION = '$Revision: 1.13 $ ') =~ tr/[0-9].//cd;
(my $ME = $0) =~ s|.*/||;
my %valid_release_types = map {$_ => 1} qw (alpha beta major);
END
{
# Nobody ever checks the status of print()s. That's okay, because
# if any do fail, we're guaranteed to get an indicator when we close()
# the filehandle.
#
# Close stdout now, and if there were no errors, return happy status.
# If stdout has already been closed by the script, though, do nothing.
defined fileno STDOUT
or return;
close STDOUT
and return;
# Errors closing stdout. Indicate that, and hope stderr is OK.
warn "$ME: closing standard output: $!\n";
# Don't be so arrogant as to assume that we're the first END handler
# defined, and thus the last one invoked. There may be others yet
# to come. $? will be passed on to them, and to the final _exit().
#
# If it isn't already an error, make it one (and if it _is_ an error,
# preserve the value: it might be important).
$? ||= 1;
}
sub usage ($)
{
my ($exit_code) = @_;
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
if ($exit_code != 0)
{
print $STREAM "Try `$ME --help' for more information.\n";
}
else
{
my @types = sort keys %valid_release_types;
print $STREAM <<EOF;
Usage: $ME [OPTIONS]
OPTIONS:
Generate an announcement message.
FIXME: describe the following
--release-type=TYPE TYPE must be one of @types
--package-name=PACKAGE_NAME
--previous-version=VER
--current-version=VER
--release-archive-directory=DIR
--url-directory=URL_DIR
--news=NEWS_FILE optional
--help display this help and exit
--version output version information and exit
EOF
}
exit $exit_code;
}
sub print_changelog_deltas ($$)
{
my ($package_name, $prev_version) = @_;
# Print new ChangeLog entries.
# First find all CVS-controlled ChangeLog files.
use File::Find;
my @changelog;
find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS'
and push @changelog, $File::Find::name}},
'.');
# If there are no ChangeLog files, we're done.
@changelog
or return;
my %changelog = map {$_ => 1} @changelog;
# Reorder the list of files so that if there are ChangeLog
# files in the specified directories, they're listed first,
# in this order:
my @dir = qw ( . src lib m4 config doc );
# A typical @changelog array might look like this:
# ./ChangeLog
# ./po/ChangeLog
# ./m4/ChangeLog
# ./lib/ChangeLog
# ./doc/ChangeLog
# ./config/ChangeLog
my @reordered;
foreach my $d (@dir)
{
my $dot_slash = $d eq '.' ? $d : "./$d";
my $target = "$dot_slash/ChangeLog";
delete $changelog{$target}
and push @reordered, $target;
}
# Append any remaining ChangeLog files.
push @reordered, sort keys %changelog;
# Remove leading `./'.
@reordered = map { s!^\./!!; $_ } @reordered;
print "\nChangeLog entries:\n\n";
# print join ("\n", @reordered), "\n";
$prev_version =~ s/\./_/g;
my $prev_cvs_tag = "\U$package_name\E-$prev_version";
my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered";
open DIFF, '-|', $cmd
or die "$ME: cannot run `$cmd': $!\n";
# Print two types of lines, making minor changes:
# Lines starting with `+++ ', e.g.,
# +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247
# and those starting with `+'.
# Don't print the others.
my $prev_printed_line_empty = 1;
while (defined (my $line = <DIFF>))
{
if ($line =~ /^\+\+\+ /)
{
my $separator = "*"x70 ."\n";
$line =~ s///;
$line =~ s/\s.*//;
$prev_printed_line_empty
or print "\n";
print $separator, $line, $separator;
}
elsif ($line =~ /^\+/)
{
$line =~ s///;
print $line;
$prev_printed_line_empty = ($line =~ /^$/);
}
}
close DIFF;
# The exit code should be 1.
# Allow in case there are no modified ChangeLog entries.
$? == 256 || $? == 128
or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n";
}
{
my $release_type;
my $package_name;
my $prev_version;
my $curr_version;
my $release_archive_dir;
my @url_dir_list;
my $news_file;
GetOptions
(
'release-type=s' => \$release_type,
'package-name=s' => \$package_name,
'previous-version=s' => \$prev_version,
'current-version=s' => \$curr_version,
'release-archive-directory=s' => \$release_archive_dir,
'url-directory=s@' => \@url_dir_list,
'news=s@' => \$news_file,
help => sub { usage 0 },
version => sub { print "$ME version $VERSION\n"; exit },
) or usage 1;
my $fail = 0;
# Ensure that sure each required option is specified.
$release_type
or (warn "$ME: release type not specified\n"), $fail = 1;
$package_name
or (warn "$ME: package name not specified\n"), $fail = 1;
$prev_version
or (warn "$ME: previous version string not specified\n"), $fail = 1;
$curr_version
or (warn "$ME: current version string not specified\n"), $fail = 1;
$release_archive_dir
or (warn "$ME: release directory name not specified\n"), $fail = 1;
@url_dir_list
or (warn "$ME: URL directory name(s) not specified\n"), $fail = 1;
exists $valid_release_types{$release_type}
or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1;
@ARGV
and (warn "$ME: too many arguments\n"), $fail = 1;
$fail
and usage 1;
my $my_distdir = "$package_name-$curr_version";
my $tgz = "$my_distdir.tar.gz";
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;
print <<EOF;
Subject: $my_distdir released
<#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 "\nAnd here are xdelta-style diffs:\n";
foreach my $url (@url_dir_list)
{
print " $url/$xd ($size{$xd})\n";
}
print "\nHere are GPG detached signatures:\n";
foreach my $url (@url_dir_list)
{
print " $url/$tgz.sig\n";
print " $url/$tbz.sig\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)
{
$line =~ /^[^ *].*\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 =~ /^[^ *].*\Q$prev_version\E/o
and last;
print $line;
}
}
close NEWS;
$in_items
or die "$ME: $news_file: no matching lines\n";
}
$release_type eq 'major'
or print_changelog_deltas ($package_name, $prev_version);
exit 0;
}

1429
config.hin Normal file

File diff suppressed because it is too large Load Diff

38
config/ChangeLog Normal file
View File

@@ -0,0 +1,38 @@
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.

1388
config/config.guess vendored Normal file

File diff suppressed because it is too large Load Diff

513
config/config.rpath Executable file
View File

@@ -0,0 +1,513 @@
#! /bin/sh
# 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.
# 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.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.
# All known linkers require a `.a' archive for static linking (except M$VC,
# which needs '.lib').
libext=a
shlibext=
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix3* | aix4* | aix5*)
wl='-Wl,'
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6*)
wl='-Wl,'
;;
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
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
solaris*)
wl='-Wl,'
;;
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
if test "x$host_vendor" = xsni; then
wl='-LD'
else
wl='-Wl,'
fi
;;
esac
fi
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test "$GCC" != yes; then
with_gnu_ld=no
fi
;;
openbsd*)
with_gnu_ld=no
;;
esac
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
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
# 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
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
;;
solaris* | sysv5*)
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
sunos4*)
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
fi
else
case "$host_os" in
aix3*)
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
if test "$GCC" = yes; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
aix4* | aix5*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
esac
fi
hardcode_direct=yes
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
hardcode_direct=yes
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
esac
fi
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
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'
fi
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
cygwin* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=yes
;;
freebsd1*)
ld_shlibs=no
;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9* | hpux10* | hpux11*)
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.
;;
irix5* | irix6*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
netbsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
newsos6)
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
osf3*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*)
if test "$GCC" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
# Both cc and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
hardcode_libdir_separator=:
;;
sco3.2v5*)
;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
sunos4*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
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
;;
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
fi
;;
sysv4.2uw2*)
hardcode_direct=yes
hardcode_minus_L=no
;;
sysv5uw7* | unixware7*)
;;
*)
ld_shlibs=no
;;
esac
fi
# Check dynamic linker characteristics
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"
;;
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
;;
darwin* | rhapsody*)
shlibext=dylib
;;
freebsd1*)
;;
freebsd*)
shlibext=so
;;
gnu*)
shlibext=so
;;
hpux9* | hpux10* | hpux11*)
shlibext=sl
;;
irix5* | irix6*)
shlibext=so
case "$host_os" in
irix5*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 ") libsuff= shlibsuff= ;;
*-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 ") 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-gnu*)
shlibext=so
;;
netbsd*)
shlibext=so
;;
newsos6)
shlibext=so
;;
openbsd*)
shlibext=so
;;
os2*)
libname_spec='$name'
shlibext=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
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
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
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
# Static library suffix (normally "a").
libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator="$hardcode_libdir_separator"
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
hardcode_direct="$hardcode_direct"
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# 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

1489
config/config.sub vendored Normal file

File diff suppressed because it is too large Load Diff

423
config/depcomp Normal file
View File

@@ -0,0 +1,423 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000 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., 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.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
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
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
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/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
# 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:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
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"
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a space and a tab in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'. We will use -o /dev/null later,
# however we can't do the remplacement now because
# `-o $object' might simply not be used
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
"$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
-*)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0

269
config/install-sh Executable file
View File

@@ -0,0 +1,269 @@
#!/bin/sh
# install - install a program, script, or datafile
# This originally came from X11R5 (mit/util/scripts/install.sh).
scriptversion=2003-01-17.15
# Copyright 1991 by the Massachusetts Institute of Technology
# (FSF changes in the public domain.)
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# 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:

View File

@@ -1,6 +1,6 @@
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
# Copyright (C) 1995, 1996, 1997, 2003 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
@@ -17,6 +17,11 @@
# 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.
# Prevent date giving response in another language.
LANG=C
export LANG
@@ -25,24 +30,38 @@ export LC_ALL
LC_TIME=C
export LC_TIME
# Get the extended ls output of the file or directory.
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
if ls -L /dev/null 1>/dev/null 2>&1; then
set - x`ls -L -l -d $1`
else
set - x`ls -l -d $1`
fi
# The month is at least the fourth argument
# (3 shifts here, the next inside the loop).
shift
shift
shift
save_arg1="$1"
# Find the month. Next argument is day, followed by the year or time.
# 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
ls_command='ls -L -l -d'
else
ls_command='ls -l -d'
fi
# A `ls -l' line looks as follows on OS/2.
# drwxrwx--- 0 Aug 11 2001 foo
# This differs from Unix, which adds ownership information.
# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
#
# To find the date, we split the line on spaces and iterate on words
# until we find a month. This cannot work with files whose owner is a
# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
# will be owned by a user whose name is a month. So we first look at
# the extended ls output of the root directory to decide how many
# 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 /`
# Find which argument is the month.
month=
command=
until test $month
do
shift
# Add another shift to the command.
command="$command shift;"
case $1 in
Jan) month=January; nummonth=1;;
Feb) month=February; nummonth=2;;
@@ -59,6 +78,28 @@ do
esac
done
# Get the extended ls output of the file or directory.
set - 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
Jan) month=January; nummonth=1;;
Feb) month=February; nummonth=2;;
Mar) month=March; nummonth=3;;
Apr) month=April; nummonth=4;;
May) month=May; nummonth=5;;
Jun) month=June; nummonth=6;;
Jul) month=July; nummonth=7;;
Aug) month=August; nummonth=8;;
Sep) month=September; nummonth=9;;
Oct) month=October; nummonth=10;;
Nov) month=November; nummonth=11;;
Dec) month=December; nummonth=12;;
esac
day=$2
# Here we have to deal with the problem that the ls output gives either

336
config/missing Normal file
View File

@@ -0,0 +1,336 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000, 2002 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
# 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.
# 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.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
;;
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 "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
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]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.4 - GNU automake"
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
aclocal*)
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
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
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
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
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
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."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
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
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."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
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
proper tools for further handling them.
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. 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."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. 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."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
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
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."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
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
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."
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`
fi
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
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
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
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements 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
;;
esac
exit 0

111
config/mkinstalldirs Normal file
View File

@@ -0,0 +1,111 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
# process command line arguments
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
echo "$usage" 1>&2
exit 0
;;
-m) # -m PERM arg
shift
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
dirmode=$1
shift
;;
--) # stop option processing
shift
break
;;
-*) # unknown option
echo "$usage" 1>&2
exit 1
;;
*) # first non-opt arg
break
;;
esac
done
for file
do
if test -d "$file"; then
shift
else
break
fi
done
case $# in
0) exit 0 ;;
esac
case $dirmode in
'')
if mkdir -p -- . 2>/dev/null; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
fi
;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
fi
;;
esac
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case $pathcomp in
-*) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# End:
# mkinstalldirs ends here

File diff suppressed because it is too large Load Diff

42175
configure vendored Executable file

File diff suppressed because it is too large Load Diff

313
configure.ac Normal file
View File

@@ -0,0 +1,313 @@
dnl Process this file with autoconf to produce a configure script. -*-m4-*-
AC_INIT([GNU coreutils],[5.0],[bug-coreutils@gnu.org])
AC_CONFIG_SRCDIR(src/ls.c)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_HEADERS([config.h:config.hin])
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([1.6b gnits dist-bzip2])
AC_GNU_SOURCE
jm_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)"
MAN="$MAN uname.1")
AC_CHECK_FUNCS(chroot,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS chroot\$(EXEEXT)"
MAN="$MAN chroot.1")
AC_CHECK_FUNCS(gethostid,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS hostid\$(EXEEXT)"
MAN="$MAN hostid.1")
jm_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)
AC_MSG_CHECKING(whether localtime caches TZ)
AC_CACHE_VAL(utils_cv_localtime_cache,
[if test x$ac_cv_func_tzset = xyes; then
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <time.h>
#if STDC_HEADERS
# include <stdlib.h>
#endif
extern char **environ;
unset_TZ ()
{
char **from, **to;
for (to = from = environ; (*to = *from); from++)
if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '='))
to++;
}
main()
{
time_t now = time ((time_t *) 0);
int hour_GMT0, hour_unset;
if (putenv ("TZ=GMT0") != 0)
exit (1);
hour_GMT0 = localtime (&now)->tm_hour;
unset_TZ ();
hour_unset = localtime (&now)->tm_hour;
if (putenv ("TZ=PST8") != 0)
exit (1);
if (localtime (&now)->tm_hour == hour_GMT0)
exit (1);
unset_TZ ();
if (localtime (&now)->tm_hour != hour_unset)
exit (1);
exit (0);
}]])],
[utils_cv_localtime_cache=no],
[utils_cv_localtime_cache=yes],
[# If we have tzset, assume the worst when cross-compiling.
utils_cv_localtime_cache=yes])
else
# If we lack tzset, report that localtime does not cache TZ,
# since we can't invalidate the cache if we don't have tzset.
utils_cv_localtime_cache=no
fi])dnl
AC_MSG_RESULT($utils_cv_localtime_cache)
if test $utils_cv_localtime_cache = yes; then
AC_DEFINE(LOCALTIME_CACHE, 1, [FIXME])
fi
# SCO-ODT-3.0 is reported to need -los to link programs using initgroups
AC_CHECK_FUNCS(initgroups)
if test $ac_cv_func_initgroups = no; then
AC_CHECK_LIB(os, initgroups)
fi
AC_CHECK_FUNCS(syslog)
if test $ac_cv_func_syslog = no; then
# syslog is not in the default libraries. See if it's in some other.
for lib in bsd socket inet; do
AC_CHECK_LIB($lib, syslog, [AC_DEFINE(HAVE_SYSLOG, 1, [FIXME])
LIBS="$LIBS -l$lib"; break])
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)"
OPTIONAL_BIN_ZCRIPTS="$OPTIONAL_BIN_ZCRIPTS nohup"
MAN="$MAN nice.1 nohup.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)"
OPTIONAL_BIN_ZCRIPTS="$OPTIONAL_BIN_ZCRIPTS nohup"
MAN="$MAN nice.1 nohup.1"
fi
fi
AC_DEFUN(jm_DUMMY_1,
[
AC_REQUIRE([jm_PREREQ_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)"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS who\$(EXEEXT)"
MAN="$MAN pinky.1 users.1 who.1"
fi
])
jm_DUMMY_1
AC_MSG_CHECKING(ut_host in struct utmp)
AC_CACHE_VAL(su_cv_func_ut_host_in_utmp,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
#include <utmp.h>]], [[struct utmp ut; ut.ut_host;]])],
[su_cv_func_ut_host_in_utmp=yes],
[su_cv_func_ut_host_in_utmp=no])])
AC_MSG_RESULT($su_cv_func_ut_host_in_utmp)
if test $su_cv_func_ut_host_in_utmp = yes; then
have_ut_host=1
AC_DEFINE(HAVE_UT_HOST, 1, [FIXME])
fi
if test -z "$have_ut_host"; then
AC_MSG_CHECKING(ut_host in struct utmpx)
AC_CACHE_VAL(su_cv_func_ut_host_in_utmpx,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
#include <utmpx.h>]], [[struct utmpx ut; ut.ut_host;]])],
[su_cv_func_ut_host_in_utmpx=yes],
[su_cv_func_ut_host_in_utmpx=no])])
AC_MSG_RESULT($su_cv_func_ut_host_in_utmpx)
if test $su_cv_func_ut_host_in_utmpx = yes; then
AC_DEFINE(HAVE_UTMPX_H, 1, [FIXME])
AC_DEFINE(HAVE_UT_HOST, 1, [FIXME])
fi
fi
GNULIB_BOOT_TIME(
[OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uptime\$(EXEEXT)"
MAN="$MAN uptime.1"])
AC_SYS_POSIX_TERMIOS()
jm_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"
AC_MSG_CHECKING(whether termios.h needs _XOPEN_SOURCE)
AC_CACHE_VAL(su_cv_sys_termios_needs_xopen_source,
[AC_EGREP_CPP(yes, [#include <termios.h>
#ifdef IUCLC
yes
#endif], su_cv_sys_termios_needs_xopen_source=no,
AC_EGREP_CPP(yes, [#define _XOPEN_SOURCE
#include <termios.h>
#ifdef IUCLC
yes
#endif], su_cv_sys_termios_needs_xopen_source=yes,
su_cv_sys_termios_needs_xopen_source=no))])
AC_MSG_RESULT($su_cv_sys_termios_needs_xopen_source)
test $su_cv_sys_termios_needs_xopen_source = yes &&
AC_DEFINE(TERMIOS_NEEDS_XOPEN_SOURCE, 1, [FIXME])
AC_MSG_CHECKING(c_line in struct termios)
AC_CACHE_VAL(su_cv_sys_c_line_in_termios,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if TERMIOS_NEEDS_XOPEN_SOURCE
#define _XOPEN_SOURCE
#endif
#include <sys/types.h>
#include <termios.h>]], [[struct termios t; t.c_line;]])],
[su_cv_sys_c_line_in_termios=yes],
[su_cv_sys_c_line_in_termios=no])])
AC_MSG_RESULT($su_cv_sys_c_line_in_termios)
test $su_cv_sys_c_line_in_termios = yes \
&& AC_DEFINE(HAVE_C_LINE, 1, [FIXME])
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
jm_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
AC_MSG_CHECKING(TIOCGWINSZ in sys/pty.h)
AC_CACHE_VAL(su_cv_sys_tiocgwinsz_in_sys_pty_h,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
#ifdef WINSIZE_IN_PTEM
# include <sys/stream.h>
# include <sys/ptem.h>
#endif
#include <sys/ioctl.h>
#include <sys/tty.h>
#include <sys/pty.h>]], [[int x = TIOCGWINSZ;]])],
[su_cv_sys_tiocgwinsz_in_sys_pty_h=yes],
[su_cv_sys_tiocgwinsz_in_sys_pty_h=no])])
AC_MSG_RESULT($su_cv_sys_tiocgwinsz_in_sys_pty_h)
test $su_cv_sys_tiocgwinsz_in_sys_pty_h = yes \
&& AC_DEFINE(GWINSZ_IN_SYS_PTY, 1,
[Define if your system defines TIOCGWINSZ in sys/pty.h.])
fi
# For src/kill.c.
AC_CHECK_DECLS([strsignal, strtoimax, sys_siglist, _sys_siglist])
jm_LIB_CHECK
AM_GNU_GETTEXT([external], [need-ngettext])
AM_GNU_GETTEXT_VERSION(0.11.5)
AC_CONFIG_FILES(
Makefile
doc/Makefile
lib/Makefile
man/Makefile
m4/Makefile
po/Makefile.in
src/Makefile
tests/Makefile
tests/basename/Makefile
tests/chgrp/Makefile
tests/chmod/Makefile
tests/chown/Makefile
tests/cp/Makefile
tests/cut/Makefile
tests/date/Makefile
tests/dd/Makefile
tests/dircolors/Makefile
tests/du/Makefile
tests/expr/Makefile
tests/factor/Makefile
tests/fmt/Makefile
tests/head/Makefile
tests/install/Makefile
tests/join/Makefile
tests/ln/Makefile
tests/ls-2/Makefile
tests/ls/Makefile
tests/md5sum/Makefile
tests/misc/Makefile
tests/mkdir/Makefile
tests/mv/Makefile
tests/od/Makefile
tests/pr/Makefile
tests/rm/Makefile
tests/rmdir/Makefile
tests/seq/Makefile
tests/sha1sum/Makefile
tests/shred/Makefile
tests/sort/Makefile
tests/stty/Makefile
tests/sum/Makefile
tests/tac/Makefile
tests/tail-2/Makefile
tests/tail/Makefile
tests/test/Makefile
tests/touch/Makefile
tests/tr/Makefile
tests/tsort/Makefile
tests/unexpand/Makefile
tests/uniq/Makefile
tests/wc/Makefile
)
AC_OUTPUT

View File

@@ -1,4 +1,413 @@
2001-06-16 Jim Meyering <meyering@lucent.com>
2003-04-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (false invocation): Note that false exits
unsuccessfully even with --help and --version.
* Makefile.am (check-texinfo): Don't fail if perl is missing.
Reported by Nelson Beebe.
2003-03-27 Jim Meyering <jim@meyering.net>
* coreutils.texi (printf invocation): Fix formatting bugs.
From Paul Eggert.
(sort invocation): Describe sort's --stable (-s) option.
2003-03-13 Jim Meyering <jim@meyering.net>
* coreutils.texi (shred invocation): Mention that --exact
is now the default for non-regular files.
2003-03-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (Exit status): New section.
Suggestion from Michael Stone.
2003-02-21 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Document --apparent-size.
Adjust documentation of --bytes (-b).
(stat invocation): Describe %B.
2003-02-07 Richard Dawe <rich@phekda.freeserve.co.uk>
* coreutils.texi: Use @command instead of @code for program names.
* perm.texi (Mode Structure): Mention filesystem-specific
permissions and that mounting a filesystem as read-only may
override actual file permissions. Use @command instead
of @code for program names.
2003-02-06 Jim Meyering <jim@meyering.net>
* coreutils.texi: Adjust alignment and mention `file, text, shell'
on the `* Coreutils:...' dirently line. From Karl Berry.
2003-02-05 Jim Meyering <jim@meyering.net>
* Makefile.am (check-texinfo): Allow bare `POSIX' to be used on
direntry lines.
* coreutils.texi: Use new form of @direntry.
Put unlink in its proper place. Adjust wording in some
dir entry descriptions, mainly so they fit in 80 columns.
Don't use mark-up like @acronym{POSIX} in direntries.
Mostly from Karl Berry.
2003-01-25 Jim Meyering <jim@meyering.net>
* coreutils.texi (cut invocation): Describe new functionality of
--output-delimiter=STR.
2003-01-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (The cut command): Give an example of using cut -c
with an output delimiter. From Jan Nieuwenhuizen.
* coreutils.texi (The cut command): Extend the new example a little.
(Formatting file timestamps): Fix typo: s/%M:S/%M:%S/.
* coreutils.texi: Change each use of `Core-utils' to `Coreutils'.
From Karl Berry.
2003-01-19 Jim Meyering <jim@meyering.net>
* coreutils.texi (Which files are listed): Document new option:
--dereference-command-line-symlink-to-dir.
2003-01-15 Paul Eggert <eggert@twinsun.com>
Change ls -H back to the way it was yesterday, since this is
compatible with FreeBSD and the POSIX spec is confusing
and somewhat contradictory.
* doc/coreutils.texi (Which files are listed, General output
formatting): Undo last change.
2003-01-15 Jim Meyering <jim@meyering.net>
* coreutils.texi (General output formatting): Reflect option name change:
s/--dereference-command-line/--dereference-command-line-symlink-to-dir/.
Say that this option changes how ls treats only symlinks to directories
specified on the command line.
2002-08-27 Dmitry V. Levin <ldv@altlinux.org>
* coreutils.texi: Document readlink.
2002-12-14 Jim Meyering <jim@meyering.net>
* coreutils.texi (mknod invocation): Specify how major and minor mode
numbers are interpreted. Report forwarded by Kristin E Thomas.
2002-11-13 Jim Meyering <jim@meyering.net>
* coreutils.texi (Examples of expr): Remove bogus `^'s.
Reported by Thomas Goerlich.
2002-11-09 Jim Meyering <jim@meyering.net>
* coreutils.texi (What information is listed) [--dired]:
Correct parts of --dired description. Reported by Andre Spiegel.
Include a lot more description, with examples.
2002-11-06 Jim Meyering <jim@meyering.net>
* coreutils.texi (printf invocation): Fix typo in index:
change \0x prefix to \x.
Change \xhhh to \xhh.
2002-10-07 Paul Eggert <eggert@twinsun.com>
Add support for locale-specific size indications (e.g.,
thousands-separators) and for explicit size suffixes on output.
* coreutils.texi (Block size): Say that:
This affects display format as well as block size.
Fractional block counts are rounded up.
ls file size blocksize defaults to 1.
A block size spec preceded by ' generates thousands separators.
A suffix without a preceding integer generates suffixes.
(tail invocation): 32k -> 32 KiB.
(What information is listed): ls -h is now equivalent to
ls --block-size=human, and ls -H is now equivalent to
ls --block-size=si. Displayed file size is now always affected by
--block-size.
2002-09-13 Jim Meyering <jim@meyering.net>
* coreutils.texi (tail invocation): In --sleep-interval=NUMBER,
NUMBER may now be a floating point number.
(stat invocation): Remove references to now-removed %S and %C.
(Time directives) [%S]: Explain why the range is [0..60].
2002-08-30 Jim Meyering <jim@meyering.net>
* coreutils.texi [START-INFO-DIR-ENTRY]: Don't use sc{} on LHS.
Fix typo: s/permission/permissions/. From Michail Litvak.
2002-08-02 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (uniq invocation): uniq now obeys LC_COLLATE.
2002-07-29 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (nohup invocation): Change behavior to conform to
POSIX 1003.1-2001:
- Do not adjust scheduling priority.
- Redirects stderr to stdout, if stderr is not a terminal.
- Exit status is now 126 if command was found but not invoked,
127 if nohup failed or if command was not found.
2002-07-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (Time directives): Document %P, %R, %e, %F,
%g, %G, and %V
2002-07-22 Martin Michlmayr <tbm@cyrius.com>
* coreutils.texi (Formatting the file names): Document
that -N/--literal are equivalent to --quoting-style=literal.
Reported by Oskar Liljeblad as Debian bug#103612.
2002-07-10 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): s/PAT/PATTERN/.
From Martin Michlmayr.
2002-07-08 Jim Meyering <jim@meyering.net>
* coreutils.texi (cp invocation): Remove unnecessary "$@" in example;
Texinfo would render the @" as an umlaut over the following character.
From Paul Eggert.
* Makefile.am (check-texinfo): Check for the above.
2002-07-06 Jim Meyering <jim@meyering.net>
* coreutils.texi (stat invocation): Remove description of --secure.
2002-07-03 Jim Meyering <jim@meyering.net>
* coreutils.texi (stat invocation): Rename --link/-l
to --dereference/-L. Rewrite description of --dereference.
2002-06-26 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Putting the tools together): Don't mention egrep,
since it's not part of POSIX 1003.1-2001.
2002-06-21 Jim Meyering <jim@meyering.net>
* coreutils.texi (stat invocation): New section. From Michael Meskes.
2002-05-19 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (ls invocation): Document new option: --author.
2002-06-03 Jim Meyering <jim@meyering.net>
* coreutils.texi (rm invocation): Add the warning (also in the --help
output) that the contents of a removed file are often recoverable.
2002-05-27 Jim Meyering <jim@meyering.net>
* Makefile.am (check-texinfo): Adapt to reflect that now we use
@acronym{POSIX}.
2002-05-26 Jim Meyering <jim@meyering.net>
* coreutils.texi: Use @acronym in place of most uses of @sc.
* getdate.texi (Date input formats): Likewise.
2002-04-28 Jim Meyering <jim@meyering.net>
* coreutils.texi: Change `@code{PROG}' to `@command{PROG}'.
2002-04-28 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (kill invocation): Document the above.
Document POSIX signals better.
2002-04-15 Jim Meyering <jim@meyering.net>
* coreutils.texi: Document kill.
Written by Marcus Brinkmann.
2002-04-13 Jim Meyering <jim@meyering.net>
* coreutils.texi: Document link and unlink.
2002-04-08 Jim Meyering <jim@meyering.net>
* coreutils.texi: Use new directives, @copying and @insertcopying,
thus now requiring texinfo-4.2 to create the .info file.
2002-02-26 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (File characteristic tests): Document the
behavior of test -nt and -ot when one of the files does not exist,
using the same behavior that is documented in ksh93.
2002-03-05 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (cut invocation): Say that selected input is
written in the same order that it is read, and is written
exactly once.
2002-03-03 Paul Eggert <eggert@twinsun.com>
Make cp -r equivalent to cp -R. Add a new cp option --copy-contents
for people who want to emulate the traditional (and rarely desirable)
cp -r behavior.
* coreutils.texi (cp invocation): Document this.
Fix some related minor bugs: --no-dereference is no longer
equivalent to -d, and --archive (-a) can override the other
symlink options. Warn that cp -R is not portable on symbolic
links unless you also specify -P.
2002-03-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (cp invocation): Document that cp -r
preserves symlinks. Emphasize non-portability of cp -r.
2002-02-27 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Time directives): Add %N for nanoseconds.
This documents the recent change to 'ls'.
2002-02-28 Jim Meyering <jim@meyering.net>
* coreutils.texi (pr invocation): Reword to avoid using `:'
in an @opindex entry -- info doesn't permit it.
2002-02-27 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Formatting file timestamps): Document new
time-formatting method: --time-style=+FORMAT.
2002-02-18 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (seq invocation): In the example, use "tail
-n 3", not "tail -3", to conform to POSIX 1003.1-2001.
2002-02-17 Jim Meyering <jim@meyering.net>
* coreutils.texi (tsort background): New section.
From Ian Lance Taylor.
(tsort invocation): Add a more realistic example.
2002-02-15 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: Document _POSIX2_VERSION.
(Standards Conformance): New section.
2002-01-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (START-INFO-DIR-ENTRY): Remove a few entries
and clean up a few others based on suggestions from Bob Proulx.
2002-02-14 Paul Eggert <eggert@twinsun.com>
Add support for POSIX 1003.1-2001, which requires removal for
support of obsolete "+" option syntax in sort, tail, and uniq.
* coreutils.texi: Document this. (Also, document a similar
change to "touch", for fileutils).
2002-01-12 Jim Meyering <jim@meyering.net>
* coreutils.texi (shred invocation): List some journaled filesystems.
2001-11-10 Jim Meyering <jim@meyering.net>
* coreutils.texi (Date directives): Document %u.
2001-11-07 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (paste invocation): Give examples.
Thanks to Dan Jacobson for suggesting the examples.
2001-11-05 Jim Meyering <jim@meyering.net>
* coreutils.texi (sort invocation): Recommend setting LC_ALL=C,
not LC_COLLATE=C. Explain how the latter can cause problems.
Based on a message from Paul Eggert.
(ls invocation): Recommend setting LC_ALL=C, not LC_COLLATE=C.
2001-10-21 Jim Meyering <jim@meyering.net>
* coreutils.texi (cp invocation): Describe --reply=...
2001-10-17 Jim Meyering <jim@meyering.net>
* coreutils.texi (cp invocation): `cp --no-dereference' is
no longer equivalent to `cp -d'.
`cp -d' is equivalent to `--no-dereference --preserve=links'.
cp's -P option means --no-dereference, not --parents.
Describe new optional argument to --preserve.
Describe new option: --no-preserve=ATTRIBUTE_LIST.
2001-09-23 Jim Meyering <jim@meyering.net>
* Makefile.am (check-texinfo): Redirect stderr of `grep -w' to
/dev/null, so people with old versions of grep don't see the failure.
2001-09-16 Jim Meyering <jim@meyering.net>
* coreutils.texi (mv invocation): Describe new option:
--reply={yes,no,query}. Fix a few typos.
2001-09-15 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (uniq invocation): The input need not
be sorted. Try to clarify -d versus -D versus -u.
2001-09-12 Jim Meyering <jim@meyering.net>
* coreutils.texi (tail invocation): Document new option: -F.
From Herbert Xu.
2001-09-04 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (join invocation): Describe the GNU
extension to join, which does not require sorted input when
the input contains no unpairable lines.
2001-09-03 Paul Eggert <eggert@twinsun.com>
* coreutils.texi:
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.
Uname option --release has been renamed to --kernel-release,
and --sysname has been renamed to --kernel-name;
the old options will work for a while, but are no longer documented.
2001-08-24 Herbert Xu <herbert@gondor.apana.org.au>
* coreutils.texi (cut invocation): Document how cut treats lines
with no separators.
2001-06-19 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: expr now uses LC_COLLATE for string comparison,
as per POSIX.
2001-08-25 Jim Meyering <jim@meyering.net>
* coreutils.texi: Use @option, rather than @samp everywhere.
2001-06-21 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: 'expr' now requires '+' rather than 'quote'
to quote tokens.
2001-07-14 Jim Meyering <jim@meyering.net>
* coreutils.texi (cp invocation): Reflect 2001-07-08 change to
cp (via copy.c).
2001-06-16 Jim Meyering <jim@meyering.net>
* Makefile.am (info_TEXINFOS): Reflect renaming: s/omni-/core/.
* coreutils.texi: Likewise.
@@ -9,14 +418,14 @@
* omni-utils.texi (ls invocation): Mention the effect of locale.
Reported by Keith Thompson.
2001-05-24 Jim Meyering <meyering@lucent.com>
2001-05-24 Jim Meyering <jim@meyering.net>
* texinfo.tex: Update from master source.
* omni-utils.texi (ls invocation): Document more clearly what ls
does when given no arguments.
2001-05-21 Jim Meyering <meyering@lucent.com>
2001-05-21 Jim Meyering <jim@meyering.net>
* textutils.texi: Remove file.

View File

@@ -30,7 +30,12 @@ $(INFO_DEPS): $(EXTRA_DIST)
# List words/regexps here that should not appear in the texinfo documentation.
check-texinfo:
grep timezone $(srcdir)/*.texi && exit 1 || :
grep -w POSIX $(srcdir)/*.texi && exit 1 || :
fail=0; \
grep timezone $(srcdir)/*.texi && fail=1; \
grep '\$$@"' $(srcdir)/*.texi && 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; }; \
exit $$fail
check: check-texinfo

View File

@@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.4g from Makefile.am.
# Makefile.in generated by automake 1.7.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -13,107 +14,75 @@
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
GENCAT = @GENCAT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NEED_SETGID = @NEED_SETGID@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
POW_LIBM = @POW_LIBM@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SQRT_LIBM = @SQRT_LIBM@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
YACC = @YACC@
_am_include = @_am_include@
_am_quote = @_am_quote@
install_sh = @install_sh@
l = @l@
info_TEXINFOS = coreutils.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
# The following is necessary if the package name is 8 characters or longer.
# If the info documentation would be split into 10 or more separate files,
@@ -124,117 +93,190 @@ EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
# and those names all map to one 14-byte name (<package>.info-) on some crufty
# old systems.
MAKEINFO = makeinfo --no-split
EXEEXT =
OBJEXT = o
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
info_TEXINFOS = coreutils.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
subdir = doc
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
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 mdate-sh stamp-vti \
texinfo.tex version.texi
DIST_COMMON = ChangeLog Makefile.am Makefile.in stamp-vti version.texi
all: all-am
.SUFFIXES:
.SUFFIXES: .dvi .info .ps .texi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
.SUFFIXES: .dvi .info .pdf .ps .texi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
$(srcdir)/version.texi: $(srcdir)/stamp-vti
@:
$(srcdir)/stamp-vti: coreutils.texi $(top_srcdir)/configure.in
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/coreutils.texi`; \
.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)/'`$<
.texi.dvi:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
.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
@(dir=.; test -f ./coreutils.texi || dir=$(srcdir); \
set `$(SHELL) $(top_srcdir)/config/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 $(srcdir)/version.texi \
|| (echo "Updating $(srcdir)/version.texi"; \
cp vti.tmp $(srcdir)/version.texi)
@cmp -s vti.tmp version.texi \
|| (echo "Updating version.texi"; \
cp vti.tmp version.texi)
-@rm -f vti.tmp
@cp $(srcdir)/version.texi $@
@cp version.texi $@
mostlyclean-vti:
-rm -f vti.tmp
maintainer-clean-vti:
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
coreutils.info: coreutils.texi $(srcdir)/version.texi
coreutils.dvi: coreutils.texi $(srcdir)/version.texi
.texi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texi.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.texi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-rm -f stamp-vti version.texi
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
DVIPS = dvips
.dvi.ps:
$(DVIPS) $< -o $@
$(DVIPS) -o $@ $<
uninstall-info-am:
$(PRE_UNINSTALL)
@if (install-info --version && \
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file; \
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; \
done; \
else :; fi
@$(NORMAL_UNINSTALL)
@list='$(INFO_DEPS)'; \
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 $$file $$file-[0-9] $$file-[0-9][0-9])"; \
rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \
echo " 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)
list='$(INFO_DEPS)'; \
for base in $$list; do \
d=$(srcdir); \
for file in `CDPATH=: && cd $$d && eval echo $$base*`; do \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -f $$base; then d=.; else d=$(srcdir); fi; \
for file in $$d/$$base*; do \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
test -f $(distdir)/$$relfile || \
cp -p $$file $(distdir)/$$relfile; \
done; \
done
mostlyclean-aminfo:
-rm -f coreutils.aux coreutils.cp coreutils.cps coreutils.dvi coreutils.fl \
coreutils.fn coreutils.ky coreutils.log coreutils.op \
coreutils.pg coreutils.ps coreutils.toc coreutils.tp \
coreutils.vr
-rm -f 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
maintainer-clean-aminfo:
cd $(srcdir) && \
for i in $(INFO_DEPS); do \
rm -f $$i; \
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
rm -f $$i-[0-9]*; \
fi; \
@list='$(INFO_DEPS)'; for i in $$list; do \
i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -242,15 +284,26 @@ top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@@ -258,7 +311,7 @@ distdir: $(DISTFILES)
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="${top_distdir}" distdir="$(distdir)" \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-info
check-am: all-am
check: check-am
@@ -278,6 +331,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -285,7 +339,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -317,21 +371,25 @@ install-info-am: $(INFO_DEPS)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@list='$(INFO_DEPS)'; \
for file in $$list; do \
d=$(srcdir); \
for ifile in `CDPATH=: && cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
if test -f $$d/$$ifile; then \
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
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; \
else : ; fi; \
done; \
done
@$(POST_INSTALL)
@if (install-info --version && \
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
relfile=`echo "$$file" | sed 's|^.*/||'`; \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile || :;\
done; \
else : ; fi
install-man:
@@ -347,9 +405,15 @@ mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
uninstall-am: uninstall-info-am
pdf: pdf-am
uninstall-info: uninstall-info-am
pdf-am: $(PDFS)
ps: ps-am
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 \
@@ -358,8 +422,8 @@ uninstall-info: uninstall-info-am
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti mostlyclean \
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti \
uninstall uninstall-am uninstall-info-am
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am
# Remove `DISABLED_' when fileutils, textutils, and sh-utils have
@@ -379,8 +443,13 @@ $(INFO_DEPS): $(EXTRA_DIST)
# List words/regexps here that should not appear in the texinfo documentation.
check-texinfo:
grep timezone $(srcdir)/*.texi && exit 1 || :
grep -w POSIX $(srcdir)/*.texi && exit 1 || :
fail=0; \
grep timezone $(srcdir)/*.texi && fail=1; \
grep '\$$@"' $(srcdir)/*.texi && 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; }; \
exit $$fail
check: check-texinfo
# Tell versions [3.59,3.63) of GNU make to not export all variables.

8
doc/code-vs-command Normal file
View File

@@ -0,0 +1,8 @@
perl -pi -e \
's/\@code\{('"$(echo cp dd df dir dircolors du install ln ls mkdir mkfifo mknod mv shred touch vdir|tr ' ' '|')"')\}/\@command{$1}/' coreutils.texi
perl -pi -e \
's/\@code\{('"$(echo cp dd df dir dircolors du install ln ls mkdir mkfifo mknod mv shred touch vdir|tr ' ' '|')"')\}/\@command{$1}/' coreutils.texi
regex=$((textutils; shellutils) | tr -s ' ' '|')
perl -pi -e 's/\@code\{('"$regex"')\}/\@command{$1}/' coreutils.texi

File diff suppressed because it is too large Load Diff

View File

@@ -35,13 +35,13 @@ 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 @sc{posix}
@cindex epoch, for @sc{posix}
@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 @sc{posix} systems, the clock starts at 1970-01-01 00:00:00
@sc{utc}: @sc{posix} does not require support for times before the
@sc{posix} Epoch and times far in the future. Traditional Unix systems
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

View File

@@ -47,8 +47,8 @@ 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
can change the owner and group of a file by using the @code{chown} and
@code{chgrp} commands.
can change the owner and group of a file by using the @command{chown} and
@command{chgrp} commands.
In addition to the three sets of three permissions listed above, a
file's permissions have three special components, which affect only
@@ -77,6 +77,38 @@ unless they own the file or the directory; this is called the
@dfn{restricted deletion flag} for the directory.
@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
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:
@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}.
@item FFS
On FreeBSD the file permissions (``flags'') specific to the FFS
filesystem are set using @command{chrflags}.
@end table
Although a file's permission ``bits'' allow an operation on that file,
that operation may still fail, because:
@itemize
@item
the filesystem-specific permissions do not permit it;
@item
the filesystem is mounted as read-only.
@end itemize
For example, if the immutable attribute is set on a file,
it cannot be modified, regardless of the fact that you
may have just run @code{chmod a+w FILE}.
@node Symbolic Modes
@section Symbolic Modes

View File

@@ -1,10 +1,12 @@
error.h
fnmatch.h
getopt.h
getopt.c
getopt.h
getopt1.c
getpagesize.h
md5.h
obstack.h
regex.h
regex.c
getpagesize.h
regex.h
fts_.h
fts.c

View File

@@ -11,3 +11,4 @@ safe-lstat.h
safe-stat.c
safe-stat.h
stat.c
unlocked-io.h

File diff suppressed because it is too large Load Diff

View File

@@ -1,65 +1,143 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
## Makefile for gnulib/lib -*-Makefile-*-
AUTOMAKE_OPTIONS = ../src/ansi2knr
# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 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; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
noinst_LIBRARIES = libfetish.a
INCLUDES = -I.. -I$(srcdir) -I../intl
INCLUDES = -I.. -I$(srcdir)
DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
## 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 = \
getdate.y posixtm.c addext.c argmatch.c backupfile.c basename.c \
canon-host.c closeout.c diacrit.c dirname.c dup-safer.c \
exclude.c filemode.c fopen-safer.c \
full-write.c getopt.c getopt1.c getstr.c getugroups.c hard-locale.c hash.c \
human.c idcache.c isdir.c linebuffer.c localcharset.c long-options.c \
makepath.c mbswidth.c md5.c memcasecmp.c memcoll.c modechange.c \
path-concat.c physmem.c \
quote.c quotearg.c readtokens.c safe-read.c same.c save-cwd.c \
savedir.c sha.c strftime.c stripslash.c \
unicodeio.c userspec.c version-etc.c xgetcwd.c \
xgethostname.c xmalloc.c xstrdup.c xstrtod.c xstrtol.c xstrtoul.c \
xstrtoumax.c yesno.c
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 \
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 \
full-read.c full-read.h \
full-write.c full-write.h \
getline.h \
getpagesize.h \
getstr.c getstr.h \
gettime.c \
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 \
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 \
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 \
xmemcoll.c xmemcoll.h \
xnanosleep.c xnanosleep.h \
xreadlink.c xreadlink.h \
xstrdup.c \
xstrtod.c xstrtod.h \
xstrtol.c xstrtol.h \
xstrtoul.c \
xstrtoimax.c \
xstrtoumax.c \
yesno.c
libfetish_a_LIBADD = @LIBOBJS@ @ALLOCA@
libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD)
noinst_HEADERS = \
argmatch.h backupfile.h bumpalloc.h closeout.h diacrit.h dirname.h error.h \
exclude.h filemode.h fnmatch.h __fpending.h fsusage.h \
getdate.h getline.h getopt.h \
getstr.h getpagesize.h group-member.h hard-locale.h hash.h human.h lchown.h \
linebuffer.h long-options.h mbswidth.h md5.h memcasecmp.h memcoll.h \
makepath.h mbswidth.h modechange.h mountlist.h nanosleep.h obstack.h \
path-concat.h pathmax.h physmem.h posixtm.h \
quote.h quotearg.h readtokens.h \
readutmp.h regex.h safe-read.h same.h save-cwd.h savedir.h sha.h \
stdio-safer.h strverscmp.h unicodeio.h unistd-safer.h version-etc.h \
xalloc.h xstrtod.h xstrtol.h
BUILT_SOURCES = getdate.c lstat.c stat.c
BUILT_SOURCES = getdate.c
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
DISTCLEANFILES = lstat.c stat.c
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin
lstat.c: xstat.in
sed \
-e '/@IGNORE@/d' \
-e 's/@xstat@/lstat/g' \
-e '/_LSTAT_ONLY@/d' \
-e '/@BEGIN_STAT_ONLY@/,/@END_STAT_ONLY@/d' \
$(srcdir)/xstat.in > $@-t
mv $@-t $@
stat.c: xstat.in
sed \
-e '/@IGNORE@/d' \
-e 's/@xstat@/stat/g' \
-e '/_STAT_ONLY@/d' \
-e '/@BEGIN_LSTAT_ONLY@/,/@END_LSTAT_ONLY@/d' \
$(srcdir)/xstat.in > $@-t
mv $@-t $@
EXTRA_DIST = config.charset ref-add.sin ref-del.sin \
fnmatch_loop.c inttostr.c inttostr.h
# The following is needed in order to install a simple file in $(libdir)
# which is shared with other installed packages. We use a list of referencing
@@ -68,7 +146,7 @@ stat.c: xstat.in
# On systems with glibc-2.1 or newer, the file is redundant, therefore we
# avoid installing it.
all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c
all-local: charset.alias ref-add.sed ref-del.sed
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
@@ -104,7 +182,8 @@ charset.alias: config.charset
SUFFIXES = .sed .sin
.sin.sed:
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t
mv $@-t $@
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

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,3 @@
The files in this directory are shared between the fileutils, sh-utils,
and textutils packages. Not all files are used by each package.
The files in this directory are used in many GNU packages,
including diffutils, fileutils, sh-utils, tar, and textutils.
The autoconf tests required for these files are in ../m4.
The library name, fetish, is a permutation of the first two
letters of each of the package names: FIleutils, TExtutils, SH-utils.

62
lib/acl.c Normal file
View File

@@ -0,0 +1,62 @@
/* acl.c - access control lists
Copyright (C) 2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/stat.h>
#ifndef S_ISLNK
# define S_ISLNK(Mode) 0
#endif
#include "acl.h"
#include <errno.h>
#ifndef ENOSYS
# define ENOSYS (-1)
#endif
#ifndef MIN_ACL_ENTRIES
# define MIN_ACL_ENTRIES 4
#endif
/* Return 1 if PATH 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)
{
/* FIXME: This implementation should work on recent-enough versions
of HP-UX, Solaris, and Unixware, but it simply returns 0 with
POSIX 1003.1e (draft 17 -- abandoned), AIX, GNU/Linux, Irix, and
Tru64. Please see Samba's source/lib/sysacls.c file for
fix-related ideas. */
#if HAVE_ACL && defined GETACLCNT
if (! S_ISLNK (pathstat->st_mode))
{
int n = acl (path, GETACLCNT, 0, NULL);
return n < 0 ? (errno == ENOSYS ? 0 : -1) : (MIN_ACL_ENTRIES < n);
}
#endif
return 0;
}

28
lib/acl.h Normal file
View File

@@ -0,0 +1,28 @@
/* acl.c - access control lists
Copyright (C) 2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Written by Paul Eggert. */
#if HAVE_SYS_ACL_H && HAVE_ACL
# include <sys/acl.h>
#endif
#if ! defined GETACLCNT && defined ACL_CNT
# define GETACLCNT ACL_CNT
#endif
int file_has_acl (char const *, struct stat const *);

View File

@@ -1,5 +1,5 @@
/* addext.c -- add an extension to a file name
Copyright 1990, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
Copyright 1990, 1997, 1998, 1999, 2001, 2002 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
@@ -47,6 +47,11 @@
# include <unistd.h>
#endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include "backupfile.h"
#include "dirname.h"
@@ -57,26 +62,30 @@ void
addext (char *filename, char const *ext, int e)
{
char *s = base_name (filename);
size_t slen = base_len (s), extlen = strlen (ext);
long slen_max = -1;
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 (slen + extlen <= _POSIX_NAME_MAX && ! HAVE_DOS_FILE_NAMES)
/* The file name is so short there's no need to call pathconf. */
slen_max = _POSIX_NAME_MAX;
else if (s == filename)
slen_max = pathconf (".", _PC_NAME_MAX);
else
if (_POSIX_NAME_MAX < slen + extlen || HAVE_DOS_FILE_NAMES)
{
char c = *s;
if (! ISSLASH (c))
*s = 0;
slen_max = pathconf (filename, _PC_NAME_MAX);
*s = c;
/* 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)
slen_max = name_max == (long) (size_t) name_max ? name_max : -1;
}
#endif
if (slen_max < 0)
slen_max = HAVE_LONG_FILE_NAMES ? 255 : 14;
if (HAVE_DOS_FILE_NAMES && slen_max <= 12)
{

View File

@@ -33,7 +33,15 @@
#endif
#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>
#endif
/* If compiling with GCC 2, this file's not needed. */
@@ -53,6 +61,8 @@
you
lose
-- must know STACK_DIRECTION at compile-time
/* Using #error here is not wise since this file should work for
old and obscure compilers. */
# endif /* STACK_DIRECTION undefined */
# endif /* static */
# endif /* emacs */
@@ -67,32 +77,19 @@ long i00afunc ();
# define ADDRESS_FUNCTION(arg) &(arg)
# endif
# if __STDC__
typedef void *pointer;
# else
typedef char *pointer;
# 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
/* Different portions of Emacs need to call different versions of
malloc. The Emacs executable needs alloca to call xmalloc, because
ordinary malloc isn't protected from input signals. On the other
hand, the utilities in lib-src need alloca to call malloc; some of
them are very simple, and don't have an xmalloc routine.
Non-Emacs programs expect this to call xmalloc.
Callers below should use malloc. */
# ifndef emacs
# undef malloc
# define malloc xmalloc
# endif
extern pointer malloc ();
/* Define STACK_DIRECTION if you know the direction of stack
growth for your system; otherwise it will be automatically
deduced at run-time.
@@ -169,7 +166,8 @@ static header *last_alloca_header = NULL; /* -> last alloca header. */
implementations of C, for example under Gould's UTX/32. */
pointer
alloca (unsigned size)
alloca (size)
size_t size;
{
auto char probe; /* Probes stack depth: */
register char *depth = ADDRESS_FUNCTION (probe);
@@ -215,8 +213,14 @@ alloca (unsigned size)
/* Allocate combined header + user data storage. */
{
register pointer new = malloc (sizeof (header) + size);
/* Address of header. */
register pointer new;
size_t combined_size = sizeof (header) + size;
if (combined_size < sizeof (header))
xalloc_die ();
new = xmalloc (combined_size);
if (new == 0)
abort();

View File

@@ -1,5 +1,7 @@
/* argmatch.c -- find a match for a string in an array
Copyright (C) 1990, 1998, 1999, 2001 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001, 2002, 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
@@ -18,27 +20,24 @@
/* Written by David MacKenzie <djm@ai.mit.edu>
Modified by Akim Demaille <demaille@inf.enst.fr> */
#if HAVE_CONFIG_H
# include <config.h>
#endif
/* Specification. */
#include "argmatch.h"
#include <stdio.h>
#ifdef STDC_HEADERS
# include <string.h>
#endif
#include <stdlib.h>
#include <string.h>
#if HAVE_LOCALE_H
# include <locale.h>
#endif
#if ENABLE_NLS
# include <libintl.h>
# define _(Text) gettext (Text)
#else
# define _(Text) Text
#endif
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "error.h"
#include "quotearg.h"
#include "quote.h"
#include "unlocked-io.h"
/* When reporting an invalid argument, show nonprinting characters
by using the quoting style ARGMATCH_QUOTING_STYLE. Do not use
@@ -47,11 +46,7 @@
# define ARGMATCH_QUOTING_STYLE locale_quoting_style
#endif
/* The following test is to work around the gross typo in
systems like Sony NEWS-OS Release 4.0C, whereby EXIT_FAILURE
is defined to 0, not 1. */
#if !EXIT_FAILURE
# undef EXIT_FAILURE
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
@@ -79,7 +74,6 @@ argmatch_exit_fn argmatch_die = __argmatch_die;
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).
If SENSITIVE, comparison is case sensitive.
If VALLIST is none null, use it to resolve ambiguities limited to
synonyms, i.e., for
@@ -87,10 +81,9 @@ argmatch_exit_fn argmatch_die = __argmatch_die;
"no", "nope" -> 1
"y" is a valid argument, for `0', and "n" for `1'. */
static int
__argmatch_internal (const char *arg, const char *const *arglist,
const char *vallist, size_t valsize,
int case_sensitive)
int
argmatch (const char *arg, const char *const *arglist,
const char *vallist, size_t valsize)
{
int i; /* Temporary index in ARGLIST. */
size_t arglen; /* Length of ARG. */
@@ -102,9 +95,7 @@ __argmatch_internal (const char *arg, const char *const *arglist,
/* Test all elements for either exact match or abbreviated matches. */
for (i = 0; arglist[i]; i++)
{
if (case_sensitive
? !strncmp (arglist[i], arg, arglen)
: !strncasecmp (arglist[i], arg, arglen))
if (!strncmp (arglist[i], arg, arglen))
{
if (strlen (arglist[i]) == arglen)
/* Exact match found. */
@@ -132,22 +123,6 @@ __argmatch_internal (const char *arg, const char *const *arglist,
return matchind;
}
/* argmatch - case sensitive version */
int
argmatch (const char *arg, const char *const *arglist,
const char *vallist, size_t valsize)
{
return __argmatch_internal (arg, arglist, vallist, valsize, 1);
}
/* argcasematch - case insensitive version */
int
argcasematch (const char *arg, const char *const *arglist,
const char *vallist, size_t valsize)
{
return __argmatch_internal (arg, arglist, vallist, valsize, 0);
}
/* Error reporting for argmatch.
CONTEXT is a description of the type of entity that was being matched.
VALUE is the invalid value that was given.
@@ -160,8 +135,8 @@ argmatch_invalid (const char *context, const char *value, int problem)
? _("invalid argument %s for %s")
: _("ambiguous argument %s for %s"));
error (0, 0, format, quotearg_style (ARGMATCH_QUOTING_STYLE, value),
quote (context));
error (0, 0, format, quotearg_n_style (0, ARGMATCH_QUOTING_STYLE, value),
quote_n (1, context));
}
/* List the valid arguments for argmatch.
@@ -202,12 +177,9 @@ int
__xargmatch_internal (const char *context,
const char *arg, const char *const *arglist,
const char *vallist, size_t valsize,
int case_sensitive,
argmatch_exit_fn exit_fn)
{
int res = __argmatch_internal (arg, arglist,
vallist, valsize,
case_sensitive);
int res = argmatch (arg, arglist, vallist, valsize);
if (res >= 0)
/* Success. */
return res;
@@ -293,12 +265,12 @@ main (int argc, const char *const *argv)
}
if ((cp = getenv ("VERSION_CONTROL")))
backup_type = XARGCASEMATCH ("$VERSION_CONTROL", cp,
backup_args, backup_vals);
backup_type = XARGMATCH ("$VERSION_CONTROL", cp,
backup_args, backup_vals);
if (argc == 2)
backup_type = XARGCASEMATCH (program_name, argv[1],
backup_args, backup_vals);
backup_type = XARGMATCH (program_name, argv[1],
backup_args, backup_vals);
printf ("The version control is `%s'\n",
ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals));

View File

@@ -1,5 +1,5 @@
/* argmatch.h -- definitions and prototypes for argmatch.c
Copyright (C) 1990, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001, 2002 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
@@ -21,109 +21,89 @@
#ifndef ARGMATCH_H_
# define ARGMATCH_H_ 1
# if HAVE_CONFIG_H
# include <config.h>
# endif
# include <stddef.h>
# include <sys/types.h>
# define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array))
# ifndef PARAMS
# if PROTOTYPES || (defined (__STDC__) && __STDC__)
# define PARAMS(args) args
# else
# define PARAMS(args) ()
# endif /* GCC. */
# endif /* Not PARAMS. */
# 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). There is no execution
cost, since it will be statically evalauted to `assert (0)' or
`assert (1)'. Unfortunately there is no -Wassert-0. */
(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. */
# undef ARRAY_CARDINALITY
# define ARRAY_CARDINALITY(Array) (sizeof ((Array)) / sizeof (*(Array)))
# define ARGMATCH_VERIFY(Arglist, Vallist) \
struct argmatch_verify \
{ \
char argmatch_verify[ARGMATCH_CONSTRAINT(Arglist, Vallist) ? 1 : -1]; \
}
# define ARGMATCH_ASSERT(Arglist, Vallist) \
assert (ARRAY_CARDINALITY ((Arglist)) == ARRAY_CARDINALITY ((Vallist)) + 1)
# define ARGMATCH_ASSERT(Arglist, Vallist) \
assert (ARGMATCH_CONSTRAINT (Arglist, Vallist))
/* 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
PARAMS ((const char *arg, const char *const *arglist,
const char *vallist, size_t valsize));
int argcasematch
PARAMS ((const char *arg, const char *const *arglist,
const char *vallist, size_t valsize));
int argmatch (char const *arg, char const *const *arglist,
char const *vallist, size_t valsize);
# define ARGMATCH(Arg, Arglist, Vallist) \
argmatch ((Arg), (Arglist), (const char *) (Vallist), sizeof (*(Vallist)))
# define ARGCASEMATCH(Arg, Arglist, Vallist) \
argcasematch ((Arg), (Arglist), (const char *) (Vallist), sizeof (*(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)'. */
typedef void (*argmatch_exit_fn) PARAMS ((void));
typedef void (*argmatch_exit_fn) (void);
extern argmatch_exit_fn argmatch_die;
/* Report on stderr why argmatch failed. Report correct values. */
void argmatch_invalid
PARAMS ((const char *context, const char *value, int problem));
void argmatch_invalid (char const *context, char const *value, int problem);
/* Left for compatibility with the old name invalid_arg */
# define invalid_arg(Context, Value, Problem) \
argmatch_invalid ((Context), (Value), (Problem))
argmatch_invalid (Context, Value, Problem)
/* Report on stderr the list of possible arguments. */
void argmatch_valid
PARAMS ((const char *const *arglist,
const char *vallist, size_t valsize));
void argmatch_valid (char const *const *arglist,
char const *vallist, size_t valsize);
# define ARGMATCH_VALID(Arglist, Vallist) \
argmatch_valid (Arglist, (const char *) Vallist, sizeof (*(Vallist)))
argmatch_valid (Arglist, (char const *) (Vallist), sizeof *(Vallist))
/* Same as argmatch, but upon failure, reports a explanation on the
failure, and exits using the function EXIT_FN. */
int __xargmatch_internal
PARAMS ((const char *context,
const char *arg, const char *const *arglist,
const char *vallist, size_t valsize,
int case_sensitive, argmatch_exit_fn 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);
/* Programmer friendly interface to __xargmatch_internal. */
# define XARGMATCH(Context, Arg, Arglist, Vallist) \
(Vallist [__xargmatch_internal ((Context), (Arg), (Arglist), \
(const char *) (Vallist), \
sizeof (*(Vallist)), \
1, argmatch_die)])
# define XARGCASEMATCH(Context, Arg, Arglist, Vallist) \
(Vallist [__xargmatch_internal ((Context), (Arg), (Arglist), \
(const char *) (Vallist), \
sizeof (*(Vallist)), \
0, argmatch_die)])
# define XARGMATCH(Context, Arg, Arglist, Vallist) \
((Vallist) [__xargmatch_internal (Context, Arg, Arglist, \
(char const *) (Vallist), \
sizeof *(Vallist), \
argmatch_die)])
/* Convert a value into a corresponding argument. */
const char *argmatch_to_argument
PARAMS ((char const *value, const char *const *arglist,
const char *vallist, size_t valsize));
char const *argmatch_to_argument (char const *value,
char const *const *arglist,
char const *vallist, size_t valsize);
# define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \
argmatch_to_argument ((char const *) &(Value), (Arglist), \
(const char *) (Vallist), sizeof (*(Vallist)))
argmatch_to_argument (Value, Arglist, \
(char const *) (Vallist), sizeof *(Vallist))
#endif /* ARGMATCH_H_ */

View File

@@ -1,5 +1,5 @@
/* backupfile.c -- make Emacs style backup file names
Copyright 1990,91,92,93,94,95,96,97,98,99,2000, 2001 Free Software
Copyright (C) 1990,91,92,93,94,95,96,97,98,99,2000, 2001, 2002 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -95,10 +95,9 @@ char *malloc ();
- Its arg may be any int or unsigned int; it need not be an unsigned char.
- It's guaranteed to evaluate its argument exactly once.
- It's typically faster.
Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless
it's important to use the locale's definition of `digit' even when the
host does not conform to Posix. */
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

View File

@@ -46,10 +46,6 @@
# include <arpa/inet.h>
#endif
#ifndef strdup
char *strdup ();
#endif
/* Returns the canonical hostname associated with HOST (allocated in a static
buffer), or 0 if it can't be determined. */
char *

300
lib/canonicalize.c Normal file
View File

@@ -0,0 +1,300 @@
/* Return the canonical absolute name of a given file.
Copyright (C) 1996-2001, 2002, 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. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
#else
void free ();
#endif
#if defined STDC_HEADERS || defined HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
#include <sys/stat.h>
#include <errno.h>
#include "path-concat.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 */
/* 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.
The result is malloc'd. */
char *
canonicalize_file_name (const char *name)
{
#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);
return NULL;
}
if (name[0] == '\0')
{
__set_errno (ENOENT);
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. */
if (name[0] != '/')
{
char *wd;
if (!(wd = xgetcwd ()));
return NULL;
extra_buf = path_concat (wd, name, NULL);
if (!extra_buf)
xalloc_die ();
name = extra_buf;
free (wd);
}
resolved_size = strlen (name);
while (1)
{
resolved_size = 2 * resolved_size + 1;
resolved = xmalloc (resolved_size);
resolved_len = resolvepath (name, resolved, resolved_size);
if (resolved_len < resolved_size)
break;
free (resolved);
}
if (resolved_len < 0)
{
free (resolved);
resolved = NULL;
}
free (extra_buf);
return resolved;
#else /* !HAVE_RESOLVEPATH */
if (name[0] != '/')
{
rpath = xgetcwd ();
if (!rpath)
return NULL;
dest = strchr (rpath, '\0');
if (dest < rpath + PATH_MAX)
{
rpath = xrealloc (rpath, PATH_MAX);
rpath_limit = rpath + PATH_MAX;
}
else
{
rpath_limit = dest;
}
}
else
{
rpath = xmalloc (PATH_MAX);
rpath_limit = rpath + PATH_MAX;
rpath[0] = '/';
dest = rpath + 1;
}
for (start = end = name; *start; start = end)
{
/* Skip sequence of multiple path-separators. */
while (*start == '/')
++start;
/* Find end of path component. */
for (end = start; *end && *end != '/'; ++end)
/* Nothing. */;
if (end - start == 0)
break;
else if (end - start == 1 && start[0] == '.')
/* nothing */;
else if (end - start == 2 && start[0] == '.' && start[1] == '.')
{
/* Back up to previous component, ignore if at root already. */
if (dest > rpath + 1)
while ((--dest)[-1] != '/');
}
else
{
struct stat st;
if (dest[-1] != '/')
*dest++ = '/';
if (dest + (end - start) >= rpath_limit)
{
PTR_INT_TYPE dest_offset = dest - rpath;
size_t new_size = rpath_limit - rpath;
if (end - start + 1 > PATH_MAX)
new_size += end - start + 1;
else
new_size += PATH_MAX;
rpath = (char *) xrealloc (rpath, new_size);
rpath_limit = rpath + new_size;
dest = rpath + dest_offset;
}
dest = memcpy (dest, start, end - start);
dest += end - start;
*dest = '\0';
if (lstat (rpath, &st) < 0)
goto error;
# ifdef S_ISLNK
if (S_ISLNK (st.st_mode))
{
char *buf;
size_t n, len;
# ifdef MAXSYMLINKS
if (++num_links > MAXSYMLINKS)
{
__set_errno (ELOOP);
goto error;
}
# endif /* MAXSYMLINKS */
buf = xreadlink (rpath);
if (!buf)
goto error;
n = strlen (buf);
len = strlen (end);
if (!extra_len)
{
extra_len =
((n + len + 1) > PATH_MAX) ? (n + len + 1) : PATH_MAX;
extra_buf = xmalloc (extra_len);
}
else if ((n + len + 1) > extra_len)
{
extra_len = n + len + 1;
extra_buf = xrealloc (extra_buf, extra_len);
}
/* Careful here, end may be a pointer into extra_buf... */
memmove (&extra_buf[n], end, len + 1);
name = end = memcpy (extra_buf, buf, n);
if (buf[0] == '/')
dest = rpath + 1; /* It's an absolute symlink */
else
/* Back up to previous component, ignore if at root already: */
if (dest > rpath + 1)
while ((--dest)[-1] != '/');
free (buf);
}
# endif /* S_ISLNK */
}
}
if (dest > rpath + 1 && dest[-1] == '/')
--dest;
*dest = '\0';
free (extra_buf);
return rpath;
error:
free (extra_buf);
free (rpath);
return NULL;
#endif /* !HAVE_RESOLVEPATH */
}

3
lib/canonicalize.h Normal file
View File

@@ -0,0 +1,3 @@
#if !HAVE_CANONICALIZE_FILE_NAME
char *canonicalize_file_name (const char *);
#endif

View File

@@ -1,5 +1,5 @@
/* closeout.c - close standard output
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2001, 2002 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
@@ -19,13 +19,6 @@
# include <config.h>
#endif
#if ENABLE_NLS
# include <libintl.h>
# define _(Text) gettext (Text)
#else
# define _(Text) Text
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
@@ -40,9 +33,13 @@
extern int errno;
#endif
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "closeout.h"
#include "error.h"
#include "quotearg.h"
#include "unlocked-io.h"
#include "__fpending.h"
static int default_exit_status = EXIT_FAILURE;
@@ -93,7 +90,9 @@ close_stdout_status (int status)
{
int e = ferror (stdout) ? 0 : -1;
if (__fpending (stdout) == 0)
/* 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)

View File

@@ -1,7 +1,7 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
# Copyright (C) 2000-2001 Free Software Foundation, Inc.
# Copyright (C) 2000-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
@@ -34,7 +34,7 @@
# 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 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
@@ -42,9 +42,11 @@
# 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
@@ -58,35 +60,38 @@
# CP865 dos
# CP866 freebsd dos
# CP869 dos
# CP874 win32 dos
# CP874 woe32 dos
# CP922 aix
# CP932 aix win32 dos
# CP932 aix woe32 dos
# CP943 aix
# CP949 osf win32 dos
# CP950 win32 dos
# CP949 osf woe32 dos
# CP950 woe32 dos
# CP1046 aix
# CP1124 aix
# CP1125 dos
# CP1129 aix
# CP1250 win32
# CP1251 glibc win32
# CP1252 aix win32
# CP1253 win32
# CP1254 win32
# CP1255 win32
# CP1256 win32
# CP1257 win32
# CP1250 woe32
# CP1251 glibc 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
# BIG5HKSCS glibc
# GBK aix osf win32 dos
# GB18030 glibc
# SJIS hpux osf solaris freebsd
# JOHAB glibc win32
# 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
@@ -174,7 +179,7 @@ case "$os" in
echo "eucTW EUC-TW"
echo "hp15CN GB2312"
#echo "ccdc ?" # what is this?
echo "SJIS SJIS"
echo "SJIS SHIFT_JIS"
echo "utf8 UTF-8"
;;
irix*)
@@ -209,7 +214,7 @@ case "$os" in
echo "GBK GBK"
echo "KSC5601 CP949"
echo "sdeckanji EUC-JP"
echo "SJIS SJIS"
echo "SJIS SHIFT_JIS"
echo "TACTIS TIS-620"
echo "UTF-8 UTF-8"
;;
@@ -217,6 +222,7 @@ case "$os" in
echo "646 ASCII"
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-3 ISO-8859-3"
echo "ISO8859-4 ISO-8859-4"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-6 ISO-8859-6"
@@ -226,19 +232,25 @@ case "$os" in
echo "ISO8859-15 ISO-8859-15"
echo "koi8-r KOI8-R"
echo "BIG5 BIG5"
echo "Big5-HKSCS BIG5-HKSCS"
echo "gb2312 GB2312"
echo "GBK GBK"
echo "GB18030 GB18030"
echo "cns11643 EUC-TW"
echo "5601 EUC-KR"
echo "ko_KR.johap92 JOHAB"
echo "eucJP EUC-JP"
echo "PCK SJIS"
echo "PCK SHIFT_JIS"
echo "TIS620.2533 TIS-620"
#echo "sun_eu_greek ?" # what is this?
echo "UTF-8 UTF-8"
;;
freebsd*)
freebsd* | os2*)
# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
# Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
# reuse FreeBSD's locale data for OS/2.
echo "C ASCII"
echo "US-ASCII ASCII"
for l in la_LN lt_LN; do
@@ -266,10 +278,24 @@ case "$os" in
echo "zh_TW.Big5 BIG5"
echo "zh_CN.EUC GB2312"
echo "ja_JP.EUC EUC-JP"
echo "ja_JP.SJIS SJIS"
echo "ja_JP.Shift_JIS SJIS"
echo "ja_JP.SJIS SHIFT_JIS"
echo "ja_JP.Shift_JIS SHIFT_JIS"
echo "ko_KR.EUC EUC-KR"
;;
netbsd*)
echo "646 ASCII"
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-4 ISO-8859-4"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-15 ISO-8859-15"
echo "eucCN GB2312"
echo "eucJP EUC-JP"
echo "eucKR EUC-KR"
echo "eucTW EUC-TW"
echo "BIG5 BIG5"
echo "SJIS SHIFT_JIS"
;;
beos*)
# BeOS has a single locale, and it has UTF-8 encoding.
echo "* UTF-8"
@@ -284,7 +310,7 @@ case "$os" in
echo "# country is not the one your DOS machine actually uses, just"
echo "# correct it in this file, and send a mail to"
echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
echo "# and Bruno Haible <haible@clisp.cons.org>."
echo "# and Bruno Haible <bruno@clisp.org>."
echo "#"
echo "C ASCII"
# ISO-8859-1 languages
@@ -394,8 +420,10 @@ case "$os" in
echo "bg_BG CP866" # not CP855 ??
echo "mk CP866" # not CP855 ??
echo "mk_MK CP866" # not CP855 ??
echo "ru KOI8-R" # not CP866 ??
echo "ru_RU KOI8-R" # not CP866 ??
echo "ru CP866"
echo "ru_RU CP866"
echo "uk CP1125"
echo "uk_UA CP1125"
# ISO-8859-6 languages
echo "ar CP864"
echo "ar_AE CP864"

87
lib/cycle-check.c Normal file
View File

@@ -0,0 +1,87 @@
/* help detect directory cycles efficiently
Copyright 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 Jim Meyering */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#if HAVE_STDBOOL_H
# include <stdbool.h>
#else
typedef enum {false = 0, true = 1} bool;
#endif
#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 \
&& (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
#define CC_MAGIC 9827862
static inline bool
is_power_of_two (unsigned int i)
{
return (i & (i - 1)) == 0;
}
void
cycle_check_init (struct cycle_check_state *state)
{
state->chdir_counter = 0;
state->magic = CC_MAGIC;
}
/* In traversing a directory hierarchy, call this function once for each
descending chdir call, with SB corresponding to the chdir operand.
If SB corresponds to a directory that has already been seen,
return true to indicate that there is a directory cycle.
Note that this is done `lazily', which means that some of
the directories in the cycle may be processed twice before
the cycle is detected. */
bool
cycle_check (struct cycle_check_state *state, struct stat const *sb)
{
assert (state->magic == CC_MAGIC);
/* If the current directory ever happens to be the same
as the one we last recorded for the cycle detection,
then it's obviously part of a cycle. */
if (state->chdir_counter && SAME_INODE (*sb, state->dev_ino))
return true;
/* 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)))
{
state->dev_ino.st_dev = sb->st_dev;
state->dev_ino.st_ino = sb->st_ino;
}
return false;
}

33
lib/cycle-check.h Normal file
View File

@@ -0,0 +1,33 @@
#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>
#if HAVE_STDBOOL_H
# include <stdbool.h>
#else
typedef enum {false = 0, true = 1} bool;
#endif
so that the proper identifiers are all declared. */
# include "dev-ino.h"
struct cycle_check_state
{
struct dev_ino dev_ino;
size_t chdir_counter;
long unsigned int magic;
};
void cycle_check_init (struct cycle_check_state *state);
bool cycle_check (struct cycle_check_state *state, struct stat const *sb);
#endif

10
lib/dev-ino.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef DEV_INO_H
# define DEV_INO_H 1
struct dev_ino
{
ino_t st_ino;
dev_t st_dev;
};
#endif

30
lib/dirfd.c Normal file
View File

@@ -0,0 +1,30 @@
/* dirfd.c -- return the file descriptor associated with an open DIR*
Copyright (C) 2001 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Jim Meyering. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include "dirfd.h"
int
dirfd (DIR const *dir_p)
{
return DIR_TO_FD (dir_p);
}

27
lib/dirfd.h Normal file
View File

@@ -0,0 +1,27 @@
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#if HAVE_DIRENT_H
# include <dirent.h>
#else /* not HAVE_DIRENT_H */
# define dirent direct
# if HAVE_SYS_NDIR_H
# include <sys/ndir.h>
# endif /* HAVE_SYS_NDIR_H */
# if HAVE_SYS_DIR_H
# include <sys/dir.h>
# endif /* HAVE_SYS_DIR_H */
# if HAVE_NDIR_H
# include <ndir.h>
# endif /* HAVE_NDIR_H */
#endif /* HAVE_DIRENT_H */
#ifndef HAVE_DECL_DIRFD
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_DIRFD && !defined dirfd
int dirfd (DIR const *);
#endif

View File

@@ -1,23 +1,18 @@
/* Error handler for noninteractive utilities
Copyright (C) 1990-1998, 2000 Free Software Foundation, Inc.
Copyright (C) 1990-1998, 2000, 2001, 2002, 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 file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib.
The GNU C Library 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 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
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 the GNU C Library; see the file COPYING.LIB. 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
@@ -26,8 +21,16 @@
#endif
#include <stdio.h>
#if HAVE_LIBINTL_H
#ifdef _LIBC
# include <libintl.h>
#else
# include "gettext.h"
#endif
#ifdef _LIBC
# include <wchar.h>
# define mbsrtowcs __mbsrtowcs
#endif
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
@@ -52,11 +55,8 @@ void exit ();
#include "error.h"
#ifndef HAVE_DECL_STRERROR_R
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_STRERROR_R
char *strerror_r ();
#if !_LIBC
# include "unlocked-io.h"
#endif
#ifndef _
@@ -80,34 +80,50 @@ unsigned int error_message_count;
# define program_name program_invocation_name
# include <errno.h>
# include <libio/libioP.h>
/* In GNU libc we want do not want to use the common name `error' directly.
Instead make it a weak alias. */
extern void __error (int status, int errnum, const char *message, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern void __error_at_line (int status, int errnum, const char *file_name,
unsigned int line_number, const char *message,
...)
__attribute__ ((__format__ (__printf__, 5, 6)));;
# define error __error
# define error_at_line __error_at_line
# ifdef USE_IN_LIBIO
# include <libio/iolibio.h>
# define fflush(s) _IO_fflush (s)
# endif
# include <libio/iolibio.h>
# define fflush(s) INTUSE(_IO_fflush) (s)
# undef putc
# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
#else /* not _LIBC */
# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
# ifndef HAVE_DECL_STRERROR_R
"this configure-time declaration test was not run"
# endif
char *strerror_r ();
# endif
/* The calling program should define program_name and set it to the
name of the executing program. */
extern char *program_name;
# ifdef HAVE_STRERROR_R
# if HAVE_STRERROR_R || defined strerror_r
# define __strerror_r strerror_r
# else
# if HAVE_STRERROR
# ifndef strerror /* On some systems, strerror is a macro */
# ifndef HAVE_DECL_STRERROR
"this configure-time declaration test was not run"
# endif
# if !HAVE_DECL_STRERROR
char *strerror ();
# endif
# else
static char *
private_strerror (errnum)
int errnum;
private_strerror (int errnum)
{
extern char *sys_errlist[];
extern int sys_nerr;
@@ -118,15 +134,118 @@ private_strerror (errnum)
}
# define strerror private_strerror
# endif /* HAVE_STRERROR */
# endif /* HAVE_STRERROR_R */
# endif /* HAVE_STRERROR_R || defined strerror_r */
#endif /* not _LIBC */
static void
print_errno_message (int errnum)
{
char const *s;
#if defined HAVE_STRERROR_R || _LIBC
char errbuf[1024];
# if STRERROR_R_CHAR_P || _LIBC
s = __strerror_r (errnum, errbuf, sizeof errbuf);
# else
if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
s = errbuf;
else
s = 0;
# endif
#else
s = strerror (errnum);
#endif
#if !_LIBC
if (! s)
s = _("Unknown system error");
#endif
#if _LIBC
if (_IO_fwide (stderr, 0) > 0)
{
__fwprintf (stderr, L": %s", s);
return;
}
#endif
fprintf (stderr, ": %s", s);
}
#ifdef VA_START
static void
error_tail (int status, int errnum, const char *message, va_list args)
{
# if HAVE_VPRINTF || _LIBC
# if _LIBC
if (_IO_fwide (stderr, 0) > 0)
{
# define ALLOCA_LIMIT 2000
size_t len = strlen (message) + 1;
wchar_t *wmessage = NULL;
mbstate_t st;
size_t res;
const char *tmp;
do
{
if (len < ALLOCA_LIMIT)
wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
else
{
if (wmessage != NULL && len / 2 < ALLOCA_LIMIT)
wmessage = NULL;
wmessage = (wchar_t *) realloc (wmessage,
len * sizeof (wchar_t));
if (wmessage == NULL)
{
fputws_unlocked (L"out of memory\n", stderr);
return;
}
}
memset (&st, '\0', sizeof (st));
tmp =message;
}
while ((res = mbsrtowcs (wmessage, &tmp, len, &st)) == len);
if (res == (size_t) -1)
/* The string cannot be converted. */
wmessage = (wchar_t *) L"???";
__vfwprintf (stderr, wmessage, args);
}
else
# endif
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
++error_message_count;
if (errnum)
print_errno_message (errnum);
# if _LIBC
if (_IO_fwide (stderr, 0) > 0)
putwc (L'\n', stderr);
else
# endif
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
}
#endif
/* Print the program name and error message MESSAGE, which is a printf-style
format string with optional args.
If ERRNUM is nonzero, print its corresponding system error message.
Exit with status STATUS if it is nonzero. */
/* VARARGS */
void
#if defined VA_START && __STDC__
error (int status, int errnum, const char *message, ...)
@@ -142,47 +261,40 @@ error (status, errnum, message, va_alist)
va_list args;
#endif
fflush (stdout);
#ifdef _LIBC
_IO_flockfile (stderr);
#endif
if (error_print_progname)
(*error_print_progname) ();
else
{
fflush (stdout);
fprintf (stderr, "%s: ", program_name);
#if _LIBC
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s: ", program_name);
else
#endif
fprintf (stderr, "%s: ", program_name);
}
#ifdef VA_START
VA_START (args, message);
# if HAVE_VPRINTF || _LIBC
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
error_tail (status, errnum, message, args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++error_message_count;
if (errnum)
{
#if defined HAVE_STRERROR_R || _LIBC
char errbuf[1024];
# if HAVE_WORKING_STRERROR_R || _LIBC
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
# else
/* Don't use __strerror_r's return value because on some systems
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
__strerror_r (errnum, errbuf, sizeof errbuf);
fprintf (stderr, ": %s", errbuf);
# endif
#else
fprintf (stderr, ": %s", strerror (errnum));
#endif
}
print_errno_message (errnum);
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
#endif
#ifdef _LIBC
_IO_funlockfile (stderr);
#endif
}
/* Sometimes we want to have at most one error per line. This
@@ -212,8 +324,9 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
static const char *old_file_name;
static unsigned int old_line_number;
if (old_line_number == line_number &&
(file_name == old_file_name || !strcmp (old_file_name, file_name)))
if (old_line_number == line_number
&& (file_name == old_file_name
|| strcmp (old_file_name, file_name) == 0))
/* Simply return and print nothing. */
return;
@@ -221,50 +334,50 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
old_line_number = line_number;
}
fflush (stdout);
#ifdef _LIBC
_IO_flockfile (stderr);
#endif
if (error_print_progname)
(*error_print_progname) ();
else
{
fflush (stdout);
fprintf (stderr, "%s:", program_name);
#if _LIBC
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s: ", program_name);
else
#endif
fprintf (stderr, "%s:", program_name);
}
if (file_name != NULL)
fprintf (stderr, "%s:%d: ", file_name, line_number);
{
#if _LIBC
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s:%d: ", file_name, line_number);
else
#endif
fprintf (stderr, "%s:%d: ", file_name, line_number);
}
#ifdef VA_START
VA_START (args, message);
# if HAVE_VPRINTF || _LIBC
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
error_tail (status, errnum, message, args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++error_message_count;
if (errnum)
{
#if defined HAVE_STRERROR_R || _LIBC
char errbuf[1024];
# if HAVE_WORKING_STRERROR_R || _LIBC
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
# else
/* Don't use __strerror_r's return value because on some systems
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
__strerror_r (errnum, errbuf, sizeof errbuf);
fprintf (stderr, ": %s", errbuf);
# endif
#else
fprintf (stderr, ": %s", strerror (errnum));
#endif
}
print_errno_message (errnum);
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
#endif
#ifdef _LIBC
_IO_funlockfile (stderr);
#endif
}
#ifdef _LIBC

View File

@@ -25,7 +25,7 @@
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
# define __attribute__(Spec) /* empty */
# endif
/* The __-protected variants of `format' and `printf' attributes

View File

@@ -1,5 +1,5 @@
/* euidaccess -- check if effective user id can access file
Copyright (C) 1990, 1991, 1995, 1998, 2000 Free Software Foundation, Inc.
Copyright (C) 1990, 1991, 1995, 1998, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -69,6 +69,7 @@ extern int errno;
#ifndef __set_errno
# define __set_errno(val) errno = (val)
#endif
#include "euidaccess.h"
#if defined(EACCES) && !defined(EACCESS)
# define EACCESS EACCES

3
lib/euidaccess.h Normal file
View File

@@ -0,0 +1,3 @@
#if ! HAVE_DECL_EUIDACCESS
int euidaccess (char const *file, int mode);
#endif

View File

@@ -1,5 +1,7 @@
/* exclude.c -- exclude file names
Copyright 1992, 1993, 1994, 1997, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1992, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 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
@@ -22,73 +24,213 @@
# include <config.h>
#endif
#if HAVE_STDBOOL_H
# include <stdbool.h>
#else
typedef enum {false = 0, true = 1} bool;
#endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include <exclude.h>
#include <fnmatch.h>
#include <stdio.h>
#include <sys/types.h>
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if HAVE_STRING_H
# include <string.h>
#endif
#if HAVE_STRINGS_H
# include <strings.h>
#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
#else
# if HAVE_STDINT_H
# include <stdint.h>
# endif
#endif
void *xmalloc PARAMS ((size_t));
void *xrealloc PARAMS ((void *, size_t));
#include "exclude.h"
#include "fnmatch.h"
#include "unlocked-io.h"
#include "xalloc.h"
/* Keep track of excluded file name patterns. */
#ifndef SIZE_MAX
# define SIZE_MAX ((size_t) -1)
#endif
/* Verify a requirement at compile-time (unlike assert, which is runtime). */
#define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
/* Non-GNU systems lack these options, so we don't need to check them. */
#ifndef FNM_CASEFOLD
# define FNM_CASEFOLD 0
#endif
#ifndef FNM_LEADING_DIR
# define FNM_LEADING_DIR 0
#endif
verify (EXCLUDE_macros_do_not_collide_with_FNM_macros,
(((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS)
& (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR
| FNM_CASEFOLD))
== 0));
/* An exclude pattern-options pair. The options are fnmatch options
ORed with EXCLUDE_* options. */
struct patopts
{
char const *pattern;
int options;
};
/* An exclude list, of pattern-options pairs. */
struct exclude
{
char const **exclude;
int exclude_alloc;
int exclude_count;
struct patopts *exclude;
size_t exclude_alloc;
size_t exclude_count;
};
/* Return a newly allocated and empty exclude list. */
struct exclude *
new_exclude (void)
{
struct exclude *ex = (struct exclude *) xmalloc (sizeof (struct exclude));
struct exclude *ex = (struct exclude *) xmalloc (sizeof *ex);
ex->exclude_count = 0;
ex->exclude_alloc = 64;
ex->exclude = (char const **) xmalloc (ex->exclude_alloc * sizeof (char *));
ex->exclude_alloc = (1 << 6); /* This must be a power of 2. */
ex->exclude = (struct patopts *) xmalloc (ex->exclude_alloc
* sizeof ex->exclude[0]);
return ex;
}
int
excluded_filename (struct exclude const *ex, char const *f, int options)
{
char const * const *exclude = ex->exclude;
int exclude_count = ex->exclude_count;
int i;
for (i = 0; i < exclude_count; i++)
if (fnmatch (exclude[i], f, options) == 0)
return 1;
return 0;
}
/* Free the storage associated with an exclude list. */
void
add_exclude (struct exclude *ex, char const *pattern)
free_exclude (struct exclude *ex)
{
if (ex->exclude_alloc <= ex->exclude_count)
ex->exclude = (char const **) xrealloc (ex->exclude,
((ex->exclude_alloc *= 2)
* sizeof (char *)));
ex->exclude[ex->exclude_count++] = pattern;
free (ex->exclude);
free (ex);
}
int
add_exclude_file (void (*add_func) PARAMS ((struct exclude *, char const *)),
struct exclude *ex, char const *filename, char line_end)
/* Return zero if PATTERN matches F, obeying OPTIONS, except that
(unlike fnmatch) wildcards are disabled in PATTERN. */
static int
fnmatch_no_wildcards (char const *pattern, char const *f, int options)
{
int use_stdin = filename[0] == '-' && !filename[1];
if (! (options & FNM_LEADING_DIR))
return ((options & FNM_CASEFOLD)
? strcasecmp (pattern, f)
: strcmp (pattern, f));
else
{
size_t patlen = strlen (pattern);
int r = ((options & FNM_CASEFOLD)
? strncasecmp (pattern, f, patlen)
: strncmp (pattern, f, patlen));
if (! r)
{
r = f[patlen];
if (r == '/')
r = 0;
}
return r;
}
}
/* Return true if EX excludes F. */
bool
excluded_filename (struct exclude const *ex, char const *f)
{
size_t exclude_count = ex->exclude_count;
/* If no options are given, the default is to include. */
if (exclude_count == 0)
return false;
else
{
struct patopts const *exclude = ex->exclude;
size_t i;
/* Otherwise, the default is the opposite of the first option. */
bool excluded = !! (exclude[0].options & EXCLUDE_INCLUDE);
/* Scan through the options, seeing whether they change F from
excluded to included or vice versa. */
for (i = 0; i < exclude_count; i++)
{
char const *pattern = exclude[i].pattern;
int options = exclude[i].options;
if (excluded == !! (options & EXCLUDE_INCLUDE))
{
int (*matcher) (char const *, char const *, int) =
(options & EXCLUDE_WILDCARDS
? fnmatch
: fnmatch_no_wildcards);
bool matched = ((*matcher) (pattern, f, options) == 0);
char const *p;
if (! (options & EXCLUDE_ANCHORED))
for (p = f; *p && ! matched; p++)
if (*p == '/' && p[1] != '/')
matched = ((*matcher) (pattern, p + 1, options) == 0);
excluded ^= matched;
}
}
return excluded;
}
}
/* Append to EX the exclusion PATTERN with OPTIONS. */
void
add_exclude (struct exclude *ex, char const *pattern, int options)
{
struct patopts *patopts;
if (ex->exclude_alloc <= ex->exclude_count)
{
size_t s = 2 * ex->exclude_alloc;
if (! (0 < s && s <= SIZE_MAX / sizeof ex->exclude[0]))
xalloc_die ();
ex->exclude_alloc = s;
ex->exclude = (struct patopts *) xrealloc (ex->exclude,
s * sizeof ex->exclude[0]);
}
patopts = &ex->exclude[ex->exclude_count++];
patopts->pattern = pattern;
patopts->options = options;
}
/* Use ADD_FUNC to append to EX the patterns in FILENAME, each with
OPTIONS. LINE_END terminates each pattern in the file. Return -1
on failure, 0 on success. */
int
add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
struct exclude *ex, char const *filename, int options,
char line_end)
{
bool use_stdin = filename[0] == '-' && !filename[1];
FILE *in;
char *buf;
char *p;
char const *pattern;
char const *lim;
size_t buf_alloc = 1024;
size_t buf_alloc = (1 << 10); /* This must be a power of two. */
size_t buf_count = 0;
int c;
int e = 0;
@@ -104,22 +246,27 @@ add_exclude_file (void (*add_func) PARAMS ((struct exclude *, char const *)),
{
buf[buf_count++] = c;
if (buf_count == buf_alloc)
buf = xrealloc (buf, buf_alloc *= 2);
{
buf_alloc *= 2;
if (! buf_alloc)
xalloc_die ();
buf = xrealloc (buf, buf_alloc);
}
}
buf = xrealloc (buf, buf_count + 1);
if (ferror (in))
e = errno;
if (!use_stdin && fclose (in) != 0)
e = errno;
buf = xrealloc (buf, buf_count + 1);
for (pattern = p = buf, lim = buf + buf_count; p <= lim; p++)
if (p < lim ? *p == line_end : buf < p && p[-1])
{
*p = '\0';
(*add_func) (ex, pattern);
(*add_func) (ex, pattern, options);
pattern = p + 1;
}

View File

@@ -1,5 +1,7 @@
/* exclude.h -- declarations for excluding file names
Copyright 1992, 1993, 1994, 1997, 1999 Free Software Foundation, Inc.
Copyright (C) 1992, 1993, 1994, 1997, 1999, 2001, 2002, 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
@@ -18,18 +20,24 @@
/* Written by Paul Eggert <eggert@twinsun.com> */
#ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
/* Exclude options, which can be ORed with fnmatch options. */
/* Patterns must match the start of file names, instead of matching
anywhere after a '/'. */
#define EXCLUDE_ANCHORED (1 << 30)
/* Include instead of exclude. */
#define EXCLUDE_INCLUDE (1 << 29)
/* '?', '*', '[', and '\\' are special in patterns. Without this
option, these characters are ordinary and fnmatch is not used. */
#define EXCLUDE_WILDCARDS (1 << 28)
struct exclude;
struct exclude *new_exclude PARAMS ((void));
void add_exclude PARAMS ((struct exclude *, char const *));
int add_exclude_file PARAMS ((void (*) (struct exclude *, char const *),
struct exclude *, char const *, char));
int excluded_filename PARAMS ((struct exclude const *, char const *, int));
struct exclude *new_exclude (void);
void free_exclude (struct exclude *);
void add_exclude (struct exclude *, char const *, int);
int add_exclude_file (void (*) (struct exclude *, char const *, int),
struct exclude *, char const *, int, char);
bool excluded_filename (struct exclude const *, char const *);

31
lib/exitfail.c Normal file
View File

@@ -0,0 +1,31 @@
/* Failure exit status
Copyright (C) 2002 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. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
int volatile exit_failure = EXIT_FAILURE;

20
lib/exitfail.h Normal file
View File

@@ -0,0 +1,20 @@
/* Failure exit status
Copyright (C) 2002 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. */
extern int volatile exit_failure;

View File

@@ -35,6 +35,7 @@ extern char *program_name;
#endif
#include "fatal.h"
#include "unlocked-io.h"
/* Like error, but always exit with EXIT_FAILURE. */

14
lib/fchdir-stub.c Normal file
View File

@@ -0,0 +1,14 @@
#include <config.h>
#include <sys/types.h>
#include <errno.h>
/* A trivial substitute for `fchdir'.
DJGPP 2.03 and earlier don't have `fchdir'. */
int
fchdir (int fd)
{
errno = ENOSYS;
return -1;
}

15
lib/fchown-stub.c Normal file
View File

@@ -0,0 +1,15 @@
#include <config.h>
#include <sys/types.h>
#include <errno.h>
/* A trivial substitute for `fchown'.
DJGPP 2.03 and earlier (and perhaps later) don't have `fchown',
so we pretend no-one has permission for this operation. */
int
fchown (int fd, uid_t uid, gid_t gid)
{
errno = EPERM;
return -1;
}

72
lib/file-type.c Normal file
View File

@@ -0,0 +1,72 @@
/* Return a string describing the type of a file.
Copyright (C) 1993, 1994, 2001, 2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include "file-type.h"
#include <gettext.h>
#define _(text) gettext (text)
char const *
file_type (struct stat const *st)
{
/* See POSIX 1003.1-2001 XCU Table 4-8 lines 17093-17107 for some of
these formats.
To keep diagnostics grammatical in English, the returned string
must start with a consonant. */
if (S_ISREG (st->st_mode))
return st->st_size == 0 ? _("regular empty file") : _("regular file");
if (S_ISDIR (st->st_mode))
return _("directory");
if (S_ISBLK (st->st_mode))
return _("block special file");
if (S_ISCHR (st->st_mode))
return _("character special file");
if (S_ISFIFO (st->st_mode))
return _("fifo");
if (S_ISLNK (st->st_mode))
return _("symbolic link");
if (S_ISSOCK (st->st_mode))
return _("socket");
if (S_TYPEISMQ (st))
return _("message queue");
if (S_TYPEISSEM (st))
return _("semaphore");
if (S_TYPEISSHM (st))
return _("shared memory object");
return _("weird file");
}

161
lib/file-type.h Normal file
View File

@@ -0,0 +1,161 @@
/* Return a string describing the type of a file.
Copyright (C) 1993, 1994, 2001, 2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert and Jim Meyering. */
#ifndef FILE_TYPE_H
# define FILE_TYPE_H 1
# if ! defined S_ISREG && ! defined S_IFREG
you must include <sys/stat.h> before including this file
# endif
char const *file_type (struct stat const *);
# ifndef S_IFMT
# define S_IFMT 0170000
# endif
# if STAT_MACROS_BROKEN
# undef S_ISBLK
# undef S_ISCHR
# undef S_ISDIR
# undef S_ISDOOR
# undef S_ISFIFO
# undef S_ISLNK
# undef S_ISNAM
# undef S_ISMPB
# undef S_ISMPC
# undef S_ISNWK
# undef S_ISREG
# undef S_ISSOCK
# endif
# ifndef S_ISBLK
# ifdef S_IFBLK
# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
# else
# define S_ISBLK(m) 0
# endif
# endif
# ifndef S_ISCHR
# ifdef S_IFCHR
# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
# else
# define S_ISCHR(m) 0
# endif
# endif
# ifndef S_ISDIR
# ifdef S_IFDIR
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
# else
# define S_ISDIR(m) 0
# endif
# endif
# ifndef S_ISDOOR /* Solaris 2.5 and up */
# ifdef S_IFDOOR
# define S_ISDOOR(m) (((m) & S_IFMT) == S_IFDOOR)
# else
# define S_ISDOOR(m) 0
# endif
# endif
# ifndef S_ISFIFO
# ifdef S_IFIFO
# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
# else
# define S_ISFIFO(m) 0
# endif
# endif
# ifndef S_ISLNK
# ifdef S_IFLNK
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
# else
# define S_ISLNK(m) 0
# endif
# endif
# ifndef S_ISMPB /* V7 */
# ifdef S_IFMPB
# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
# else
# define S_ISMPB(m) 0
# define S_ISMPC(m) 0
# endif
# endif
# ifndef S_ISNAM /* Xenix */
# ifdef S_IFNAM
# define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM)
# else
# define S_ISNAM(m) 0
# endif
# endif
# ifndef S_ISNWK /* HP/UX */
# ifdef S_IFNWK
# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
# else
# define S_ISNWK(m) 0
# endif
# endif
# ifndef S_ISREG
# ifdef S_IFREG
# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
# else
# define S_ISREG(m) 0
# endif
# endif
# ifndef S_ISSOCK
# ifdef S_IFSOCK
# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
# else
# define S_ISSOCK(m) 0
# endif
# endif
# ifndef S_TYPEISSEM
# ifdef S_INSEM
# define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM)
# else
# define S_TYPEISSEM(p) 0
# endif
# endif
# ifndef S_TYPEISSHM
# ifdef S_INSHD
# define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD)
# else
# define S_TYPEISSHM(p) 0
# endif
# endif
# ifndef S_TYPEISMQ
# define S_TYPEISMQ(p) 0
# endif
#endif /* FILE_TYPE_H */

View File

@@ -1,4 +1,5 @@
/* Copyright 1991, 1992, 1993, 1996, 1997, 2000 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, 2001,
2002 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
@@ -10,9 +11,9 @@
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. */
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. */
#if HAVE_CONFIG_H
# include <config.h>
@@ -23,208 +24,362 @@
# define _GNU_SOURCE 1
#endif
#ifdef __GNUC__
# define alloca __builtin_alloca
# define HAVE_ALLOCA 1
#else
# if defined HAVE_ALLOCA_H || defined _LIBC
# include <alloca.h>
# else
# ifdef _AIX
# pragma alloca
# else
# ifndef alloca
char *alloca ();
# endif
# endif
# endif
#endif
#if ! defined __builtin_expect && __GNUC__ < 3
# define __builtin_expect(expr, expected) (expr)
#endif
#include <assert.h>
#include <errno.h>
#include <fnmatch.h>
#include <ctype.h>
#if defined STDC_HEADERS || !defined isascii
# define IN_CTYPE_DOMAIN(c) 1
#if HAVE_STRING_H || defined _LIBC
# include <string.h>
#else
# define IN_CTYPE_DOMAIN(c) isascii (c)
# if HAVE_STRINGS_H
# include <strings.h>
# endif
#endif
#define ISUPPER(c) (IN_CTYPE_DOMAIN (c) && isupper (c))
#if defined STDC_HEADERS || defined _LIBC
# include <stddef.h>
# include <stdlib.h>
#endif
#define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
/* For platform which support the ISO C amendement 1 functionality we
support user defined character classes. */
#if defined _LIBC || WIDE_CHAR_SUPPORT
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
# include <wchar.h>
# include <wctype.h>
#endif
/* We need some of the locale data (the collation sequence information)
but there is no interface to get this information in general. Therefore
we support a correct implementation only in glibc. */
#ifdef _LIBC
# include "../locale/localeinfo.h"
# include "../locale/elem-hash.h"
# include "../locale/coll-lookup.h"
# include <shlib-compat.h>
# define CONCAT(a,b) __CONCAT(a,b)
# define mbsinit __mbsinit
# define mbsrtowcs __mbsrtowcs
# define fnmatch __fnmatch
extern int fnmatch (const char *pattern, const char *string, int flags);
#endif
/* We often have to test for FNM_FILE_NAME and FNM_PERIOD being both set. */
#define NO_LEADING_PERIOD(flags) \
((flags & (FNM_FILE_NAME | FNM_PERIOD)) == (FNM_FILE_NAME | FNM_PERIOD))
/* Comment out all this code if we are using the GNU C Library, are not
actually compiling the library itself, and have not detected a bug
in the library. This code is part of the GNU C
Library, but also included in many other GNU distributions. Compiling
and linking in this code is a waste when using the GNU C library
(especially if it is a shared library). Rather than having every GNU
program understand `configure --with-gnu-libc' and omit the object files,
it is simpler to just do this in the source for each such file. */
#if defined _LIBC || !defined __GNU_LIBRARY__ || !HAVE_FNMATCH_GNU
#ifndef errno
# if defined STDC_HEADERS || !defined isascii
# define ISASCII(c) 1
# else
# define ISASCII(c) isascii(c)
# endif
# ifdef isblank
# define ISBLANK(c) (ISASCII (c) && isblank (c))
# else
# define ISBLANK(c) ((c) == ' ' || (c) == '\t')
# endif
# ifdef isgraph
# define ISGRAPH(c) (ISASCII (c) && isgraph (c))
# else
# define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c))
# endif
# define ISPRINT(c) (ISASCII (c) && isprint (c))
# define ISDIGIT(c) (ISASCII (c) && isdigit (c))
# define ISALNUM(c) (ISASCII (c) && isalnum (c))
# define ISALPHA(c) (ISASCII (c) && isalpha (c))
# define ISCNTRL(c) (ISASCII (c) && iscntrl (c))
# define ISLOWER(c) (ISASCII (c) && islower (c))
# define ISPUNCT(c) (ISASCII (c) && ispunct (c))
# define ISSPACE(c) (ISASCII (c) && isspace (c))
# define ISUPPER(c) (ISASCII (c) && isupper (c))
# define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))
# define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
# if defined _LIBC || WIDE_CHAR_SUPPORT
/* The GNU C library provides support for user-defined character classes
and the functions from ISO C amendement 1. */
# ifdef CHARCLASS_NAME_MAX
# define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX
# else
/* This shouldn't happen but some implementation might still have this
problem. Use a reasonable default value. */
# define CHAR_CLASS_MAX_LENGTH 256
# endif
# ifdef _LIBC
# define IS_CHAR_CLASS(string) __wctype (string)
# else
# define IS_CHAR_CLASS(string) wctype (string)
# endif
# ifdef _LIBC
# define ISWCTYPE(WC, WT) __iswctype (WC, WT)
# else
# define ISWCTYPE(WC, WT) iswctype (WC, WT)
# endif
# if (HAVE_MBSTATE_T && HAVE_MBSRTOWCS) || _LIBC
/* In this case we are implementing the multibyte character handling. */
# define HANDLE_MULTIBYTE 1
# endif
# else
# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */
# define IS_CHAR_CLASS(string) \
(STREQ (string, "alpha") || STREQ (string, "upper") \
|| STREQ (string, "lower") || STREQ (string, "digit") \
|| STREQ (string, "alnum") || STREQ (string, "xdigit") \
|| STREQ (string, "space") || STREQ (string, "print") \
|| STREQ (string, "punct") || STREQ (string, "graph") \
|| STREQ (string, "cntrl") || STREQ (string, "blank"))
# endif
/* Avoid depending on library functions or files
whose names are inconsistent. */
# if !defined _LIBC && !defined getenv && !HAVE_DECL_GETENV
extern char *getenv ();
# endif
# ifndef errno
extern int errno;
#endif
# endif
/* Match STRING against the filename pattern PATTERN, returning zero if
it matches, nonzero if not. */
int
fnmatch (const char *pattern, const char *string, int flags)
{
register const char *p = pattern, *n = string;
register char c;
/* Global variable. */
static int posixly_correct;
# ifndef internal_function
/* Inside GNU libc we mark some function in a special way. In other
environments simply ignore the marking. */
# define internal_function
# endif
/* Note that this evaluates C many times. */
#define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER ((unsigned char) (c)) \
? tolower ((unsigned char) (c)) \
: (c))
# ifdef _LIBC
# define FOLD(c) ((flags & FNM_CASEFOLD) ? tolower (c) : (c))
# else
# define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER (c) ? tolower (c) : (c))
# endif
# define CHAR char
# define UCHAR unsigned char
# define INT int
# define FCT internal_fnmatch
# define EXT ext_match
# define END end_pattern
# define L(CS) CS
# ifdef _LIBC
# define BTOWC(C) __btowc (C)
# else
# define BTOWC(C) btowc (C)
# endif
# define STRLEN(S) strlen (S)
# define STRCAT(D, S) strcat (D, S)
# ifdef _LIBC
# define MEMPCPY(D, S, N) __mempcpy (D, S, N)
# else
# if HAVE_MEMPCPY
# define MEMPCPY(D, S, N) mempcpy (D, S, N)
# else
# define MEMPCPY(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N)))
# endif
# endif
# define MEMCHR(S, C, N) memchr (S, C, N)
# define STRCOLL(S1, S2) strcoll (S1, S2)
# include "fnmatch_loop.c"
while ((c = *p++) != '\0')
# if HANDLE_MULTIBYTE
# define FOLD(c) ((flags & FNM_CASEFOLD) ? towlower (c) : (c))
# define CHAR wchar_t
# define UCHAR wint_t
# define INT wint_t
# define FCT internal_fnwmatch
# define EXT ext_wmatch
# define END end_wpattern
# define L(CS) L##CS
# define BTOWC(C) (C)
# ifdef _LIBC
# define STRLEN(S) __wcslen (S)
# define STRCAT(D, S) __wcscat (D, S)
# define MEMPCPY(D, S, N) __wmempcpy (D, S, N)
# else
# define STRLEN(S) wcslen (S)
# define STRCAT(D, S) wcscat (D, S)
# if HAVE_WMEMPCPY
# define MEMPCPY(D, S, N) wmempcpy (D, S, N)
# else
# define MEMPCPY(D, S, N) (wmemcpy (D, S, N) + (N))
# endif
# endif
# define MEMCHR(S, C, N) wmemchr (S, C, N)
# define STRCOLL(S1, S2) wcscoll (S1, S2)
# define WIDE_CHAR_VERSION 1
# undef IS_CHAR_CLASS
/* We have to convert the wide character string in a multibyte string. But
we know that the character class names consist of alphanumeric characters
from the portable character set, and since the wide character encoding
for a member of the portable character set is the same code point as
its single-byte encoding, we can use a simplified method to convert the
string to a multibyte character string. */
static wctype_t
is_char_class (const wchar_t *wcs)
{
char s[CHAR_CLASS_MAX_LENGTH + 1];
char *cp = s;
do
{
c = FOLD (c);
switch (c)
/* Test for a printable character from the portable character set. */
# ifdef _LIBC
if (*wcs < 0x20 || *wcs > 0x7e
|| *wcs == 0x24 || *wcs == 0x40 || *wcs == 0x60)
return (wctype_t) 0;
# else
switch (*wcs)
{
case '?':
if (*n == '\0')
return FNM_NOMATCH;
else if ((flags & FNM_FILE_NAME) && *n == '/')
return FNM_NOMATCH;
else if ((flags & FNM_PERIOD) && *n == '.' &&
(n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/')))
return FNM_NOMATCH;
case L' ': case L'!': case L'"': case L'#': case L'%':
case L'&': case L'\'': case L'(': case L')': case L'*':
case L'+': case L',': case L'-': case L'.': case L'/':
case L'0': case L'1': case L'2': case L'3': case L'4':
case L'5': case L'6': case L'7': case L'8': case L'9':
case L':': case L';': case L'<': case L'=': case L'>':
case L'?':
case L'A': case L'B': case L'C': case L'D': case L'E':
case L'F': case L'G': case L'H': case L'I': case L'J':
case L'K': case L'L': case L'M': case L'N': case L'O':
case L'P': case L'Q': case L'R': case L'S': case L'T':
case L'U': case L'V': case L'W': case L'X': case L'Y':
case L'Z':
case L'[': case L'\\': case L']': case L'^': case L'_':
case L'a': case L'b': case L'c': case L'd': case L'e':
case L'f': case L'g': case L'h': case L'i': case L'j':
case L'k': case L'l': case L'm': case L'n': case L'o':
case L'p': case L'q': case L'r': case L's': case L't':
case L'u': case L'v': case L'w': case L'x': case L'y':
case L'z': case L'{': case L'|': case L'}': case L'~':
break;
case '\\':
if (!(flags & FNM_NOESCAPE))
{
c = *p++;
if (c == '\0')
/* Trailing \ loses. */
return FNM_NOMATCH;
c = FOLD (c);
}
if (FOLD (*n) != c)
return FNM_NOMATCH;
break;
case '*':
if ((flags & FNM_PERIOD) && *n == '.' &&
(n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/')))
return FNM_NOMATCH;
for (c = *p++; c == '?' || c == '*'; c = *p++)
{
if (c == '?')
{
/* A ? needs to match one character. */
if (*n == '\0' || (*n == '/' && (flags & FNM_FILE_NAME)))
/* There isn't another character; no match. */
return FNM_NOMATCH;
else
/* One character of the string is consumed in matching
this ? wildcard, so *??? won't match if there are
less than three characters. */
++n;
}
}
if (c == '\0')
{
if ((flags & (FNM_FILE_NAME | FNM_LEADING_DIR)) == FNM_FILE_NAME)
for (; *n != '\0'; n++)
if (*n == '/')
return FNM_NOMATCH;
return 0;
}
{
char c1 = (!(flags & FNM_NOESCAPE) && c == '\\') ? *p : c;
c1 = FOLD (c1);
for (--p; *n != '\0'; ++n)
if ((c == '[' || FOLD (*n) == c1) &&
fnmatch (p, n, flags & ~FNM_PERIOD) == 0)
return 0;
else if (*n == '/' && (flags & FNM_FILE_NAME))
break;
return FNM_NOMATCH;
}
case '[':
{
/* Nonzero if the sense of the character class is inverted. */
register int not;
if (*n == '\0')
return FNM_NOMATCH;
if ((flags & FNM_PERIOD) && *n == '.' &&
(n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/')))
return FNM_NOMATCH;
not = (*p == '!' || *p == '^');
if (not)
++p;
c = *p++;
for (;;)
{
register char cstart = c, cend = c;
if (!(flags & FNM_NOESCAPE) && c == '\\')
{
if (*p == '\0')
return FNM_NOMATCH;
cstart = cend = *p++;
}
cstart = cend = FOLD (cstart);
if (c == '\0')
/* [ (unterminated) loses. */
return FNM_NOMATCH;
c = *p++;
c = FOLD (c);
if ((flags & FNM_FILE_NAME) && c == '/')
/* [/] can never match. */
return FNM_NOMATCH;
if (c == '-' && *p != ']')
{
cend = *p++;
if (!(flags & FNM_NOESCAPE) && cend == '\\')
cend = *p++;
if (cend == '\0')
return FNM_NOMATCH;
cend = FOLD (cend);
c = *p++;
}
if (FOLD (*n) >= cstart && FOLD (*n) <= cend)
goto matched;
if (c == ']')
break;
}
if (!not)
return FNM_NOMATCH;
break;
matched:;
/* Skip the rest of the [...] that already matched. */
while (c != ']')
{
if (c == '\0')
/* [... (unterminated) loses. */
return FNM_NOMATCH;
c = *p++;
if (!(flags & FNM_NOESCAPE) && c == '\\')
{
if (*p == '\0')
return FNM_NOMATCH;
/* XXX 1003.2d11 is unclear if this is right. */
++p;
}
}
if (not)
return FNM_NOMATCH;
}
break;
default:
if (c != FOLD (*n))
return FNM_NOMATCH;
return (wctype_t) 0;
}
# endif
++n;
/* Avoid overrunning the buffer. */
if (cp == s + CHAR_CLASS_MAX_LENGTH)
return (wctype_t) 0;
*cp++ = (char) *wcs++;
}
while (*wcs != L'\0');
if (*n == '\0')
return 0;
*cp = '\0';
if ((flags & FNM_LEADING_DIR) && *n == '/')
/* The FNM_LEADING_DIR flag says that "foo*" matches "foobar/frobozz". */
return 0;
return FNM_NOMATCH;
#undef FOLD
# ifdef _LIBC
return __wctype (s);
# else
return wctype (s);
# endif
}
# define IS_CHAR_CLASS(string) is_char_class (string)
# include "fnmatch_loop.c"
# endif
int
fnmatch (pattern, string, flags)
const char *pattern;
const char *string;
int flags;
{
# if HANDLE_MULTIBYTE
if (__builtin_expect (MB_CUR_MAX, 1) != 1)
{
mbstate_t ps;
size_t n;
wchar_t *wpattern;
wchar_t *wstring;
/* Convert the strings into wide characters. */
memset (&ps, '\0', sizeof (ps));
n = mbsrtowcs (NULL, &pattern, 0, &ps);
if (__builtin_expect (n, 0) == (size_t) -1)
/* Something wrong.
XXX Do we have to set `errno' to something which mbsrtows hasn't
already done? */
return -1;
wpattern = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
assert (mbsinit (&ps));
(void) mbsrtowcs (wpattern, &pattern, n + 1, &ps);
assert (mbsinit (&ps));
n = mbsrtowcs (NULL, &string, 0, &ps);
if (__builtin_expect (n, 0) == (size_t) -1)
/* Something wrong.
XXX Do we have to set `errno' to something which mbsrtows hasn't
already done? */
return -1;
wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
assert (mbsinit (&ps));
(void) mbsrtowcs (wstring, &string, n + 1, &ps);
return internal_fnwmatch (wpattern, wstring, wstring + n,
flags & FNM_PERIOD, flags);
}
# endif /* mbstate_t and mbsrtowcs or _LIBC. */
return internal_fnmatch (pattern, string, string + strlen (string),
flags & FNM_PERIOD, flags);
}
# ifdef _LIBC
# undef fnmatch
versioned_symbol (libc, __fnmatch, fnmatch, GLIBC_2_2_3);
# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_3)
strong_alias (__fnmatch, __fnmatch_old)
compat_symbol (libc, __fnmatch_old, fnmatch, GLIBC_2_0);
# endif
# endif
#endif /* _LIBC or not __GNU_LIBRARY__. */

View File

@@ -1,69 +0,0 @@
/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
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. */
#ifndef _FNMATCH_H
#define _FNMATCH_H 1
#ifdef __cplusplus
extern "C" {
#endif
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
#undef __P
#define __P(protos) protos
#else /* Not C++ or ANSI C. */
#undef __P
#define __P(protos) ()
/* We can get away without defining `const' here only because in this file
it is used only inside the prototype for `fnmatch', which is elided in
non-ANSI C where `const' is problematical. */
#endif /* C++ or ANSI C. */
/* We #undef these before defining them because some losing systems
(HP-UX A.08.07 for example) define these in <unistd.h>. */
#undef FNM_PATHNAME
#undef FNM_NOESCAPE
#undef FNM_PERIOD
/* Bits set in the FLAGS argument to `fnmatch'. */
#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
#define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
#define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
#define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
#endif
/* Value returned by `fnmatch' if STRING does not match PATTERN. */
#define FNM_NOMATCH 1
/* Match STRING against the filename pattern PATTERN,
returning zero if it matches, FNM_NOMATCH if not. */
extern int fnmatch __P ((const char *__pattern, const char *__string,
int __flags));
#ifdef __cplusplus
}
#endif
#endif /* fnmatch.h */

76
lib/fnmatch_.h Normal file
View File

@@ -0,0 +1,76 @@
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, 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; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _FNMATCH_H
# define _FNMATCH_H 1
# ifdef __cplusplus
extern "C" {
# endif
# if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
# if !defined __GLIBC__ || !defined __P
# undef __P
# define __P(protos) protos
# endif
# else /* Not C++ or ANSI C. */
# undef __P
# define __P(protos) ()
/* We can get away without defining `const' here only because in this file
it is used only inside the prototype for `fnmatch', which is elided in
non-ANSI C where `const' is problematical. */
# endif /* C++ or ANSI C. */
/* We #undef these before defining them because some losing systems
(HP-UX A.08.07 for example) define these in <unistd.h>. */
# undef FNM_PATHNAME
# undef FNM_NOESCAPE
# undef FNM_PERIOD
/* Bits set in the FLAGS argument to `fnmatch'. */
# define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
# define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
# define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
# if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
# define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */
# endif
/* Value returned by `fnmatch' if STRING does not match PATTERN. */
# define FNM_NOMATCH 1
/* This value is returned if the implementation does not support
`fnmatch'. Since this is not the case here it will never be
returned but the conformance test suites still require the symbol
to be defined. */
# ifdef _XOPEN_SOURCE
# define FNM_NOSYS (-1)
# endif
/* Match NAME against the filename pattern PATTERN,
returning zero if it matches, FNM_NOMATCH if not. */
extern int fnmatch __P ((const char *__pattern, const char *__name,
int __flags));
# ifdef __cplusplus
}
# endif
#endif /* fnmatch.h */

1190
lib/fnmatch_loop.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
/* fsusage.c -- return space usage of mounted filesystems
Copyright (C) 1991, 1992, 1996, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1991, 1992, 1996, 1998, 1999, 2002, 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
@@ -21,7 +22,15 @@
#if HAVE_INTTYPES_H
# include <inttypes.h>
#else
# if HAVE_STDINT_H
# include <stdint.h>
# endif
#endif
#ifndef UINTMAX_MAX
# define UINTMAX_MAX ((uintmax_t) -1)
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include "fsusage.h"
@@ -33,8 +42,6 @@
# define CHAR_BIT 8
#endif
int statfs ();
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
@@ -51,7 +58,7 @@ int statfs ();
# include <sys/fs/s5param.h>
#endif
#if defined (HAVE_SYS_FILSYS_H) && !defined (_CRAY)
#if defined HAVE_SYS_FILSYS_H && !defined _CRAY
# include <sys/filsys.h> /* SVR2 */
#endif
@@ -72,11 +79,18 @@ int statfs ();
int statvfs ();
#endif
#include "full-read.h"
/* Many space usage primitives use all 1 bits to denote a value that is
not applicable or unknown. Propagate this information by returning
a uintmax_t value that is all 1 bits if the argument is all 1 bits,
even if the argument is unsigned and smaller than uintmax_t. */
#define PROPAGATE_ALL_ONES(x) ((x) == -1 ? (uintmax_t) -1 : (uintmax_t) (x))
a uintmax_t value that is all 1 bits if X is all 1 bits, even if X
is unsigned and narrower than uintmax_t. */
#define PROPAGATE_ALL_ONES(x) \
((sizeof (x) < sizeof (uintmax_t) \
&& (~ (x) == (sizeof (x) < sizeof (int) \
? - (1 << (sizeof (x) * CHAR_BIT)) \
: 0))) \
? UINTMAX_MAX : (x))
/* Extract the top bit of X as an uintmax_t value. */
#define EXTRACT_TOP_BIT(x) ((x) \
@@ -91,8 +105,6 @@ int statvfs ();
otherwise, use PROPAGATE_ALL_ONES. */
#define PROPAGATE_TOP_BIT(x) ((x) | ~ (EXTRACT_TOP_BIT (x) - 1))
int safe_read ();
/* Fill in the fields of FSP with information about space usage for
the filesystem on which PATH resides.
DISK is the device on which PATH is mounted, for space-getting
@@ -149,7 +161,7 @@ get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
if (fd < 0)
return -1;
lseek (fd, (off_t) SUPERBOFF, 0);
if (safe_read (fd, (char *) &fsd, sizeof fsd) != sizeof fsd)
if (full_read (fd, (char *) &fsd, sizeof fsd) != sizeof fsd)
{
close (fd);
return -1;
@@ -162,7 +174,7 @@ get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.s_tfree);
fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.s_tfree) != 0;
fsp->fsu_files = (fsd.s_isize == -1
? (uintmax_t) -1
? UINTMAX_MAX
: (fsd.s_isize - 2) * INOPB * (fsd.s_type == Fs2b ? 2 : 1));
fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.s_tinode);
@@ -219,7 +231,7 @@ get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
/* Empirically, the block counts on most SVR3 and SVR3-derived
systems seem to always be in terms of 512-byte blocks,
no matter what value f_bsize has. */
# if _AIX || defined(_CRAY)
# if _AIX || defined _CRAY
fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize);
# else
fsp->fsu_blocksize = 512;
@@ -235,12 +247,13 @@ get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
return -1;
/* f_frsize isn't guaranteed to be supported. */
fsp->fsu_blocksize =
PROPAGATE_ALL_ONES (fsd.f_frsize ? fsd.f_frsize : fsd.f_bsize);
fsp->fsu_blocksize = (fsd.f_frsize
? PROPAGATE_ALL_ONES (fsd.f_frsize)
: PROPAGATE_ALL_ONES (fsd.f_bsize));
#endif /* STAT_STATVFS */
#if !defined(STAT_STATFS2_FS_DATA) && !defined(STAT_READ_FILSYS)
#if !defined STAT_STATFS2_FS_DATA && !defined STAT_READ_FILSYS
/* !Ultrix && !SVR2 */
fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.f_blocks);
@@ -255,7 +268,7 @@ get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
return 0;
}
#if defined(_AIX) && defined(_I386)
#if defined _AIX && defined _I386
/* AIX PS/2 does not supply statfs. */
int

1257
lib/fts.c Normal file

File diff suppressed because it is too large Load Diff

128
lib/fts_.h Normal file
View File

@@ -0,0 +1,128 @@
/*
* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)fts.h 8.3 (Berkeley) 8/14/94
*/
#ifndef _FTS_H
# define _FTS_H 1
# include <features.h>
# include <sys/types.h>
typedef struct {
struct _ftsent *fts_cur; /* current node */
struct _ftsent *fts_child; /* linked list of children */
struct _ftsent **fts_array; /* sort array */
dev_t fts_dev; /* starting device # */
char *fts_path; /* path for this descent */
int fts_rfd; /* fd for root */
int fts_pathlen; /* sizeof(path) */
int fts_nitems; /* elements in the sort array */
int (*fts_compar) (const void *, const void *); /* compare fn */
# define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */
# define FTS_LOGICAL 0x0002 /* logical walk */
# define FTS_NOCHDIR 0x0004 /* don't change directories */
# define FTS_NOSTAT 0x0008 /* don't get stat info */
# define FTS_PHYSICAL 0x0010 /* physical walk */
# define FTS_SEEDOT 0x0020 /* return dot and dot-dot */
# define FTS_XDEV 0x0040 /* don't cross devices */
# define FTS_WHITEOUT 0x0080 /* return whiteout information */
# define FTS_OPTIONMASK 0x00ff /* valid user option mask */
# define FTS_NAMEONLY 0x0100 /* (private) child names only */
# define FTS_STOP 0x0200 /* (private) unrecoverable error */
int fts_options; /* fts_open options, global flags */
/* Data structure in which to store the fingerprint
of each directory we've encountered. */
void *fts_dir_signatures;
} FTS;
typedef struct _ftsent {
struct _ftsent *fts_cycle; /* cycle node */
struct _ftsent *fts_parent; /* parent directory */
struct _ftsent *fts_link; /* next file in directory */
long fts_number; /* local numeric value */
void *fts_pointer; /* local address value */
char *fts_accpath; /* access path */
char *fts_path; /* root path */
int fts_errno; /* errno for this node */
int fts_symfd; /* fd for symlink */
u_short fts_pathlen; /* strlen(fts_path) */
u_short fts_namelen; /* strlen(fts_name) */
ino_t fts_ino; /* inode */
dev_t fts_dev; /* device */
nlink_t fts_nlink; /* link count */
# define FTS_ROOTPARENTLEVEL -1
# define FTS_ROOTLEVEL 0
short fts_level; /* depth (-1 to N) */
# define FTS_D 1 /* preorder directory */
# define FTS_DC 2 /* directory that causes cycles */
# define FTS_DEFAULT 3 /* none of the above */
# define FTS_DNR 4 /* unreadable directory */
# define FTS_DOT 5 /* dot or dot-dot */
# define FTS_DP 6 /* postorder directory */
# define FTS_ERR 7 /* error; errno is set */
# define FTS_F 8 /* regular file */
# define FTS_INIT 9 /* initialized only */
# define FTS_NS 10 /* stat(2) failed */
# define FTS_NSOK 11 /* no stat(2) requested */
# define FTS_SL 12 /* symbolic link */
# define FTS_SLNONE 13 /* symbolic link without target */
# define FTS_W 14 /* whiteout object */
u_short fts_info; /* user flags for FTSENT structure */
# define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */
# define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */
u_short fts_flags; /* private flags for FTSENT structure */
# define FTS_AGAIN 1 /* read node again */
# define FTS_FOLLOW 2 /* follow symbolic link */
# define FTS_NOINSTR 3 /* no instructions */
# define FTS_SKIP 4 /* discard node */
u_short fts_instr; /* fts_set() instructions */
struct stat *fts_statp; /* stat(2) information */
char fts_name[1]; /* file name */
} FTSENT;
__BEGIN_DECLS
FTSENT *fts_children (FTS *, int) __THROW;
int fts_close (FTS *) __THROW;
FTS *fts_open (char * const *, int,
int (*)(const FTSENT **, const FTSENT **)) __THROW;
FTSENT *fts_read (FTS *) __THROW;
int fts_set (FTS *, FTSENT *, int) __THROW;
__END_DECLS
#endif /* fts.h */

837
lib/ftw.c Normal file
View File

@@ -0,0 +1,837 @@
/* File tree walker functions.
Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#if __GNUC__
# define alloca __builtin_alloca
#else
# if HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef _AIX
# pragma alloca
# else
char *alloca ();
# endif
# endif
#endif
#include <sys/types.h>
#if defined _LIBC
# include <dirent.h>
# define NAMLEN(dirent) _D_EXACT_NAMLEN (dirent)
#else
# if HAVE_DIRENT_H
# include <dirent.h>
# define NAMLEN(dirent) strlen ((dirent)->d_name)
# else
# define dirent direct
# define NAMLEN(dirent) (dirent)->d_namlen
# if HAVE_SYS_NDIR_H
# include <sys/ndir.h>
# endif
# if HAVE_SYS_DIR_H
# include <sys/dir.h>
# endif
# if HAVE_NDIR_H
# include <ndir.h>
# endif
# endif
#endif
#include <errno.h>
#include <ftw.h>
#include <limits.h>
#include <search.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#if HAVE_SYS_PARAM_H || defined _LIBC
# include <sys/param.h>
#endif
#ifdef _LIBC
# include <include/sys/stat.h>
#else
# include <sys/stat.h>
#endif
#if ! _LIBC && !HAVE_DECL_STPCPY && !defined stpcpy
char *stpcpy ();
#endif
#if ! _LIBC && ! defined HAVE_MEMPCPY && ! defined mempcpy
/* Be CAREFUL that there are no side effects in N. */
# define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N)))
#endif
/* #define NDEBUG 1 */
#include <assert.h>
#include "save-cwd.h"
#ifndef _LIBC
# undef __chdir
# define __chdir chdir
# undef __closedir
# define __closedir closedir
# undef __fchdir
# define __fchdir fchdir
# undef __mempcpy
# define __mempcpy mempcpy
# undef __opendir
# define __opendir opendir
# undef __readdir64
# define __readdir64 readdir
# undef __stpcpy
# define __stpcpy stpcpy
# undef __tdestroy
# define __tdestroy tdestroy
# undef __tfind
# define __tfind tfind
# undef __tsearch
# define __tsearch tsearch
# undef internal_function
# define internal_function /* empty */
# undef dirent64
# define dirent64 dirent
# undef MAX
# define MAX(a, b) ((a) > (b) ? (a) : (b))
#endif
/* Arrange to make lstat calls go through the wrapper function
on systems with an lstat function that does not dereference symlinks
that are specified with a trailing slash. */
#if ! _LIBC && ! LSTAT_FOLLOWS_SLASHED_SYMLINK
int rpl_lstat (const char *, struct stat *);
# undef lstat
# define lstat(Name, Stat_buf) rpl_lstat(Name, Stat_buf)
#endif
#ifndef __set_errno
# define __set_errno(Val) errno = (Val)
#endif
/* Support for the LFS API version. */
#ifndef FTW_NAME
# define FTW_NAME ftw
# define NFTW_NAME nftw
# define INO_T ino_t
# define FTW_STAT stat
# ifdef _LIBC
# define LXSTAT __lxstat
# define XSTAT __xstat
# else
# define LXSTAT(V,f,sb) lstat (f,sb)
# define XSTAT(V,f,sb) stat (f,sb)
# endif
# define FTW_FUNC_T __ftw_func_t
# define NFTW_FUNC_T __nftw_func_t
#endif
/* We define PATH_MAX if the system does not provide a definition.
This does not artificially limit any operation. PATH_MAX is simply
used as a guesstimate for the expected maximal path length.
Buffers will be enlarged if necessary. */
#ifndef PATH_MAX
# define PATH_MAX 1024
#endif
#ifndef S_IFMT
# define S_IFMT 0170000
#endif
#if STAT_MACROS_BROKEN
# undef S_ISLNK
#endif
#ifndef S_ISLNK
# ifdef S_IFLNK
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
# else
# define S_ISLNK(m) 0
# endif
#endif
struct dir_data
{
DIR *stream;
char *content;
};
struct known_object
{
dev_t dev;
INO_T ino;
};
struct ftw_data
{
/* Array with pointers to open directory streams. */
struct dir_data **dirstreams;
size_t actdir;
size_t maxdir;
/* Buffer containing name of currently processed object. */
char *dirbuf;
size_t dirbufsize;
/* Passed as fourth argument to `nftw' callback. The `base' member
tracks the content of the `dirbuf'. */
struct FTW ftw;
/* Flags passed to `nftw' function. 0 for `ftw'. */
int flags;
/* Conversion array for flag values. It is the identity mapping for
`nftw' calls, otherwise it maps the values to those known by
`ftw'. */
const int *cvt_arr;
/* Callback function. We always use the `nftw' form. */
NFTW_FUNC_T func;
/* Device of starting point. Needed for FTW_MOUNT. */
dev_t dev;
/* Data structure for keeping fingerprints of already processed
object. This is needed when not using FTW_PHYS. */
void *known_objects;
};
/* Internally we use the FTW_* constants used for `nftw'. When invoked
as `ftw', map each flag to the subset of values used by `ftw'. */
static const int nftw_arr[] =
{
FTW_F, FTW_D, FTW_DNR, FTW_NS, FTW_SL, FTW_DP, FTW_SLN
};
static const int ftw_arr[] =
{
FTW_F, FTW_D, FTW_DNR, FTW_NS, FTW_F, FTW_D, FTW_NS
};
/* Forward declarations of local functions. */
static int ftw_dir (struct ftw_data *data, struct FTW_STAT *st)
internal_function;
static int
object_compare (const void *p1, const void *p2)
{
/* We don't need a sophisticated and useful comparison. We are only
interested in equality. However, we must be careful not to
accidentally compare `holes' in the structure. */
const struct known_object *kp1 = p1, *kp2 = p2;
int cmp1;
cmp1 = (kp1->ino > kp2->ino) - (kp1->ino < kp2->ino);
if (cmp1 != 0)
return cmp1;
return (kp1->dev > kp2->dev) - (kp1->dev < kp2->dev);
}
static inline int
add_object (struct ftw_data *data, struct FTW_STAT *st)
{
struct known_object *newp = malloc (sizeof (struct known_object));
if (newp == NULL)
return -1;
newp->dev = st->st_dev;
newp->ino = st->st_ino;
return __tsearch (newp, &data->known_objects, object_compare) ? 0 : -1;
}
static inline int
find_object (struct ftw_data *data, struct FTW_STAT *st)
{
struct known_object obj;
obj.dev = st->st_dev;
obj.ino = st->st_ino;
return __tfind (&obj, &data->known_objects, object_compare) != NULL;
}
static inline int
open_dir_stream (struct ftw_data *data, struct dir_data *dirp)
{
int result = 0;
if (data->dirstreams[data->actdir] != NULL)
{
/* Oh, oh. We must close this stream. Get all remaining
entries and store them as a list in the `content' member of
the `struct dir_data' variable. */
size_t bufsize = 1024;
char *buf = malloc (bufsize);
if (buf == NULL)
result = -1;
else
{
DIR *st = data->dirstreams[data->actdir]->stream;
struct dirent64 *d;
size_t actsize = 0;
while ((d = __readdir64 (st)) != NULL)
{
size_t this_len = NAMLEN (d);
if (actsize + this_len + 2 >= bufsize)
{
char *newp;
bufsize += MAX (1024, 2 * this_len);
newp = (char *) realloc (buf, bufsize);
if (newp == NULL)
{
/* No more memory. */
int save_err = errno;
free (buf);
__set_errno (save_err);
result = -1;
break;
}
buf = newp;
}
*((char *) __mempcpy (buf + actsize, d->d_name, this_len))
= '\0';
actsize += this_len + 1;
}
/* Terminate the list with an additional NUL byte. */
buf[actsize++] = '\0';
/* Shrink the buffer to what we actually need. */
data->dirstreams[data->actdir]->content = realloc (buf, actsize);
if (data->dirstreams[data->actdir]->content == NULL)
{
int save_err = errno;
free (buf);
__set_errno (save_err);
result = -1;
}
else
{
__closedir (st);
data->dirstreams[data->actdir]->stream = NULL;
data->dirstreams[data->actdir] = NULL;
}
}
}
/* Open the new stream. */
if (result == 0)
{
const char *name = ((data->flags & FTW_CHDIR)
? data->dirbuf + data->ftw.base: data->dirbuf);
assert (data->dirstreams[data->actdir] == NULL);
dirp->stream = __opendir (name);
if (dirp->stream == NULL)
result = -1;
else
{
dirp->content = NULL;
data->dirstreams[data->actdir] = dirp;
if (++data->actdir == data->maxdir)
data->actdir = 0;
}
}
return result;
}
static inline int
process_entry (struct ftw_data *data, struct dir_data *dir, const char *name,
size_t namlen)
{
struct FTW_STAT st;
int result = 0;
int flag = 0;
size_t new_buflen;
if (name[0] == '.' && (name[1] == '\0'
|| (name[1] == '.' && name[2] == '\0')))
/* Don't process the "." and ".." entries. */
return 0;
new_buflen = data->ftw.base + namlen + 2;
if (data->dirbufsize < new_buflen)
{
/* Enlarge the buffer. */
char *newp;
data->dirbufsize = 2 * new_buflen;
newp = (char *) realloc (data->dirbuf, data->dirbufsize);
if (newp == NULL)
return -1;
data->dirbuf = newp;
}
*((char *) __mempcpy (data->dirbuf + data->ftw.base, name, namlen)) = '\0';
if ((data->flags & FTW_CHDIR) == 0)
name = data->dirbuf;
if (((data->flags & FTW_PHYS)
? LXSTAT (_STAT_VER, name, &st)
: XSTAT (_STAT_VER, name, &st)) < 0)
{
if (errno != EACCES && errno != ENOENT)
result = -1;
else if (!(data->flags & FTW_PHYS)
&& LXSTAT (_STAT_VER, name, &st) == 0
&& S_ISLNK (st.st_mode))
flag = FTW_SLN;
else
flag = FTW_NS;
}
else
{
if (S_ISDIR (st.st_mode))
flag = FTW_D;
else if (S_ISLNK (st.st_mode))
flag = FTW_SL;
else
flag = FTW_F;
}
if (result == 0
&& (flag == FTW_NS
|| !(data->flags & FTW_MOUNT) || st.st_dev == data->dev))
{
if (flag == FTW_D)
{
if ((data->flags & FTW_PHYS)
|| (!find_object (data, &st)
/* Remember the object. */
&& (result = add_object (data, &st)) == 0))
{
/* When processing a directory as part of a depth-first traversal,
invoke the user's callback function with type=FTW_DPRE
just before processing any entry in that directory.
And if the callback sets ftw.skip, then don't process
any entries of the directory. */
if ((data->flags & FTW_DEPTH)
&& (result = (*data->func) (data->dirbuf, &st, FTW_DPRE,
&data->ftw)) == 0
&& ! data->ftw.skip)
result = ftw_dir (data, &st);
if (result == 0 && (data->flags & FTW_CHDIR))
{
/* Change back to the parent directory. */
int done = 0;
if (dir->stream != NULL)
if (__fchdir (dirfd (dir->stream)) == 0)
done = 1;
if (!done)
{
if (data->ftw.base == 1)
{
if (__chdir ("/") < 0)
result = -1;
}
else
if (__chdir ("..") < 0)
result = -1;
}
if (result < 0)
{
result = (*data->func) (data->dirbuf, NULL, FTW_DCHP,
&data->ftw);
}
}
}
}
else
result = (*data->func) (data->dirbuf, &st, data->cvt_arr[flag],
&data->ftw);
}
return result;
}
static int
internal_function
ftw_dir (struct ftw_data *data, struct FTW_STAT *st)
{
struct dir_data dir;
struct dirent64 *d;
int previous_base = data->ftw.base;
int result;
char *startp;
/* Open the stream for this directory. This might require that
another stream has to be closed. */
result = open_dir_stream (data, &dir);
if (result != 0)
{
if (errno == EACCES)
/* We cannot read the directory. Signal this with a special flag. */
result = (*data->func) (data->dirbuf, st, FTW_DNR, &data->ftw);
return result;
}
/* First, report the directory (if not depth-first). */
if (!(data->flags & FTW_DEPTH))
{
result = (*data->func) (data->dirbuf, st, FTW_D, &data->ftw);
if (result != 0)
return result;
}
/* If necessary, change to this directory. */
if (data->flags & FTW_CHDIR)
{
if (__fchdir (dirfd (dir.stream)) < 0)
{
if (errno == ENOSYS)
{
if (__chdir (data->dirbuf) < 0)
result = -1;
}
else
result = -1;
}
if (result != 0)
{
int save_err = errno;
__closedir (dir.stream);
__set_errno (save_err);
if (data->actdir-- == 0)
data->actdir = data->maxdir - 1;
data->dirstreams[data->actdir] = NULL;
/* We cannot change to the directory.
Signal this with a special flag. */
result = (*data->func) (data->dirbuf, st, FTW_DCH, &data->ftw);
return result;
}
}
/* Next, update the `struct FTW' information. */
++data->ftw.level;
startp = strchr (data->dirbuf, '\0');
/* There always must be a directory name. */
assert (startp != data->dirbuf);
if (startp[-1] != '/')
*startp++ = '/';
data->ftw.base = startp - data->dirbuf;
while (dir.stream != NULL && (d = __readdir64 (dir.stream)) != NULL)
{
result = process_entry (data, &dir, d->d_name, NAMLEN (d));
if (result != 0)
break;
}
if (dir.stream != NULL)
{
/* The stream is still open. I.e., we did not need more
descriptors. Simply close the stream now. */
int save_err = errno;
assert (dir.content == NULL);
__closedir (dir.stream);
__set_errno (save_err);
if (data->actdir-- == 0)
data->actdir = data->maxdir - 1;
data->dirstreams[data->actdir] = NULL;
}
else
{
int save_err;
char *runp = dir.content;
while (result == 0 && *runp != '\0')
{
char *endp = strchr (runp, '\0');
result = process_entry (data, &dir, runp, endp - runp);
runp = endp + 1;
}
save_err = errno;
free (dir.content);
__set_errno (save_err);
}
/* Prepare the return, revert the `struct FTW' information. */
data->dirbuf[data->ftw.base - 1] = '\0';
--data->ftw.level;
data->ftw.base = previous_base;
/* Finally, if we process depth-first report the directory. */
if (result == 0 && (data->flags & FTW_DEPTH))
result = (*data->func) (data->dirbuf, st, FTW_DP, &data->ftw);
return result;
}
#ifdef _LIBC
# define ISSLASH(C) ((C) == '/')
# define FILESYSTEM_PREFIX_LEN(Filename) 0
#endif
/* In general, we can't use the builtin `basename' function if available,
since it has different meanings in different environments.
In some environments the builtin `basename' modifies its argument.
Return the address of the last file name component of NAME. If
NAME has no file name components because it is all slashes, return
NAME if it is empty, the address of its last slash otherwise. */
static char *
base_name (char const *name)
{
char const *base = name + FILESYSTEM_PREFIX_LEN (name);
char const *p;
for (p = base; *p; p++)
{
if (ISSLASH (*p))
{
/* Treat multiple adjacent slashes like a single slash. */
do p++;
while (ISSLASH (*p));
/* If the file name ends in slash, use the trailing slash as
the basename if no non-slashes have been found. */
if (! *p)
{
if (ISSLASH (*base))
base = p - 1;
break;
}
/* *P is a non-slash preceded by a slash. */
base = p;
}
}
return (char *) base;
}
static int
internal_function
ftw_startup (const char *dir, int is_nftw, NFTW_FUNC_T func, int descriptors,
int flags)
{
struct ftw_data data;
struct FTW_STAT st;
int result = 0;
int save_err;
struct saved_cwd cwd;
size_t dir_len;
/* First make sure the parameters are reasonable. */
if (dir[0] == '\0')
{
__set_errno (ENOENT);
return -1;
}
data.maxdir = descriptors < 1 ? 1 : descriptors;
data.actdir = 0;
data.dirstreams = (struct dir_data **) alloca (data.maxdir
* sizeof (struct dir_data *));
if (data.dirstreams == NULL)
return -1;
memset (data.dirstreams, '\0', data.maxdir * sizeof (struct dir_data *));
/* PATH_MAX is always defined when we get here. */
dir_len = strlen (dir);
data.dirbufsize = MAX (2 * dir_len, PATH_MAX);
data.dirbuf = (char *) malloc (data.dirbufsize);
if (data.dirbuf == NULL)
return -1;
memcpy (data.dirbuf, dir, dir_len + 1);
data.ftw.level = 0;
/* Find offset of basename. */
data.ftw.base = base_name (data.dirbuf) - data.dirbuf;
data.flags = flags;
/* This assignment might seem to be strange but it is what we want.
The trick is that the first three arguments to the `ftw' and
`nftw' callback functions are equal. Therefore we can call in
every case the callback using the format of the `nftw' version
and get the correct result since the stack layout for a function
call in C allows this. */
data.func = func;
/* Since we internally use the complete set of FTW_* values we need
to reduce the value range before calling a `ftw' callback. */
data.cvt_arr = is_nftw ? nftw_arr : ftw_arr;
/* No object known so far. */
data.known_objects = NULL;
/* Now go to the directory containing the initial file/directory. */
if (flags & FTW_CHDIR)
{
if (save_cwd (&cwd))
result = -1;
else if (data.ftw.base > 0)
{
/* Change to the directory the file is in. In data.dirbuf
we have a writable copy of the file name. Just NUL
terminate it for now and change the directory. */
if (data.ftw.base == 1)
/* I.e., the file is in the root directory. */
result = __chdir ("/");
else
{
char ch = data.dirbuf[data.ftw.base - 1];
data.dirbuf[data.ftw.base - 1] = '\0';
result = __chdir (data.dirbuf);
data.dirbuf[data.ftw.base - 1] = ch;
}
}
}
/* Get stat info for start directory. */
if (result == 0)
{
const char *name = ((data.flags & FTW_CHDIR)
? data.dirbuf + data.ftw.base
: data.dirbuf);
if (((flags & FTW_PHYS)
? LXSTAT (_STAT_VER, name, &st)
: XSTAT (_STAT_VER, name, &st)) < 0)
{
if (!(flags & FTW_PHYS)
&& errno == ENOENT
&& LXSTAT (_STAT_VER, name, &st) == 0
&& S_ISLNK (st.st_mode))
result = (*data.func) (data.dirbuf, &st, data.cvt_arr[FTW_SLN],
&data.ftw);
else
/* No need to call the callback since we cannot say anything
about the object. */
result = -1;
}
else
{
if (S_ISDIR (st.st_mode))
{
/* Remember the device of the initial directory in case
FTW_MOUNT is given. */
data.dev = st.st_dev;
/* We know this directory now. */
if (!(flags & FTW_PHYS))
result = add_object (&data, &st);
if (result == 0)
{
/* If we're doing a depth-first traversal, give the user
a chance to prune the top-level directory. */
if ((flags & FTW_DEPTH)
&& (result = (*data.func) (data.dirbuf, &st, FTW_DPRE,
&data.ftw)) == 0
&& ! data.ftw.skip)
result = ftw_dir (&data, &st);
}
}
else
{
int flag = S_ISLNK (st.st_mode) ? FTW_SL : FTW_F;
result = (*data.func) (data.dirbuf, &st, data.cvt_arr[flag],
&data.ftw);
}
}
}
/* Return to the start directory (if necessary). */
if (flags & FTW_CHDIR)
{
save_err = errno;
/* If restore_cwd fails and there wasn't a prior failure,
then let this new errno override any prior value.
FIXME: ideally, we'd be able to return some indication
of what the failure means. Otherwise, the caller will
have a hard time distinguishing between e.g., `out of memory'
and this sort of failure. */
if (restore_cwd (&cwd) && result == 0)
{
save_err = errno;
result = -1;
}
__set_errno (save_err);
}
/* Free all memory. */
save_err = errno;
__tdestroy (data.known_objects, free);
free (data.dirbuf);
__set_errno (save_err);
return result;
}
/* Entry points. */
int
FTW_NAME (path, func, descriptors)
const char *path;
FTW_FUNC_T func;
int descriptors;
{
return ftw_startup (path, 0, (NFTW_FUNC_T) func, descriptors, 0);
}
int
NFTW_NAME (path, func, descriptors, flags)
const char *path;
NFTW_FUNC_T func;
int descriptors;
int flags;
{
return ftw_startup (path, 1, func, descriptors, flags);
}

186
lib/ftw_.h Normal file
View File

@@ -0,0 +1,186 @@
/* Copyright (C) 1992, 1996, 1997, 1998, 1999, 2003
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/*
* X/Open Portability Guide 4.2: ftw.h
*/
#ifndef _FTW_H
# define _FTW_H 1
# ifdef _LIBC
# include <features.h>
# else
# undef __THROW
# define __THROW
# undef __BEGIN_DECLS
# define __BEGIN_DECLS
# undef __END_DECLS
# define __END_DECLS
# endif
# include <sys/types.h>
# include <sys/stat.h>
/* When compiling stand-alone on a system that does not define
__USE_XOPEN_EXTENDED, define that symbol so that all the
required declarations appear. */
# if ! defined _LIBC && ! defined __USE_XOPEN_EXTENDED
# define FTW_H_STANDALONE 1
# define __USE_XOPEN_EXTENDED 1
# endif
__BEGIN_DECLS
/* Values for the FLAG argument to the user function passed to `ftw'
and 'nftw'. */
enum
{
FTW_F, /* Regular file. */
# define FTW_F FTW_F
FTW_D, /* Directory. */
# define FTW_D FTW_D
FTW_DNR, /* Unreadable directory. */
# define FTW_DNR FTW_DNR
FTW_NS, /* Unstatable file. */
# define FTW_NS FTW_NS
/* Can't chdir to named directory. This can happen only when using
FTW_CHDIR. Note that although we can't chdir into that directory,
we were able to stat it, so SB (2nd argument to callback) is valid. */
FTW_DCH,
# define FTW_DCH FTW_DCH
/* Can't chdir to parent of named directory. This can happen only when
using FTW_CHDIR. Unlike for FTW_DCH, in this case, SB is not valid.
In fact, it is NULL. */
FTW_DCHP,
# define FTW_DCHP FTW_DCHP
/* nftw calls the user-supplied function at most twice for each directory
it encounters. When calling it the first time, it passes this value
as the `type'. */
FTW_DPRE,
# define FTW_DPRE FTW_DPRE
# if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
FTW_SL, /* Symbolic link. */
# define FTW_SL FTW_SL
# endif
# ifdef __USE_XOPEN_EXTENDED
/* These flags are only passed from the `nftw' function. */
FTW_DP, /* Directory, all subdirs have been visited. */
# define FTW_DP FTW_DP
FTW_SLN /* Symbolic link naming non-existing file. */
# define FTW_SLN FTW_SLN
# endif /* extended X/Open */
};
# ifdef __USE_XOPEN_EXTENDED
/* Flags for fourth argument of `nftw'. */
enum
{
FTW_PHYS = 1, /* Perform physical walk, ignore symlinks. */
# define FTW_PHYS FTW_PHYS
FTW_MOUNT = 2, /* Report only files on same file system as the
argument. */
# define FTW_MOUNT FTW_MOUNT
FTW_CHDIR = 4, /* Change to current directory while processing it. */
# define FTW_CHDIR FTW_CHDIR
FTW_DEPTH = 8 /* Report files in directory before directory itself.*/
# define FTW_DEPTH FTW_DEPTH
};
/* Structure used for fourth argument to callback function for `nftw'. */
struct FTW
{
int base;
int level;
int skip;
};
# endif /* extended X/Open */
/* Convenient types for callback functions. */
typedef int (*__ftw_func_t) (const char *__filename,
const struct stat *__status, int __flag);
# ifdef __USE_LARGEFILE64
typedef int (*__ftw64_func_t) (const char *__filename,
const struct stat64 *__status, int __flag);
# endif
# ifdef __USE_XOPEN_EXTENDED
typedef int (*__nftw_func_t) (const char *__filename,
const struct stat *__status, int __flag,
struct FTW *__info);
# ifdef __USE_LARGEFILE64
typedef int (*__nftw64_func_t) (const char *__filename,
const struct stat64 *__status,
int __flag, struct FTW *__info);
# endif
# endif
/* Call a function on every element in a directory tree. */
# ifndef __USE_FILE_OFFSET64
extern int ftw (const char *__dir, __ftw_func_t __func, int __descriptors)
__THROW;
# else
# ifdef __REDIRECT
extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
int __descriptors) __THROW, ftw64);
# else
# define ftw ftw64
# endif
# endif
# ifdef __USE_LARGEFILE64
extern int ftw64 (const char *__dir, __ftw64_func_t __func,
int __descriptors) __THROW;
# endif
# ifdef __USE_XOPEN_EXTENDED
/* Call a function on every element in a directory tree. FLAG allows
to specify the behaviour more detailed. */
# ifndef __USE_FILE_OFFSET64
extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors,
int __flag) __THROW;
# else
# ifdef __REDIRECT
extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
int __descriptors, int __flag) __THROW, nftw64);
# else
# define nftw nftw64
# endif
# endif
# ifdef __USE_LARGEFILE64
extern int nftw64 (const char *__dir, __nftw64_func_t __func,
int __descriptors, int __flag) __THROW;
# endif
# endif
/* If we defined __USE_XOPEN_EXTENDED above, undefine it here. */
# ifdef FTW_H_STANDALONE
# undef __USE_XOPEN_EXTENDED
# endif
__END_DECLS
#endif /* ftw.h */

19
lib/full-read.c Normal file
View File

@@ -0,0 +1,19 @@
/* An interface to read that retries after partial reads and interrupts.
Copyright (C) 2002, 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; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define FULL_READ
#include "full-write.c"

24
lib/full-read.h Normal file
View File

@@ -0,0 +1,24 @@
/* An interface to read() that reads all it is asked to read.
Copyright (C) 2002 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, read to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stddef.h>
/* Read COUNT bytes at BUF to descriptor FD, retrying if interrupted
or if partial reads occur. Return the number of bytes successfully
read, setting errno if that is less than COUNT. errno = 0 means EOF. */
extern size_t full_read (int fd, void *buf, size_t count);

View File

@@ -1,5 +1,6 @@
/* full-write.c -- an interface to write that retries after interrupts
Copyright (C) 1993, 1994, 1997, 1998, 2000 Free Software Foundation, Inc.
/* An interface to read and write that retries (if necessary) until complete.
Copyright (C) 1993, 1994, 1997-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
@@ -13,54 +14,67 @@
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.
Copied largely from GNU C's cccp.c.
*/
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
/* Write LEN bytes at PTR to descriptor DESC, retrying if interrupted.
Return LEN upon success, write's (negative) error code otherwise. */
int
full_write (int desc, const char *ptr, size_t len)
{
int total_written;
total_written = 0;
while (len > 0)
{
int written = write (desc, ptr, len);
/* write on an old Slackware Linux 1.2.13 returns zero when
I try to write more data than there is room on a floppy disk.
This puts dd into an infinite loop. Reproduce with
dd if=/dev/zero of=/dev/fd0. If you have this problem,
consider upgrading to a newer kernel. */
if (written < 0)
{
#ifdef EINTR
if (errno == EINTR)
continue;
#ifdef FULL_READ
# include "full-read.h"
# include "safe-read.h"
# define safe_rw safe_read
# define full_rw full_read
# undef const
# define const /* empty */
#else
# include "full-write.h"
# include "safe-write.h"
# define safe_rw safe_write
# define full_rw full_write
#endif
return written;
#ifdef FULL_READ
/* Set errno to zero upon EOF. */
# define ZERO_BYTE_TRANSFER_ERRNO 0
#else
/* Some buggy drivers return 0 when one tries to write beyond
a device's end. (Example: Linux 1.2.13 on /dev/fd0.)
Set errno to ENOSPC so they get a sensible diagnostic. */
# define ZERO_BYTE_TRANSFER_ERRNO ENOSPC
#endif
/* Write(read) COUNT bytes at BUF to(from) descriptor FD, retrying if
interrupted or if a partial write(read) occurs. Return the number
of bytes transferred.
When writing, set errno if fewer than COUNT bytes are written.
When reading, if fewer than COUNT bytes are read, you must examine
errno to distinguish failure from EOF (errno == 0). */
size_t
full_rw (int fd, const void *buf, size_t count)
{
size_t total = 0;
const char *ptr = buf;
while (count > 0)
{
size_t n_rw = safe_rw (fd, ptr, count);
if (n_rw == (size_t) -1)
break;
if (n_rw == 0)
{
errno = ZERO_BYTE_TRANSFER_ERRNO;
break;
}
total_written += written;
ptr += written;
len -= written;
total += n_rw;
ptr += n_rw;
count -= n_rw;
}
return total_written;
return total;
}

24
lib/full-write.h Normal file
View File

@@ -0,0 +1,24 @@
/* An interface to write() that writes all it is asked to write.
Copyright (C) 2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stddef.h>
/* Write COUNT bytes at BUF to descriptor FD, retrying if interrupted
or if partial writes occur. Return the number of bytes successfully
written, setting errno if that is less than COUNT. */
extern size_t full_write (int fd, const void *buf, size_t count);

74
lib/getcwd.c Normal file
View File

@@ -0,0 +1,74 @@
/* Provide a replacement for the POSIX getcwd function.
Copyright (C) 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; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* written by Jim Meyering */
#include <config.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include <sys/types.h>
#include "pathmax.h"
#include "same.h"
/* Guess high, because that makes the test below more conservative.
But this is a kludge, because we should really use
pathconf (".", _PC_NAME_MAX). But it's probably not worth the cost. */
#define KLUDGE_POSIX_NAME_MAX 255
#define MAX_SAFE_LEN (PATH_MAX - 1 - KLUDGE_POSIX_NAME_MAX - 1)
/* Undefine getcwd here, as near the use as possible, in case any
of the files included above define it to rpl_getcwd. */
#undef getcwd
/* Any declaration of getcwd from headers included above has
been changed to a declaration of rpl_getcwd. Declare it here. */
extern char *getcwd (char *buf, size_t size);
/* This is a wrapper for getcwd.
Some implementations (at least GNU libc 2.3.1 + linux-2.4.20) return
non-NULL for a working directory name longer than PATH_MAX, yet the
returned string is a strict prefix of the desired directory name.
Upon such a failure, free the offending string, set errno to
ENAMETOOLONG, and return NULL.
I've heard that this is a Linux kernel bug, and that it has
been fixed between 2.4.21-pre3 and 2.4.21-pre4. */
char *
rpl_getcwd (char *buf, size_t size)
{
char *cwd = getcwd (buf, size);
if (cwd == NULL)
return NULL;
if (strlen (cwd) <= MAX_SAFE_LEN || same_name (cwd, "."))
return cwd;
free (cwd);
errno = ENAMETOOLONG;
return NULL;
}

View File

@@ -1,6 +1,6 @@
%{
/* Parse a string into an internal time stamp.
Copyright 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2002 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
@@ -63,10 +63,9 @@
- Its arg may be any int or unsigned int; it need not be an unsigned char.
- It's guaranteed to evaluate its argument exactly once.
- It's typically faster.
Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 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. */
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 STDC_HEADERS || HAVE_STRING_H
@@ -378,19 +377,19 @@ relunit:
| tSNUMBER tDAY_UNIT
{ PC.rel_day += $1.value * $2; }
| tDAY_UNIT
{ PC.rel_day += $1 }
{ PC.rel_day += $1; }
| tUNUMBER tHOUR_UNIT
{ PC.rel_hour += $1.value * $2; }
| tSNUMBER tHOUR_UNIT
{ PC.rel_hour += $1.value * $2; }
| tHOUR_UNIT
{ PC.rel_hour += $1 }
{ PC.rel_hour += $1; }
| tUNUMBER tMINUTE_UNIT
{ PC.rel_minutes += $1.value * $2; }
| tSNUMBER tMINUTE_UNIT
{ PC.rel_minutes += $1.value * $2; }
| tMINUTE_UNIT
{ PC.rel_minutes += $1 }
{ PC.rel_minutes += $1; }
| tUNUMBER tSEC_UNIT
{ PC.rel_seconds += $1.value * $2; }
| tSNUMBER tSEC_UNIT
@@ -448,6 +447,7 @@ o_merid:
may define-away `const'. We want the prototype for get_date to have
the same signature as the function definition. */
#include "getdate.h"
#include "unlocked-io.h"
#ifndef gmtime
struct tm *gmtime ();
@@ -908,7 +908,7 @@ get_date (const char *p, const time_t *now)
pc.local_zones_seen = 0;
pc.zones_seen = 0;
#if HAVE_TM_ZONE
#if HAVE_STRUCT_TM_TM_ZONE
pc.local_time_zone_table[0].name = tmp->tm_zone;
pc.local_time_zone_table[0].type = tLOCAL_ZONE;
pc.local_time_zone_table[0].value = tmp->tm_isdst;

View File

@@ -21,7 +21,7 @@
#include <stdio.h>
#include <sys/types.h>
char *xmalloc ();
#include "xalloc.h"
/* On at least Ultrix 4.3 and NextStep 3.2, getgroups (0, 0) always fails.
On other systems, it returns the number of supplemental groups for the

View File

@@ -1,22 +1,23 @@
/* Getopt for GNU.
NOTE: The canonical source of this file is maintained with the GNU
C Library. Bugs can be reported to bug-glibc@gnu.org.
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002
Free Software Foundation, Inc.
This file is part of the GNU C Library.
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 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,
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. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
@@ -74,16 +75,20 @@
# endif
#endif
#ifndef _
#ifdef _LIBC
# include <libintl.h>
#else
/* This is for other GNU distributions with internationalized messages. */
# if defined HAVE_LIBINTL_H || defined _LIBC
# include <libintl.h>
# ifndef _
# define _(msgid) gettext (msgid)
# endif
# else
# define _(msgid) (msgid)
# endif
# include "gettext.h"
#endif
#define _(msgid) gettext (msgid)
#if defined _LIBC && defined USE_IN_LIBIO
# include <wchar.h>
#endif
#ifndef attribute_hidden
# define attribute_hidden
#endif
/* This version of `getopt' appears to the caller like standard Unix `getopt'
@@ -129,7 +134,7 @@ int optind = 1;
causes problems with re-calling getopt as programs generally don't
know that. */
int __getopt_initialized;
int __getopt_initialized attribute_hidden;
/* The next char to be scanned in the option-element
in which the last option character we returned was found.
@@ -248,41 +253,34 @@ static int first_nonopt;
static int last_nonopt;
#ifdef _LIBC
/* Stored original parameters.
XXX This is no good solution. We should rather copy the args so
that we can compare them later. But we must not use malloc(3). */
extern int __libc_argc;
extern char **__libc_argv;
/* Bash 2.0 gives us an environment variable containing flags
indicating ARGV elements that should not be considered arguments. */
# ifdef USE_NONOPTION_FLAGS
/* Defined in getopt_init.c */
extern char *__getopt_nonoption_flags;
static int nonoption_flags_max_len;
static int nonoption_flags_len;
# endif
static int original_argc;
static char *const *original_argv;
/* Make sure the environment variable bash 2.0 puts in the environment
is valid for the getopt call we must make sure that the ARGV passed
to getopt is that one passed to the process. */
static void
__attribute__ ((unused))
store_args_and_env (int argc, char *const *argv)
{
/* XXX This is no good solution. We should rather copy the args so
that we can compare them later. But we must not use malloc(3). */
original_argc = argc;
original_argv = argv;
}
# ifdef text_set_element
text_set_element (__libc_subinit, store_args_and_env);
# endif /* text_set_element */
# define SWAP_FLAGS(ch1, ch2) \
# ifdef USE_NONOPTION_FLAGS
# define SWAP_FLAGS(ch1, ch2) \
if (nonoption_flags_len > 0) \
{ \
char __tmp = __getopt_nonoption_flags[ch1]; \
__getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
__getopt_nonoption_flags[ch2] = __tmp; \
}
# else
# define SWAP_FLAGS(ch1, ch2)
# endif
#else /* !_LIBC */
# define SWAP_FLAGS(ch1, ch2)
#endif /* _LIBC */
@@ -314,7 +312,7 @@ exchange (argv)
It leaves the longer segment in the right place overall,
but it consists of two parts that need to be swapped next. */
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
/* First make sure the handling of the `__getopt_nonoption_flags'
string can work normally. Our top argument must be in the range
of the string. */
@@ -418,9 +416,9 @@ _getopt_initialize (argc, argv, optstring)
else
ordering = PERMUTE;
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
if (posixly_correct == NULL
&& argc == original_argc && argv == original_argv)
&& argc == __libc_argc && argv == __libc_argv)
{
if (nonoption_flags_max_len == 0)
{
@@ -537,7 +535,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
Either it does not have option syntax, or there is an environment flag
from the shell indicating it is not an option. The later information
is only used when the used in the GNU libc. */
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
|| (optind < nonoption_flags_len \
&& __getopt_nonoption_flags[optind] == '1'))
@@ -683,8 +681,26 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (ambig && !exact)
{
if (print_errors)
fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]);
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]);
#endif
}
nextchar += strlen (nextchar);
optind++;
optopt = 0;
@@ -705,16 +721,50 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
{
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
int n;
#endif
if (argv[optind - 1][1] == '-')
/* --option */
fprintf (stderr,
_("%s: option `--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
{
/* --option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("\
%s: option `--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
#else
fprintf (stderr, _("\
%s: option `--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
#endif
}
else
/* +option or -option */
fprintf (stderr,
_("%s: option `%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0], pfound->name);
{
/* +option or -option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("\
%s: option `%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0],
pfound->name);
#else
fprintf (stderr, _("\
%s: option `%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0], pfound->name);
#endif
}
#if defined _LIBC && defined USE_IN_LIBIO
if (n >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#endif
}
nextchar += strlen (nextchar);
@@ -730,9 +780,27 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
else
{
if (print_errors)
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
#endif
}
nextchar += strlen (nextchar);
optopt = pfound->val;
return optstring[0] == ':' ? ':' : '?';
@@ -758,14 +826,45 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
{
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
int n;
#endif
if (argv[optind][1] == '-')
/* --option */
fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
argv[0], nextchar);
{
/* --option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
argv[0], nextchar);
#else
fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
argv[0], nextchar);
#endif
}
else
/* +option or -option */
fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
argv[0], argv[optind][0], nextchar);
{
/* +option or -option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
argv[0], argv[optind][0], nextchar);
#else
fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
argv[0], argv[optind][0], nextchar);
#endif
}
#if defined _LIBC && defined USE_IN_LIBIO
if (n >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#endif
}
nextchar = (char *) "";
optind++;
@@ -788,13 +887,42 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
{
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
int n;
#endif
if (posixly_correct)
/* 1003.2 specifies the format of this message. */
fprintf (stderr, _("%s: illegal option -- %c\n"),
argv[0], c);
{
/* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
argv[0], c);
#else
fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
#endif
}
else
fprintf (stderr, _("%s: invalid option -- %c\n"),
argv[0], c);
{
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
argv[0], c);
#else
fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
#endif
}
#if defined _LIBC && defined USE_IN_LIBIO
if (n >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#endif
}
optopt = c;
return '?';
@@ -823,8 +951,24 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (print_errors)
{
/* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf,
_("%s: option requires an argument -- %c\n"),
argv[0], c) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr, _("%s: option requires an argument -- %c\n"),
argv[0], c);
#endif
}
optopt = c;
if (optstring[0] == ':')
@@ -870,8 +1014,25 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (ambig && !exact)
{
if (print_errors)
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
argv[0], argv[optind]);
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
argv[0], argv[optind]) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
argv[0], argv[optind]);
#endif
}
nextchar += strlen (nextchar);
optind++;
return '?';
@@ -888,9 +1049,27 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
else
{
if (print_errors)
fprintf (stderr, _("\
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
%s: option `-W %s' doesn't allow an argument\n"),
argv[0], pfound->name);
argv[0], pfound->name) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr, _("\
%s: option `-W %s' doesn't allow an argument\n"),
argv[0], pfound->name);
#endif
}
nextchar += strlen (nextchar);
return '?';
@@ -903,9 +1082,27 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
else
{
if (print_errors)
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
#endif
}
nextchar += strlen (nextchar);
return optstring[0] == ':' ? ':' : '?';
}
@@ -952,9 +1149,25 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (print_errors)
{
/* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
%s: option requires an argument -- %c\n"),
argv[0], c) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr,
_("%s: option requires an argument -- %c\n"),
argv[0], c);
#endif
}
optopt = c;
if (optstring[0] == ':')

View File

@@ -1,21 +1,20 @@
/* Declarations for getopt.
Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
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.
Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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. */
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. */
#ifndef _GETOPT_H
@@ -23,6 +22,17 @@
# define _GETOPT_H 1
#endif
/* If __GNU_LIBRARY__ is not already defined, either we are being used
standalone, or this is the first header included in the source file.
If we are being used with glibc, we need to include <features.h>, but
that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
not defined, include <ctype.h>, which will pull in <features.h> for us
if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
doesn't flood the namespace with stuff the way some other headers do.) */
#if !defined __GNU_LIBRARY__
# include <ctype.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
@@ -82,7 +92,7 @@ extern int optopt;
struct option
{
# if defined __STDC__ && __STDC__
# if (defined __STDC__ && __STDC__) || defined __cplusplus
const char *name;
# else
char *name;
@@ -126,25 +136,26 @@ struct option
arguments to the option '\0'. This behavior is specific to the GNU
`getopt'. */
#if defined __STDC__ && __STDC__
#if (defined __STDC__ && __STDC__) || defined __cplusplus
# ifdef __GNU_LIBRARY__
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation
errors, only prototype getopt for the GNU C library. */
extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
# else /* not __GNU_LIBRARY__ */
extern int getopt ();
# endif /* __GNU_LIBRARY__ */
# ifndef __need_getopt
extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
extern int getopt_long (int ___argc, char *const *___argv,
const char *__shortopts,
const struct option *__longopts, int *__longind);
extern int getopt_long_only (int __argc, char *const *__argv,
extern int getopt_long_only (int ___argc, char *const *___argv,
const char *__shortopts,
const struct option *__longopts, int *__longind);
/* Internal only. Users should not call this directly. */
extern int _getopt_internal (int __argc, char *const *__argv,
extern int _getopt_internal (int ___argc, char *const *___argv,
const char *__shortopts,
const struct option *__longopts, int *__longind,
int __long_only);

View File

@@ -1,28 +1,31 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
This file is part of the GNU C Library.
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 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,
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. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "getopt.h"
#ifdef _LIBC
# include <getopt.h>
#else
# include "getopt.h"
#endif
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems
@@ -90,6 +93,10 @@ getopt_long_only (argc, argv, options, long_options, opt_index)
return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
}
# ifdef _LIBC
libc_hidden_def (getopt_long)
libc_hidden_def (getopt_long_only)
# endif
#endif /* Not ELIDE_CODE. */

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1992,93,94,95,96,97,98,99,2000 Free Software Foundation, Inc.
/* Copyright (C) 1992,93,94,95,96,97,98,99,2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -24,6 +24,7 @@
#include <termios.h>
#include <unistd.h>
#include "getline.h"
#include "unlocked-io.h"
/* It is desirable to use this bit on systems that have it.
The only bit of terminal state we want to twiddle is echoing, which is

View File

@@ -1,6 +1,6 @@
/* getstr.c -- core function for GNU C library getline replacement function
Copyright (C) 1993, 1996-2000 Free Software Foundation, Inc.
Copyright (C) 1993, 1996-2001 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
@@ -25,14 +25,14 @@
#include <stdio.h>
#include <sys/types.h>
#include <assert.h>
#if STDC_HEADERS
# include <stdlib.h>
#else
char *malloc (), *realloc ();
#endif
#include "unlocked-io.h"
/* Always add at least this many bytes when extending the buffer. */
#define MIN_CHUNK 64
@@ -47,7 +47,7 @@ int
getstr (char **lineptr, size_t *n, FILE *stream, int delim1, int delim2,
size_t offset)
{
int nchars_avail; /* Allocated but unused chars in *LINEPTR. */
size_t nchars_avail; /* Allocated but unused chars in *LINEPTR. */
char *read_pos; /* Where we're reading into *LINEPTR. */
int ret;
@@ -62,6 +62,9 @@ getstr (char **lineptr, size_t *n, FILE *stream, int delim1, int delim2,
return -1;
}
if (*n < offset)
return -1;
nchars_avail = *n - offset;
read_pos = *lineptr + offset;
@@ -73,7 +76,6 @@ getstr (char **lineptr, size_t *n, FILE *stream, int delim1, int delim2,
always (unless we get an error while reading the first char)
NUL-terminate the line buffer. */
assert(*n - nchars_avail == read_pos - *lineptr);
if (nchars_avail < 2)
{
if (*n > MIN_CHUNK)
@@ -86,7 +88,6 @@ getstr (char **lineptr, size_t *n, FILE *stream, int delim1, int delim2,
if (!*lineptr)
return -1;
read_pos = *n - nchars_avail + *lineptr;
assert(*n - nchars_avail == read_pos - *lineptr);
}
if (c == EOF || ferror (stream))

69
lib/gettext.h Normal file
View File

@@ -0,0 +1,69 @@
/* Convenience header for conditional use of GNU <libintl.h>.
Copyright (C) 1995-1998, 2000-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)
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.
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. */
#ifndef _LIBGETTEXT_H
# define _LIBGETTEXT_H 1
/* NLS can be disabled through the configure --disable-nls option. */
# if ENABLE_NLS
/* Get declarations of GNU message catalog functions. */
# include <libintl.h>
# else
/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
chokes if dcgettext is defined as a macro. So include it now, to make
later inclusions of <locale.h> a NOP. We don't include <libintl.h>
as well because people using "gettext.h" will not include <libintl.h>,
and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
is OK. */
# if defined(__sun)
# include <locale.h>
# endif
/* Disabled NLS.
The casts to 'const char *' serve the purpose of producing warnings
for invalid uses of the value returned from these functions.
On pre-ANSI systems without 'const', the config.h file is supposed to
contain "#define const". */
# define gettext(Msgid) ((const char *) (Msgid))
# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
# define ngettext(Msgid1, Msgid2, N) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
# define dngettext(Domainname, Msgid1, Msgid2, N) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
# define textdomain(Domainname) ((const char *) (Domainname))
# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
# endif
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
translation is done at a different place in the code.
The argument, String, should be a literal string. Concatenated strings
and other string expressions won't work.
The macro's expansion is not parenthesized, so that it is suitable as
initializer for static 'char[]' or 'const char[]' variables. */
# define gettext_noop(String) String
#endif /* _LIBGETTEXT_H */

46
lib/gettime.c Normal file
View File

@@ -0,0 +1,46 @@
/* gettime -- get the system clock
Copyright (C) 2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "timespec.h"
/* Get the system time. */
int
gettime (struct timespec *ts)
{
#if defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME
if (clock_gettime (CLOCK_REALTIME, ts) == 0)
return 0;
#endif
{
struct timeval tv;
int r = gettimeofday (&tv, 0);
if (r == 0)
{
ts->tv_sec = tv.tv_sec;
ts->tv_nsec = tv.tv_usec * 1000;
}
return r;
}
}

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