Compare commits

...

1826 Commits

Author SHA1 Message Date
Jim Meyering
0b27a447e5 *** empty log message *** 2004-02-19 18:04:33 +00:00
Jim Meyering
23ec3ebebf *** empty log message *** 2004-02-18 18:00:17 +00:00
Jim Meyering
2363df9158 *** empty log message *** 2004-02-18 17:57:42 +00:00
Jim Meyering
394f593dd8 . 2004-02-18 17:49:59 +00:00
Jim Meyering
563290e8ad *** empty log message *** 2004-02-18 13:50:42 +00:00
Jim Meyering
2cad649afc *** empty log message *** 2004-02-17 18:17:27 +00:00
Jim Meyering
e1c06d999c (csplit invocation): Correct typo s/LINE/N/
in description of `N' pattern.
2004-02-17 18:16:29 +00:00
Jim Meyering
210e4c86c1 *** empty log message *** 2004-02-17 16:05:41 +00:00
Jim Meyering
b6586a0b36 Add id's -u option, so we don't get spurious
failures when there are no user or group names.
2004-02-17 16:05:34 +00:00
Jim Meyering
4852e78643 `make check' from a build inside a chroot environment would fail
Specify an argument (`/') for df, in the
unusual event that there is no valid entry in /etc/mtab.
Patch by Tim Waugh.
2004-02-17 14:42:47 +00:00
Jim Meyering
c2f29eda90 *** empty log message *** 2004-02-17 10:53:47 +00:00
Jim Meyering
317f26ba57 (usage) [-u]: Add punctuation so that the description in
the help2man-generated (line-joined) man page is more readable.
Reported by Tim Waugh.
[-T]: Add a semicolon, for the same reason.
2004-02-17 10:52:49 +00:00
Jim Meyering
9bfc6244c4 *** empty log message *** 2004-02-15 00:03:28 +00:00
Jim Meyering
7ddd33cc71 (dist-hook): Qualify target with $(srcdir)/ prefix. 2004-02-15 00:03:21 +00:00
Jim Meyering
7b31f4954f . 2004-02-14 13:40:02 +00:00
Jim Meyering
b7de4858ed regenerate from patched Makefile.am.in 2004-02-11 15:33:38 +00:00
Jim Meyering
6119455bed *** empty log message *** 2004-02-11 11:46:37 +00:00
Jim Meyering
a2411e0830 ($(srcdir)/Makefile.am): Use more portable
$(srcdir)/../Makefile.am.in, rather than $<.
Suggestion from Michael Elizabeth Chastain.
2004-02-11 11:46:34 +00:00
Jim Meyering
188f1dbccf *** empty log message *** 2004-02-11 11:45:47 +00:00
Jim Meyering
867564d1a6 (Formatting the file names):
Improve wording for --quoting-style documentation.
Suggestions by Bruno Haible.
2004-02-11 11:22:18 +00:00
Jim Meyering
b9cff86909 revert unrelated (ls --quoting-style) part of last change 2004-02-11 08:44:39 +00:00
Jim Meyering
f709d423ef *** empty log message *** 2004-02-11 08:42:43 +00:00
Jim Meyering
3639d54126 *** empty log message *** 2004-02-11 08:42:36 +00:00
Jim Meyering
e454ef2d2a (Time directives): The %s value *is* changed by the
--date=DATE option; don't say otherwise.  Patch from Padraig Brady.
2004-02-11 08:42:31 +00:00
Jim Meyering
7fbd083e6f bump to 5.2.0 2004-02-10 10:06:53 +00:00
Jim Meyering
570d8e4831 . 2004-02-10 10:06:39 +00:00
Jim Meyering
965af8c732 . 2004-02-10 09:54:25 +00:00
Jim Meyering
4e9f0b8682 . 2004-02-10 08:34:44 +00:00
Jim Meyering
277250b293 *** empty log message *** 2004-02-10 08:17:47 +00:00
Jim Meyering
3c23d82f32 (dist-hook): New target, to ensure that config/install-sh
is executable.  Otherwise, on systems that lack a suitable install
binary, `make install' would fail, because of the way this script
is invoked (without `$SHELL ' prefix).
2004-02-10 08:17:33 +00:00
Jim Meyering
d7621386cc *** empty log message *** 2004-02-10 07:54:16 +00:00
Jim Meyering
ce82b9cc86 Hyphenate `three-column' when used as an adjective. 2004-02-09 17:41:16 +00:00
Jim Meyering
20c1475f33 . 2004-02-08 15:42:07 +00:00
Jim Meyering
739356f16e . 2004-02-08 10:01:30 +00:00
Jim Meyering
304d12d70a *** empty log message *** 2004-02-08 10:00:58 +00:00
Jim Meyering
400a1fc781 Avoid triggering a bug in OSF/Tru64's sed
that would cause an unwarranted test failure.
2004-02-08 10:00:38 +00:00
Jim Meyering
8c756b5ed6 *** empty log message *** 2004-02-07 20:41:30 +00:00
Jim Meyering
d4ecf0a350 *** empty log message *** 2004-02-07 16:01:58 +00:00
Jim Meyering
666fce05a1 (cp_option_init): Don't initialize xstat member. 2004-02-07 16:01:39 +00:00
Jim Meyering
ad31f43350 (cp_option_init): Likewise. 2004-02-07 16:01:31 +00:00
Jim Meyering
d9e9327b09 (re_protect): Use XSTAT (x, ...)' in place of *(x->xstat) (...)'.
(do_copy): Declare/use local xstat rather than x->xstat.
(main): Remove code that set x.xstat.
2004-02-07 16:01:20 +00:00
Jim Meyering
e80f7332e2 Remove xstat function pointer member. The way it was used was not
portable, since some systems (OSF V5.1, Solaris 2.5.1) provide static
inline `stat' and `lstat' functions, thus making the tests of
`xstat == lstat' in copy.c always fail.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(xfields): Rewrite pretty much from scratch.

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

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

(empty_filler): Now const *.

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

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

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

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

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

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

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

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

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

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

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

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

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

(bytes_to_octal_digits): Remove.

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

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

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

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

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

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

(extract_regexp): Change misspelled word in diagnostic.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

View File

@@ -1 +1 @@
5.0
5.1.3

8
.vg-suppressions Normal file
View File

@@ -0,0 +1,8 @@
{
libc_dl_open
Memcheck:Cond
fun:_dl_relocate_object
obj:/lib/libc-2.3.2.so
fun:_dl_catch_error
fun:_dl_open
}

9
.x-sc_space_tab Normal file
View File

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

2
.x-sc_sun_os_names Normal file
View File

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

788
ABOUT-NLS
View File

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

2253
ChangeLog

File diff suppressed because it is too large Load Diff

View File

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

28
INSTALL
View File

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

View File

@@ -3,6 +3,7 @@
SUBDIRS = lib src doc man m4 po tests
EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
.kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
.x-sc_space_tab .x-sc_sun_os_names \
announce-gen \
old/fileutils/ChangeLog \
old/fileutils/ChangeLog-1997 \
@@ -22,6 +23,9 @@ ACLOCAL_AMFLAGS = -I m4
check-root:
cd tests && $(MAKE) $@
dist-hook:
test -x $(srcdir)/config/install-sh
distcheck-hook:
$(MAKE) my-distcheck

View File

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

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.6 from Makefile.am.
# Makefile.in generated by automake 1.8.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -36,6 +34,139 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.hin \
$(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \
INSTALL NEWS THANKS TODO 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
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/afs.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/assert.m4 \
$(top_srcdir)/m4/atexit.m4 $(top_srcdir)/m4/backupfile.m4 \
$(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \
$(top_srcdir)/m4/canon-host.m4 \
$(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/check-decl.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/closeout.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
$(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \
$(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/error.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/fnmatch.m4 \
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/free.m4 \
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
$(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getgroups.m4 \
$(top_srcdir)/m4/gethostname.m4 $(top_srcdir)/m4/getline.m4 \
$(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \
$(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/host-os.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/idcache.m4 \
$(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \
$(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/link-follow.m4 \
$(top_srcdir)/m4/long-options.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/makepath.m4 $(top_srcdir)/m4/malloc.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbswidth.m4 \
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/obstack.m4 \
$(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/path-concat.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \
$(top_srcdir)/m4/physmem.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \
$(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
$(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readdir.m4 \
$(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \
$(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \
$(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
$(top_srcdir)/m4/restrict.m4 $(top_srcdir)/m4/rmdir-errno.m4 \
$(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
$(top_srcdir)/m4/same.m4 $(top_srcdir)/m4/save-cwd.m4 \
$(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/settime.m4 \
$(top_srcdir)/m4/sha.m4 $(top_srcdir)/m4/sig2str.m4 \
$(top_srcdir)/m4/signed.m4 $(top_srcdir)/m4/ssize_t.m4 \
$(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/st_mtim.m4 \
$(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \
$(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strpbrk.m4 \
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
$(top_srcdir)/m4/strverscmp.m4 $(top_srcdir)/m4/timespec.m4 \
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
$(top_srcdir)/m4/unlink-busy.m4 \
$(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/uptime.m4 \
$(top_srcdir)/m4/userspec.m4 $(top_srcdir)/m4/utimbuf.m4 \
$(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
$(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
$(top_srcdir)/m4/xreadlink.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtoimax.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/xstrtoumax.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
@@ -52,6 +183,7 @@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
@@ -61,6 +193,7 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
FNMATCH_H = @FNMATCH_H@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
@@ -143,6 +276,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@@ -150,10 +284,10 @@ 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 \
.x-sc_space_tab .x-sc_sun_os_names \
announce-gen \
old/fileutils/ChangeLog \
old/fileutils/ChangeLog-1997 \
@@ -164,10 +298,8 @@ EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
old/sh-utils/NEWS \
old/textutils/NEWS
ACLOCAL_AMFLAGS = -I m4
# Just prior to distribution, ...
# transform the automake-generated rule that runs `rm -f rm'.
# On some systems, that command would fail with a diagnostic like
@@ -178,44 +310,42 @@ ACLOCAL_AMFLAGS = -I m4
rm_subst = \
s!(rm -f (rm|\$$\(bin_PROGRAMS\)))$$!$$1 > /dev/null 2>&1 || /bin/$$1!
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS THANKS TODO aclocal.m4 config.hin \
config/ChangeLog config/config.guess config/config.rpath \
config/config.sub config/depcomp config/install-sh \
config/mdate-sh config/missing config/mkinstalldirs \
config/texinfo.tex configure configure.ac
DIST_SUBDIRS = $(SUBDIRS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \
cd $(srcdir) && $(AUTOMAKE) --gnits \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.ac m4/acl.m4 m4/afs.m4 m4/alloca.m4 m4/assert.m4 m4/bison.m4 m4/boottime.m4 m4/c-stack.m4 m4/canonicalize.m4 m4/check-decl.m4 m4/chown.m4 m4/codeset.m4 m4/d-ino.m4 m4/d-type.m4 m4/dirfd.m4 m4/dos.m4 m4/error.m4 m4/fpending.m4 m4/fstypename.m4 m4/fsusage.m4 m4/ftruncate.m4 m4/ftw.m4 m4/getcwd-path-max.m4 m4/getcwd.m4 m4/getgroups.m4 m4/getline.m4 m4/gettext.m4 m4/gettimeofday.m4 m4/glibc.m4 m4/glibc21.m4 m4/group-member.m4 m4/host-os.m4 m4/human.m4 m4/iconv.m4 m4/intdiv0.m4 m4/intmax_t.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/jm-glibc-io.m4 m4/jm-macros.m4 m4/jm-mktime.m4 m4/jm-winsz1.m4 m4/jm-winsz2.m4 m4/lchown.m4 m4/lcmessage.m4 m4/lib-check.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/link-follow.m4 m4/longdouble.m4 m4/longlong.m4 m4/ls-mntd-fs.m4 m4/lstat.m4 m4/mbrtowc.m4 m4/mbswidth.m4 m4/memcmp.m4 m4/mkdir-slash.m4 m4/mkstemp.m4 m4/mktime.m4 m4/nanosleep.m4 m4/onceonly.m4 m4/open-max.m4 m4/perl.m4 m4/prereq.m4 m4/progtest.m4 m4/putenv.m4 m4/readdir.m4 m4/regex.m4 m4/rename.m4 m4/restrict.m4 m4/rmdir-errno.m4 m4/search-libs.m4 m4/signed.m4 m4/st_dm_mode.m4 m4/st_mtim.m4 m4/stat.m4 m4/stdbool.m4 m4/stdint_h.m4 m4/strftime.m4 m4/timespec.m4 m4/tm_gmtoff.m4 m4/tzset.m4 m4/uintmax_t.m4 m4/unlink-busy.m4 m4/uptime.m4 m4/utimbuf.m4 m4/utime.m4 m4/utimes.m4 m4/vasnprintf.m4 m4/vasprintf.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/xstrtoimax.m4 m4/xstrtoumax.m4
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@@ -227,10 +357,10 @@ config.h: stamp-h1
stamp-h1: $(srcdir)/config.hin $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.hin: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
$(srcdir)/config.hin: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.hin
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
@@ -295,14 +425,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -311,6 +433,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@@ -336,7 +459,6 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
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)
@@ -359,19 +481,6 @@ GTAGS:
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \
@@ -382,7 +491,7 @@ distdir: $(DISTFILES)
esac
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/config $(distdir)/old/fileutils $(distdir)/old/sh-utils $(distdir)/old/textutils $(distdir)/po
$(mkdir_p) $(distdir)/config $(distdir)/m4 $(distdir)/old/fileutils $(distdir)/old/sh-utils $(distdir)/old/textutils $(distdir)/po
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -394,7 +503,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@@ -411,17 +520,20 @@ distdir: $(DISTFILES)
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
test -d "$(distdir)/$$subdir" \
|| mkdir "$(distdir)/$$subdir" \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
top_distdir="../$(top_distdir)" \
distdir="../$(distdir)/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
@@ -430,11 +542,23 @@ distdir: $(DISTFILES)
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-tarZ: distdir
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
@@ -444,8 +568,18 @@ dist dist-all: distdir
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
@@ -466,19 +600,20 @@ distcheck: dist
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
(cd ../.. && $(mkdir_p) "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@@ -502,7 +637,6 @@ check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -514,7 +648,7 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -522,7 +656,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -533,12 +667,15 @@ clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
@@ -556,6 +693,7 @@ installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
@@ -574,22 +712,20 @@ uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
clean-generic clean-recursive ctags ctags-recursive dist \
dist-all dist-bzip2 dist-gzip distcheck distclean \
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
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-generic clean-recursive ctags \
ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
dist-tarZ dist-zip distcheck distclean distclean-generic \
distclean-hdr distclean-recursive distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-info-am
install-root:
@@ -599,6 +735,9 @@ install-root:
check-root:
cd tests && $(MAKE) $@
dist-hook:
test -x $(srcdir)/config/install-sh
distcheck-hook:
$(MAKE) my-distcheck
.kludge-stamp: $(srcdir)/src/Makefile.in

View File

@@ -2,7 +2,7 @@
# This Makefile fragment is shared between the coreutils,
# CPPI, Bison, and Autoconf.
## Copyright (C) 2001-2003 Free Software Foundation, Inc.
## Copyright (C) 2001-2004 Free Software Foundation, Inc.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -19,7 +19,9 @@
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
# This is reported not to work with make-3.79.1
# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
ME := Makefile.maint
# Do not save the original name or timestamp in the .tar.gz file.
GZIP_ENV = '--no-name --best'
@@ -41,6 +43,10 @@ my_distdir = $(PACKAGE)-$(VERSION)
# Used for diffs and xdeltas.
release_archive_dir ?= ../release
# Prevent programs like 'sort' from considering distinct strings to be equal.
# Doing it here saves us from having to set LC_ALL elsewhere in this file.
export LC_ALL = C
## --------------- ##
@@ -50,23 +56,28 @@ release_archive_dir ?= ../release
# Checks that don't require cvs.
# Run `changelog-check' last, as previous test may reveal problems requiring
# new ChangeLog entries.
local-check = \
local-checks-available = \
po-check copyright-check writable-files m4-check author_mark_check \
changelog-check strftime-check syntax-check makefile_path_separator_check \
makefile-check
.PHONY: $(local-check)
.PHONY: $(local-checks-available)
local-check = $(filter-out $(local-checks-to-skip), $(local-checks-available))
# Make sure C source files in src/ don't include xalloc.h directly,
# since they all already include it via sys2.h.
# It's not a big deal -- just aesthetics.
.PHONY: $(syntax-check-rules)
syntax-check-rules = \
sc_unmarked_diagnostics \
sc_cast_of_argument_to_free \
sc_cast_of_x_alloc_return_value \
sc_space_tab \
sc_cast_of_alloca_return_value \
sc_changelog \
sc_error_exit_success \
sc_xalloc_h_in_src
sc_space_tab \
sc_sun_os_names \
sc_system_h_headers \
sc_unmarked_diagnostics
syntax-check: $(syntax-check-rules)
# @grep -E '# *include <(limits|std(def|arg|bool))\.h>' \
@@ -96,18 +107,24 @@ sc_cast_of_argument_to_free:
sc_cast_of_x_alloc_return_value:
@grep -E --exclude=$(srcdir)/lib/regex.c \
'\*\) *x(m|c|re)alloc\>' $(srcdir)/{lib,src}/*.[chy] && \
'\*\) *x(m|c|re)alloc\>' \
$(srcdir)/{lib,src}/*.[chy] && \
{ echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \
exit 1; } || :
sc_space_tab:
@grep -E '[ ] ' --exclude=$(srcdir)/lib/regex.c \
$(srcdir)/{lib,src}/*.[chly] \
$(find -name Makefile.am) && \
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
1>&2; \
sc_cast_of_alloca_return_value:
@grep -E '\*\) *alloca\>' \
$(srcdir)/src/*.[chy] && \
{ echo '$(ME): don'\''t cast alloca return value' 1>&2; \
exit 1; } || :
sc_space_tab:
@( cvsu --list ) > /dev/null 2>&1 || : && \
grep '[ ] ' \
$$(cvsu --list | grep -vEf .x-$@ ) && \
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
1>&2; exit 1; } || :
# Using EXIT_SUCCESS as the first argument to error is misleading,
# since when that parameter is 0, error does not exit. Use `0' instead.
sc_error_exit_success:
@@ -116,15 +133,57 @@ sc_error_exit_success:
{ echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \
exit 1; } || :
# xalloc.h is included via system.h, so should not be included
# directly by any file in src/.
sc_xalloc_h_in_src:
# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ
# Each nonempty line must start with a year number, or a TAB.
sc_changelog:
@grep '^[^12 ]' $$(find . -name ChangeLog -maxdepth 2) && \
{ echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2; \
exit 1; } || :
header_regexp = \
alloca\
|closeout\
|ctype\
|dirent\
|errno\
|exitfail\
|fcntl\
|inttypes\
|limits\
|locale\
|pathmax\
|std(lib|bool)\
|string\
|sys/(stat|dir|time)\
|time\
|unistd\
|utime\
|version-etc\
|xalloc
h_re := $(shell echo '$(header_regexp)'|tr -d ' ')
# Files in src/ should not include directly any of
# the headers already included via system.h.
# Get list of candidates with this:
# grep -h include src/sys*.h|sed 's/.*include //'|sort -
sc_system_h_headers:
@if test -f $(srcdir)/src/sys2.h; then \
if grep 'xalloc\.h' $(srcdir)/src/*.c; then \
exit 1; \
fi; \
( cvsu --list ) > /dev/null 2>&1 || : && \
grep -E '^# *include ["<]($(h_re))\.h[">]' \
$$(cvsu --list src | grep -Ev 'sys(2|tem)\.h$$') \
&& { echo '$(ME): the above are already included via system.h'\
1>&2; exit 1; } || :; \
fi
sc_sun_os_names:
@( cvsu --list ) > /dev/null 2>&1 || : && \
grep -Ei \
'solaris[^[:alnum:]]*2\.(7|8|9|[1-9][0-9])|sunos[^[:alnum:]][6-9]' \
$$(cvsu --list | grep -vEf .x-$@ ) && \
{ echo '$(ME): found misuse of Sun OS version numbers' 1>&2; \
exit 1; } || :
# Ensure that date's --help output stays in sync with the info
# documentation for GNU strftime. The only exception is %N,
# which date accepts but GNU strftime does not.
@@ -144,9 +203,18 @@ strftime-check:
# not @...@ in Makefile.am, now that we can rely on automake
# to emit a definition for each substituted variable.
makefile-check:
grep -E '@[A-Z_]+@' `find . -name Makefile.am` \
grep -E '@[A-Z_0-9]+@' `find . -name Makefile.am` \
&& { echo 'Makefile.maint: use $(...), not @...@' 1>&2; exit 1; } || :
news-date-check: NEWS
today=`date +%Y-%m-%d`; \
if head NEWS | grep '^\*.*'$$today >/dev/null; then \
:; \
else \
echo "today's date is not in NEWS" 1>&2; \
exit 1; \
fi
changelog-check:
if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
:; \
@@ -161,21 +229,24 @@ m4-check:
exit 1; } || :
# Verify that all source files using _() are listed in po/POTFILES.in.
# FIXME: don't hard-code src/false.c below; use a more general mechanism.
po-check:
if test -f po/POTFILES.in; then \
grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \
files=; \
for file in lib/*.[chly] src/*.[chly]; do \
case $$file in \
*.[ch]) \
base=`expr " $$file" : ' \(.*\)\..'`; \
{ test -f $$base.l || test -f $$base.y; } && continue;; \
esac; \
files="$$files $$file"; \
done; \
grep -E -l '\bN?_\([^)"]*("|$$)' $$files | sort > $@-2; \
diff -u $@-1 $@-2 || exit 1; \
rm -f $@-1 $@-2; \
( cvsu --list ) > /dev/null 2>&1 || : && \
if test -f po/POTFILES.in; then \
grep -E -v '^(#|$$)' po/POTFILES.in \
| grep -v '^src/false\.c$$' | sort > $@-1; \
files=; \
for file in $$(cvsu --list lib src | grep '\.[chly]$$'); do \
case $$file in \
*.[ch]) \
base=`expr " $$file" : ' \(.*\)\..'`; \
{ test -f $$base.l || test -f $$base.y; } && continue;; \
esac; \
files="$$files $$file"; \
done; \
grep -E -l '\bN?_\([^)"]*("|$$)' $$files | sort > $@-2; \
diff -u $@-1 $@-2 || exit 1; \
rm -f $@-1 $@-2; \
fi
# In a definition of #define AUTHORS "... and ..." where the RHS contains
@@ -288,6 +359,9 @@ my-distcheck: $(local-check)
echo "$(distdir).tar.gz is ready for distribution"; \
echo "========================"
WGET = wget
WGETFLAGS = -C off
tgz-md5 = $(shell md5sum < $(my_distdir).tar.gz|sed 's/ -//')
tgz-sha1 = $(shell sha1sum < $(my_distdir).tar.gz|sed 's/ -//')
bz2-md5 = $(shell md5sum < $(my_distdir).tar.bz2|sed 's/ -//')
@@ -303,20 +377,15 @@ rel-check:
md5_tmp=/tmp/rel-check-md5-$$$$; \
set -e; \
trap 'status=$$?; rm -f $$tarz $$md5_tmp; exit $$status' 0 1 2 3 15; \
wget -q --output-document=$$tarz $(url); \
$(WGET) $(WGETFLAGS) -q --output-document=$$tarz $(url); \
echo "$(md5) -" > $$md5_tmp; \
md5sum -c $$md5_tmp < $$tarz
prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
signatures ?= $(distdir).tar.bz2.asc $(distdir).tar.gz.asc
%.asc: %
rm -f $@
gpg --armor --detach-sign -o $@ $<
rel-files = $(xd-delta) $(distdir).tar.bz2 $(distdir).tar.gz $(signatures)
announcement: NEWS ChangeLog $(rel-files) $(signatures)
rel-files = $(xd-delta) $(DIST_ARCHIVES)
announcement: NEWS ChangeLog $(rel-files)
@./announce-gen \
--release-type=$(RELEASE_TYPE) \
--package=$(PACKAGE) \
@@ -331,7 +400,6 @@ announcement: NEWS ChangeLog $(rel-files) $(signatures)
## Updating files. ##
## ---------------- ##
WGET = wget
ftp-gnu = ftp://ftp.gnu.org/gnu
www-gnu = http://www.gnu.org
@@ -358,7 +426,8 @@ do-po-update:
tmppo=/tmp/$(PACKAGE)-$(VERSION)-po &&\
rm -rf $$tmppo && \
mkdir $$tmppo && \
(cd $$tmppo && $(WGET) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
(cd $$tmppo && \
$(WGET) $(WGETFLAGS) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
cp $$tmppo/*.po po
cd po && $(MAKE) update-po
$(MAKE) po-check
@@ -375,10 +444,12 @@ po-update:
# The following pseudo table associates a local directory and a URL
# with each of the files that belongs to some other package and is
# regularly updated from the specified URL.
wget_files ?= $(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/src/ansi2knr.c \
$(srcdir)/config/texinfo.tex
wget_files ?= \
$(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/config/texinfo.tex \
$(srcdir)/src/ansi2knr.c
get-targets = $(patsubst %, get-%, $(wget_files))
config.guess-url_prefix = $(ftp-gnu)/config/
@@ -396,12 +467,15 @@ url = $($(notdir $(target))-url_prefix)$(notdir $(target))
.PHONY: $(get-targets)
$(get-targets):
$(WGET) $(url) -O $(target).t \
$(WGET) $(WGETFLAGS) $(url) -O $(target).t \
&& $(move_if_change) $(target).t $(target)
cvs_files ?= $(srcdir)/config/depcomp $(srcdir)/config/missing \
$(srcdir)/config/mkinstalldirs \
$(srcdir)/config/install-sh $(srcdir)/src/ansi2knr.c
cvs_files ?= \
$(srcdir)/config/depcomp \
$(srcdir)/config/install-sh \
$(srcdir)/config/missing \
$(srcdir)/config/mkinstalldirs \
$(srcdir)/src/ansi2knr.c
automake_repo=:pserver:anoncvs:anoncvs@sources.redhat.com:/cvs/automake
.PHONY: wget-update
wget-update: $(get-targets)
@@ -421,20 +495,22 @@ cvs-update:
done; \
test "$$fail" && exit 1
define emit-upload-commands
echo =====================================
echo =====================================
echo upload $(PACKAGE) $(PREV_VERSION) $(VERSION)
echo '# send the /tmp/announcement e-mail'
echo =====================================
echo =====================================
endef
emit_upload_commands:
@echo =====================================
@echo =====================================
@echo "$(srcdir)/gnupload $(GNUPLOADFLAGS) \\"
@echo " --to fetish.sf.net:fetish-ftp \\"
@echo " --to $(gnu_rel_host):coreutils \\"
@echo " $(rel-files)"
@echo '# send the /tmp/announcement e-mail'
@echo =====================================
@echo =====================================
$(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
xdelta delta -9 $^ $@ || :
.PHONY: alpha beta major
alpha beta major: $(local-check)
alpha beta major: news-date-check $(local-check)
$(MAKE) cvs-dist
$(MAKE) $(xd-delta)
$(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
@@ -442,4 +518,4 @@ alpha beta major: $(local-check)
chmod a-w $(rel-files)
echo $(VERSION) > $(prev_version_file)
$(CVS) ci -m. $(prev_version_file)
@$(emit-upload-commands)
$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@

255
NEWS
View File

@@ -1,5 +1,256 @@
GNU coreutils NEWS -*- outline -*-
* Major changes in release 5.0.1:
* Major changes in release 5.2.0 (2004-02-19) [stable]
** Bug fixes
none
* Major changes in release 5.1.3 (2004-02-08): candidate to become stable 5.2.0
** Bug fixes
`cp -d' now works as required even on systems like OSF V5.1 that
declare stat and lstat as `static inline' functions.
time stamps output by stat now include actual fractional seconds,
when available -- or .0000000 for files without that information.
seq no longer infloops when printing 2^31 or more numbers.
For reference, seq `echo 2^31|bc` > /dev/null takes about one hour
on a 1.6 GHz Athlon 2000 XP. Now it can output 2^53-1 numbers before
misbehaving.
* Major changes in release 5.1.2 (2004-01-25):
** Bug fixes
rmdir -p exits with status 1 on error; formerly it sometimes exited
with status 0 when given more than one argument.
nohup now always exits with status 127 when it finds an error,
as POSIX requires; formerly it sometimes exited with status 1.
Several programs (including cut, date, dd, env, hostname, nl, pr,
stty, and tr) now always exit with status 1 when they find an error;
formerly they sometimes exited with status 2.
factor no longer reports a usage error if stdin has the wrong format.
paste no longer infloops on ppc systems (bug introduced in 5.1.1)
* Major changes in release 5.1.1 (2004-01-17):
** Configuration option
You can select the default level of POSIX conformance at configure-time,
e.g., by ./configure DEFAULT_POSIX2_VERSION=199209
** Bug fixes
fold -s works once again on systems with differing sizes for int
and size_t (bug introduced in 5.1.0)
** New features
touch -r now specifies the origin for any relative times in the -d
operand, if both options are given. For example, "touch -r FOO -d
'-5 seconds' BAR" sets BAR's modification time to be five seconds
before FOO's.
join: The obsolete options "-j1 FIELD", "-j2 FIELD", and
"-o LIST1 LIST2..." are no longer supported on POSIX 1003.1-2001 systems.
Portable scripts should use "-1 FIELD", "-2 FIELD", and
"-o LIST1,LIST2..." respectively. If join was compiled on a
POSIX 1003.1-2001 system, you may enable the old behavior
by setting _POSIX2_VERSION=199209 in your environment.
* Major changes in release 5.1.0 (2003-12-21):
** New features
chgrp, chmod, and chown can now process (with -R) hierarchies of virtually
unlimited depth. Before, they would fail to operate on any file they
encountered with a relative name of length PATH_MAX (often 4096) or longer.
chgrp, chmod, chown, and rm accept the new options:
--preserve-root, --no-preserve-root (default)
chgrp and chown now accept POSIX-mandated -L, -H, and -P options
du can now process hierarchies of virtually unlimited depth.
Before, du was limited by the user's stack size and it would get a
stack overflow error (often a segmentation fault) when applied to
a hierarchy of depth around 30,000 or larger.
du works even when run from an inaccessible directory
du -D now dereferences all symlinks specified on the command line,
not just the ones that reference directories
du now accepts -P (--no-dereference), for compatibility with du
of NetBSD and for consistency with e.g., chown and chgrp
du's -H option will soon have the meaning required by POSIX
(--dereference-args, aka -D) rather then the current meaning of --si.
Now, using -H elicits a warning to that effect.
When given -l and similar options, ls now adjusts the output column
widths to fit the data, so that output lines are shorter and have
columns that line up better. This may adversely affect shell
scripts that expect fixed-width columns, but such shell scripts were
not portable anyway, even with old GNU ls where the columns became
ragged when a datum was too wide.
du accepts a new option, -0/--null, to make it produce NUL-terminated
output lines
** Bug fixes
printf, seq, tail, and sleep now parse floating-point operands
and options in the C locale. POSIX requires this for printf.
od -c -w9999999 no longer segfaults
csplit no longer reads from freed memory (dumping core on some systems)
csplit would mistakenly exhaust virtual memory in some cases
ls --width=N (for very large N) is no longer subject to an address
arithmetic bug that could result in bounds violations.
ls --width=N (with -x or -C) no longer allocates more space
(potentially much more) than necessary for a given directory.
dd `unblock' and `sync' may now be combined (e.g., dd conv=unblock,sync)
* Major changes in release 5.0.91 (2003-09-08):
** New features
date accepts a new option --rfc-2822, an alias for --rfc-822.
split accepts a new option -d or --numeric-suffixes.
cp, install, mv, and touch now preserve microsecond resolution on
file timestamps, on platforms that have the 'utimes' system call.
Unfortunately there is no system call yet to preserve file
timestamps to their full nanosecond resolution; microsecond
resolution is the best we can do right now.
sort now supports the zero byte (NUL) as a field separator; use -t '\0'.
The -t '' option, which formerly had no effect, is now an error.
sort option order no longer matters for the options -S, -d, -i, -o, and -t.
Stronger options override weaker, and incompatible options are diagnosed.
`sha1sum --check' now accepts the BSD format for SHA1 message digests
in addition to the BSD format for MD5 ones.
who -l now means `who --login', not `who --lookup', per POSIX.
who's -l option has been eliciting an unconditional warning about
this impending change since sh-utils-2.0.12 (April 2002).
** Bug fixes
Mistakenly renaming a file onto itself, e.g., via `mv B b' when `B' is
the same directory entry as `b' no longer destroys the directory entry
referenced by both `b' and `B'. Note that this would happen only on
file systems like VFAT where two different names may refer to the same
directory entry, usually due to lower->upper case mapping of file names.
Now, the above can happen only on file systems that perform name mapping and
that support hard links (stat.st_nlink > 1). This mitigates the problem
in two ways: few file systems appear to be affected (hpfs and ntfs are),
when the bug is triggered, mv no longer removes the last hard link to a file.
*** ATTENTION ***: if you know how to distinguish the following two cases
without writing to the file system in question, please let me know:
1) B and b refer to the same directory entry on a file system like NTFS
(B may well have a link count larger than 1)
2) B and b are hard links to the same file
stat no longer overruns a buffer for format strings ending in `%'
fold -s -wN would infloop for N < 8 with TABs in the input.
E.g., this would not terminate: printf 'a\t' | fold -w2 -s
`split -a0', although of questionable utility, is accepted once again.
`df DIR' used to hang under some conditions on OSF/1 5.1. Now it doesn't.
seq's --width (-w) option now works properly even when the endpoint
requiring the larger width is negative and smaller than the other endpoint.
seq's default step is 1, even if LAST < FIRST.
paste no longer mistakenly outputs 0xFF bytes for a nonempty input file
without a trailing newline.
`tail -n0 -f FILE' and `tail -c0 -f FILE' no longer perform what amounted
to a busy wait, rather than sleeping between iterations.
tail's long-undocumented --allow-missing option now elicits a warning
* Major changes in release 5.0.90 (2003-07-29):
** New features
sort is now up to 30% more CPU-efficient in some cases
`test' is now more compatible with Bash and POSIX:
`test -t', `test --help', and `test --version' now silently exit
with status 0. To test whether standard output is a terminal, use
`test -t 1'. To get help and version info for `test', use
`[ --help' and `[ --version'.
`test' now exits with status 2 (not 1) if there is an error.
wc count field widths now are heuristically adjusted depending on the input
size, if known. If only one count is printed, it is guaranteed to
be printed without leading spaces.
Previously, wc did not align the count fields if POSIXLY_CORRECT was set,
but POSIX did not actually require this undesirable behavior, so it
has been removed.
** Bug fixes
kill no longer tries to operate on argv[0] (introduced in 5.0.1)
Why wasn't this noticed? Although many tests use kill, none of
them made an effort to avoid using the shell's built-in kill.
`[' invoked with no arguments no longer evokes a segfault
rm without --recursive (aka -r or -R) no longer prompts regarding
unwritable directories, as required by POSIX.
uniq -c now uses a SPACE, not a TAB between the count and the
corresponding line, as required by POSIX.
expr now exits with status 2 if the expression is syntactically valid,
and with status 3 if an error occurred. POSIX requires this.
expr now reports trouble if string comparison fails due to a collation error.
split now generates suffixes properly on EBCDIC hosts.
split -a0 now works, as POSIX requires.
`sort --version' and `sort --help' fail, as they should
when their output is redirected to /dev/full.
`su --version > /dev/full' now fails, as it should.
** Fewer arbitrary limitations
cut requires 97% less memory when very large field numbers or
byte offsets are specified.
* Major changes in release 5.0.1 (2003-07-15):
** New programs
- new program: `[' (much like `test')
@@ -65,7 +316,7 @@ GNU coreutils NEWS -*- outline -*-
Before `rm -rf DIR' would fail to remove all files in DIR
if there were more than 338.
* Major changes in release 5.0:
* Major changes in release 5.0 (2003-04-02):
- false --help now exits nonzero
[4.5.12]

30
README
View File

@@ -19,8 +19,13 @@ See the file NEWS for a list of major changes in the current release.
See the file INSTALL for compilation and installation instructions.
These programs are intended to be POSIX.2 compliant (with BSD and other
extensions), like the rest of the GNU system.
These programs are intended to conform to POSIX (with BSD and other
extensions), like the rest of the GNU system. By default they conform
to older POSIX (1003.2-1992), and therefore support obsolete usages
like "head -10" and "chown owner.group file". This default is
overridden at build-time by the value of <unistd.h>'s _POSIX2_VERSION
macro, and this in turn can be overridden at runtime as described in
the documentation under "Standards conformance".
The ls, dir, and vdir commands are all separate executables instead of
one program that checks argv[0] because people often rename these
@@ -73,10 +78,23 @@ Here is one possible patch to correct the problem.
-#ifndef __STDC_32_MODE__
+#ifndef __LP64__
On some systems, some of the tests fail when run as root. All failures
I've seen appear to be due to problems in the testing framework, not
in the tools themselves. I'll address that for the next release by
using a program like setuidgid (see the comment in TODO).
If you run the tests as root, note that a few of them create files
and/or run programs as a non-root user, `nobody' by default.
If you want to use some other non-root username, specify it via
the NON_ROOT_USERNAME environment variable. Depending on the
permissions with which the working directories have been created,
using `nobody' may fail, because that user won't have the required
read and write access to the build and test directories.
I find that it is best to unpack and build as a non-privileged
user, and then to run the following command as that user in order
to run the privilege-requiring tests:
sudo env NON_ROOT_USERNAME=$USER make check
If you can run the tests as root, please do so and report any
problems. We get much less test coverage in that mode, and it's
arguably more important that these tools work well when run by
root than when run by less privileged users.
***************************************

View File

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

31
THANKS
View File

@@ -6,6 +6,7 @@ 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.
??? kytek@cybercomm.net
A Costa agcosta@gis.net
Achim Blumensath blume@corona.oche.de
Adam Klein aklein@debian.org
Akim Demaille demaille@inf.enst.fr
@@ -66,6 +67,7 @@ Brendan O'Dea bod@compusol.com.au
Brian Kimball bfk@footbag.org
Brian Youmans 3diff@gnu.org
Bruce Korb bkorb@veritas.com
Bruce Robertson brucer@theodolite.dyndns.org
Bruno Haible haible@clisp.cons.org
Carl Johnson carlj@cjlinux.home.org
Carl Lowenstein cdl@mpl.UCSD.EDU
@@ -85,6 +87,7 @@ Christian Rose menthos@menthos.com
Christian von Roques roques@pond.sub.org
Chuck Hedrick hedrick@klinzhai.rutgers.edu
Clark Morgan cmorgan@aracnet.com
Clement Wang clem.wang@overture.com
Colin Plumb colin@nyx.net
Colin Watson cjw44@riva.ucam.org
Collin Rogowski collin@rogowski.de
@@ -94,6 +97,8 @@ Dan Hagerty hag@gnu.ai.it.edu
Dan Jacobson http://www.geocities.com/jidani
Dan Pascu dan@services.iiruc.ro
Daniel Bergstrom noa@melody.se
Dániel Varga danielv@axelero.hu
Danny Levinson danny.levinson@overture.com
Darren Salt ds@youmustbejoking.demon.co.uk
Dave Beckett dajobe@dajobe.org
David Dyck dcd@tc.fluke.COM
@@ -103,6 +108,7 @@ 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
Dennis Smit ds@nerds-incorporated.org
Derek Clegg dclegg@next.com
Dick Streefland dick_streefland@tasking.com
Dirk Lattermann dlatt@t-online.de
@@ -141,7 +147,9 @@ 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
Gary V. Vaughan gary@gnu.org
Gaute Hvoslef Kvalnes gaute@verdsveven.com
Geoff Collyer geoff at collyer.net
Geoff Kuenning geoff@cs.hmc.edu
Geoff Odhner geoff@franklin.com
Geoff Whale geoffw@cse.unsw.EDU.AU
@@ -160,6 +168,7 @@ Hans Ginzel hans@matfyz.cz
Hans Lermen lermen@fgan.de
Hans Verkuil hans@wyst.hobby.nl
Harry Liu rliu@lek.ugcs.caltech.edu
Harti Brandt brandt@fokus.fraunhofer.de
Herbert Xu herbert@gondor.apana.org.au
Holger Berger hberger@ess.nec.de
Hon-Yin Kok hkok@yoda.unl.edu
@@ -183,7 +192,7 @@ Janos Farkas chexum@shadow.banki.hu
Jarkko Hietaniemi jhi@epsilon.hut.fi
Jean Charles Delepine delepine@u-picardie.fr
Jeff Moore jbm@mordor.com
Jeff Sheinberg jeffsh@localnet.com
Jeff Sheinberg jeff@bsrd.net
Jens Elkner elkner@imsgroup.de
Jens Schmidt jms@jsds.hamburg.com
Jerome Abela abela@hsc.fr
@@ -212,10 +221,11 @@ 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
Jurriaan thunder7@xs4all.nl
jvogel jvogel@linkny.com
Kai Henningsen kai@debian.org
Kai-Uwe Rommel rommel@informatik.tu-muenchen.de
Kalle Olavi Niemitalo tosi@stekt.oulu.fi
Kalle Olavi Niemitalo kon@iki.fi
Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu
Karl Eichwalder keichwa@gmx.net
Karl Heuer kwzh@gnu.org
@@ -231,6 +241,7 @@ Kjetil Torgrim Homme kjetilho@ifi.uio.no
Kristoffer Rose kris@diku.dk
Larry McVoy lm@sgi.com
Lars Hecking lhecking@nmrc.ucc.ie
Leah Q eequor@earthlink.net
Lehti Rami rammer@cs.tut.fi
Leonard N. Zubkoff lnz@dandelion.com
Leonardo Milano lmilano@udel.edu
@@ -246,10 +257,12 @@ Marco Franzen Marco.Franzen@Thyron.com
Marcus Brinkmann http://www.marcus-brinkmann.de
Marcus Daniels marcus@ee.pdx.edu
Mark A. Thomas thommark@access.digex.net
Mark Conty Mark_Conty@cargill.com
Mark D. Roth roth@uiuc.edu
Mark Harris mark@monitor.designacc.com
Mark Hewitt mhewitt@armature.com
Mark Hounschell markh@compro.net
Mark Hubbart discord@mac.com
Mark Kettenis kettenis@phys.uva.nl
Mark Nudelman marknu@flash.net
Mark W. Eichin eichin@cygnus.com
@@ -267,6 +280,7 @@ Mate Wierdl mw@moni.msci.memphis.edu
Matej Vela mvela@public.srce.hr
Matt Perry matt@primefactor.com
Matt Schalit mschalit@pacbell.net
Matt Swift swift@alum.mit.edu
Matthew Arnison maffew@cat.org.au
Matthew Braun matthew@ans.net
Matthew Clarke Matthew_Clarke@mindlink.bc.ca
@@ -280,10 +294,12 @@ Meelis Roos mroos@tartu.cyber.ee
Michael ??? michael@roka.net
Michael Bacarella mbac@netgraft.com>
Michael Deutschmann michael@talamasca.ocis.net
Michael Elizabeth Chastain mec.gnu@mindspring.com
Michael Gaughen mgaughen@polyserve.com
Michael Hasselberg mikelh@zonta.ping.de
Michael Hohn hohn@math.utah.edu
Michael J. Croghan mcroghan@usatoday.com
Michael McFarland sidlon@yahoo.com
Michael Piefel piefel@informatik.hu-berlin.de
Michael Steffens michael.steffens@s.netic.de
Michael Stone mstone@debian.org
@@ -304,8 +320,10 @@ Morten Welinder terra@diku.dk
Neal H Walfield neal@cs.uml.edu
Neil Brown neilb@cse.unsw.edu.au
Nelson H. F. Beebe beebe@math.utah.edu
Nick Estes debian@nickstoys.com
Nick Lawes nlawes@silverplatter.com
Niklas Edmundsson nikke@acc.umu.se
Nikola Milutinovic Nikola.Milutinovic@ev.co.yu
Noah Friedman friedman@splode.com
Noel Cragg noel@red-bean.com
Olatunji Oluwabukunmi Ruwase tjruwase@stanford.edu
@@ -314,15 +332,18 @@ Ole Laursen olau@hardworking.dk
Oliver Kiddle okiddle@yahoo.co.uk
Ørn E. Hansen oehansen@daimi.aau.dk
Oskar Liljeblad osk@hem.passagen.se
Patrick Mauritz oxygene@studentenbude.ath.cx
Paul Eggert eggert@twinsun.com
Paul Jarc prj@po.cwru.edu
Paul Nevai nevai@ops.mps.ohio-state.edu
Paul Sauer paul@alexa.com
Paul Slootman paul@debian.org
Paul Worrall paul@basilisk.uklinux.net
Pawel Prokop pablo@wizard.ae.krakow.pl
Per Cederqvist ceder@lysator.liu.se
Per Kristian Hove perhov@math.ntnu.no
Peter Eriksson peter@ifm.liu.se
Peter Horst peter@ointment.org
Peter Moulder reiter@netspace.net.au
Peter Samuelson psamuels@sampo.creighton.edu
Peter Seebach seebs@taniemarie.solon.com
@@ -340,9 +361,10 @@ 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
Reuben Thomas rrt@sc3d.org
Richard A Downing richard.downing@bcs.org.uk
Richard Braakman dark@xs4all.nl
Richard Dawe richdawe@bigfoot.com
Richard Dawe rich@phekda.freeserve.co.uk
Richard J. Rauenzahn rrauenza@hairball.cup.hp.com
Richard Neill rn214@hermes.cam.ac.uk
Richard Sharman rsharman@magmacom.com
@@ -384,6 +406,7 @@ TAKAI Kousuke takai@vlsi.kuee.kyoto-u.ac.jp
Theodore Ts'o tytso@rsts-11.mit.edu
Thomas Bushnell thomas@gnu.ai.mit.edu
Thomas Goerlich thomas@schnappmatik.de
Thomas Luzat thomas@luzat.com
Thomas Quinot thomas@Cuivre.FR.EU.ORG
Tim J. Robbins tjr@FreeBSD.org
Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu
@@ -392,6 +415,7 @@ Tim Waugh twaugh@redhat
Todd A. Jacobs tjacobs@codegnome.org
Tom Haynes thomas@netapp.com
Tom Quinn trq@dionysos.thphys.ox.ac.uk
Tommi Kyntola tkyntola@cc.hut.fi
Ton Hospel thospel@mail.dma.be
Tony Kocurko akocurko@mun.ca
Tony Leneis tony@plaza.ds.adp.com
@@ -405,6 +429,7 @@ Uwe H. Steinfeld usteinfeld@gmx.net
Vesselin Atanasov vesselin@bgnet.bg
Vin Shelton acs@alumni.princeton.edu
Volker Borchert bt@teknon.de
Volker Paul vpaul@dohle.com
Wartan Hachaturow wart@tepkom.ru
Wayne Stewart wstewa@atl.com
Wenjun Zheng zwj@yahoo.com

95
TODO
View File

@@ -1,8 +1,6 @@
restore djgpp, eventually
merge TODO lists
add unit tests for lib/*.c
rewrite lib/ftw.c not to use explicit recursion, and then use nftw in
chown, chgrp, chmod, du
strip: add an option to specify the program used to strip binaries.
suggestion from Karl Berry
@@ -59,8 +57,6 @@ resolve RH report on cp -a forwarded by Tim Waugh
Martin Michlmayr's patch to provide ls with `--sort directory' option
Remove uses of PROTOTYPES
tail: don't use xlseek; it *exits*.
Instead, maybe use a macro and return nonzero.
@@ -70,19 +66,106 @@ Now that AC_FUNC_LSTAT and AC_FUNC_STAT are in autoconf,
remove m4/stat.m4 and m4/lstat.m4.
df: alignment problem of `Used' heading with e.g., -mP
reported by Karl Berry
tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR
fix tail -f to work with named pipes; reported by Ian D. Allen
$ mkfifo j; tail -f j & sleep 1; echo x > j
./tail: j: file truncated
./tail: j: cannot seek to offset 0: Illegal seek
lib/strftime.c: Since %N is the only format that we need but that
glibc's strftime doesn't support, consider using a wrapper that
would expand /%(-_)?\d*N/ to the desired string and then pass the
resulting string to glibc's strftime.
chown-core.c: warn when operating on set-UID or set-GID regular file
sort: Compress temporary files when doing large external sort/merges.
This improves performance when you can compress/uncompress faster than
you can read/write, which is common in these days of fast CPUs.
suggestion from Charles Randall on 2001-08-10
sort: Add an ordering option -R that causes 'sort' to sort according
to a random permutation of the correct sort order. Also, add an
option --random-seed=SEED that causes 'sort' to use an arbitrary
string SEED to select which permutations to use, in a deterministic
manner: that is, if you sort a permutation of the same input file
with the same --random-seed=SEED option twice, you'll get the same
output. The default SEED is chosen at random, and contains enough
information to ensure that the output permutation is random.
suggestion from Feth AREZKI, Stephan Kasal, and Paul Eggert on 2003-07-17
unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html]
printf 'x\t \t y\n'|unexpand -t 8,9 should print its input, unmodified.
printf 'x\t \t y\n'|unexpand -t 5,8 should print "x\ty\n"
Let GNU su use the `wheel' group if appropriate.
(there are a couple patches, already)
sort: Investigate better sorting algorithms; see Knuth vol. 3.
We tried list merge sort, but it was about 50% slower than the
recursive algorithm currently used by sortlines, and it used more
comparisons. We're not sure why this was, as the theory suggests it
should do fewer comparisons, so perhaps this should be revisited.
List merge sort was implemented in the style of Knuth algorithm
5.2.4L, with the optimization suggested by exercise 5.2.4-22. The
test case was 140,213,394 bytes, 426,4424 lines, text taken from the
GCC 3.3 distribution, sort.c compiled with GCC 2.95.4 and running on
Debian 3.0r1 GNU/Linux, 2.4GHz Pentium 4, single pass with no
temporary files and plenty of RAM.
Since comparisons seem to be the bottleneck, perhaps the best
algorithm to try next should be merge insertion. See Knuth section
5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American
Mathematical Monthly 66 (1959), 387-389.
cp --recursive: perform dir traversals in source and dest hierarchy rather
than forming full file names. The latter (current) approach fails
unnecessarily when the names become very long.
tail --p is now ambiguous
Remove suspicious uses of alloca (ones that may allocate more than
about 4k)
Adapt these contribution guidelines for coreutils:
http://sources.redhat.com/automake/contribute.html
Bug-fix changes expected to go in, right after 5.2.0:
====================================================
expr patch from Paul Eggert
Changes expected to go in, post-5.2.1:
======================================
du and wc: add an option, --from0-file, to make them read NUL-delimited
file name arguments from a file.
dd patch from Olivier Delhomme
Apply Andreas Gruenbacher's ACL and xattr changes
Apply Bruno Haible's hostname changes
stat: no longer output trailing newline for user-supplied FORMATs
This will mean adding \n to default formats, internally.
test/mv/*: clean up $other_partition_tmpdir in all cases
ls: when both -l and --dereference-command-line-symlink-to-dir are
specified, consider whether to let the latter select whether to
dereference command line symlinks to directories. Since -l has
an implicit --NO-dereference-command-line-symlink-to-dir meaning.
Pointed out by Karl Berry.
Re-add a separate test for du's stack space usage (like the one removed
from tests/rm/deep-1).
Pending copyright papers:
------------------------
ls --color: Ed Avis' patch to suppress escape sequences for
non-highlighted files

View File

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

7307
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ use Getopt::Long;
use Digest::MD5;
use Digest::SHA1;
(my $VERSION = '$Revision: 1.16 $ ') =~ tr/[0-9].//cd;
(my $VERSION = '$Revision: 1.20 $ ') =~ tr/[0-9].//cd;
(my $ME = $0) =~ s|.*/||;
my %valid_release_types = map {$_ => 1} qw (alpha beta major);
@@ -72,6 +72,47 @@ EOF
exit $exit_code;
}
sub print_news_deltas ($$$)
{
my ($news_file, $prev_version, $curr_version) = @_;
print "\n$news_file\n\n";
# Print all lines from $news_file, starting with the first one
# that mentions $curr_version up to but not including
# the first occurrence of $prev_version.
my $in_items;
open NEWS, '<', $news_file
or die "$ME: $news_file: cannot open for reading: $!\n";
while (defined (my $line = <NEWS>))
{
if ( ! $in_items)
{
# Match lines like this one:
# * Major changes in release 5.0.1:
# but not any other line that starts with a space, *, or -.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$curr_version\E/o
or next;
$in_items = 1;
print $line;
}
else
{
# Be careful that this regexp cannot match version numbers
# in NEWS items -- they might well say `introduced in 4.5.5',
# and we don't want that to match.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$prev_version\E/o
and last;
print $line;
}
}
close NEWS;
$in_items
or die "$ME: $news_file: no matching lines for `$curr_version'\n";
}
sub print_changelog_deltas ($$)
{
my ($package_name, $prev_version) = @_;
@@ -165,7 +206,7 @@ sub print_changelog_deltas ($$)
my $curr_version;
my $release_archive_dir;
my @url_dir_list;
my $news_file;
my @news_file;
GetOptions
(
@@ -174,8 +215,8 @@ sub print_changelog_deltas ($$)
'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,
'url-directory=s' => \@url_dir_list,
'news=s' => \@news_file,
help => sub { usage 0 },
version => sub { print "$ME version $VERSION\n"; exit },
@@ -211,7 +252,7 @@ sub print_changelog_deltas ($$)
my %size;
foreach my $f (($tgz, $tbz, $xd))
foreach my $f ($tgz, $tbz, $xd)
{
my $cmd = "du --human $f";
my $t = `$cmd`;
@@ -226,11 +267,13 @@ sub print_changelog_deltas ($$)
$fail
and exit 1;
# The markup is escaped as <\# so that when this script is sent by
# mail (or part of a diff), Gnus is not triggered.
print <<EOF;
Subject: $my_distdir released
<#secure method=pgpmime mode=sign>
<\#secure method=pgpmime mode=sign>
FIXME: put comments here
@@ -252,8 +295,8 @@ EOF
print "\nHere are GPG detached signatures:\n";
foreach my $url (@url_dir_list)
{
print " $url/$tgz.asc\n";
print " $url/$tbz.asc\n";
print " $url/$tgz.sig\n";
print " $url/$tbz.sig\n";
}
# FIXME: clean up upon interrupt or die
@@ -263,15 +306,17 @@ EOF
print "\nHere are the MD5 and SHA1 signatures:\n";
print "\n";
print "<#part type=text/plain filename=\"$tmp\" disposition=inline>\n"
. "<#/part>\n";
# The markup is escaped as <\# so that when this script is sent by
# mail (or part of a diff), Gnus is not triggered.
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))
foreach my $f ($tgz, $tbz, $xd)
{
open IN, '<', $f
or die "$ME: $f: cannot open for reading: $!\n";
@@ -289,46 +334,30 @@ EOF
or die "$ME: $tmp: while writing: $!\n";
chmod 0400, $tmp; # ignore failure
if ($news_file)
{
print "\nNEWS\n\n";
# Print all lines from $news_file, starting with the first one
# that mentions $curr_version up to but not including
# the first occurrence of $prev_version.
my $in_items;
open NEWS, '<', $news_file
or die "$ME: $news_file: cannot open for reading: $!\n";
while (defined (my $line = <NEWS>))
{
if ( ! $in_items)
{
# Match lines like this one:
# * Major changes in release 5.0.1:
# but not any other line that starts with a space, *, or -.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$curr_version\E/o
or next;
$in_items = 1;
print $line;
}
else
{
# Be careful that this regexp cannot match version numbers
# in NEWS items -- they might well say `introduced in 4.5.5',
# and we don't want that to match.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$prev_version\E/o
and last;
print $line;
}
}
close NEWS;
$in_items
or die "$ME: $news_file: no matching lines for `$curr_version'\n";
}
print_news_deltas ($_, $prev_version, $curr_version)
foreach @news_file;
$release_type eq 'major'
or print_changelog_deltas ($package_name, $prev_version);
exit 0;
}
### Setup "GNU" style for perl-mode and cperl-mode.
## Local Variables:
## perl-indent-level: 2
## perl-continued-statement-offset: 2
## perl-continued-brace-offset: 0
## perl-brace-offset: 0
## perl-brace-imaginary-offset: 0
## perl-label-offset: -2
## cperl-indent-level: 2
## cperl-brace-offset: 0
## cperl-continued-brace-offset: 0
## cperl-label-offset: -2
## cperl-extra-newline-before-brace: t
## cperl-merge-trailing-else: nil
## cperl-continued-statement-offset: 2
## End:

View File

@@ -23,6 +23,18 @@
/* Define to 1 if using `getloadavg.c'. */
#undef C_GETLOADAVG
/* Define the default level of POSIX conformance. The value is of the form
YYYYMM, specifying the year and month the standard was adopted. If not
defined here, it defaults to the value of _POSIX2_VERSION in <unistd.h>.
Define to 199209 to default to POSIX 1003.2-1992, which makes standard
programs like `head', `tail', and `sort' accept obsolete options like `+10'
and `-10'. Define to 200112 to default to POSIX 1003.1-2001, which makes
these standard programs treat leading-`+' operands as file names and
require modern usages like `-n 10' instead of `-10'. Whether defined here
or not, the default can be overridden at run time via the _POSIX2_VERSION
environment variable. */
#undef DEFAULT_POSIX2_VERSION
/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
#undef DGUX
@@ -100,15 +112,15 @@
/* Define to 1 if you have the `atexit' function. */
#undef HAVE_ATEXIT
/* Define to 1 if you have the `bcopy' function. */
#undef HAVE_BCOPY
/* Define to 1 if you have the <bp-sym.h> header file. */
#undef HAVE_BP_SYM_H
/* Define to 1 if you have the `btowc' function. */
#undef HAVE_BTOWC
/* Define to 1 if your system has a working `chown' function. */
#undef HAVE_CHOWN
/* Define to 1 if you have the `chroot' function. */
#undef HAVE_CHROOT
@@ -121,9 +133,6 @@
/* Define to 1 if you have the `clock_settime' function. */
#undef HAVE_CLOCK_SETTIME
/* Define if backslash-a works in C strings. */
#undef HAVE_C_BACKSLASH_A
/* FIXME */
#undef HAVE_C_LINE
@@ -255,10 +264,6 @@
*/
#undef HAVE_DECL_STPCPY
/* Define to 1 if you have the declaration of `strerror', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR_R
@@ -283,10 +288,6 @@
don't. */
#undef HAVE_DECL_STRTOIMAX
/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
*/
#undef HAVE_DECL_STRTOL
/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
don't. */
#undef HAVE_DECL_STRTOLL
@@ -334,12 +335,12 @@
/* Define to 1 if you have the `dirfd' function. */
#undef HAVE_DIRFD
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the `dup2' function. */
#undef HAVE_DUP2
/* Define to 1 if you have the <dustat.h> header file. */
#undef HAVE_DUSTAT_H
/* Define to 1 if you have the `endgrent' function. */
#undef HAVE_ENDGRENT
@@ -379,9 +380,6 @@
/* Define to 1 if you have the `fs_stat_dev' function. */
#undef HAVE_FS_STAT_DEV
/* Define to 1 if you have the `ftime' function. */
#undef HAVE_FTIME
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
@@ -466,7 +464,7 @@
/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
#undef HAVE_INTMAX_T
/* Define to 1 if you have the <inttypes.h> header file. */
/* Define if <inttypes.h> exists and doesn't clash with <sys/types.h>. */
#undef HAVE_INTTYPES_H
/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
@@ -494,9 +492,6 @@
/* Define to 1 if you have the `dgc' library (-ldgc). */
#undef HAVE_LIBDGC
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
/* Define to 1 if you have the `kstat' library (-lkstat). */
#undef HAVE_LIBKSTAT
@@ -521,21 +516,17 @@
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
/* Define if you have the 'long double' type. */
#undef HAVE_LONG_DOUBLE
/* Define to 1 if you support file names longer than 14 characters. */
#undef HAVE_LONG_FILE_NAMES
/* Define if you have the long long type. */
/* Define if you have the 'long long' type. */
#undef HAVE_LONG_LONG
/* Define if lstat has the bug that it succeeds when given the zero-length
file name argument. The lstat from SunOS4.1.4 and the Hurd as of
1998-11-01) do this. */
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_LSTAT_EMPTY_STRING_BUG
/* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
@@ -569,9 +560,6 @@
/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memcmp' function. */
#undef HAVE_MEMCMP
/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
@@ -656,6 +644,9 @@
/* Define to 1 if you have the `raise' function. */
#undef HAVE_RAISE
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
/* Define to 1 if your system has a GNU libc compatible `realloc' function,
and to 0 otherwise. */
#undef HAVE_REALLOC
@@ -705,9 +696,8 @@
/* Define to 1 if you have the `statvfs' function. */
#undef HAVE_STATVFS
/* Define if stat has the bug that it succeeds when given the zero-length file
name argument. The stat from SunOS4.1.4 and the Hurd as of 1998-11-01) do
this. */
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG
/* Define to 1 if stdbool.h conforms to C99. */
@@ -738,6 +728,10 @@
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strcoll' function and it is properly defined.
*/
#undef HAVE_STRCOLL
/* Define to 1 if you have the `strcspn' function. */
#undef HAVE_STRCSPN
@@ -857,6 +851,9 @@
have utime.h but don't declare the struct anywhere. */
#undef HAVE_STRUCT_UTIMBUF
/* Define to 1 if `ut_exit' is member of `struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_EXIT
/* Define to 1 if `ut_exit.e_exit' is member of `struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT
@@ -884,6 +881,9 @@
/* Define to 1 if `ut_user' is member of `struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_USER
/* Define to 1 if `ut_exit' is member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_EXIT
/* Define to 1 if `ut_exit.e_exit' is member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT
@@ -1057,12 +1057,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the unsigned long long type. */
/* Define if you have the 'unsigned long long' type. */
#undef HAVE_UNSIGNED_LONG_LONG
/* Define to 1 if you have the `utime' function. */
#undef HAVE_UTIME
/* Define if utimes accepts a null argument */
#undef HAVE_UTIMES_NULL
@@ -1096,9 +1093,6 @@
/* Define to 1 if you have the `vasprintf' function. */
#undef HAVE_VASPRINTF
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
@@ -1108,6 +1102,9 @@
/* Define to 1 if you have the `wcrtomb' function. */
#undef HAVE_WCRTOMB
/* Define to 1 if you have the `wcslen' function. */
#undef HAVE_WCSLEN
/* Define to 1 if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H
@@ -1123,6 +1120,9 @@
/* Define if readdir is found to work properly in some unusual cases. */
#undef HAVE_WORKING_READDIR
/* Define if utimes works properly. */
#undef HAVE_WORKING_UTIMES
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
@@ -1264,9 +1264,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define if the block counts reported by statfs may be truncated to 2GB and
@@ -1335,9 +1335,6 @@
<sys/cpustats.h>. */
#undef UMAX4_3
/* the maximum number of simultaneously open files per process */
#undef UTILS_OPEN_MAX
/* Version number of package */
#undef VERSION
@@ -1379,6 +1376,11 @@
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Enable extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Define like PROTOTYPES; this can be used by system headers. */
#undef __PROTOTYPES
@@ -1388,15 +1390,21 @@
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to rpl_fnmatch if the replacement function should be used. */
/* Define to a replacement function name for fnmatch(). */
#undef fnmatch
/* Define to rpl_free if the replacement function should be used. */
#undef free
/* Define to rpl_getcwd if the wrapper function should be used. */
#undef getcwd
/* Define as rpl_getgroups if getgroups doesn't work right. */
#undef getgroups
/* Define to a replacement function name for getline(). */
#undef getline
/* Define to rpl_gettimeofday if the replacement function should be used. */
#undef gettimeofday
@@ -1406,11 +1414,13 @@
/* Define to rpl_gmtime if the replacement function should be used. */
#undef gmtime
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* Define to `unsigned long int' if <sys/types.h> does not define. */
#undef ino_t
/* Define to long or long long if <stdint.h> and <inttypes.h> don't define. */
@@ -1464,6 +1474,9 @@
/* Define to rpl_realloc if the replacement function should be used. */
#undef realloc
/* Define to rpl_rename if the replacement function should be used. */
#undef rename
/* Define to equivalent of C99 restrict keyword, or to nothing if this is not
supported. Do not define if restrict is supported directly. */
#undef restrict
@@ -1474,9 +1487,15 @@
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> does not define. */
/* Define as a signed type of the same size as size_t. */
#undef ssize_t
/* Define to rpl_strnlen if the replacement function should be used. */
#undef strnlen
/* Define to rpl_strtod if the replacement function should be used. */
#undef strtod
/* Define to rpl_tzset if the wrapper function should be used. */
#undef tzset
@@ -1487,6 +1506,12 @@
<inttypes.h> don't define. */
#undef uintmax_t
/* Define to `size_t' if <sys/types.h> does not define. */
#undef uintptr_t
/* Define to rpl_utime if the replacement function should be used. */
#undef utime
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile

View File

@@ -1,6 +1,10 @@
2003-08-16 Paul Eggert <eggert@twinsun.com>
* config.rpath, texinfo.tex: Sync with gnulib.
2003-04-21 Jim Meyering <jim@meyering.net>
* depcomp: New version, now that this file is now on the list
* depcomp: New version, now that this file is on the list
in ../Makefile.cfg.
2003-01-12 Jim Meyering <jim@meyering.net>
@@ -40,4 +44,4 @@
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.
Use `sed 1q' instead.

37
config/config.guess vendored
View File

@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2003-07-02'
timestamp='2004-01-05'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -221,6 +221,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
mvmeppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pegasos:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
@@ -307,6 +310,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:OS/390:*:*)
echo i370-ibm-openedition
exit 0 ;;
*:OS400:*:*)
echo powerpc-ibm-os400
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
@@ -734,7 +740,7 @@ EOF
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
*:UNICOS/mp:*:*)
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -742,6 +748,11 @@ EOF
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
@@ -751,7 +762,7 @@ EOF
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
*:FreeBSD:*:*)
# Determine whether the default compiler uses glibc.
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -763,7 +774,7 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
# GNU/FreeBSD systems have a "k" prefix to indicate we are using
# GNU/KFreeBSD systems have a "k" prefix to indicate we are using
# FreeBSD's kernel, but not the complete OS.
case ${LIBC} in gnu) kernel_only='k' ;; esac
echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
@@ -799,8 +810,13 @@ EOF
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
# the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
exit 0 ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit 0 ;;
@@ -948,6 +964,9 @@ EOF
LIBC=gnuaout
#endif
#endif
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
@@ -978,6 +997,9 @@ EOF
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit 0 ;;
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit 0 ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
@@ -1049,7 +1071,7 @@ EOF
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1164,7 +1186,7 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
*:NonStop-UX:*:*)
@@ -1208,6 +1230,9 @@ EOF
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
exit 0 ;;
*:DRAGONFLY:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly${UNAME_RELEASE}
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2

View File

@@ -2,7 +2,7 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2002 Free Software Foundation, Inc.
# Copyright 1996-2003 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
@@ -34,43 +34,57 @@
#
# The set of defined variables is at the end of this script.
# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
# than 256 bytes, otherwise the compiler driver will dump core. The only
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# All known linkers require a `.a' archive for static linking (except M$VC,
# which needs '.lib').
libext=a
shlibext=
shrext=.so
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix3* | aix4* | aix5*)
aix*)
wl='-Wl,'
;;
mingw* | pw32* | os2*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6*)
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
newsos6)
;;
linux*)
echo '__INTEL_COMPILER' > conftest.$ac_ext
if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null
then
:
else
# Intel icc
wl='-Qoption,ld,'
fi
case $CC in
icc|ecc)
wl='-Wl,'
;;
ccc)
wl='-Wl,'
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
sco3.2v5*)
;;
solaris*)
wl='-Wl,'
;;
@@ -78,15 +92,17 @@ else
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
if test "x$host_vendor" = xsni; then
wl='-LD'
else
wl='-Wl,'
fi
wl='-Wl,'
;;
sysv4*MP*)
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
@@ -110,8 +126,10 @@ ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
case "$host_os" in
aix3* | aix4* | aix5*)
# On AIX, the GNU linker is very broken
ld_shlibs=no
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
@@ -125,7 +143,7 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
@@ -135,11 +153,18 @@ if test "$with_gnu_ld" = yes; then
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
netbsd*)
;;
solaris* | sysv5*)
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
@@ -149,7 +174,7 @@ if test "$with_gnu_ld" = yes; then
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
@@ -157,6 +182,8 @@ if test "$with_gnu_ld" = yes; then
;;
esac
if test "$ld_shlibs" = yes; then
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
fi
else
@@ -209,13 +236,27 @@ else
fi
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
echo 'int main () { return 0; }' > conftest.c
${CC} ${LDFLAGS} conftest.c -o conftest
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
fi
if test -z "$aix_libpath"; then
aix_libpath="/usr/lib:/lib"
fi
rm -f conftest.c conftest
# End _LT_AC_SYS_LIBPATH_AIX.
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
fi
fi
;;
@@ -225,6 +266,8 @@ else
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi4*)
;;
cygwin* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -234,7 +277,12 @@ else
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=yes
if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
hardcode_direct=no
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
freebsd1*)
ld_shlibs=no
@@ -251,14 +299,41 @@ else
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9* | hpux10* | hpux11*)
hpux9*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_minus_L=yes # Not in the search PATH, but as the default
# location of the library.
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
irix5* | irix6*)
hpux10* | hpux11*)
if test "$with_gnu_ld" = no; then
case "$host_cpu" in
hppa*64*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=no
;;
ia64*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=no
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
@@ -314,23 +389,20 @@ else
hardcode_minus_L=yes
;;
sysv4)
if test "x$host_vendor" = xsno; then
hardcode_direct=yes # is this really true???
else
hardcode_direct=no # Motorola manual says yes, but my tests say they lie
fi
case $host_vendor in
sni)
hardcode_direct=yes # is this really true???
;;
siemens)
hardcode_direct=no
;;
motorola)
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
;;
esac
;;
sysv4.3*)
;;
sysv5*)
hardcode_libdir_flag_spec=
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
sysv4*MP*)
if test -d /usr/nec; then
ld_shlibs=yes
@@ -340,7 +412,13 @@ else
hardcode_direct=yes
hardcode_minus_L=no
;;
sysv5uw7* | unixware7*)
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
;;
sysv5*)
hardcode_libdir_flag_spec=
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
*)
ld_shlibs=no
@@ -349,134 +427,97 @@ else
fi
# Check dynamic linker characteristics
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
libname_spec='lib$name'
sys_lib_dlsearch_path_spec="/lib /usr/lib"
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
case "$host_os" in
aix3*)
shlibext=so
;;
aix4* | aix5*)
shlibext=so
;;
amigaos*)
shlibext=ixlibrary
;;
beos*)
shlibext=so
;;
bsdi4*)
shlibext=so
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
;;
cygwin* | mingw* | pw32*)
case $GCC,$host_os in
yes,cygwin*)
shlibext=dll.a
;;
yes,mingw*)
shlibext=dll
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
;;
yes,pw32*)
shlibext=dll
;;
*)
shlibext=dll
;;
esac
shrext=.dll
;;
darwin* | rhapsody*)
shlibext=dylib
shrext=.dylib
;;
dgux*)
;;
freebsd1*)
;;
freebsd*)
shlibext=so
;;
gnu*)
shlibext=so
;;
hpux9* | hpux10* | hpux11*)
shlibext=sl
case "$host_cpu" in
ia64*)
shrext=.so
;;
hppa*64*)
shrext=.sl
;;
*)
shrext=.sl
;;
esac
;;
irix5* | irix6*)
shlibext=so
irix5* | irix6* | nonstopux*)
case "$host_os" in
irix5*)
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 ") libsuff= shlibsuff= ;;
*-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 ") libsuff=64 shlibsuff=64 ;;
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
*) libsuff= shlibsuff= ;;
esac
;;
esac
sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
;;
linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
linux*oldld* | linux*aout* | linux*coff*)
;;
linux-gnu*)
shlibext=so
linux*)
;;
netbsd*)
shlibext=so
;;
newsos6)
shlibext=so
;;
nto-qnx)
;;
openbsd*)
shlibext=so
;;
os2*)
libname_spec='$name'
shlibext=dll
shrext=.dll
;;
osf3* | osf4* | osf5*)
shlibext=so
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
sco3.2v5*)
shlibext=so
;;
solaris*)
shlibext=so
;;
sunos4*)
shlibext=so
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
shlibext=so
case "$host_vendor" in
motorola)
sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
;;
esac
;;
uts4*)
shlibext=so
;;
dgux*)
shlibext=so
;;
sysv4*MP*)
if test -d /usr/nec; then
shlibext=so
fi
;;
uts4*)
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
@@ -504,10 +545,4 @@ hardcode_direct="$hardcode_direct"
# resulting binary.
hardcode_minus_L="$hardcode_minus_L"
# Compile-time system search path for libraries
sys_lib_search_path_spec="$escaped_sys_lib_search_path_spec"
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="$escaped_sys_lib_dlsearch_path_spec"
EOF

47
config/config.sub vendored
View File

@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2003-07-04'
timestamp='2004-01-05'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,8 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -228,13 +229,14 @@ case $basic_machine in
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k \
| ip2k | iq2000 \
| m32r | m68000 | m68k | m88k | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
@@ -247,6 +249,7 @@ case $basic_machine in
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
@@ -304,7 +307,7 @@ case $basic_machine in
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* \
| ip2k-* | iq2000-* \
| m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
@@ -319,6 +322,7 @@ case $basic_machine in
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
@@ -376,6 +380,9 @@ case $basic_machine in
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
@@ -740,6 +747,10 @@ case $basic_machine in
basic_machine=or32-unknown
os=-coff
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
@@ -960,6 +971,10 @@ case $basic_machine in
tower | tower-32)
basic_machine=m68k-ncr
;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
@@ -1128,19 +1143,19 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
| -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1164,6 +1179,9 @@ case $os in
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -1176,6 +1194,9 @@ case $os in
-opened*)
os=-openedition
;;
-os400*)
os=-os400
;;
-wince*)
os=-wince
;;
@@ -1197,6 +1218,9 @@ case $os in
-atheos*)
os=-atheos
;;
-syllable*)
os=-syllable
;;
-386bsd)
os=-bsd
;;
@@ -1219,6 +1243,9 @@ case $os in
-sinix*)
os=-sysv4
;;
-tpf*)
os=-tpf
;;
-triton*)
os=-sysv3
;;
@@ -1467,9 +1494,15 @@ case $basic_machine in
-mvs* | -opened*)
vendor=ibm
;;
-os400*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;

View File

@@ -1,6 +1,8 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2003-12-28.12
# Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -25,22 +27,45 @@
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit 0
;;
-v | --v*)
echo "depcomp $scriptversion"
exit 0
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
@@ -172,19 +197,25 @@ sgi)
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. This file always lives in the current directory.
# Also, the AIX compiler puts `$object:' at the start of each line;
# $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
@@ -192,6 +223,7 @@ aix)
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
@@ -292,7 +324,7 @@ tru64)
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o.
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
@@ -388,7 +420,7 @@ makedepend)
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout.
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
@@ -430,7 +462,7 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
@@ -470,3 +502,12 @@ none)
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2003-06-13.21
scriptversion=2004-01-13.14
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -72,7 +72,8 @@ dst=
dir_arg=
usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
or: $0 -d DIR1 DIR2...
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 -d DIRECTORIES...
In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
In the second, create the directory path DIR.
@@ -134,144 +135,167 @@ while test -n "$1"; do
--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;;
*) # When -d is used, all remaining arguments are directories to create.
test -n "$dir_arg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done
if test -z "$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
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&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
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
# Make sure that the destination directory exists.
# (this part is taken from Noah Friedman's mkinstalldirs script.)
if test -n "$dir_arg"; then
dst=$src
src=
# 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"`
if test -d "$dst"; then
instcmd=:
chmodcmd=
else
instcmd=$mkdirprog
fi
else
dstfile=`basename "$dst" $transformbasename \
| sed $transformarg`$transformbasename
# 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 "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
dst=$dst/`basename "$src"`
fi
fi
# don't allow the sed command to completely eliminate the filename.
test -z "$dstfile" && dstfile=`basename "$dst"`
# This sed command emulates the dirname command.
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Make sure that the destination directory exists.
# 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
# Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
# Move or copy the file name to the temp name
$doit $instcmd "$src" "$dsttmp" &&
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
# 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"; } &&
pathcomp=
# 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 \
|| {
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
} &&
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi || { (exit 1); exit; }
done
# The final little trick to "correctly" pass the exit status to the exit trap.
{

View File

@@ -1,5 +1,8 @@
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
scriptversion=2003-11-09.00
# Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
#
@@ -22,6 +25,31 @@
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No file. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: mdate-sh [--help] [--version] FILE
Pretty-print the modification time of FILE.
Report bugs to <bug-automake@gnu.org>.
EOF
exit 0
;;
-v | --v*)
echo "mdate-sh $scriptversion"
exit 0
;;
esac
# Prevent date giving response in another language.
LANG=C
export LANG
@@ -131,3 +159,12 @@ esac
# The result.
echo $day $month $year
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@@ -1,6 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
scriptversion=2003-09-02.23
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003
# 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
@@ -38,12 +42,23 @@ else
configure_ac=configure.in
fi
msg="missing on your system"
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;;
esac
@@ -74,11 +89,13 @@ Supported PROGRAM values:
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.4 - GNU automake"
echo "missing $scriptversion (GNU Automake)"
;;
-*)
@@ -94,7 +111,7 @@ Supported PROGRAM values:
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
@@ -108,7 +125,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
@@ -122,7 +139,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
@@ -146,7 +163,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
@@ -162,10 +179,10 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
proper tools for further handling them.
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
@@ -185,7 +202,7 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
@@ -215,7 +232,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
@@ -243,7 +260,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
@@ -268,7 +285,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
@@ -323,10 +340,10 @@ WARNING: I can't seem to be able to run \`tar' with the given arguments.
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
WARNING: \`$1' is needed, and is $msg.
You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
@@ -334,3 +351,10 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
esac
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@@ -1,10 +1,15 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
scriptversion=2003-11-08.23
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain.
scriptversion=2003-06-14.23
#
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
errstatus=0
dirmode=""
@@ -14,7 +19,8 @@ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
Create each directory DIR (with mode MODE, if specified), including all
leading file name components.
"
Report bugs to <bug-automake@gnu.org>."
# process command line arguments
while test $# -gt 0 ; do
@@ -65,12 +71,25 @@ case $dirmode in
if mkdir -p -- . 2>/dev/null; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
test -d ./-p && rmdir ./-p
test -d ./-- && rmdir ./--
fi
;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
else
# Clean up after NextStep and OpenStep mkdir.
for d in ./-m ./-p ./-- "./$dirmode";
do
test -d $d && rmdir $d
done
fi
;;
esac

File diff suppressed because it is too large Load Diff

56906
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +1,22 @@
dnl Process this file with autoconf to produce a configure script. -*-m4-*-
AC_INIT([GNU coreutils],[5.0.1],[bug-coreutils@gnu.org])
AC_INIT([GNU coreutils],[5.2.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])
AM_INIT_AUTOMAKE([1.8 gnits dist-bzip2])
AC_GNU_SOURCE
gl_DEFAULT_POSIX2_VERSION
gl_USE_SYSTEM_EXTENSIONS
jm_PERL
AC_PROG_CC
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_PROG_RANLIB
AC_PROG_LN_S
AC_AIX
AC_MINIX
AC_CANONICAL_HOST
AC_CHECK_FUNCS(uname,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname\$(EXEEXT)"
@@ -33,29 +33,6 @@ 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
@@ -142,9 +119,9 @@ else
fi
fi
AC_DEFUN(jm_DUMMY_1,
AC_DEFUN([jm_DUMMY_1],
[
AC_REQUIRE([jm_PREREQ_READUTMP])
AC_REQUIRE([gl_READUTMP])
if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS pinky\$(EXEEXT)"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS users\$(EXEEXT)"
@@ -253,7 +230,7 @@ AC_CHECK_DECLS([strsignal, strtoimax, sys_siglist, _sys_siglist, __sys_siglist])
jm_LIB_CHECK
AM_GNU_GETTEXT([external], [need-ngettext])
AM_GNU_GETTEXT_VERSION(0.11.5)
AM_GNU_GETTEXT_VERSION(0.13.1)
AC_CONFIG_FILES(
Makefile

View File

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

View File

@@ -1,7 +1,192 @@
2004-02-17 Jim Meyering <jim@meyering.net>
* coreutils.texi (csplit invocation): Correct typo (s/LINE/N/)
in description of `N' pattern. From Reuben Thomas <rrt@sc3d.org>
2004-02-11 Jim Meyering <jim@meyering.net>
* coreutils.texi (Time directives): The %s value *is* changed by the
--date=DATE option; don't say otherwise. Patch from Padraig Brady.
2004-02-10 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Formatting the file names):
Improve wording for --quoting-style documentation.
Suggestions by Bruno Haible.
2004-02-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (nice invocation): Add examples.
Prompted by a suggestion from Dan Jacobson.
(factor invocation): Add an example.
Update timing numbers for a more modern CPU.
2004-01-27 Jim Meyering <jim@meyering.net>
* coreutils.texi (seq invocation): Remove `@dots{}' at end of synopsis.
Separate `Synopses' section into three examples.
Clarify first paragraph. @w{}-protect an expression.1
Use @option{--option}, rather than @code{--option}.
2004-01-19 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Exit status): Document that ordinary failure
might not exit with status 1 on unusual platforms.
Mention chroot, env, nice, and su as having unusual exit
status patterns. Don't bother to mention true and false
since their exit status patterns are actually normal.
(sort invocation, su invocation): Mention its unusual exit
status pattern.
(chroot invocation): Simplify description of exit status 1.
Remove duplicate description of status 127.
(env invocation): Use consistent tenses; simplifiy description
of status 1.
(nice invocation): Likewise.
2003-12-15 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (touch invocation): touch -r and -d can now
both be specified, with -r specifying the origin for -d.
2004-01-15 Alfred M. Szmidt <ams@kemisten.nu>
Factor out some common options.
* coreutils.texi (Common options): Define macros here.
(What information is listed, cp invocation): Use the macro(s).
(install invocation, mv invocation, ln invocation): Likewise.
(df invocation, du invocation): Likewise.
2004-01-09 Jim Meyering <jim@meyering.net>
Document the exit status of each and every program.
* coreutils.texi (yes invocation): Document that a write error
makes `yes' exit unsuccessfully.
(chroot invocation): Enumerate the meaning of exit status values.
(nice invocation): Likewise.
(Exit status) [@macro exitstatus]: New macro.
Use @exitstatus to describe the exit status of most programs.
2004-01-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Mention that -H will eventually
mean not --si, but --dereference-args (-D).
2003-12-20 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Describe new option: -0, --null.
2003-12-03 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (What information is listed, chroot invocation):
Adjust example 'ls' output to match new behavior with narrower
output columns.
(The cut command): Remove example that cut the output of
'ls -l'. The output was incorrect even with the old 'ls', and
the whole idea of using 'cut' on 'ls -l' output is bogus anyway.
2003-11-24 Paul Eggert <eggert@twinsun.com>
Parse floating-point operands and options in the C locale.
POSIX requires this for printf, and we might as well be
consistent elsewhere (tail, sleep, seq).
* coreutils.texi (tail invocation, printf invocation,
sleep invocation, seq invocation): Document this.
2003-11-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (Traversing symlinks, Treating / specially):
New sections.
(rm invocation, chown invocation, chmod invocation, chgrp invocation):
Describe new options, --preserve-root and --no-preserve-root.
2003-11-11 Jim Meyering <jim@meyering.net>
* coreutils.texi (chown invocation) [chownchgrpoptions]: New macro
describing -H, -L, -P options. Use it here.
(chgrp invocation): And here.
2003-11-09 Jim Meyering <jim@meyering.net>
* coreutils.texi (dd invocation): Fix typo in example.
2003-10-15 Jim Meyering <jim@meyering.net>
* coreutils.texi (ln invocation): Note that --directory, -d, -F
probably won't work even for superuser. Suggestion from Dan Jacobson.
2003-09-29 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (csplit invocation):
The regexp offset need not have a sign; POSIX requires support
for signless offets.
2003-10-03 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Describe -P, --no-dereference.
2003-09-28 Jim Meyering <jim@meyering.net>
* coreutils.texi (Translating): Correct typo in menu description.
From A Costa.
2003-09-02 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (sort invocation): -d now overrides -i.
"whitespace" -> "blanks"; "whitespace" isn't correct.
-t '\0' now specifies a NUL tab.
2003-08-17 Jim Meyering <jim@meyering.net>
* coreutils.texi (who invocation): Add an entry for -l, --login.
Remove `-l' from the entry for --lookup.
(who invocation): Begin adding missing option documentation.
2003-08-07 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (split invocation):
Add -d or --numeric-suffixes option to 'split'.
2003-07-31 Paul Eggert <eggert@twinsun.com>
* getdate.texi (General date syntax): Add --rfc-2822 option to GNU date.
* coreutils.texi (Options for date): Fix a typo in format:
it's now %d not %_d. Add URLs.
2003-07-31 Paul Eggert <eggert@twinsun.com>
* getdate.texi (Relative items in date strings): Warn about
fuzz in relative units.
2003-07-29 Jim Meyering <jim@meyering.net>
* coreutils.texi (tail invocation): Restore two end-of-sentence words
that were mistakenly removed on 2002-09-13. Reported by Paul Worrall.
2003-07-28 Jim Meyering <jim@meyering.net>
* coreutils.texi (dd invocation): Explain that a SIGUSR1 signal
makes dd give a progress report to stderr.
2003-07-24 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: Document changes of 2003-07-24.
2003-07-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (su invocation): Use `@subsection', not invalid
`@heading'.
2003-07-17 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (expr invocation): Exit status is 2 if the
expression is syntactically invalid, 3 if there is some other error.
This change is for conformance to POSIX.
2003-07-14 Paul Eggert <eggert@twinsun.com>
* doc/coreutils.texi (uname invocation): Explain the POSIX
terminology behind uname -m and uname -s.
* coreutils.texi (uname invocation): Explain the POSIX
terminology behind uname -m and uname -s.
2003-07-13 Jim Meyering <jim@meyering.net>
@@ -61,7 +246,7 @@
Fix printf POSIX compatibility bug reported by Ben Harris in
<http://mail.gnu.org/archive/html/bug-coreutils/2003-04/msg00070.html>.
* doc/coreutils.texi (printf invocation): It's \NNN in the format,
* coreutils.texi (printf invocation): It's \NNN in the format,
\0NNN in the %b operand.
2003-04-10 Jim Meyering <jim@meyering.net>
@@ -159,7 +344,7 @@
compatible with FreeBSD and the POSIX spec is confusing
and somewhat contradictory.
* doc/coreutils.texi (Which files are listed, General output
* coreutils.texi (Which files are listed, General output
formatting): Undo last change.
2003-01-15 Jim Meyering <jim@meyering.net>

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.6 from Makefile.am.
# Makefile.in generated by automake 1.8.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -36,6 +34,127 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/stamp-vti $(srcdir)/version.texi ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/afs.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/assert.m4 \
$(top_srcdir)/m4/atexit.m4 $(top_srcdir)/m4/backupfile.m4 \
$(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \
$(top_srcdir)/m4/canon-host.m4 \
$(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/check-decl.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/closeout.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
$(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \
$(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/error.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/fnmatch.m4 \
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/free.m4 \
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
$(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getgroups.m4 \
$(top_srcdir)/m4/gethostname.m4 $(top_srcdir)/m4/getline.m4 \
$(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \
$(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/host-os.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/idcache.m4 \
$(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \
$(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/link-follow.m4 \
$(top_srcdir)/m4/long-options.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/makepath.m4 $(top_srcdir)/m4/malloc.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbswidth.m4 \
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/obstack.m4 \
$(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/path-concat.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \
$(top_srcdir)/m4/physmem.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \
$(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
$(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readdir.m4 \
$(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \
$(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \
$(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
$(top_srcdir)/m4/restrict.m4 $(top_srcdir)/m4/rmdir-errno.m4 \
$(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
$(top_srcdir)/m4/same.m4 $(top_srcdir)/m4/save-cwd.m4 \
$(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/settime.m4 \
$(top_srcdir)/m4/sha.m4 $(top_srcdir)/m4/sig2str.m4 \
$(top_srcdir)/m4/signed.m4 $(top_srcdir)/m4/ssize_t.m4 \
$(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/st_mtim.m4 \
$(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \
$(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strpbrk.m4 \
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
$(top_srcdir)/m4/strverscmp.m4 $(top_srcdir)/m4/timespec.m4 \
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
$(top_srcdir)/m4/unlink-busy.m4 \
$(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/uptime.m4 \
$(top_srcdir)/m4/userspec.m4 $(top_srcdir)/m4/utimbuf.m4 \
$(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
$(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
$(top_srcdir)/m4/xreadlink.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtoimax.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/xstrtoumax.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
INFO_DEPS = $(srcdir)/coreutils.info
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
DVIS = coreutils.dvi
PDFS = coreutils.pdf
PSS = coreutils.ps
HTMLS = coreutils.html
TEXINFOS = coreutils.texi
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
DVIPS = dvips
am__installdirs = $(DESTDIR)$(infodir)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
@@ -52,6 +171,7 @@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
@@ -61,6 +181,7 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
FNMATCH_H = @FNMATCH_H@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
@@ -152,6 +273,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@@ -160,81 +282,112 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
info_TEXINFOS = coreutils.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
MAINTAINERCLEANFILES = constants.texi
subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
INFO_DEPS = coreutils.info
DVIS = coreutils.dvi
PDFS = coreutils.pdf
PSS = coreutils.ps
TEXINFOS = coreutils.texi
DIST_COMMON = ChangeLog Makefile.am Makefile.in stamp-vti version.texi
all: all-am
.SUFFIXES:
.SUFFIXES: .dvi .info .pdf .ps .texi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
.SUFFIXES: .dvi .html .info .pdf .ps .texi
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
.texi.info:
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
restore=: && \
backupdir="$(am__leading_dot)am$$$$" && \
am__cwd=`pwd` && cd $(srcdir) && \
rm -rf $$backupdir && mkdir $$backupdir && \
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
if test -f $$f; then \
mv $$f $$backupdir; \
restore=mv; \
fi; \
done; \
cd "$$am__cwd"; \
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ $<; \
then \
rc=0; \
cd $(srcdir); \
else \
rc=$$?; \
cd $(srcdir) && \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; \
exit $$rc
.texi.dvi:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
$(TEXI2DVI) $<
.texi.pdf:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
coreutils.info: coreutils.texi version.texi
coreutils.dvi: coreutils.texi version.texi
coreutils.pdf: coreutils.texi version.texi
version.texi: stamp-vti
stamp-vti: coreutils.texi $(top_srcdir)/configure
$(TEXI2PDF) $<
.texi.html:
$(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ $<
if test ! -d $@ && test -d $(@:.html=); then \
mv $(@:.html=) $@; else :; fi
$(srcdir)/coreutils.info: coreutils.texi $(srcdir)/version.texi
coreutils.dvi: coreutils.texi $(srcdir)/version.texi
coreutils.pdf: coreutils.texi $(srcdir)/version.texi
coreutils.html: coreutils.texi $(srcdir)/version.texi
$(srcdir)/version.texi: $(srcdir)/stamp-vti
$(srcdir)/stamp-vti: coreutils.texi $(top_srcdir)/configure
@(dir=.; test -f ./coreutils.texi || dir=$(srcdir); \
set `$(SHELL) $(top_srcdir)/config/mdate-sh $$dir/coreutils.texi`; \
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
echo "@set VERSION $(VERSION)") > vti.tmp
@cmp -s vti.tmp version.texi \
|| (echo "Updating version.texi"; \
cp vti.tmp version.texi)
@cmp -s vti.tmp $(srcdir)/version.texi \
|| (echo "Updating $(srcdir)/version.texi"; \
cp vti.tmp $(srcdir)/version.texi)
-@rm -f vti.tmp
@cp version.texi $@
@cp $(srcdir)/version.texi $@
mostlyclean-vti:
-rm -f vti.tmp
maintainer-clean-vti:
-rm -f stamp-vti version.texi
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
DVIPS = dvips
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
.dvi.ps:
$(DVIPS) -o $@ $<
uninstall-info-am:
$(PRE_UNINSTALL)
@if (install-info --version && \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -254,8 +407,12 @@ uninstall-info-am:
done
dist-info: $(INFO_DEPS)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
for base in $$list; do \
case $$base in \
$(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$base; then d=.; else d=$(srcdir); fi; \
for file in $$d/$$base*; do \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
@@ -265,10 +422,11 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
-rm -f coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \
-rm -rf coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \
coreutils.ky coreutils.log coreutils.op coreutils.pg \
coreutils.tmp coreutils.toc coreutils.tp coreutils.tps \
coreutils.vr coreutils.dvi coreutils.pdf coreutils.ps
coreutils.vr coreutils.dvi coreutils.pdf coreutils.ps \
coreutils.html
maintainer-clean-aminfo:
@list='$(INFO_DEPS)'; for i in $$list; do \
@@ -282,10 +440,6 @@ TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@@ -299,7 +453,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@@ -320,9 +474,8 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile $(INFO_DEPS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(infodir)
$(mkdir_p) $(DESTDIR)$(infodir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -334,7 +487,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -342,7 +495,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -353,13 +506,17 @@ clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am: $(DVIS)
html: html-am
html-am: $(HTMLS)
info: info-am
info-am: $(INFO_DEPS)
@@ -372,9 +529,13 @@ install-info: install-info-am
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@list='$(INFO_DEPS)'; \
$(mkdir_p) $(DESTDIR)$(infodir)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
@@ -388,7 +549,7 @@ install-info-am: $(INFO_DEPS)
done
@$(POST_INSTALL)
@if (install-info --version && \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -401,7 +562,7 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti
@@ -420,11 +581,11 @@ ps-am: $(PSS)
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic dist-info \
distclean distclean-generic distdir dvi dvi-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-aminfo \
distclean distclean-generic distdir dvi dvi-am html html-am \
info info-am install install-am install-data install-data-am \
install-exec install-exec-am install-info install-info-am \
install-man install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti mostlyclean \
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am

File diff suppressed because it is too large Load Diff

View File

@@ -122,7 +122,7 @@ $ TZ=UTC0 date +"%Y-%m-%d %H:%M:%SZ"
2000-12-15 19:48:05Z
$ date --iso-8601=seconds # a GNU extension
2000-12-15T11:48:05-0800
$ date --rfc-822 # a GNU extension
$ date --rfc-2822 # a GNU extension
Fri, 15 Dec 2000 11:48:05 -0800
$ date +"%Y-%m-%d %H:%M:%S %z" # %z is a GNU extension.
2000-12-15 11:48:05 -0800
@@ -370,6 +370,26 @@ When a relative item causes the resulting date to cross a boundary
where the clocks were adjusted, typically for daylight-saving time,
the resulting date and time are adjusted accordingly.
The fuzz in units can cause problems with relative items. For
example, @samp{2003-07-31 -1 month} might evaluate to 2003-07-01,
because 2003-06-31 is an invalid date. To determine the previous
month more reliably, you can ask for the month before the 15th of the
current month. For example:
@example
$ date -R
Thu, 31 Jul 2003 13:02:39 -0700
$ date --date="-1 month" +'Last month was %B?'
Last month was July?
$ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!'
Last month was June!
@end example
Also, take care when manipulating dates around clock changes such as
daylight saving leaps. In a few cases these have added or subtracted
as much as 24 hours from the clock, so it is often wise to adopt
universal time by setting the @env{TZ} environment variable to
@samp{UTC0} before embarking on calendrical calculations.
@node Pure numbers in date strings
@section Pure numbers in date strings

166
gnupload Executable file
View File

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

View File

@@ -1,16 +1,24 @@
error.h
exit.h
fnmatch.h
fts.c
fts_.h
getndelim2.h
getopt.c
getopt.h
getopt1.c
getpagesize.h
gettext.h
localcharset.h
md5.h
obstack.h
printf-args.h
printf-parse.h
regex.c
regex.h
stdbool_.h
strndup.h
time_r.h
vasnprintf.h
vasprintf.h
strtoul.c

View File

@@ -1,5 +1,6 @@
.deps
Makefile
alloca.h
charset.alias
getdate.c
getdate.tab.c

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,7 @@
noinst_LIBRARIES = libfetish.a
INCLUDES = -I.. -I$(srcdir)
AM_CPPFLAGS = -I.. -I$(srcdir)
DEFS += -DLIBDIR=\"$(libdir)\"
## Put relatively complex files at the beginning of the list so
@@ -42,7 +42,7 @@ libfetish_a_SOURCES = \
argmatch.c argmatch.h \
backupfile.c backupfile.h \
basename.c \
bumpalloc.h \
c-strtod.c c-strtod.h \
canon-host.c \
canonicalize.h \
closeout.c closeout.h \
@@ -54,16 +54,15 @@ libfetish_a_SOURCES = \
dup-safer.c \
euidaccess.h \
exclude.c exclude.h \
exit.h \
exitfail.c exitfail.h \
filemode.c filemode.h \
file-type.c file-type.h \
fnmatch_.h \
fopen-safer.c \
fsusage.h \
ftw_.h \
fts.c fts_.h \
full-read.c full-read.h \
full-write.c full-write.h \
getdelim2.c getdelim2.h \
getline.h \
getpagesize.h \
gettime.c \
@@ -77,7 +76,7 @@ libfetish_a_SOURCES = \
imaxtostr.c \
lchown.h \
linebuffer.c linebuffer.h \
localcharset.c \
localcharset.c localcharset.h \
long-options.c long-options.h \
makepath.c makepath.h \
mbswidth.c mbswidth.h \
@@ -95,37 +94,42 @@ libfetish_a_SOURCES = \
readtokens.c readtokens.h \
readutmp.h \
regex.h \
root-dev-ino.c root-dev-ino.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 \
sha1.c sha1.h \
sig2str.h \
stdio-safer.h \
stripslash.c \
strndup.h \
strverscmp.h \
time_r.c time_r.h \
timespec.h \
umaxtostr.c \
unicodeio.c unicodeio.h \
unistd-safer.h \
unlocked-io.h \
userspec.c \
userspec.c userspec.h \
utimens.c utimens.h \
version-etc.c version-etc.h \
xalloc.h \
xfts.c xfts.h \
xgetcwd.c xgetcwd.h \
xgethostname.c \
xgethostname.c xgethostname.h \
xmalloc.c \
xmemcoll.c xmemcoll.h \
xnanosleep.c xnanosleep.h \
xreadlink.c xreadlink.h \
xstrdup.c \
xstrndup.c xstrndup.h \
xstrtod.c xstrtod.h \
xstrtoimax.c \
xstrtol.c xstrtol.h \
xstrtoul.c \
xstrtoimax.c \
xstrtoumax.c \
yesno.c
@@ -138,15 +142,20 @@ libfetish_a_SOURCES += \
libfetish_a_LIBADD = $(LIBOBJS) $(ALLOCA)
libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD)
lib_OBJECTS = $(libfetish_a_OBJECTS)
BUILT_SOURCES = getdate.c
CLEANFILES =
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
MOSTLYCLEANFILES =
SUFFIXES =
EXTRA_DIST = config.charset ref-add.sin ref-del.sin \
fnmatch_loop.c inttostr.c inttostr.h
getndelim2.c getndelim2.h \
inttostr.c inttostr.h
# The following is needed in order to install a simple file in $(libdir)
# We need the following in order to install a simple file in $(libdir)
# which is shared with other installed packages. We use a list of referencing
# packages so that "make uninstall" will remove the file if and only if it
# is not used by another installed package.
@@ -158,13 +167,13 @@ all-local: charset.alias ref-add.sed ref-del.sed
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
install-exec-local: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
test $(GLIBC21) != no || $(mkinstalldirs) $(DESTDIR)$(libdir)
if test -f $(charset_alias); then \
sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
else \
if test @GLIBC21@ = no; then \
if test $(GLIBC21) = no; then \
sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
@@ -184,30 +193,42 @@ uninstall-local: all-local
fi
charset.alias: config.charset
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
$(SHELL) $(srcdir)/config.charset '$(host)' > t-$@
mv t-$@ $@
BUILT_SOURCES += $(STDBOOL_H)
EXTRA_DIST += stdbool.hin
MOSTLYCLEANFILES += stdbool.h stdbool.ht
# Create stdbool.h on systems that lack a working one.
stdbool.h: stdbool.hin
sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' $(srcdir)/stdbool.hin > $@t
mv $@t $@
BUILT_SOURCES += $(ALLOCA_H)
EXTRA_DIST += alloca_.h
MOSTLYCLEANFILES += alloca.h alloca.ht
# Create an <alloca.h> when the system
# doesn't have one that works with the given compiler.
alloca.h: alloca_.h
cp $(srcdir)/alloca_.h $@t
mv $@t $@
SUFFIXES = .sed .sin
SUFFIXES += .sed .sin
.sin.sed:
sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@
mv t-$@ $@
CLEANFILES = charset.alias ref-add.sed ref-del.sed
DISTCLEANFILES = ftw.h search.h fnmatch.h
CLEANFILES += charset.alias ref-add.sed ref-del.sed
BUILT_SOURCES += $(STDBOOL_H)
EXTRA_DIST += stdbool_.h
MOSTLYCLEANFILES += stdbool.h stdbool.ht
# Create stdbool.h on systems that lack a working one.
stdbool.h: stdbool_.h
sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' $(srcdir)/stdbool_.h > $@t
mv $@t $@
BUILT_SOURCES += $(ALLOCA_H)
EXTRA_DIST += alloca_.h
# We need the following in order to create an <alloca.h> when the system
# doesn't have one that works with the given compiler.
all-local $(lib_OBJECTS): $(ALLOCA_H)
alloca.h: alloca_.h
cp $(srcdir)/alloca_.h $@-t
mv $@-t $@
MOSTLYCLEANFILES += alloca.h alloca.h-t
BUILT_SOURCES += $(FNMATCH_H)
EXTRA_DIST += fnmatch_.h fnmatch_loop.c
# We need the following in order to create an <fnmatch.h> when the system
# doesn't have one that supports the required API.
all-local $(lib_OBJECTS): $(FNMATCH_H)
fnmatch.h: fnmatch_.h
cp $(srcdir)/fnmatch_.h $@-t
mv $@-t $@
MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.6 from Makefile.am.
# Makefile.in generated by automake 1.8.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 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.
@@ -17,6 +17,8 @@
# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free
# Software Foundation, Inc.
SOURCES = $(libfetish_a_SOURCES)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -24,7 +26,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -39,6 +40,253 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
subdir = lib
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ChangeLog TODO __fpending.c alloca.c asnprintf.c asprintf.c \
atexit.c canonicalize.c chown.c dirfd.c dup2.c error.c error.h \
euidaccess.c fchdir-stub.c fchown-stub.c fileblocks.c \
fnmatch.c free.c fsusage.c ftruncate.c getcwd.c getdate.c \
getgroups.c gethostname.c getline.c getloadavg.c getndelim2.c \
getpass.c gettimeofday.c getusershell.c group-member.c \
lchown.c lstat.c malloc.c memchr.c memcmp.c memcpy.c memmove.c \
memrchr.c memset.c mkdir.c mkstemp.c mktime.c mountlist.c \
nanosleep.c obstack.c obstack.h printf-args.c printf-parse.c \
putenv.c raise.c readlink.c readutmp.c realloc.c regex.c \
rename.c rmdir.c rpmatch.c sig2str.c stat.c stpcpy.c \
strcasecmp.c strcspn.c strdup.c strncasecmp.c strndup.c \
strnlen.c strpbrk.c strstr.c strtod.c strtoimax.c strtol.c \
strtoll.c strtoul.c strtoull.c strtoumax.c strverscmp.c \
tempname.c utime.c vasnprintf.c vasprintf.c
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/afs.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/assert.m4 \
$(top_srcdir)/m4/atexit.m4 $(top_srcdir)/m4/backupfile.m4 \
$(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \
$(top_srcdir)/m4/canon-host.m4 \
$(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/check-decl.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/closeout.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
$(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \
$(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/error.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/fnmatch.m4 \
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/free.m4 \
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
$(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getgroups.m4 \
$(top_srcdir)/m4/gethostname.m4 $(top_srcdir)/m4/getline.m4 \
$(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \
$(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/host-os.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/idcache.m4 \
$(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \
$(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/link-follow.m4 \
$(top_srcdir)/m4/long-options.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/makepath.m4 $(top_srcdir)/m4/malloc.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbswidth.m4 \
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/obstack.m4 \
$(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/path-concat.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \
$(top_srcdir)/m4/physmem.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \
$(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
$(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readdir.m4 \
$(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \
$(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \
$(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
$(top_srcdir)/m4/restrict.m4 $(top_srcdir)/m4/rmdir-errno.m4 \
$(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
$(top_srcdir)/m4/same.m4 $(top_srcdir)/m4/save-cwd.m4 \
$(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/settime.m4 \
$(top_srcdir)/m4/sha.m4 $(top_srcdir)/m4/sig2str.m4 \
$(top_srcdir)/m4/signed.m4 $(top_srcdir)/m4/ssize_t.m4 \
$(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/st_mtim.m4 \
$(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \
$(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strpbrk.m4 \
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
$(top_srcdir)/m4/strverscmp.m4 $(top_srcdir)/m4/timespec.m4 \
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
$(top_srcdir)/m4/unlink-busy.m4 \
$(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/uptime.m4 \
$(top_srcdir)/m4/userspec.m4 $(top_srcdir)/m4/utimbuf.m4 \
$(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
$(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
$(top_srcdir)/m4/xreadlink.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtoimax.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/xstrtoumax.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
AR = ar
ARFLAGS = cru
LIBRARIES = $(noinst_LIBRARIES)
libfetish_a_AR = $(AR) $(ARFLAGS)
am__DEPENDENCIES_1 = @LIBOBJS@
am__DEPENDENCIES_2 = @ALLOCA@
am_libfetish_a_OBJECTS = acl.$(OBJEXT) getdate.$(OBJEXT) \
posixtm.$(OBJEXT) posixver.$(OBJEXT) strftime.$(OBJEXT) \
getopt.$(OBJEXT) getopt1.$(OBJEXT) hash.$(OBJEXT) \
hash-pjw.$(OBJEXT) addext.$(OBJEXT) argmatch.$(OBJEXT) \
backupfile.$(OBJEXT) basename.$(OBJEXT) c-strtod.$(OBJEXT) \
canon-host.$(OBJEXT) closeout.$(OBJEXT) cycle-check.$(OBJEXT) \
diacrit.$(OBJEXT) dirname.$(OBJEXT) dup-safer.$(OBJEXT) \
exclude.$(OBJEXT) exitfail.$(OBJEXT) filemode.$(OBJEXT) \
file-type.$(OBJEXT) fopen-safer.$(OBJEXT) fts.$(OBJEXT) \
full-read.$(OBJEXT) full-write.$(OBJEXT) gettime.$(OBJEXT) \
getugroups.$(OBJEXT) hard-locale.$(OBJEXT) human.$(OBJEXT) \
idcache.$(OBJEXT) isdir.$(OBJEXT) imaxtostr.$(OBJEXT) \
linebuffer.$(OBJEXT) localcharset.$(OBJEXT) \
long-options.$(OBJEXT) makepath.$(OBJEXT) mbswidth.$(OBJEXT) \
md5.$(OBJEXT) memcasecmp.$(OBJEXT) memcoll.$(OBJEXT) \
modechange.$(OBJEXT) offtostr.$(OBJEXT) path-concat.$(OBJEXT) \
physmem.$(OBJEXT) quote.$(OBJEXT) quotearg.$(OBJEXT) \
readtokens.$(OBJEXT) root-dev-ino.$(OBJEXT) \
safe-read.$(OBJEXT) safe-write.$(OBJEXT) same.$(OBJEXT) \
save-cwd.$(OBJEXT) savedir.$(OBJEXT) settime.$(OBJEXT) \
sha1.$(OBJEXT) stripslash.$(OBJEXT) time_r.$(OBJEXT) \
umaxtostr.$(OBJEXT) unicodeio.$(OBJEXT) userspec.$(OBJEXT) \
utimens.$(OBJEXT) version-etc.$(OBJEXT) xfts.$(OBJEXT) \
xgetcwd.$(OBJEXT) xgethostname.$(OBJEXT) xmalloc.$(OBJEXT) \
xmemcoll.$(OBJEXT) xnanosleep.$(OBJEXT) xreadlink.$(OBJEXT) \
xstrdup.$(OBJEXT) xstrndup.$(OBJEXT) xstrtod.$(OBJEXT) \
xstrtoimax.$(OBJEXT) xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) \
xstrtoumax.$(OBJEXT) yesno.$(OBJEXT)
libfetish_a_OBJECTS = $(am_libfetish_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/__fpending.Po $(DEPDIR)/alloca.Po \
@AMDEP_TRUE@ $(DEPDIR)/asnprintf.Po $(DEPDIR)/asprintf.Po \
@AMDEP_TRUE@ $(DEPDIR)/atexit.Po $(DEPDIR)/canonicalize.Po \
@AMDEP_TRUE@ $(DEPDIR)/chown.Po $(DEPDIR)/dirfd.Po \
@AMDEP_TRUE@ $(DEPDIR)/dup2.Po $(DEPDIR)/error.Po \
@AMDEP_TRUE@ $(DEPDIR)/euidaccess.Po $(DEPDIR)/fchdir-stub.Po \
@AMDEP_TRUE@ $(DEPDIR)/fchown-stub.Po $(DEPDIR)/fileblocks.Po \
@AMDEP_TRUE@ $(DEPDIR)/fnmatch.Po $(DEPDIR)/free.Po \
@AMDEP_TRUE@ $(DEPDIR)/fsusage.Po $(DEPDIR)/ftruncate.Po \
@AMDEP_TRUE@ $(DEPDIR)/getcwd.Po $(DEPDIR)/getgroups.Po \
@AMDEP_TRUE@ $(DEPDIR)/gethostname.Po $(DEPDIR)/getline.Po \
@AMDEP_TRUE@ $(DEPDIR)/getloadavg.Po $(DEPDIR)/getndelim2.Po \
@AMDEP_TRUE@ $(DEPDIR)/getpass.Po $(DEPDIR)/gettimeofday.Po \
@AMDEP_TRUE@ $(DEPDIR)/getusershell.Po \
@AMDEP_TRUE@ $(DEPDIR)/group-member.Po $(DEPDIR)/lchown.Po \
@AMDEP_TRUE@ $(DEPDIR)/lstat.Po $(DEPDIR)/malloc.Po \
@AMDEP_TRUE@ $(DEPDIR)/memchr.Po $(DEPDIR)/memcmp.Po \
@AMDEP_TRUE@ $(DEPDIR)/memcpy.Po $(DEPDIR)/memmove.Po \
@AMDEP_TRUE@ $(DEPDIR)/memrchr.Po $(DEPDIR)/memset.Po \
@AMDEP_TRUE@ $(DEPDIR)/mkdir.Po $(DEPDIR)/mkstemp.Po \
@AMDEP_TRUE@ $(DEPDIR)/mktime.Po $(DEPDIR)/mountlist.Po \
@AMDEP_TRUE@ $(DEPDIR)/nanosleep.Po $(DEPDIR)/obstack.Po \
@AMDEP_TRUE@ $(DEPDIR)/printf-args.Po $(DEPDIR)/printf-parse.Po \
@AMDEP_TRUE@ $(DEPDIR)/putenv.Po $(DEPDIR)/raise.Po \
@AMDEP_TRUE@ $(DEPDIR)/readlink.Po $(DEPDIR)/readutmp.Po \
@AMDEP_TRUE@ $(DEPDIR)/realloc.Po $(DEPDIR)/regex.Po \
@AMDEP_TRUE@ $(DEPDIR)/rename.Po $(DEPDIR)/rmdir.Po \
@AMDEP_TRUE@ $(DEPDIR)/rpmatch.Po $(DEPDIR)/sig2str.Po \
@AMDEP_TRUE@ $(DEPDIR)/stat.Po $(DEPDIR)/stpcpy.Po \
@AMDEP_TRUE@ $(DEPDIR)/strcasecmp.Po $(DEPDIR)/strcspn.Po \
@AMDEP_TRUE@ $(DEPDIR)/strdup.Po $(DEPDIR)/strncasecmp.Po \
@AMDEP_TRUE@ $(DEPDIR)/strndup.Po $(DEPDIR)/strnlen.Po \
@AMDEP_TRUE@ $(DEPDIR)/strpbrk.Po $(DEPDIR)/strstr.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtod.Po $(DEPDIR)/strtoimax.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtol.Po $(DEPDIR)/strtoll.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtoul.Po $(DEPDIR)/strtoull.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtoumax.Po $(DEPDIR)/strverscmp.Po \
@AMDEP_TRUE@ $(DEPDIR)/tempname.Po $(DEPDIR)/utime.Po \
@AMDEP_TRUE@ $(DEPDIR)/vasnprintf.Po $(DEPDIR)/vasprintf.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/acl.Po ./$(DEPDIR)/addext.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/argmatch.Po ./$(DEPDIR)/backupfile.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/basename.Po ./$(DEPDIR)/c-strtod.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/canon-host.Po ./$(DEPDIR)/closeout.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/cycle-check.Po ./$(DEPDIR)/diacrit.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dirname.Po ./$(DEPDIR)/dup-safer.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/exclude.Po ./$(DEPDIR)/exitfail.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/file-type.Po ./$(DEPDIR)/filemode.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/fopen-safer.Po ./$(DEPDIR)/fts.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/full-read.Po ./$(DEPDIR)/full-write.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getdate.Po ./$(DEPDIR)/getopt.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getopt1.Po ./$(DEPDIR)/gettime.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getugroups.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/hard-locale.Po ./$(DEPDIR)/hash-pjw.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/hash.Po ./$(DEPDIR)/human.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/idcache.Po ./$(DEPDIR)/imaxtostr.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/isdir.Po ./$(DEPDIR)/linebuffer.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/localcharset.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/long-options.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/makepath.Po ./$(DEPDIR)/mbswidth.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/md5.Po ./$(DEPDIR)/memcasecmp.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/memcoll.Po ./$(DEPDIR)/modechange.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/offtostr.Po ./$(DEPDIR)/path-concat.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/physmem.Po ./$(DEPDIR)/posixtm.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/posixver.Po ./$(DEPDIR)/quote.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/quotearg.Po ./$(DEPDIR)/readtokens.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/root-dev-ino.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/safe-read.Po ./$(DEPDIR)/safe-write.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/same.Po ./$(DEPDIR)/save-cwd.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/savedir.Po ./$(DEPDIR)/settime.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/sha1.Po ./$(DEPDIR)/strftime.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/stripslash.Po ./$(DEPDIR)/time_r.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/umaxtostr.Po ./$(DEPDIR)/unicodeio.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/userspec.Po ./$(DEPDIR)/utimens.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/version-etc.Po ./$(DEPDIR)/xfts.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xgetcwd.Po ./$(DEPDIR)/xgethostname.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xmalloc.Po ./$(DEPDIR)/xmemcoll.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xnanosleep.Po ./$(DEPDIR)/xreadlink.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xstrdup.Po ./$(DEPDIR)/xstrndup.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xstrtod.Po ./$(DEPDIR)/xstrtoimax.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xstrtol.Po ./$(DEPDIR)/xstrtoul.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xstrtoumax.Po ./$(DEPDIR)/yesno.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
SOURCES = $(libfetish_a_SOURCES)
DIST_SOURCES = $(libfetish_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
@@ -55,6 +303,7 @@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@ -DLIBDIR=\"$(libdir)\"
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
@@ -64,6 +313,7 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
FNMATCH_H = @FNMATCH_H@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
@@ -146,6 +396,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@@ -153,11 +404,8 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
noinst_LIBRARIES = libfetish.a
INCLUDES = -I.. -I$(srcdir)
AM_CPPFLAGS = -I.. -I$(srcdir)
libfetish_a_SOURCES = \
acl.h acl.c \
getdate.h getdate.y \
@@ -172,7 +420,7 @@ libfetish_a_SOURCES = \
argmatch.c argmatch.h \
backupfile.c backupfile.h \
basename.c \
bumpalloc.h \
c-strtod.c c-strtod.h \
canon-host.c \
canonicalize.h \
closeout.c closeout.h \
@@ -184,16 +432,15 @@ libfetish_a_SOURCES = \
dup-safer.c \
euidaccess.h \
exclude.c exclude.h \
exit.h \
exitfail.c exitfail.h \
filemode.c filemode.h \
file-type.c file-type.h \
fnmatch_.h \
fopen-safer.c \
fsusage.h \
ftw_.h \
fts.c fts_.h \
full-read.c full-read.h \
full-write.c full-write.h \
getdelim2.c getdelim2.h \
getline.h \
getpagesize.h \
gettime.c \
@@ -207,7 +454,7 @@ libfetish_a_SOURCES = \
imaxtostr.c \
lchown.h \
linebuffer.c linebuffer.h \
localcharset.c \
localcharset.c localcharset.h \
long-options.c long-options.h \
makepath.c makepath.h \
mbswidth.c mbswidth.h \
@@ -225,37 +472,42 @@ libfetish_a_SOURCES = \
readtokens.c readtokens.h \
readutmp.h \
regex.h \
root-dev-ino.c root-dev-ino.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 \
sha1.c sha1.h \
sig2str.h \
stdio-safer.h \
stripslash.c \
strndup.h \
strverscmp.h \
time_r.c time_r.h \
timespec.h \
umaxtostr.c \
unicodeio.c unicodeio.h \
unistd-safer.h \
unlocked-io.h \
userspec.c \
userspec.c userspec.h \
utimens.c utimens.h \
version-etc.c version-etc.h \
xalloc.h \
xfts.c xfts.h \
xgetcwd.c xgetcwd.h \
xgethostname.c \
xgethostname.c xgethostname.h \
xmalloc.c \
xmemcoll.c xmemcoll.h \
xnanosleep.c xnanosleep.h \
xreadlink.c xreadlink.h \
xstrdup.c \
xstrndup.c xstrndup.h \
xstrtod.c xstrtod.h \
xstrtoimax.c \
xstrtol.c xstrtol.h \
xstrtoul.c \
xstrtoimax.c \
xstrtoumax.c \
yesno.c\
\
@@ -264,177 +516,54 @@ libfetish_a_SOURCES = \
vasprintf.h \
vasnprintf.h
libfetish_a_LIBADD = $(LIBOBJS) $(ALLOCA)
libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD)
BUILT_SOURCES = getdate.c $(STDBOOL_H) $(ALLOCA_H)
lib_OBJECTS = $(libfetish_a_OBJECTS)
BUILT_SOURCES = getdate.c $(STDBOOL_H) $(ALLOCA_H) $(FNMATCH_H)
CLEANFILES = charset.alias ref-add.sed ref-del.sed
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
MOSTLYCLEANFILES = stdbool.h stdbool.ht alloca.h alloca.ht
MOSTLYCLEANFILES = stdbool.h stdbool.ht alloca.h alloca.h-t fnmatch.h fnmatch.h-t
SUFFIXES = .sed .sin
EXTRA_DIST = config.charset ref-add.sin ref-del.sin \
fnmatch_loop.c inttostr.c inttostr.h\
stdbool.hin alloca_.h
getndelim2.c getndelim2.h \
inttostr.c inttostr.h\
stdbool_.h alloca_.h fnmatch_.h fnmatch_loop.c
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
SUFFIXES = .sed .sin
CLEANFILES = charset.alias ref-add.sed ref-del.sed
DISTCLEANFILES = ftw.h search.h fnmatch.h
subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libfetish_a_AR = $(AR) cru
am_libfetish_a_OBJECTS = acl.$(OBJEXT) getdate.$(OBJEXT) \
posixtm.$(OBJEXT) posixver.$(OBJEXT) strftime.$(OBJEXT) \
getopt.$(OBJEXT) getopt1.$(OBJEXT) hash.$(OBJEXT) \
hash-pjw.$(OBJEXT) addext.$(OBJEXT) argmatch.$(OBJEXT) \
backupfile.$(OBJEXT) basename.$(OBJEXT) canon-host.$(OBJEXT) \
closeout.$(OBJEXT) cycle-check.$(OBJEXT) diacrit.$(OBJEXT) \
dirname.$(OBJEXT) dup-safer.$(OBJEXT) exclude.$(OBJEXT) \
exitfail.$(OBJEXT) filemode.$(OBJEXT) file-type.$(OBJEXT) \
fopen-safer.$(OBJEXT) full-read.$(OBJEXT) full-write.$(OBJEXT) \
getdelim2.$(OBJEXT) gettime.$(OBJEXT) getugroups.$(OBJEXT) \
hard-locale.$(OBJEXT) human.$(OBJEXT) idcache.$(OBJEXT) \
isdir.$(OBJEXT) imaxtostr.$(OBJEXT) linebuffer.$(OBJEXT) \
localcharset.$(OBJEXT) long-options.$(OBJEXT) \
makepath.$(OBJEXT) mbswidth.$(OBJEXT) md5.$(OBJEXT) \
memcasecmp.$(OBJEXT) memcoll.$(OBJEXT) modechange.$(OBJEXT) \
offtostr.$(OBJEXT) path-concat.$(OBJEXT) physmem.$(OBJEXT) \
quote.$(OBJEXT) quotearg.$(OBJEXT) readtokens.$(OBJEXT) \
safe-read.$(OBJEXT) safe-write.$(OBJEXT) same.$(OBJEXT) \
save-cwd.$(OBJEXT) savedir.$(OBJEXT) settime.$(OBJEXT) \
sha.$(OBJEXT) stripslash.$(OBJEXT) umaxtostr.$(OBJEXT) \
unicodeio.$(OBJEXT) userspec.$(OBJEXT) version-etc.$(OBJEXT) \
xgetcwd.$(OBJEXT) xgethostname.$(OBJEXT) xmalloc.$(OBJEXT) \
xmemcoll.$(OBJEXT) xnanosleep.$(OBJEXT) xreadlink.$(OBJEXT) \
xstrdup.$(OBJEXT) xstrtod.$(OBJEXT) xstrtol.$(OBJEXT) \
xstrtoul.$(OBJEXT) xstrtoimax.$(OBJEXT) xstrtoumax.$(OBJEXT) \
yesno.$(OBJEXT)
libfetish_a_OBJECTS = $(am_libfetish_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/__fpending.Po $(DEPDIR)/alloca.Po \
@AMDEP_TRUE@ $(DEPDIR)/asnprintf.Po $(DEPDIR)/asprintf.Po \
@AMDEP_TRUE@ $(DEPDIR)/atexit.Po $(DEPDIR)/canonicalize.Po \
@AMDEP_TRUE@ $(DEPDIR)/chown.Po $(DEPDIR)/dirfd.Po \
@AMDEP_TRUE@ $(DEPDIR)/dup2.Po $(DEPDIR)/error.Po \
@AMDEP_TRUE@ $(DEPDIR)/euidaccess.Po $(DEPDIR)/fchdir-stub.Po \
@AMDEP_TRUE@ $(DEPDIR)/fchown-stub.Po $(DEPDIR)/fileblocks.Po \
@AMDEP_TRUE@ $(DEPDIR)/fnmatch.Po $(DEPDIR)/fsusage.Po \
@AMDEP_TRUE@ $(DEPDIR)/ftruncate.Po $(DEPDIR)/ftw.Po \
@AMDEP_TRUE@ $(DEPDIR)/getcwd.Po $(DEPDIR)/getgroups.Po \
@AMDEP_TRUE@ $(DEPDIR)/gethostname.Po $(DEPDIR)/getline.Po \
@AMDEP_TRUE@ $(DEPDIR)/getloadavg.Po $(DEPDIR)/getpass.Po \
@AMDEP_TRUE@ $(DEPDIR)/gettimeofday.Po $(DEPDIR)/getusershell.Po \
@AMDEP_TRUE@ $(DEPDIR)/group-member.Po $(DEPDIR)/lchown.Po \
@AMDEP_TRUE@ $(DEPDIR)/lstat-stub.Po $(DEPDIR)/lstat.Po \
@AMDEP_TRUE@ $(DEPDIR)/malloc.Po $(DEPDIR)/memchr.Po \
@AMDEP_TRUE@ $(DEPDIR)/memcmp.Po $(DEPDIR)/memcpy.Po \
@AMDEP_TRUE@ $(DEPDIR)/memmove.Po $(DEPDIR)/memrchr.Po \
@AMDEP_TRUE@ $(DEPDIR)/memset.Po $(DEPDIR)/mkdir.Po \
@AMDEP_TRUE@ $(DEPDIR)/mkstemp.Po $(DEPDIR)/mktime.Po \
@AMDEP_TRUE@ $(DEPDIR)/mountlist.Po $(DEPDIR)/nanosleep.Po \
@AMDEP_TRUE@ $(DEPDIR)/obstack.Po $(DEPDIR)/printf-args.Po \
@AMDEP_TRUE@ $(DEPDIR)/printf-parse.Po $(DEPDIR)/putenv.Po \
@AMDEP_TRUE@ $(DEPDIR)/raise.Po $(DEPDIR)/readlink-stub.Po \
@AMDEP_TRUE@ $(DEPDIR)/readutmp.Po $(DEPDIR)/realloc.Po \
@AMDEP_TRUE@ $(DEPDIR)/regex.Po $(DEPDIR)/rename.Po \
@AMDEP_TRUE@ $(DEPDIR)/rmdir.Po $(DEPDIR)/rpmatch.Po \
@AMDEP_TRUE@ $(DEPDIR)/sig2str.Po $(DEPDIR)/stat.Po \
@AMDEP_TRUE@ $(DEPDIR)/stpcpy.Po $(DEPDIR)/strcasecmp.Po \
@AMDEP_TRUE@ $(DEPDIR)/strcspn.Po $(DEPDIR)/strdup.Po \
@AMDEP_TRUE@ $(DEPDIR)/strncasecmp.Po $(DEPDIR)/strndup.Po \
@AMDEP_TRUE@ $(DEPDIR)/strnlen.Po $(DEPDIR)/strpbrk.Po \
@AMDEP_TRUE@ $(DEPDIR)/strstr.Po $(DEPDIR)/strtod.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtoimax.Po $(DEPDIR)/strtol.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtoll.Po $(DEPDIR)/strtoul.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtoull.Po $(DEPDIR)/strtoumax.Po \
@AMDEP_TRUE@ $(DEPDIR)/strverscmp.Po $(DEPDIR)/tempname.Po \
@AMDEP_TRUE@ $(DEPDIR)/tsearch.Po $(DEPDIR)/utime.Po \
@AMDEP_TRUE@ $(DEPDIR)/vasnprintf.Po $(DEPDIR)/vasprintf.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/acl.Po ./$(DEPDIR)/addext.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/argmatch.Po ./$(DEPDIR)/backupfile.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/basename.Po ./$(DEPDIR)/canon-host.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/closeout.Po ./$(DEPDIR)/cycle-check.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/diacrit.Po ./$(DEPDIR)/dirname.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dup-safer.Po ./$(DEPDIR)/exclude.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/exitfail.Po ./$(DEPDIR)/file-type.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/filemode.Po ./$(DEPDIR)/fopen-safer.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/full-read.Po ./$(DEPDIR)/full-write.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getdate.Po ./$(DEPDIR)/getdelim2.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getopt.Po ./$(DEPDIR)/getopt1.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/gettime.Po ./$(DEPDIR)/getugroups.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/hard-locale.Po ./$(DEPDIR)/hash-pjw.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/hash.Po ./$(DEPDIR)/human.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/idcache.Po ./$(DEPDIR)/imaxtostr.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/isdir.Po ./$(DEPDIR)/linebuffer.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/localcharset.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/long-options.Po ./$(DEPDIR)/makepath.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/mbswidth.Po ./$(DEPDIR)/md5.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/memcasecmp.Po ./$(DEPDIR)/memcoll.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/modechange.Po ./$(DEPDIR)/offtostr.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/path-concat.Po ./$(DEPDIR)/physmem.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/posixtm.Po ./$(DEPDIR)/posixver.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/quote.Po ./$(DEPDIR)/quotearg.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/readtokens.Po ./$(DEPDIR)/safe-read.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/safe-write.Po ./$(DEPDIR)/same.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/save-cwd.Po ./$(DEPDIR)/savedir.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/settime.Po ./$(DEPDIR)/sha.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/strftime.Po ./$(DEPDIR)/stripslash.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/umaxtostr.Po ./$(DEPDIR)/unicodeio.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/userspec.Po ./$(DEPDIR)/version-etc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xgetcwd.Po ./$(DEPDIR)/xgethostname.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xmalloc.Po ./$(DEPDIR)/xmemcoll.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xnanosleep.Po ./$(DEPDIR)/xreadlink.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xstrdup.Po ./$(DEPDIR)/xstrtod.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xstrtoimax.Po ./$(DEPDIR)/xstrtol.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xstrtoul.Po ./$(DEPDIR)/xstrtoumax.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/yesno.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
DIST_SOURCES = $(libfetish_a_SOURCES)
DIST_COMMON = README ChangeLog Makefile.am Makefile.in TODO \
__fpending.c alloca.c asnprintf.c asprintf.c atexit.c \
canonicalize.c chown.c dirfd.c dup2.c error.c error.h \
euidaccess.c fchdir-stub.c fchown-stub.c fileblocks.c fnmatch.c \
fsusage.c ftruncate.c ftw.c getcwd.c getdate.c getgroups.c \
gethostname.c getline.c getloadavg.c getpass.c gettimeofday.c \
getusershell.c group-member.c lchown.c lstat-stub.c lstat.c \
malloc.c memchr.c memcmp.c memcpy.c memmove.c memrchr.c \
memset.c mkdir.c mkstemp.c mktime.c mountlist.c nanosleep.c \
obstack.c obstack.h printf-args.c printf-parse.c putenv.c \
raise.c readlink-stub.c readutmp.c realloc.c regex.c rename.c \
rmdir.c rpmatch.c sig2str.c stat.c stpcpy.c strcasecmp.c \
strcspn.c strdup.c strncasecmp.c strndup.c strnlen.c strpbrk.c \
strstr.c strtod.c strtoimax.c strtol.c strtoll.c strtoul.c \
strtoull.c strtoumax.c strverscmp.c tempname.c tsearch.c \
utime.c vasnprintf.c vasprintf.c
SOURCES = $(libfetish_a_SOURCES)
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .sed .sin .c .o .obj .y
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits lib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -444,7 +573,7 @@ libfetish.a: $(libfetish_a_OBJECTS) $(libfetish_a_DEPENDENCIES)
$(RANLIB) libfetish.a
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@@ -464,20 +593,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fchown-stub.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fileblocks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fnmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/free.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fsusage.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftruncate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftw.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getcwd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getgroups.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gethostname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getline.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getloadavg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getndelim2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getpass.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gettimeofday.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getusershell.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/group-member.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lchown.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lstat-stub.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lstat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/malloc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memchr.Po@am__quote@
@@ -496,7 +625,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/printf-parse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/putenv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/raise.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/readlink-stub.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/readlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/readutmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/realloc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/regex.Po@am__quote@
@@ -523,7 +652,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoumax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strverscmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tempname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tsearch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/utime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vasnprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vasprintf.Po@am__quote@
@@ -532,6 +660,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/backupfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strtod.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canon-host.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cycle-check.Po@am__quote@
@@ -543,10 +672,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-type.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemode.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fopen-safer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fts.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full-read.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full-write.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdelim2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettime.Po@am__quote@
@@ -575,19 +704,23 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quote.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readtokens.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/root-dev-ino.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-read.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-write.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/same.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/save-cwd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/savedir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strftime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umaxtostr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicodeio.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/userspec.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfts.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetcwd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgethostname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@
@@ -595,6 +728,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xnanosleep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xreadlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrdup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtod.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoimax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol.Po@am__quote@
@@ -602,33 +736,24 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoumax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yesno.Po@am__quote@
distclean-depend:
-rm -rf $(DEPDIR) ./$(DEPDIR)
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.y.c:
$(YACCCOMPILE) `test -f '$<' || echo '$(srcdir)/'`$<
$(YACCCOMPILE) $<
if test -f y.tab.h; then \
to=`echo "$*_H" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
@@ -648,14 +773,6 @@ distclean-depend:
rm -f y.tab.c
uninstall-info-am:
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 \
@@ -664,6 +781,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@@ -678,7 +796,6 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@@ -701,10 +818,6 @@ GTAGS:
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@@ -718,7 +831,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@@ -737,7 +850,6 @@ check-am: all-am
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LIBRARIES) all-local
installdirs:
install: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-am
@@ -751,7 +863,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -761,8 +873,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -775,14 +886,17 @@ clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
-rm -rf $(DEPDIR) ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
@@ -798,7 +912,8 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf $(DEPDIR) ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
@@ -817,18 +932,17 @@ uninstall-am: uninstall-info-am uninstall-local
.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
clean-generic clean-noinstLIBRARIES ctags distclean \
distclean-compile distclean-depend distclean-generic \
distclean-tags distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-exec-local install-info install-info-am \
install-man install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
ps ps-am tags uninstall uninstall-am uninstall-info-am \
uninstall-local
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-exec-local install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-info-am uninstall-local
# The following is needed in order to install a simple file in $(libdir)
# We need the following in order to install a simple file in $(libdir)
# which is shared with other installed packages. We use a list of referencing
# packages so that "make uninstall" will remove the file if and only if it
# is not used by another installed package.
@@ -837,13 +951,13 @@ uninstall-am: uninstall-info-am uninstall-local
all-local: charset.alias ref-add.sed ref-del.sed
install-exec-local: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
test $(GLIBC21) != no || $(mkinstalldirs) $(DESTDIR)$(libdir)
if test -f $(charset_alias); then \
sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
else \
if test @GLIBC21@ = no; then \
if test $(GLIBC21) = no; then \
sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
@@ -863,20 +977,29 @@ uninstall-local: all-local
fi
charset.alias: config.charset
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
$(SHELL) $(srcdir)/config.charset '$(host)' > t-$@
mv t-$@ $@
# Create stdbool.h on systems that lack a working one.
stdbool.h: stdbool.hin
sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' $(srcdir)/stdbool.hin > $@t
mv $@t $@
# Create an <alloca.h> when the system
# doesn't have one that works with the given compiler.
alloca.h: alloca_.h
cp $(srcdir)/alloca_.h $@t
mv $@t $@
.sin.sed:
sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@
mv t-$@ $@
# Create stdbool.h on systems that lack a working one.
stdbool.h: stdbool_.h
sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' $(srcdir)/stdbool_.h > $@t
mv $@t $@
# We need the following in order to create an <alloca.h> when the system
# doesn't have one that works with the given compiler.
all-local $(lib_OBJECTS): $(ALLOCA_H)
alloca.h: alloca_.h
cp $(srcdir)/alloca_.h $@-t
mv $@-t $@
# We need the following in order to create an <fnmatch.h> when the system
# doesn't have one that supports the required API.
all-local $(lib_OBJECTS): $(FNMATCH_H)
fnmatch.h: fnmatch_.h
cp $(srcdir)/fnmatch_.h $@-t
mv $@-t $@
# 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,3 +1,3 @@
The files in this directory are used in many GNU packages,
including diffutils, fileutils, sh-utils, tar, and textutils.
including coreutils, diffutils, and tar.
The autoconf tests required for these files are in ../m4.

View File

@@ -37,11 +37,7 @@
#endif
#include <stddef.h>
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#include <string.h>
#if HAVE_UNISTD_H
# include <unistd.h>

View File

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

View File

@@ -1,7 +1,7 @@
/* argmatch.c -- find a match for a string in an array
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003 Free Software
Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003, 2004 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
@@ -35,6 +35,7 @@
#define _(msgid) gettext (msgid)
#include "error.h"
#include "exit.h"
#include "quotearg.h"
#include "quote.h"
#include "unlocked-io.h"
@@ -46,13 +47,10 @@
# define ARGMATCH_QUOTING_STYLE locale_quoting_style
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
/* Non failing version of argmatch call this function after failing. */
#ifndef ARGMATCH_DIE
# define ARGMATCH_DIE exit (EXIT_FAILURE)
# include "exitfail.h"
# define ARGMATCH_DIE exit (exit_failure)
#endif
#ifdef ARGMATCH_DIE_DECL
@@ -212,7 +210,6 @@ argmatch_to_argument (const char *value,
* Based on "getversion.c" by David MacKenzie <djm@gnu.ai.mit.edu>
*/
char *program_name;
extern const char *getenv ();
/* When to make backup files. */
enum backup_type

View File

@@ -1,5 +1,7 @@
/* argmatch.h -- definitions and prototypes for argmatch.c
Copyright (C) 1990, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2004 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
@@ -55,7 +57,7 @@ int argmatch (char const *arg, char const *const *arglist,
/* xargmatch calls this function when it fails. This function should not
return. By default, this is a function that calls ARGMATCH_DIE which
in turn defaults to `exit (EXIT_FAILURE)'. */
in turn defaults to `exit (exit_failure)'. */
typedef void (*argmatch_exit_fn) (void);
extern argmatch_exit_fn argmatch_die;

View File

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

View File

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

View File

@@ -4,8 +4,7 @@
#include "config.h"
int
atexit(f)
void (*f)();
atexit (void (*f) (void))
{
/* If the system doesn't provide a definition for atexit, use on_exit
if the system provides that. */

View File

@@ -27,11 +27,7 @@
#include <stddef.h>
#include <stdio.h>
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#include <string.h>
#if HAVE_DIRENT_H
# include <dirent.h>
@@ -57,23 +53,7 @@
# define CLOSEDIR(d) closedir (d)
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef HAVE_DECL_GETENV
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_GETENV
char *getenv ();
#endif
#ifndef HAVE_DECL_MALLOC
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_MALLOC
char *malloc ();
#endif
#include <stdlib.h>
#if HAVE_DIRENT_H || HAVE_NDIR_H || HAVE_SYS_DIR_H || HAVE_SYS_NDIR_H
# define HAVE_DIR 1

View File

@@ -1,5 +1,7 @@
/* backupfile.h -- declarations for making Emacs style backup file names
Copyright (C) 1990-1992, 1997-1999 Free Software Foundation, Inc.
Copyright (C) 1990, 1991, 1992, 1997, 1998, 1999, 2003 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

View File

@@ -1,5 +1,7 @@
/* basename.c -- return the last element in a path
Copyright (C) 1990, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2000, 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
@@ -19,10 +21,8 @@
# include <config.h>
#endif
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#endif
#include "dirname.h"
#include <string.h>
/* In general, we can't use the builtin `basename' function if available,
since it has different meanings in different environments.

View File

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

View File

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

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

@@ -0,0 +1,49 @@
/* Convert string to double, using the C locale.
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 Paul Eggert. */
#include "c-strtod.h"
#include <locale.h>
#include <stdlib.h>
#include "xalloc.h"
double
c_strtod (char const *nptr, char **endptr)
{
double r;
char *saved_locale = setlocale (LC_NUMERIC, NULL);
if (saved_locale)
{
saved_locale = xstrdup (saved_locale);
setlocale (LC_NUMERIC, "C");
}
r = strtod (nptr, endptr);
if (saved_locale)
{
setlocale (LC_NUMERIC, saved_locale);
free (saved_locale);
}
return r;
}

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

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

View File

@@ -1,6 +1,6 @@
/* Host name canonicalization
Copyright (C) 1995, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1995, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
Written by Miles Bader <miles@gnu.ai.mit.edu>
@@ -26,12 +26,8 @@
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
# include <string.h>
#endif
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_NETDB_H
# include <netdb.h>
#endif

View File

@@ -19,12 +19,7 @@
# include <config.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
#include "closeout.h"
#include <stdio.h>
@@ -36,33 +31,23 @@ extern int errno;
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "closeout.h"
#include "error.h"
#include "exitfail.h"
#include "quotearg.h"
#include "unlocked-io.h"
#include "__fpending.h"
static int default_exit_status = EXIT_FAILURE;
static const char *file_name;
/* Set the value to be used for the exit status when close_stdout is called.
This is useful when it is not convenient to call close_stdout_status,
e.g., when close_stdout is called via atexit. */
void
close_stdout_set_status (int status)
{
default_exit_status = status;
}
/* Set the file name to be reported in the event an error is detected
by close_stdout_status. */
by close_stdout. */
void
close_stdout_set_file_name (const char *file)
{
file_name = file;
}
/* Close standard output, exiting with status STATUS on failure.
/* Close standard output, exiting with status 'exit_failure' on failure.
If a program writes *anything* to stdout, that program should `fflush'
stdout and make sure that it succeeds before exiting. Otherwise,
suppose that you go to the extreme of checking the return status
@@ -86,7 +71,7 @@ close_stdout_set_file_name (const char *file)
on being able to detect failure in other tools via their exit status. */
void
close_stdout_status (int status)
close_stdout (void)
{
int e = ferror (stdout) ? 0 : -1;
@@ -102,15 +87,9 @@ close_stdout_status (int status)
{
char const *write_error = _("write error");
if (file_name)
error (status, e, "%s: %s", quotearg_colon (file_name), write_error);
error (exit_failure, e, "%s: %s", quotearg_colon (file_name),
write_error);
else
error (status, e, "%s", write_error);
error (exit_failure, e, "%s", write_error);
}
}
/* Close standard output, exiting with status EXIT_FAILURE on failure. */
void
close_stdout (void)
{
close_stdout_status (default_exit_status);
}

View File

@@ -19,9 +19,7 @@
#ifndef CLOSEOUT_H
# define CLOSEOUT_H 1
void close_stdout_set_status (int status);
void close_stdout_set_file_name (const char *file);
void close_stdout (void);
void close_stdout_status (int status);
#endif

View File

@@ -3,20 +3,19 @@
#
# Copyright (C) 2000-2003 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published
# by the Free Software Foundation; either version 2, or (at your option)
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
# USA.
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# The table consists of lines of the form
# ALIAS CANONICAL

View File

@@ -1,6 +1,9 @@
#ifndef DEV_INO_H
# define DEV_INO_H 1
# include <sys/types.h>
# include <sys/stat.h>
struct dev_ino
{
ino_t st_ino;

View File

@@ -1,5 +1,5 @@
/* dirname.c -- return all but the last element in a path
Copyright 1990, 1998, 2000, 2001, 2003 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 2000, 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
@@ -19,11 +19,9 @@
# include <config.h>
#endif
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#endif
#include "dirname.h"
#include <string.h>
#include "xalloc.h"
/* Return the length of `dirname (PATH)', or zero if PATH is

View File

@@ -1,4 +1,6 @@
/* Copyright (C) 1998, 2001 Free Software Foundation, Inc.
/* Take file names apart into directory and base names.
Copyright (C) 1998, 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

View File

@@ -1,5 +1,7 @@
/* Error handler for noninteractive utilities
Copyright (C) 1990-1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 1990-1998, 2000-2002, 2003 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)
@@ -20,7 +22,12 @@
# include <config.h>
#endif
#include "error.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _LIBC
# include <libintl.h>
@@ -33,28 +40,6 @@
# define mbsrtowcs __mbsrtowcs
#endif
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
# if __STDC__
# include <stdarg.h>
# define VA_START(args, lastarg) va_start(args, lastarg)
# else
# include <varargs.h>
# define VA_START(args, lastarg) va_start(args)
# endif
#else
# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
#endif
#if STDC_HEADERS || _LIBC
# include <stdlib.h>
# include <string.h>
#else
void exit ();
#endif
#include "error.h"
#if !_LIBC
# include "unlocked-io.h"
#endif
@@ -66,11 +51,7 @@ void exit ();
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this
function without parameters instead. */
void (*error_print_progname) (
#if __STDC__ - 0
void
#endif
);
void (*error_print_progname) (void);
/* This variable is incremented each time `error' is called. */
unsigned int error_message_count;
@@ -98,6 +79,8 @@ extern void __error_at_line (int status, int errnum, const char *file_name,
# undef putc
# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
# include <bits/libc-lock.h>
#else /* not _LIBC */
# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
@@ -107,34 +90,17 @@ extern void __error_at_line (int status, int errnum, const char *file_name,
char *strerror_r ();
# endif
# ifndef SIZE_MAX
# define SIZE_MAX ((size_t) -1)
# endif
/* The calling program should define program_name and set it to the
name of the executing program. */
extern char *program_name;
# if HAVE_STRERROR_R || defined strerror_r
# define __strerror_r strerror_r
# else
# if HAVE_STRERROR
# 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 (int errnum)
{
extern char *sys_errlist[];
extern int sys_nerr;
if (errnum > 0 && errnum <= sys_nerr)
return _(sys_errlist[errnum]);
return _("Unknown system error");
}
# define strerror private_strerror
# endif /* HAVE_STRERROR */
# endif /* HAVE_STRERROR_R || defined strerror_r */
# endif
#endif /* not _LIBC */
static void
@@ -172,93 +138,70 @@ print_errno_message (int errnum)
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 _LIBC
if (_IO_fwide (stderr, 0) > 0)
{
# define ALLOCA_LIMIT 2000
# define ALLOCA_LIMIT 2000
size_t len = strlen (message) + 1;
wchar_t *wmessage = NULL;
mbstate_t st;
size_t res;
const char *tmp;
const wchar_t *wmessage = L"out of memory";
wchar_t *wbuf = (len < ALLOCA_LIMIT
? alloca (len * sizeof *wbuf)
: len <= SIZE_MAX / sizeof *wbuf
? malloc (len * sizeof *wbuf)
: NULL);
do
if (wbuf)
{
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;
}
}
size_t res;
mbstate_t st;
const char *tmp = message;
memset (&st, '\0', sizeof (st));
tmp =message;
res = mbsrtowcs (wbuf, &tmp, len, &st);
wmessage = res == (size_t) -1 ? L"???" : wbuf;
}
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);
if (! (len < ALLOCA_LIMIT))
free (wbuf);
}
else
# endif
#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 _LIBC
if (_IO_fwide (stderr, 0) > 0)
putwc (L'\n', stderr);
else
# endif
#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, ...)
#else
error (status, errnum, message, va_alist)
int status;
int errnum;
char *message;
va_dcl
#endif
{
#ifdef VA_START
va_list args;
#if defined _LIBC && defined __libc_ptf_call
/* We do not want this call to be cut short by a thread
cancellation. Therefore disable cancellation for now. */
int state = PTHREAD_CANCEL_ENABLE;
__libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state),
0);
#endif
fflush (stdout);
@@ -277,23 +220,14 @@ error (status, errnum, message, va_alist)
fprintf (stderr, "%s: ", program_name);
}
#ifdef VA_START
VA_START (args, message);
va_start (args, message);
error_tail (status, errnum, message, args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
++error_message_count;
if (errnum)
print_errno_message (errnum);
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
#endif
#ifdef _LIBC
_IO_funlockfile (stderr);
# ifdef __libc_ptf_call
__libc_ptf_call (pthread_setcancelstate, (state, NULL), 0);
# endif
#endif
}
@@ -302,22 +236,10 @@ error (status, errnum, message, va_alist)
int error_one_per_line;
void
#if defined VA_START && __STDC__
error_at_line (int status, int errnum, const char *file_name,
unsigned int line_number, const char *message, ...)
#else
error_at_line (status, errnum, file_name, line_number, message, va_alist)
int status;
int errnum;
const char *file_name;
unsigned int line_number;
char *message;
va_dcl
#endif
{
#ifdef VA_START
va_list args;
#endif
if (error_one_per_line)
{
@@ -334,6 +256,14 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
old_line_number = line_number;
}
#if defined _LIBC && defined __libc_ptf_call
/* We do not want this call to be cut short by a thread
cancellation. Therefore disable cancellation for now. */
int state = PTHREAD_CANCEL_ENABLE;
__libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state),
0);
#endif
fflush (stdout);
#ifdef _LIBC
_IO_flockfile (stderr);
@@ -360,23 +290,14 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
fprintf (stderr, "%s:%d: ", file_name, line_number);
}
#ifdef VA_START
VA_START (args, message);
va_start (args, message);
error_tail (status, errnum, message, args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
++error_message_count;
if (errnum)
print_errno_message (errnum);
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
#endif
#ifdef _LIBC
_IO_funlockfile (stderr);
# ifdef __libc_ptf_call
__libc_ptf_call (pthread_setcancelstate, (state, NULL), 0);
# endif
#endif
}

View File

@@ -1,24 +1,20 @@
/* Declaration for error-reporting function
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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 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 _ERROR_H
#define _ERROR_H 1
@@ -40,17 +36,15 @@
extern "C" {
#endif
#if defined (__STDC__) && __STDC__
/* Print a message with `fprintf (stderr, FORMAT, ...)';
if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
extern void error (int status, int errnum, const char *format, ...)
extern void error (int __status, int __errnum, const char *__format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern void error_at_line (int status, int errnum, const char *fname,
unsigned int lineno, const char *format, ...)
extern void error_at_line (int __status, int __errnum, const char *__fname,
unsigned int __lineno, const char *__format, ...)
__attribute__ ((__format__ (__printf__, 5, 6)));
/* If NULL, error will flush stdout, then print on stderr the program
@@ -58,12 +52,6 @@ extern void error_at_line (int status, int errnum, const char *fname,
function without parameters instead. */
extern void (*error_print_progname) (void);
#else
void error ();
void error_at_line ();
extern void (*error_print_progname) ();
#endif
/* This variable is incremented each time `error' is called. */
extern unsigned int error_message_count;

View File

@@ -1,22 +1,23 @@
/* euidaccess -- check if effective user id can access file
Copyright (C) 1990, 1991, 1995, 1998, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Copyright (C) 1990, 1991, 1995, 1998, 2000, 2003 Free Software
Foundation, Inc.
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.
This file is part of the GNU C Library.
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
Library General Public License for more details.
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.
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. */
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 David MacKenzie and Torbjorn Granlund.
Adapted for GNU C library by Roland McGrath. */
@@ -25,6 +26,10 @@ Suite 330, Boston, MA 02111-1307, USA. */
# include <config.h>
#endif
#ifndef _LIBC
# include "euidaccess.h"
#endif
#include <sys/types.h>
#include <sys/stat.h>
@@ -69,7 +74,6 @@ extern int errno;
#ifndef __set_errno
# define __set_errno(val) errno = (val)
#endif
#include "euidaccess.h"
#if defined(EACCES) && !defined(EACCESS)
# define EACCESS EACCES
@@ -207,9 +211,7 @@ weak_alias (__euidaccess, euidaccess)
char *program_name;
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
char *file;
int mode;

View File

@@ -26,38 +26,33 @@
#include <stdbool.h>
#include <ctype.h>
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include <stddef.h>
#include <stdio.h>
#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
#include <stdlib.h>
#include <string.h>
#include "exclude.h"
#include "fnmatch.h"
#include "unlocked-io.h"
#include "xalloc.h"
#ifndef SIZE_MAX
# define SIZE_MAX ((size_t) -1)
#if STDC_HEADERS || (! defined isascii && ! HAVE_ISASCII)
# define IN_CTYPE_DOMAIN(c) true
#else
# define IN_CTYPE_DOMAIN(c) isascii (c)
#endif
static inline bool
is_space (unsigned char c)
{
return IN_CTYPE_DOMAIN (c) && isspace (c);
}
/* Verify a requirement at compile-time (unlike assert, which is runtime). */
#define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
@@ -98,11 +93,7 @@ struct exclude
struct exclude *
new_exclude (void)
{
struct exclude *ex = xmalloc (sizeof *ex);
ex->exclude_count = 0;
ex->exclude_alloc = (1 << 6); /* This must be a power of 2. */
ex->exclude = xmalloc (ex->exclude_alloc * sizeof ex->exclude[0]);
return ex;
return xzalloc (sizeof *new_exclude ());
}
/* Free the storage associated with an exclude list. */
@@ -193,14 +184,9 @@ 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 = xrealloc (ex->exclude, s * sizeof ex->exclude[0]);
}
if (ex->exclude_count == ex->exclude_alloc)
ex->exclude = x2nrealloc (ex->exclude, &ex->exclude_alloc,
sizeof *ex->exclude);
patopts = &ex->exclude[ex->exclude_count++];
patopts->pattern = pattern;
@@ -208,8 +194,9 @@ add_exclude (struct exclude *ex, char const *pattern, int 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. */
OPTIONS. LINE_END terminates each pattern in the file. If
LINE_END is a space character, ignore trailing spaces and empty
lines in FILE. Return -1 on failure, 0 on success. */
int
add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
@@ -218,11 +205,11 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
{
bool use_stdin = filename[0] == '-' && !filename[1];
FILE *in;
char *buf;
char *buf = NULL;
char *p;
char const *pattern;
char const *lim;
size_t buf_alloc = (1 << 10); /* This must be a power of two. */
size_t buf_alloc = 0;
size_t buf_count = 0;
int c;
int e = 0;
@@ -232,18 +219,11 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
else if (! (in = fopen (filename, "r")))
return -1;
buf = xmalloc (buf_alloc);
while ((c = getc (in)) != EOF)
{
buf[buf_count++] = c;
if (buf_count == buf_alloc)
{
buf_alloc *= 2;
if (! buf_alloc)
xalloc_die ();
buf = xrealloc (buf, buf_alloc);
}
buf = x2realloc (buf, &buf_alloc);
buf[buf_count++] = c;
}
if (ferror (in))
@@ -253,12 +233,28 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
e = errno;
buf = xrealloc (buf, buf_count + 1);
buf[buf_count] = line_end;
lim = buf + buf_count + ! (buf_count == 0 || buf[buf_count - 1] == line_end);
pattern = buf;
for (pattern = p = buf, lim = buf + buf_count; p <= lim; p++)
if (p < lim ? *p == line_end : buf < p && p[-1])
for (p = buf; p < lim; p++)
if (*p == line_end)
{
*p = '\0';
char *pattern_end = p;
if (is_space (line_end))
{
for (; ; pattern_end--)
if (pattern_end == pattern)
goto next_pattern;
else if (! is_space (pattern_end[-1]))
break;
}
*pattern_end = '\0';
(*add_func) (ex, pattern, options);
next_pattern:
pattern = p + 1;
}

32
lib/exit.h Normal file
View File

@@ -0,0 +1,32 @@
/* exit() function.
Copyright (C) 1995, 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. */
#ifndef _EXIT_H
#define _EXIT_H
/* Get exit() declaration. */
#include <stdlib.h>
/* Some systems do not define EXIT_*, even with STDC_HEADERS. */
#ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
#endif /* _EXIT_H */

View File

@@ -1,6 +1,6 @@
/* Failure exit status
Copyright (C) 2002 Free Software Foundation, Inc.
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
@@ -21,11 +21,7 @@
# include <config.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
#include "exitfail.h"
#include "exit.h"
int volatile exit_failure = EXIT_FAILURE;

View File

@@ -1,71 +0,0 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
/* FIXME: define EXIT_FAILURE */
#include <stdio.h>
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
# if __STDC__
# include <stdarg.h>
# define VA_START(args, lastarg) va_start(args, lastarg)
# else
# include <varargs.h>
# define VA_START(args, lastarg) va_start(args)
# endif
#else
# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
#endif
#if STDC_HEADERS || _LIBC
# include <stdlib.h>
# include <string.h>
#else
void exit ();
#endif
#ifdef _LIBC
# define program_name program_invocation_name
#else /* not _LIBC */
/* The calling program should define program_name and set it to the
name of the executing program. */
extern char *program_name;
#endif
#include "fatal.h"
#include "unlocked-io.h"
/* Like error, but always exit with EXIT_FAILURE. */
void
#if defined VA_START && __STDC__
fatal (int errnum, const char *message, ...)
#else
fatal (errnum, message, va_alist)
int errnum;
char *message;
va_dcl
#endif
{
#ifdef VA_START
va_list args;
#endif
if (error_print_progname)
(*error_print_progname) ();
else
{
fflush (stdout);
fprintf (stderr, "%s: ", program_name);
}
#ifdef VA_START
VA_START (args, message);
error (EXIT_FAILURE, errnum, message, args);
va_end (args);
#else
error (EXIT_FAILURE, errnum, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
}

View File

@@ -1,68 +0,0 @@
#include "error.h"
/* FIXME: this is all from ansidecl. better to simply swipe
that file from egcs/include and include it from here. */
/* Using MACRO(x,y) in cpp #if conditionals does not work with some
older preprocessors. Thus we can't define something like this:
#define HAVE_GCC_VERSION(MAJOR, MINOR) \
(__GNUC__ > (MAJOR) || (__GNUC__ == (MAJOR) && __GNUC_MINOR__ >= (MINOR)))
and then test "#if HAVE_GCC_VERSION(2,7)".
So instead we use the macro below and test it against specific values. */
/* This macro simplifies testing whether we are using gcc, and if it
is of a particular minimum version. (Both major & minor numbers are
significant.) This macro will evaluate to 0 if we are not using
gcc at all. */
#ifndef GCC_VERSION
# define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
#endif /* GCC_VERSION */
/* Define macros for some gcc attributes. This permits us to use the
macros freely, and know that they will come into play for the
version of gcc in which they are supported. */
#if (GCC_VERSION < 2007)
# define __attribute__(x)
#endif
/* Attribute __malloc__ on functions was valid as of gcc 2.96. */
#ifndef ATTRIBUTE_MALLOC
# if (GCC_VERSION >= 2096)
# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
# else
# define ATTRIBUTE_MALLOC
# endif /* GNUC >= 2.96 */
#endif /* ATTRIBUTE_MALLOC */
/* Attributes on labels were valid as of gcc 2.93. */
#ifndef ATTRIBUTE_UNUSED_LABEL
# if (GCC_VERSION >= 2093)
# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED
# else
# define ATTRIBUTE_UNUSED_LABEL
# endif /* GNUC >= 2.93 */
#endif /* ATTRIBUTE_UNUSED_LABEL */
#ifndef ATTRIBUTE_UNUSED
# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
#endif /* ATTRIBUTE_UNUSED */
#ifndef ATTRIBUTE_NORETURN
# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
#endif /* ATTRIBUTE_NORETURN */
#ifndef ATTRIBUTE_PRINTF
# define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n)))
# define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2)
# define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3)
# define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4)
# define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5)
# define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6)
#endif /* ATTRIBUTE_PRINTF */
extern void fatal (int errnum, const char *format, ...)
ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_2;

View File

@@ -1,5 +1,5 @@
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, 2001,
2002 Free Software Foundation, Inc.
/* Copyright (C) 1991,1992,1993,1996,1997,1998,1999,2000,2001,2002,2003,2004
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -45,23 +45,14 @@ char *alloca ();
# define __builtin_expect(expr, expected) (expr)
#endif
#include <assert.h>
#include <errno.h>
#include <fnmatch.h>
#include <assert.h>
#include <ctype.h>
#if HAVE_STRING_H || defined _LIBC
# include <string.h>
#else
# if HAVE_STRINGS_H
# include <strings.h>
# endif
#endif
#if defined STDC_HEADERS || defined _LIBC
# include <stddef.h>
# include <stdlib.h>
#endif
#include <errno.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
@@ -83,17 +74,20 @@ char *alloca ();
# 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
#ifndef SIZE_MAX
# define SIZE_MAX ((size_t) -1)
#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
/* Comment out all this code if we are using the GNU C Library, and 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
@@ -178,10 +172,6 @@ extern int fnmatch (const char *pattern, const char *string, int flags);
/* 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
@@ -328,46 +318,73 @@ is_char_class (const wchar_t *wcs)
int
fnmatch (pattern, string, flags)
const char *pattern;
const char *string;
int flags;
fnmatch (const char *pattern, const char *string, int flags)
{
# if HANDLE_MULTIBYTE
# define ALLOCA_LIMIT 2000
if (__builtin_expect (MB_CUR_MAX, 1) != 1)
{
mbstate_t ps;
size_t n;
size_t patsize;
size_t strsize;
size_t totsize;
wchar_t *wpattern;
wchar_t *wstring;
int res;
/* Calculate the size needed to convert the strings to
wide characters. */
memset (&ps, '\0', sizeof (ps));
patsize = mbsrtowcs (NULL, &pattern, 0, &ps) + 1;
if (__builtin_expect (patsize == 0, 0))
/* Something wrong.
XXX Do we have to set `errno' to something which mbsrtows hasn't
already done? */
return -1;
assert (mbsinit (&ps));
strsize = mbsrtowcs (NULL, &string, 0, &ps) + 1;
if (__builtin_expect (strsize == 0, 0))
/* Something wrong.
XXX Do we have to set `errno' to something which mbsrtows hasn't
already done? */
return -1;
assert (mbsinit (&ps));
totsize = patsize + strsize;
if (__builtin_expect (! (patsize <= totsize
&& totsize <= SIZE_MAX / sizeof (wchar_t)),
0))
{
errno = ENOMEM;
return -1;
}
/* Allocate room for the wide characters. */
if (__builtin_expect (totsize < ALLOCA_LIMIT, 1))
wpattern = (wchar_t *) alloca (totsize * sizeof (wchar_t));
else
{
wpattern = malloc (totsize * sizeof (wchar_t));
if (__builtin_expect (! wpattern, 0))
{
errno = ENOMEM;
return -1;
}
}
wstring = wpattern + patsize;
/* 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));
mbsrtowcs (wpattern, &pattern, patsize, &ps);
assert (mbsinit (&ps));
(void) mbsrtowcs (wpattern, &pattern, n + 1, &ps);
mbsrtowcs (wstring, &string, strsize, &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);
res = internal_fnwmatch (wpattern, wstring, wstring + strsize - 1,
flags & FNM_PERIOD, flags);
return internal_fnwmatch (wpattern, wstring, wstring + n,
flags & FNM_PERIOD, flags);
if (__builtin_expect (! (totsize < ALLOCA_LIMIT), 0))
free (wpattern);
return res;
}
# endif /* mbstate_t and mbsrtowcs or _LIBC. */
# endif /* HANDLE_MULTIBYTE */
return internal_fnmatch (pattern, string, string + strlen (string),
flags & FNM_PERIOD, flags);
@@ -380,6 +397,7 @@ versioned_symbol (libc, __fnmatch, fnmatch, GLIBC_2_2_3);
strong_alias (__fnmatch, __fnmatch_old)
compat_symbol (libc, __fnmatch_old, fnmatch, GLIBC_2_0);
# endif
libc_hidden_ver (__fnmatch, fnmatch)
# endif
#endif /* _LIBC or not __GNU_LIBRARY__. */

View File

@@ -22,19 +22,6 @@
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
@@ -66,8 +53,8 @@ extern "C" {
/* 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));
extern int fnmatch (const char *__pattern, const char *__name,
int __flags);
# ifdef __cplusplus
}

View File

@@ -1,5 +1,5 @@
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003 Free Software Foundation, Inc.
/* Copyright (C) 1991,1992,1993,1996,1997,1998,1999,2000,2001,2002,2003,2004
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,9 +17,6 @@
/* Match STRING against the filename pattern PATTERN, returning zero if
it matches, nonzero if not. */
static int FCT (const CHAR *pattern, const CHAR *string,
const CHAR *string_end, int no_leading_period, int flags)
internal_function;
static int EXT (INT opt, const CHAR *pattern, const CHAR *string,
const CHAR *string_end, int no_leading_period, int flags)
internal_function;
@@ -27,12 +24,8 @@ static const CHAR *END (const CHAR *patternp) internal_function;
static int
internal_function
FCT (pattern, string, string_end, no_leading_period, flags)
const CHAR *pattern;
const CHAR *string;
const CHAR *string_end;
int no_leading_period;
int flags;
FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
int no_leading_period, int flags)
{
register const CHAR *p = pattern, *n = string;
register UCHAR c;
@@ -538,11 +531,13 @@ FCT (pattern, string, string_end, no_leading_period, flags)
if (! is_range)
{
# ifdef WIDE_CHAR_VERSION
for (c1 = 0; c1 < wextra[idx]; ++c1)
for (c1 = 0;
(int32_t) c1 < wextra[idx];
++c1)
if (n[c1] != wextra[1 + c1])
break;
if (c1 == wextra[idx])
if ((int32_t) c1 == wextra[idx])
goto matched;
# else
for (c1 = 0; c1 < extra[idx]; ++c1)
@@ -618,7 +613,7 @@ FCT (pattern, string, string_end, no_leading_period, flags)
# ifdef WIDE_CHAR_VERSION
/* Search in the `names' array for the characters. */
fcollseq = collseq_table_lookup (collseq, fn);
fcollseq = __collseq_table_lookup (collseq, fn);
if (fcollseq == ~((uint32_t) 0))
/* XXX We don't know anything about the character
we are supposed to match. This means we are
@@ -628,7 +623,7 @@ FCT (pattern, string, string_end, no_leading_period, flags)
if (is_seqval)
lcollseq = cold;
else
lcollseq = collseq_table_lookup (collseq, cold);
lcollseq = __collseq_table_lookup (collseq, cold);
# else
fcollseq = collseq[fn];
lcollseq = is_seqval ? cold : collseq[(UCHAR) cold];
@@ -790,7 +785,7 @@ FCT (pattern, string, string_end, no_leading_period, flags)
{
# ifdef WIDE_CHAR_VERSION
hcollseq =
collseq_table_lookup (collseq, cend);
__collseq_table_lookup (collseq, cend);
if (hcollseq == ~((uint32_t) 0))
{
/* Hum, no information about the upper
@@ -931,7 +926,7 @@ FCT (pattern, string, string_end, no_leading_period, flags)
case L('/'):
if (NO_LEADING_PERIOD (flags))
{
if (n == string_end || c != *n)
if (n == string_end || c != (UCHAR) *n)
return FNM_NOMATCH;
new_no_leading_period = 1;
@@ -1014,6 +1009,7 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end,
size_t pattern_len = STRLEN (pattern);
const CHAR *p;
const CHAR *rs;
enum { ALLOCA_LIMIT = 8000 };
/* Parse the pattern. Store the individual parts in the list. */
level = 0;
@@ -1052,13 +1048,19 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end,
#define NEW_PATTERN \
struct patternlist *newp; \
size_t plen; \
size_t plensize; \
size_t newpsize; \
\
plen = (opt == L('?') || opt == L('@') \
? pattern_len \
: p - startp + 1); \
newp = (struct patternlist *) \
alloca (offsetof (struct patternlist, str) \
+ (plen * sizeof (CHAR))); \
plensize = plen * sizeof (CHAR); \
newpsize = offsetof (struct patternlist, str) + plensize; \
if ((size_t) -1 / sizeof (CHAR) < plen \
|| newpsize < offsetof (struct patternlist, str) \
|| ALLOCA_LIMIT <= newpsize) \
return -1; \
newp = (struct patternlist *) alloca (newpsize); \
*((CHAR *) MEMPCPY (newp->str, startp, p - startp)) = L('\0'); \
newp->next = NULL; \
*lastp = newp; \

33
lib/free.c Normal file
View File

@@ -0,0 +1,33 @@
/* Work around incompatibility on older systems where free (NULL) fails.
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 Paul Eggert */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#undef free
#include <stdlib.h>
void
rpl_free (void *p)
{
if (p)
free (p);
}

View File

@@ -1,5 +1,6 @@
/* fsusage.h -- declarations for filesystem space usage info
Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
Copyright (C) 1991, 1992, 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

314
lib/fts.c
View File

@@ -42,14 +42,18 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
# include <include/sys/stat.h>
#else
# include <sys/stat.h>
# undef __P
# define __P(x) x
#endif
#include <fcntl.h>
#include <errno.h>
#include <fts.h>
#include <search.h>
#include "fts_.h"
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#if defined _LIBC
# include <dirent.h>
@@ -86,12 +90,6 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
# define opendir __opendir
# undef readdir
# define readdir __readdir
# undef tdestroy
# define tdestroy __tdestroy
# undef tfind
# define tfind __tfind
# undef tsearch
# define tsearch __tsearch
#else
# undef internal_function
# define internal_function /* empty */
@@ -112,8 +110,10 @@ int rpl_lstat (const char *, struct stat *);
/* Largest alignment size needed, minus one.
Usually long double is the worst case. */
#ifndef ALIGNBYTES
# if __GNUC__ >= 2
# define ALIGNBYTES (__alignof__ (long double) - 1)
#else
# define ALIGNBYTES (sizeof (long double) - 1)
#endif
/* Align P to that size. */
#ifndef ALIGN
@@ -134,66 +134,139 @@ static int fts_safe_changedir __P((FTS *, FTSENT *, int, const char *))
internal_function;
#ifndef MAX
# define MAX(a, b) ({ __typeof__ (a) _a = (a); \
__typeof__ (b) _b = (b); \
_a > _b ? _a : _b; })
# define MAX(a,b) ((a) > (b) ? (a) : (b))
#endif
#define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2])))
#define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2])))
#define CLR(opt) (sp->fts_options &= ~(opt))
#define ISSET(opt) (sp->fts_options & (opt))
#define SET(opt) (sp->fts_options |= (opt))
#define ISSET(opt) (sp->fts_options & (opt))
#define SET(opt) (sp->fts_options |= (opt))
#define FCHDIR(sp, fd) (!ISSET(FTS_NOCHDIR) && fchdir(fd))
/* fts_build flags */
#define BCHILD 1 /* fts_children */
#define BNAMES 2 /* fts_children, names only */
#define BREAD 3 /* fts_read */
#define BCHILD 1 /* fts_children */
#define BNAMES 2 /* fts_children, names only */
#define BREAD 3 /* fts_read */
struct known_object
#define HT_INITIAL_SIZE 31
#if FTS_DEBUG
int fts_debug = 0;
# include <stdio.h>
# define Dprintf(x) do { if (fts_debug) printf x; } while (0)
#else
# define Dprintf(x)
#endif
#define ENTER_DIR(Fts, Ent, Tag) \
do { \
Dprintf ((" %s-entering: %s\n", Tag, (Ent)->fts_path)); \
enter_dir (sp, p); \
} while (0)
#define LEAVE_DIR(Fts, Ent, Tag) \
do { \
Dprintf ((" %s-leaving: %s\n", Tag, (Ent)->fts_path)); \
leave_dir (sp, p); \
} while (0)
/* Use these each of these to map a device/inode pair to an FTSENT. */
struct Active_dir
{
dev_t dev;
ino_t ino;
FTSENT *fts_ent;
};
static int
object_compare (const void *p1, const void *p2)
static bool
AD_compare (void const *x, void const *y)
{
/* 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);
struct Active_dir const *ax = x;
struct Active_dir const *ay = y;
return ax->ino == ay->ino
&& ax->dev == ay->dev;
}
static inline int
add_object (FTS *fts, FTSENT *data, const struct stat *st)
static size_t
AD_hash (void const *x, size_t table_size)
{
struct known_object *newp = malloc (sizeof (struct known_object));
if (newp == NULL)
return -1;
newp->dev = st->st_dev;
newp->ino = st->st_ino;
newp->fts_ent = data;
return tsearch (newp, &fts->fts_dir_signatures, object_compare) ? 0 : -1;
struct Active_dir const *ax = x;
return (uintmax_t) ax->ino % table_size;
}
static inline FTSENT *
find_object (const FTS *fts, const struct stat *st)
static void
enter_dir (FTS *fts, FTSENT *ent)
{
struct known_object obj;
struct known_object const *t;
obj.dev = st->st_dev;
obj.ino = st->st_ino;
t = tfind (&obj, &fts->fts_dir_signatures, object_compare);
return t ? t->fts_ent : NULL;
if (fts->active_dir_ht)
{
struct stat const *st = ent->fts_statp;
struct Active_dir *ad = malloc (sizeof (struct Active_dir));
struct Active_dir *ad_from_table;
if (ad == NULL)
goto give_up;
ad->dev = st->st_dev;
ad->ino = st->st_ino;
ad->fts_ent = ent;
/* See if we've already encountered this directory.
This can happen when following symlinks as well as
with a corrupted directory hierarchy. */
ad_from_table = hash_insert (fts->active_dir_ht, ad);
if (ad_from_table == NULL)
{
give_up:
/* Insertion failed due to lack of memory. Free the hash
table and turn off this sort of cycle detection. */
hash_free (fts->active_dir_ht);
fts->active_dir_ht = NULL;
return;
}
if (ad_from_table != ad)
{
/* There was an entry with matching dev/inode already in the table.
Record the fact that we've found a cycle. */
ent->fts_cycle = ad_from_table->fts_ent;
ent->fts_info = FTS_DC;
/* ad was not inserted, so free it. */
free (ad);
}
}
else if (fts->cycle_state)
{
if (cycle_check (fts->cycle_state, ent->fts_statp))
{
/* FIXME: setting fts_cycle like this isn't proper.
To do what the documentation requires, we'd have to
go around the cycle again and find the right entry.
But no callers in coreutils use the fts_cycle member. */
ent->fts_cycle = ent;
ent->fts_info = FTS_DC;
}
}
}
static void
leave_dir (FTS *fts, FTSENT *ent)
{
if (fts->active_dir_ht)
{
struct stat const *st = ent->fts_statp;
struct Active_dir obj;
void *found;
obj.dev = st->st_dev;
obj.ino = st->st_ino;
found = hash_delete (fts->active_dir_ht, &obj);
if (!found)
abort ();
free (found);
}
}
FTS *
@@ -289,7 +362,23 @@ fts_open(argv, options, compar)
sp->fts_cur->fts_link = root;
sp->fts_cur->fts_info = FTS_INIT;
sp->fts_dir_signatures = NULL;
if (ISSET (FTS_TIGHT_CYCLE_CHECK))
{
sp->active_dir_ht = hash_initialize (HT_INITIAL_SIZE,
NULL, AD_hash,
AD_compare, free);
if (sp->active_dir_ht == NULL)
goto mem3;
sp->cycle_state = malloc (sizeof *sp->cycle_state);
}
else
{
sp->cycle_state = malloc (sizeof *sp->cycle_state);
if (sp->cycle_state == NULL)
goto mem3;
cycle_check_init (sp->cycle_state);
sp->active_dir_ht = NULL;
}
/*
* If using chdir(2), grab a file descriptor pointing to dot to ensure
@@ -373,8 +462,11 @@ fts_close(sp)
(void)close(sp->fts_rfd);
}
/* Free all of the directory fingerprint info. */
tdestroy (sp->fts_dir_signatures, free);
/* Free any memory used for cycle detection. */
if (sp->active_dir_ht)
hash_free (sp->active_dir_ht);
if (sp->cycle_state)
free (sp->cycle_state);
/* Free up the stream pointer. */
free(sp);
@@ -392,7 +484,7 @@ fts_close(sp)
* Special case of "/" at the end of the path so that slashes aren't
* appended which would cause paths to be written as "....//foo".
*/
#define NAPPEND(p) \
#define NAPPEND(p) \
(p->fts_path[p->fts_pathlen - 1] == '/' \
? p->fts_pathlen - 1 : p->fts_pathlen)
@@ -421,6 +513,8 @@ fts_read(sp)
p->fts_info = fts_stat(sp, p, 0);
return (p);
}
Dprintf (("fts_read: p=%s\n",
p->fts_info == FTS_INIT ? "" : p->fts_path));
/*
* Following a symlink -- SLNONE test allows application to see
@@ -438,6 +532,8 @@ fts_read(sp)
} else
p->fts_flags |= FTS_SYMFOLLOW;
}
if (p->fts_info == FTS_D)
ENTER_DIR (sp, p, "7");
return (p);
}
@@ -453,6 +549,7 @@ fts_read(sp)
sp->fts_child = NULL;
}
p->fts_info = FTS_DP;
LEAVE_DIR (sp, p, "1");
return (p);
}
@@ -492,6 +589,8 @@ fts_read(sp)
subdirectory, tell the caller. */
if (p->fts_errno)
p->fts_info = FTS_ERR;
/* FIXME: see if this should be in an else block */
LEAVE_DIR (sp, p, "2");
return (p);
}
p = sp->fts_child;
@@ -514,6 +613,8 @@ next: tmp = p;
return (NULL);
}
fts_load(sp, p);
if (p->fts_info == FTS_D)
ENTER_DIR (sp, p, "8");
return (sp->fts_cur = p);
}
@@ -540,6 +641,8 @@ next: tmp = p;
name: t = sp->fts_path + NAPPEND(p->fts_parent);
*t++ = '/';
memmove(t, p->fts_name, p->fts_namelen + 1);
if (p->fts_info == FTS_D)
ENTER_DIR (sp, p, "9");
return (sp->fts_cur = p);
}
@@ -585,6 +688,8 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent);
return (NULL);
}
p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP;
if (p->fts_errno == 0)
LEAVE_DIR (sp, p, "3");
return (sp->fts_cur = p);
}
@@ -706,8 +811,9 @@ fts_build(sp, type)
FTSENT *cur, *tail;
DIR *dirp;
void *oldaddr;
int cderrno, descend, len, level, maxlen, nlinks, saved_errno,
int cderrno, descend, level, nlinks, saved_errno,
nostat, doadjust;
size_t len, maxlen, new_len;
char *cp;
/* Set current node pointer. */
@@ -843,10 +949,11 @@ mem1: saved_errno = errno;
maxlen = sp->fts_pathlen - len;
}
if (len + NAMLEN (dp) >= USHRT_MAX) {
new_len = len + NAMLEN (dp);
if (new_len < len) {
/*
* In an FTSENT, fts_pathlen is a u_short so it is
* possible to wraparound here. If we do, free up
* In the unlikely even that we would end up
* with a path longer than SIZE_MAX, free up
* the current structure and the structures already
* allocated, then error out with ENAMETOOLONG.
*/
@@ -860,7 +967,7 @@ mem1: saved_errno = errno;
}
p->fts_level = level;
p->fts_parent = sp->fts_cur;
p->fts_pathlen = len + NAMLEN (dp);
p->fts_pathlen = new_len;
#if defined FTS_WHITEOUT && 0
if (dp->d_type == DT_WHT)
@@ -875,7 +982,7 @@ mem1: saved_errno = errno;
p->fts_info = FTS_NSOK;
p->fts_accpath = cur->fts_accpath;
} else if (nlinks == 0
#if defined DT_DIR && defined _DIRENT_HAVE_D_TYPE
# if HAVE_STRUCT_DIRENT_D_TYPE
|| (nostat &&
dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN)
#endif
@@ -958,6 +1065,69 @@ mem1: saved_errno = errno;
return (head);
}
#if FTS_DEBUG
/* Walk ->fts_parent links starting at E_CURR, until the root of the
current hierarchy. There should be a directory with dev/inode
matching those of AD. If not, print a lot of diagnostics. */
static void
find_matching_ancestor (FTSENT const *e_curr, struct Active_dir const *ad)
{
FTSENT const *ent;
for (ent = e_curr; ent->fts_level >= FTS_ROOTLEVEL; ent = ent->fts_parent)
{
if (ad->ino == ent->fts_statp->st_ino
&& ad->dev == ent->fts_statp->st_dev)
return;
}
printf ("ERROR: tree dir, %s, not active\n", ad->fts_ent->fts_accpath);
printf ("active dirs:\n");
for (ent = e_curr;
ent->fts_level >= FTS_ROOTLEVEL; ent = ent->fts_parent)
printf (" %s(%d/%d) to %s(%d/%d)...\n",
ad->fts_ent->fts_accpath,
(int)ad->dev,
(int)ad->ino,
ent->fts_accpath,
(int)ent->fts_statp->st_dev,
(int)ent->fts_statp->st_ino);
}
void
fts_cross_check (FTS const *sp)
{
FTSENT const *ent = sp->fts_cur;
FTSENT const *t;
if ( ! ISSET (FTS_TIGHT_CYCLE_CHECK))
return;
Dprintf (("fts-cross-check cur=%s\n", ent->fts_path));
/* Make sure every parent dir is in the tree. */
for (t = ent->fts_parent; t->fts_level >= FTS_ROOTLEVEL; t = t->fts_parent)
{
struct Active_dir ad;
ad.ino = t->fts_statp->st_ino;
ad.dev = t->fts_statp->st_dev;
if ( ! hash_lookup (sp->active_dir_ht, &ad))
printf ("ERROR: active dir, %s, not in tree\n", t->fts_path);
}
/* Make sure every dir in the tree is an active dir.
But ENT is not necessarily a directory. If so, just skip this part. */
if (ent->fts_parent->fts_level >= FTS_ROOTLEVEL
&& (ent->fts_info == FTS_DP
|| ent->fts_info == FTS_D))
{
struct Active_dir *ad;
for (ad = hash_get_first (sp->active_dir_ht); ad != NULL;
ad = hash_get_next (sp->active_dir_ht, ad))
{
find_matching_ancestor (ent, ad);
}
}
}
#endif
static u_short
internal_function
fts_stat(sp, p, follow)
@@ -1004,7 +1174,6 @@ err: memset(sbp, 0, sizeof(struct stat));
}
if (S_ISDIR(sbp->st_mode)) {
FTSENT *t;
/*
* Set the device/inode. Used to find cycles and check for
* crossing mount points. Also remember the link count, used
@@ -1019,20 +1188,6 @@ err: memset(sbp, 0, sizeof(struct stat));
if (ISDOT(p->fts_name))
return (FTS_DOT);
/*
* See if we've already encountered this directory.
* This can happen when following symlinks as well as
* with a corrupted directory hierarchy.
*/
if ((t = find_object (sp, sbp))) {
p->fts_cycle = t;
return (FTS_DC);
}
/* Remember the object, ignoring any failure. If we're running
out of memory, detecting cycles isn't a high priority. */
add_object (sp, p, sbp);
return (FTS_D);
}
if (S_ISLNK(sbp->st_mode))
@@ -1147,14 +1302,12 @@ fts_palloc(sp, more)
size_t more;
{
char *p;
size_t new_len = sp->fts_pathlen + more + 256;
sp->fts_pathlen += more + 256;
/*
* Check for possible wraparound. In an FTS, fts_pathlen is
* a signed int but in an FTSENT it is an unsigned short.
* We limit fts_pathlen to USHRT_MAX to be safe in both cases.
* See if fts_pathlen would overflow.
*/
if (sp->fts_pathlen < 0 || sp->fts_pathlen >= USHRT_MAX) {
if (new_len < sp->fts_pathlen) {
if (sp->fts_path) {
free(sp->fts_path);
sp->fts_path = NULL;
@@ -1163,6 +1316,7 @@ fts_palloc(sp, more)
__set_errno (ENAMETOOLONG);
return (1);
}
sp->fts_pathlen = new_len;
p = realloc(sp->fts_path, sp->fts_pathlen);
if (p == NULL) {
free(sp->fts_path);
@@ -1186,7 +1340,7 @@ fts_padjust(sp, head)
FTSENT *p;
char *addr = sp->fts_path;
#define ADJUST(p) do { \
#define ADJUST(p) do { \
if ((p)->fts_accpath != (p)->fts_name) { \
(p)->fts_accpath = \
(char *)addr + ((p)->fts_accpath - (p)->fts_path); \
@@ -1231,14 +1385,14 @@ fts_safe_changedir(sp, p, fd, path)
const char *path;
{
int ret, oerrno, newfd;
struct stat64 sb;
struct stat sb;
newfd = fd;
if (ISSET(FTS_NOCHDIR))
return (0);
if (fd < 0 && (newfd = open(path, O_RDONLY, 0)) < 0)
return (-1);
if (__fxstat64(_STAT_VER, newfd, &sb)) {
if (fstat(newfd, &sb)) {
ret = -1;
goto bail;
}

View File

@@ -32,9 +32,20 @@
#ifndef _FTS_H
# define _FTS_H 1
# include <features.h>
# include <sys/types.h>
# 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 "hash.h"
# include "cycle-check.h"
typedef struct {
struct _ftsent *fts_cur; /* current node */
@@ -43,7 +54,7 @@ typedef struct {
dev_t fts_dev; /* starting device # */
char *fts_path; /* path for this descent */
int fts_rfd; /* fd for root */
int fts_pathlen; /* sizeof(path) */
size_t fts_pathlen; /* sizeof(path) */
int fts_nitems; /* elements in the sort array */
int (*fts_compar) (const void *, const void *); /* compare fn */
@@ -55,14 +66,38 @@ typedef struct {
# 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 */
/* There are two ways to detect cycles.
The lazy way, with which one may process a directory that is a
part of the cycle several times before detecting the cycle.
The `tight' way, whereby fts uses more memory (proportional
to number of `active' directories, aka distance from root
of current tree to current directory -- see active_dir_ht)
to detect any cycle right away. For example, du must use
this option to avoid counting disk space in a cycle multiple
times, but chown -R need not.
The default is to use the constant-memory lazy way. */
# define FTS_TIGHT_CYCLE_CHECK 0x0100
# define FTS_OPTIONMASK 0x01ff /* valid user option mask */
# define FTS_NAMEONLY 0x1000 /* (private) child names only */
# define FTS_STOP 0x2000 /* (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;
/* This data structure records the directories between a starting
point and the current directory. I.e., a directory is recorded
here IFF we have visited it once, but we have not yet completed
processing of all its entries. Every time we visit a new directory,
we add that directory to this set. When we finish with a directory
(usually by visiting it a second time), we remove it from this
set. Each entry in this data structure is a device/inode pair.
This data structure is used to detect directory cycles efficiently
and promptly even when the depth of a hierarchy is in the tens
of thousands. Lazy checking, as done by GNU rm via cycle-check.c,
wouldn't be appropriate for du. */
Hash_table *active_dir_ht;
struct cycle_check_state *cycle_state;
} FTS;
typedef struct _ftsent {
@@ -75,8 +110,7 @@ typedef struct _ftsent {
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) */
size_t fts_pathlen; /* strlen(fts_path) */
ino_t fts_ino; /* inode */
dev_t fts_dev; /* device */
@@ -84,15 +118,17 @@ typedef struct _ftsent {
# define FTS_ROOTPARENTLEVEL -1
# define FTS_ROOTLEVEL 0
short fts_level; /* depth (-1 to N) */
int fts_level; /* depth (-1 to N) */
u_short fts_namelen; /* strlen(fts_name) */
# 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_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_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 */

852
lib/ftw.c
View File

@@ -1,852 +0,0 @@
/* 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[] =
{
/* Extract with:
perl -ne '/^ (FTW_\w+)\b[^=]*$/ and print "$1, "' ftw_.h; echo */
FTW_F, FTW_D, FTW_DNR, FTW_NS, FTW_DCH, FTW_DCHP, FTW_DPRE, FTW_SL, FTW_DP, FTW_SLN
};
static const int ftw_arr[] =
{
/* Generate with:
perl -ne '/^ (FTW_\w+)\b[^=]*$/ and print "$1, "' ftw_.h \
| sed 's/_SL/_F/;s/_DP\>/_D/;s/_SLN/_NS/'; echo */
FTW_F, FTW_D, FTW_DNR, FTW_NS, FTW_DCH, FTW_DCHP, FTW_DPRE, FTW_F, FTW_D, FTW_NS
};
/* Ensure that each of the above arrays has the number of
initializers corresponding to enum Ftw_option. */
struct dummy
{
int p1 [sizeof nftw_arr / sizeof nftw_arr[0] == FTW_N_MEMBERS ? 1 : -1];
int p2 [sizeof nftw_arr / sizeof ftw_arr[0] == FTW_N_MEMBERS ? 1 : -1];
};
/* 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.
If ftw.base is 1, be careful to preserve the `/'. */
data->dirbuf[data->ftw.base == 1 ? 1 : 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;
}
free_cwd (&cwd);
__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);
}

View File

@@ -1,189 +0,0 @@
/* 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_option
{
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 */
FTW_N_MEMBERS
# define FTW_N_MEMBERS FTW_N_MEMBERS
};
# 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 */

View File

@@ -20,20 +20,25 @@
# include <config.h>
#endif
/* Specification. */
#ifdef FULL_READ
# include "full-read.h"
#else
# include "full-write.h"
#endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#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

View File

@@ -43,9 +43,7 @@
#include <ctype.h>
#if HAVE_STDLIB_H
# include <stdlib.h> /* for `free'; used by Bison 1.27 */
#endif
#include <stdlib.h> /* for `free'; used by Bison 1.27 */
#if STDC_HEADERS || (! defined isascii && ! HAVE_ISASCII)
# define IN_CTYPE_DOMAIN(c) 1
@@ -67,9 +65,7 @@
of `digit' even when the host does not conform to POSIX. */
#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#endif
#include <string.h>
#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
# define __attribute__(x)
@@ -527,10 +523,10 @@ static table const time_units_table[] =
/* Assorted relative-time words. */
static table const relative_time_table[] =
{
{ "TOMORROW", tMINUTE_UNIT, 24 * 60 },
{ "YESTERDAY",tMINUTE_UNIT, - (24 * 60) },
{ "TODAY", tMINUTE_UNIT, 0 },
{ "NOW", tMINUTE_UNIT, 0 },
{ "TOMORROW", tDAY_UNIT, 1 },
{ "YESTERDAY",tDAY_UNIT, -1 },
{ "TODAY", tDAY_UNIT, 0 },
{ "NOW", tDAY_UNIT, 0 },
{ "LAST", tUNUMBER, -1 },
{ "THIS", tUNUMBER, 0 },
{ "NEXT", tUNUMBER, 1 },

View File

@@ -1,110 +0,0 @@
/* getdelim2.c -- a variant of getdelim
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 Jan Brittenson, bson@gnu.ai.mit.edu. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include "getdelim2.h"
#include <stdlib.h>
#include "unlocked-io.h"
/* Always add at least this many bytes when extending the buffer. */
#define MIN_CHUNK 64
/* Read up to (and including) a delimiter DELIM1 from STREAM into *LINEPTR
+ OFFSET (and NUL-terminate it). If DELIM2 is non-zero, then read up
and including the first occurrence of DELIM1 or DELIM2. *LINEPTR is
a pointer returned from malloc (or NULL), pointing to *N characters of
space. It is realloc'd as necessary. Return the number of characters
read (not including the NUL terminator), or -1 on error or EOF. */
int
getdelim2 (char **lineptr, size_t *n, FILE *stream, int delim1, int delim2,
size_t offset)
{
size_t nchars_avail; /* Allocated but unused chars in *LINEPTR. */
char *read_pos; /* Where we're reading into *LINEPTR. */
int ret;
if (!lineptr || !n || !stream)
return -1;
if (!*lineptr)
{
*n = MIN_CHUNK;
*lineptr = malloc (*n);
if (!*lineptr)
return -1;
}
if (*n < offset)
return -1;
nchars_avail = *n - offset;
read_pos = *lineptr + offset;
for (;;)
{
register int c = getc (stream);
/* We always want at least one char left in the buffer, since we
always (unless we get an error while reading the first char)
NUL-terminate the line buffer. */
if (nchars_avail < 2)
{
if (*n > MIN_CHUNK)
*n *= 2;
else
*n += MIN_CHUNK;
nchars_avail = *n + *lineptr - read_pos;
*lineptr = realloc (*lineptr, *n);
if (!*lineptr)
return -1;
read_pos = *n - nchars_avail + *lineptr;
}
if (c == EOF || ferror (stream))
{
/* Return partial line, if any. */
if (read_pos == *lineptr)
return -1;
else
break;
}
*read_pos++ = c;
nchars_avail--;
if (c == delim1 || (delim2 && c == delim2))
/* Return the line. */
break;
}
/* Done - NUL terminate and return the number of chars read. */
*read_pos = '\0';
ret = read_pos - (*lineptr + offset);
return ret;
}

View File

@@ -1,10 +0,0 @@
#ifndef GETDELIM2_H_
# define GETDELIM2_H_ 1
# include <stddef.h>
# include <stdio.h>
int getdelim2 (char **lineptr, size_t *n, FILE *stream, int delim1, int delim2,
size_t offset);
#endif

View File

@@ -20,6 +20,8 @@
#include <config.h>
#include <stdio.h>
#include <sys/types.h>
#include <errno.h>
#include <stdlib.h>
#include "xalloc.h"
@@ -29,10 +31,11 @@
provided function handle all others. */
int
getgroups (size_t n, GETGROUPS_T *group)
getgroups (int n, GETGROUPS_T *group)
{
int n_groups;
GETGROUPS_T *gbuf;
int saved_errno;
#undef getgroups
@@ -40,17 +43,22 @@ getgroups (size_t n, GETGROUPS_T *group)
return getgroups (n, group);
n = 20;
gbuf = NULL;
while (1)
{
gbuf = xrealloc (gbuf, n * sizeof (GETGROUPS_T));
/* No need to worry about address arithmetic overflow here,
since the ancient systems that we're running on have low
limits on the number of secondary groups. */
gbuf = xmalloc (n * sizeof *gbuf);
n_groups = getgroups (n, gbuf);
if (n_groups < n)
break;
free (gbuf);
n += 10;
}
saved_errno = errno;
free (gbuf);
errno = saved_errno;
return n_groups;
}

View File

@@ -1,5 +1,5 @@
/* gethostname emulation for SysV and POSIX.1.
Copyright (C) 1992 Free Software Foundation, Inc.
Copyright (C) 1992, 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
@@ -29,10 +29,10 @@
Null terminate it if the name is shorter than LEN.
Return 0 if ok, -1 if error. */
#include <stddef.h>
int
gethostname (name, len)
char *name;
int len;
gethostname (char *name, size_t len)
{
#ifdef HAVE_UNAME
struct utsname uts;

View File

@@ -23,37 +23,36 @@
# include <config.h>
#endif
/* Specification. */
#include "getline.h"
#include "getdelim2.h"
/* The `getdelim' function is only declared if the following symbol
is defined. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
#include <stddef.h>
#include <stdio.h>
/* Get ssize_t. */
#include <sys/types.h>
#if defined __GNU_LIBRARY__ && HAVE_GETDELIM
int
getline (char **lineptr, size_t *n, FILE *stream)
ssize_t
getline (char **lineptr, size_t *linesize, FILE *stream)
{
return getdelim (lineptr, n, '\n', stream);
return getdelim (lineptr, linesize, '\n', stream);
}
#else /* ! have getdelim */
int
getline (char **lineptr, size_t *n, FILE *stream)
# include "getndelim2.h"
ssize_t
getline (char **lineptr, size_t *linesize, FILE *stream)
{
return getdelim2 (lineptr, n, stream, '\n', 0, 0);
return getndelim2 (lineptr, linesize, (size_t)(-1), stream, '\n', 0, 0);
}
int
getdelim (char **lineptr, size_t *n, int delimiter, FILE *stream)
ssize_t
getdelim (char **lineptr, size_t *linesize, int delimiter, FILE *stream)
{
return getdelim2 (lineptr, n, stream, delimiter, 0, 0);
return getndelim2 (lineptr, linesize, (size_t)(-1), stream, delimiter, 0, 0);
}
#endif

View File

@@ -1,4 +1,7 @@
/* Copyright (C) 1995, 1997, 1999, 2000-2002 Free Software Foundation, Inc.
/* Replacement for GNU C library function getline
Copyright (C) 1995, 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
@@ -20,12 +23,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# include <stddef.h>
# include <stdio.h>
/* Get ssize_t. */
# include <sys/types.h>
/* glibc2 has these functions declared in <stdio.h>. Avoid redeclarations. */
# if __GLIBC__ < 2
int getline (char **_lineptr, size_t *_n, FILE *_stream);
extern ssize_t getline (char **_lineptr, size_t *_linesize, FILE *_stream);
int getdelim (char **_lineptr, size_t *_n, int _delimiter, FILE *_stream);
extern ssize_t getdelim (char **_lineptr, size_t *_linesize, int _delimiter,
FILE *_stream);
# endif

View File

@@ -1,6 +1,10 @@
/* Get the system load averages.
Copyright (C) 1985, 86, 87, 88, 89, 91, 92, 93, 1994, 1995, 1997, 2003
Free Software Foundation, Inc.
Copyright (C) 1985, 1986, 1987, 1988, 1989, 1991, 1992, 1993, 1994,
1995, 1997, 1999, 2000, 2003 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with gnulib.
Bugs can be reported to bug-gnulib@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
@@ -35,12 +39,17 @@
LOAD_AVE_TYPE Type of the load average array in the kernel.
Must be defined unless one of
apollo, DGUX, NeXT, or UMAX is defined;
or we have libkstat;
otherwise, no load average is available.
HAVE_NLIST_H nlist.h is available. NLIST_STRUCT defaults
to this.
NLIST_STRUCT Include nlist.h, not a.out.h, and
the nlist n_name element is a pointer,
not an array.
NLIST_NAME_UNION struct nlist has an n_un member, not n_name.
HAVE_STRUCT_NLIST_N_UN_N_NAME `n_un.n_name' is member of `struct nlist'.
LINUX_LDAV_FILE [__linux__]: File containing load averages.
HAVE_LOCALE_H locale.h is available.
HAVE_SETLOCALE The `setlocale' function is available.
Specific system predefines this file uses, aside from setting
default values if not emacs:
@@ -81,7 +90,7 @@
/* Both the Emacs and non-Emacs sections want this. Some
configuration files' definitions for the LOAD_AVE_CVT macro (like
sparc.h's) use macros like FSCALE, defined here. */
#ifdef unix
#if defined (unix) || defined (__unix)
# include <sys/param.h>
#endif
@@ -98,10 +107,10 @@
extern int errno;
#endif
#if HAVE_LOCALE_H
#ifdef HAVE_LOCALE_H
# include <locale.h>
#endif
#if !HAVE_SETLOCALE
#ifndef HAVE_SETLOCALE
# define setlocale(Category, Locale) /* empty */
#endif
@@ -117,7 +126,7 @@ extern int errno;
LOAD_AVE_CVT, but future machine config files should just define
LDAV_CVT directly. */
# if !defined(LDAV_CVT) && defined(LOAD_AVE_CVT)
# if !defined (LDAV_CVT) && defined (LOAD_AVE_CVT)
# define LDAV_CVT(n) (LOAD_AVE_CVT (n) / 100.0)
# endif
@@ -137,6 +146,12 @@ extern int errno;
# undef FSCALE
# endif
/* Same issues as for NeXT apply to the HURD-based GNU system. */
# ifdef __GNU__
# undef BSD
# undef FSCALE
# endif /* __GNU__ */
/* Set values that are different from the defaults, which are
set a little farther down with #ifndef. */
@@ -155,11 +170,11 @@ extern int errno;
# define sun
# endif
# if defined(hp300) && !defined(hpux)
# if defined (hp300) && !defined (hpux)
# define MORE_BSD
# endif
# if defined(ultrix) && defined(mips)
# if defined (ultrix) && defined (mips)
# define decstation
# endif
@@ -167,7 +182,7 @@ extern int errno;
# define SVR4
# endif
# if (defined(sun) && defined(SVR4)) || defined (SOLARIS2)
# if (defined (sun) && defined (SVR4)) || defined (SOLARIS2)
# define SUNOS_5
# endif
@@ -239,7 +254,7 @@ extern int errno;
# define LOAD_AVE_TYPE long
# endif
# if defined(alliant) && defined(i860) /* Alliant FX/2800 */
# if defined (alliant) && defined (i860) /* Alliant FX/2800 */
# define LOAD_AVE_TYPE long
# endif
@@ -263,7 +278,7 @@ extern int errno;
# define FSCALE 1024.0
# endif
# if defined(alliant) && defined(i860) /* Alliant FX/2800 */
# if defined (alliant) && defined (i860) /* Alliant FX/2800 */
/* <sys/param.h> defines an incorrect value for FSCALE on an
Alliant FX/2800 Concentrix 2.2, according to ghazi@noc.rutgers.edu. */
# undef FSCALE
@@ -279,7 +294,7 @@ extern int errno;
# define FSCALE 2048.0
# endif
# if defined(MIPS) || defined(SVR4) || defined(decstation)
# if defined (MIPS) || defined (SVR4) || defined (decstation)
# define FSCALE 256
# endif
@@ -314,69 +329,7 @@ extern int errno;
# endif
# endif
/* VAX C can't handle multi-line #ifs, or lines longer that 256 characters. */
# ifndef NLIST_STRUCT
# ifdef MORE_BSD
# define NLIST_STRUCT
# endif
# ifdef sun
# define NLIST_STRUCT
# endif
# ifdef decstation
# define NLIST_STRUCT
# endif
# ifdef hpux
# define NLIST_STRUCT
# endif
# if defined (_SEQUENT_) || defined (sequent)
# define NLIST_STRUCT
# endif
# ifdef sgi
# define NLIST_STRUCT
# endif
# ifdef SVR4
# define NLIST_STRUCT
# endif
# ifdef sony_news
# define NLIST_STRUCT
# endif
# ifdef OSF_ALPHA
# define NLIST_STRUCT
# endif
# if defined (ardent) && defined (titan)
# define NLIST_STRUCT
# endif
# ifdef tek4300
# define NLIST_STRUCT
# endif
# ifdef butterfly
# define NLIST_STRUCT
# endif
# if defined(alliant) && defined(i860) /* Alliant FX/2800 */
# define NLIST_STRUCT
# endif
# ifdef _AIX
# define NLIST_STRUCT
# endif
# endif /* defined (NLIST_STRUCT) */
# if defined(sgi) || (defined(mips) && !defined(BSD))
# if defined (sgi) || (defined (mips) && !defined (BSD))
# define FIXUP_KERNEL_SYMBOL_ADDR(nl) ((nl)[0].n_value &= ~(1 << 31))
# endif
@@ -389,7 +342,7 @@ extern int errno;
# define KERNEL_FILE "/hp-ux"
# endif
# if !defined(KERNEL_FILE) && (defined(_SEQUENT_) || defined(MIPS) || defined(SVR4) || defined(ISC) || defined (sgi) || (defined (ardent) && defined (titan)))
# if !defined (KERNEL_FILE) && (defined (_SEQUENT_) || defined (MIPS) || defined (SVR4) || defined (ISC) || defined (sgi) || (defined (ardent) && defined (titan)))
# define KERNEL_FILE "/unix"
# endif
@@ -398,7 +351,7 @@ extern int errno;
# define LDAV_SYMBOL "_Loadavg"
# endif
# if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan)) || defined (_AIX))
# if !defined (LDAV_SYMBOL) && ((defined (hpux) && !defined (hp9000s300)) || defined (_SEQUENT_) || defined (SVR4) || defined (ISC) || defined (sgi) || (defined (ardent) && defined (titan)) || defined (_AIX))
# define LDAV_SYMBOL "avenrun"
# endif
@@ -410,7 +363,7 @@ extern int errno;
/* LOAD_AVE_TYPE should only get defined if we're going to use the
nlist method. */
# if !defined(LOAD_AVE_TYPE) && (defined(BSD) || defined(LDAV_CVT) || defined(KERNEL_FILE) || defined(LDAV_SYMBOL))
# if !defined (LOAD_AVE_TYPE) && (defined (BSD) || defined (LDAV_CVT) || defined (KERNEL_FILE) || defined (LDAV_SYMBOL))
# define LOAD_AVE_TYPE double
# endif
@@ -459,7 +412,7 @@ extern int errno;
# endif /* LOAD_AVE_TYPE */
# if defined(__GNU__) && !defined (NeXT)
# if defined (__GNU__) && !defined (NeXT)
/* Note that NeXT Openstep defines __GNU__ even though it should not. */
/* GNU system acts much like NeXT, for load average purposes,
but not exactly. */
@@ -506,7 +459,7 @@ extern int errno;
# include <sys/dg_sys_info.h>
# endif
# if defined(HAVE_FCNTL_H) || defined(_POSIX_VERSION)
# if defined (HAVE_FCNTL_H) || defined (_POSIX_VERSION)
# include <fcntl.h>
# else
# include <sys/file.h>
@@ -528,7 +481,7 @@ static unsigned int samples;
static struct dg_sys_info_load_info load_info; /* what-a-mouthful! */
# endif /* DGUX */
# ifdef LOAD_AVE_TYPE
# if !defined (HAVE_LIBKSTAT) && defined (LOAD_AVE_TYPE)
/* File descriptor open to /dev/kmem or VMS load ave driver. */
static int channel;
/* Nonzero iff channel is valid. */
@@ -536,7 +489,7 @@ static int getloadavg_initialized;
/* Offset in kmem to seek to read load average, or 0 means invalid. */
static long offset;
# if !defined(VMS) && !defined(sgi) && !defined(__linux__)
# if !defined (VMS) && !defined (sgi) && !defined (__linux__)
static struct nlist nl[2];
# endif /* Not VMS or sgi */
@@ -544,7 +497,7 @@ static struct nlist nl[2];
static kvm_t *kd;
# endif /* SUNOS_5 */
# endif /* LOAD_AVE_TYPE */
# endif /* LOAD_AVE_TYPE && !HAVE_LIBKSTAT */
/* Put the 1 minute, 5 minute and 15 minute load averages
into the first NELEM elements of LOADAVG.
@@ -552,9 +505,7 @@ static kvm_t *kd;
or -1 if an error occurred. */
int
getloadavg (loadavg, nelem)
double loadavg[];
int nelem;
getloadavg (double loadavg[], int nelem)
{
int elem = 0; /* Return value. */
@@ -577,7 +528,7 @@ getloadavg (loadavg, nelem)
if (kc == 0)
return -1;
ksp = kstat_lookup (kc, "unix", 0, "system_misc");
if (ksp == 0 )
if (ksp == 0)
return -1;
if (kstat_read (kc, ksp, 0) == -1)
return -1;
@@ -592,20 +543,20 @@ getloadavg (loadavg, nelem)
}
if (nelem >= 1)
loadavg[elem++] = (double) kn->value.ul/FSCALE;
loadavg[elem++] = (double) kn->value.ul / FSCALE;
if (nelem >= 2)
{
kn = kstat_data_lookup (ksp, "avenrun_5min");
if (kn != 0)
{
loadavg[elem++] = (double) kn->value.ul/FSCALE;
loadavg[elem++] = (double) kn->value.ul / FSCALE;
if (nelem >= 3)
{
kn = kstat_data_lookup (ksp, "avenrun_15min");
if (kn != 0)
loadavg[elem++] = (double) kn->value.ul/FSCALE;
loadavg[elem++] = (double) kn->value.ul / FSCALE;
}
}
}
@@ -870,8 +821,8 @@ getloadavg (loadavg, nelem)
for (elem = 0; elem < nelem; elem++)
loadavg[elem]
= (load_ave.tl_lscale == 0
? load_ave.tl_avenrun.d[elem]
: (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale));
? load_ave.tl_avenrun.d[elem]
: (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale));
# endif /* OSF_ALPHA */
# if !defined (LDAV_DONE) && defined (VMS)
@@ -914,7 +865,7 @@ getloadavg (loadavg, nelem)
return -1;
# endif /* VMS */
# if !defined (LDAV_DONE) && defined(LOAD_AVE_TYPE) && !defined(VMS)
# if !defined (LDAV_DONE) && defined (LOAD_AVE_TYPE) && !defined (VMS)
/* UNIX-specific code -- read the average from /dev/kmem. */
@@ -930,13 +881,13 @@ getloadavg (loadavg, nelem)
strcpy (nl[0].n_name, LDAV_SYMBOL);
strcpy (nl[1].n_name, "");
# else /* NLIST_STRUCT */
# ifdef NLIST_NAME_UNION
# ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME
nl[0].n_un.n_name = LDAV_SYMBOL;
nl[1].n_un.n_name = 0;
# else /* not NLIST_NAME_UNION */
# else /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */
nl[0].n_name = LDAV_SYMBOL;
nl[1].n_name = 0;
# endif /* not NLIST_NAME_UNION */
# endif /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */
# endif /* NLIST_STRUCT */
# ifndef SUNOS_5
@@ -973,7 +924,7 @@ getloadavg (loadavg, nelem)
{
/* Set the channel to close on exec, so it does not
litter any child's descriptor table. */
# ifdef FD_SETFD
# ifdef F_SETFD
# ifndef FD_CLOEXEC
# define FD_CLOEXEC 1
# endif
@@ -1010,9 +961,9 @@ getloadavg (loadavg, nelem)
# else /* SUNOS_5 */
if (kvm_read (kd, offset, (char *) load_ave, sizeof (load_ave))
!= sizeof (load_ave))
{
kvm_close (kd);
getloadavg_initialized = 0;
{
kvm_close (kd);
getloadavg_initialized = 0;
}
# endif /* SUNOS_5 */
}
@@ -1046,9 +997,7 @@ getloadavg (loadavg, nelem)
#ifdef TEST
void
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
int naptime = 0;

124
lib/getndelim2.c Normal file
View File

@@ -0,0 +1,124 @@
/* getndelim2 - Read a line from a stream, stopping at one of 2 delimiters,
with bounded memory allocation.
Copyright (C) 1993, 1996, 1997, 1998, 2000, 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. */
/* Originally written by Jan Brittenson, bson@gnu.ai.mit.edu. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
/* Specification. */
#include "getndelim2.h"
#include <stdlib.h>
#include "unlocked-io.h"
/* Always add at least this many bytes when extending the buffer. */
#define MIN_CHUNK 64
ssize_t
getndelim2 (char **lineptr, size_t *linesize, size_t nmax,
FILE *stream, int delim1, int delim2, size_t offset)
{
size_t nbytes_avail; /* Allocated but unused chars in *LINEPTR. */
char *read_pos; /* Where we're reading into *LINEPTR. */
if (!lineptr || !linesize || !nmax || !stream)
return -1;
if (!*lineptr)
{
size_t newlinesize = MIN_CHUNK;
if (newlinesize > nmax)
newlinesize = nmax;
*linesize = newlinesize;
*lineptr = malloc (*linesize);
if (!*lineptr)
return -1;
}
if (*linesize < offset)
return -1;
nbytes_avail = *linesize - offset;
read_pos = *lineptr + offset;
if (nbytes_avail == 0 && *linesize >= nmax)
return -1;
for (;;)
{
/* Here always *lineptr + *linesize == read_pos + nbytes_avail. */
register int c;
/* We always want at least one char left in the buffer, since we
always (unless we get an error while reading the first char)
NUL-terminate the line buffer. */
if (nbytes_avail < 2 && *linesize < nmax)
{
size_t newlinesize =
(*linesize > MIN_CHUNK ? 2 * *linesize : *linesize + MIN_CHUNK);
if (newlinesize > nmax)
newlinesize = nmax;
if (newlinesize > *linesize)
{
*linesize = newlinesize;
nbytes_avail = *linesize + *lineptr - read_pos;
*lineptr = realloc (*lineptr, *linesize);
if (!*lineptr)
return -1;
read_pos = *linesize - nbytes_avail + *lineptr;
}
}
c = getc (stream);
if (c == EOF)
{
/* Return partial line, if any. */
if (read_pos == *lineptr)
return -1;
else
break;
}
if (nbytes_avail >= 2)
{
*read_pos++ = c;
nbytes_avail--;
}
if (c == delim1 || (delim2 && c == delim2))
/* Return the line. */
break;
}
/* Done - NUL terminate and return the number of chars read.
At this point we know that nbytes_avail >= 1. */
*read_pos = '\0';
return read_pos - (*lineptr + offset);
}

42
lib/getndelim2.h Normal file
View File

@@ -0,0 +1,42 @@
/* getndelim2 - Read a line from a stream, stopping at one of 2 delimiters,
with bounded memory allocation.
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. */
#ifndef GETNDELIM2_H
#define GETNDELIM2_H 1
#include <stddef.h>
#include <stdio.h>
/* Get ssize_t. */
#include <sys/types.h>
/* Read up to (and including) a delimiter DELIM1 from STREAM into *LINEPTR
+ OFFSET (and NUL-terminate it). If DELIM2 is non-zero, then read up
and including the first occurrence of DELIM1 or DELIM2. *LINEPTR is
a pointer returned from malloc (or NULL), pointing to *LINESIZE bytes of
space. It is realloc'd as necessary. Reallocation is limited to
NMAX bytes; if the line is longer than that, the extra bytes are read but
thrown away.
Return the number of bytes read and stored at *LINEPTR + OFFSET (not
including the NUL terminator), or -1 on error or EOF. */
extern ssize_t getndelim2 (char **lineptr, size_t *linesize, size_t nmax,
FILE *stream, int delim1, int delim2,
size_t offset);
#endif /* GETNDELIM2_H */

View File

@@ -2,8 +2,11 @@
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.
Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
1996, 1998, 1999, 2000, 2001, 2002, 2003 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
@@ -30,14 +33,6 @@
# include <config.h>
#endif
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
# ifndef const
# define const
# endif
#endif
#include <stdio.h>
/* Comment out all this code if we are using the GNU C Library, and are not
@@ -68,11 +63,10 @@
# include <unistd.h>
#endif /* GNU C library. */
#include <string.h>
#ifdef VMS
# include <unixlib.h>
# if HAVE_STRING_H - 0
# include <string.h>
# endif
#endif
#ifdef _LIBC
@@ -193,20 +187,7 @@ static enum
/* Value of POSIXLY_CORRECT environment variable. */
static char *posixly_correct;
#ifdef __GNU_LIBRARY__
/* We want to avoid inclusion of string.h with non-GNU libraries
because there are many ways it can cause trouble.
On some systems, it contains special magic macros that don't work
in GCC. */
# include <string.h>
# define my_index strchr
#else
# if HAVE_STRING_H
# include <string.h>
# else
# include <strings.h>
# endif
#ifndef __GNU_LIBRARY__
/* Avoid depending on library functions or files
whose names are inconsistent. */
@@ -215,32 +196,6 @@ static char *posixly_correct;
extern char *getenv ();
#endif
static char *
my_index (str, chr)
const char *str;
int chr;
{
while (*str)
{
if (*str == chr)
return (char *) str;
str++;
}
return 0;
}
/* If using GCC, we can safely declare strlen this way.
If not using GCC, it is ok not to declare it. */
#ifdef __GNUC__
/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
That was relevant to code that was here before. */
# if (!defined __STDC__ || !__STDC__) && !defined strlen
/* gcc with -traditional declares the built-in strlen to return int,
and has done so at least since version 2.4.5. -- rms. */
extern int strlen (const char *);
# endif /* not __STDC__ */
#endif /* __GNUC__ */
#endif /* not __GNU_LIBRARY__ */
/* Handle permutation of arguments. */
@@ -294,13 +249,8 @@ static int nonoption_flags_len;
`first_nonopt' and `last_nonopt' are relocated so that they describe
the new indices of the non-options in ARGV after they are moved. */
#if defined __STDC__ && __STDC__
static void exchange (char **);
#endif
static void
exchange (argv)
char **argv;
exchange (char **argv)
{
int bottom = first_nonopt;
int middle = last_nonopt;
@@ -380,14 +330,8 @@ exchange (argv)
/* Initialize the internal data when the first call is made. */
#if defined __STDC__ && __STDC__
static const char *_getopt_initialize (int, char *const *, const char *);
#endif
static const char *
_getopt_initialize (argc, argv, optstring)
int argc;
char *const *argv;
const char *optstring;
_getopt_initialize (int argc, char *const *argv, const char *optstring)
{
/* Start processing options with ARGV-element 1 (since ARGV-element 0
is the program name); the sequence of previously skipped
@@ -506,13 +450,9 @@ _getopt_initialize (argc, argv, optstring)
long-named options. */
int
_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
int argc;
char *const *argv;
const char *optstring;
const struct option *longopts;
int *longind;
int long_only;
_getopt_internal (int argc, char *const *argv,
const char *optstring, const struct option *longopts,
int *longind, int long_only)
{
int print_errors = opterr;
if (optstring[0] == ':')
@@ -637,7 +577,8 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (longopts != NULL
&& (argv[optind][1] == '-'
|| (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
|| (long_only
&& (argv[optind][2] || !strchr (optstring, argv[optind][1])))))
{
char *nameend;
const struct option *p;
@@ -822,7 +763,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
option, then it's an error.
Otherwise interpret it as a short option. */
if (!long_only || argv[optind][1] == '-'
|| my_index (optstring, *nextchar) == NULL)
|| strchr (optstring, *nextchar) == NULL)
{
if (print_errors)
{
@@ -877,7 +818,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
{
char c = *nextchar++;
char *temp = my_index (optstring, c);
char *temp = strchr (optstring, c);
/* Increment `optind' when we start to process its last character. */
if (*nextchar == '\0')
@@ -1187,10 +1128,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
}
int
getopt (argc, argv, optstring)
int argc;
char *const *argv;
const char *optstring;
getopt (int argc, char *const *argv, const char *optstring)
{
return _getopt_internal (argc, argv, optstring,
(const struct option *) 0,
@@ -1206,9 +1144,7 @@ getopt (argc, argv, optstring)
the above definition of `getopt'. */
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
int c;
int digit_optind = 0;

View File

@@ -1,5 +1,8 @@
/* Declarations for getopt.
Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998,
1999, 2001, 2003 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
@@ -92,11 +95,7 @@ extern int optopt;
struct option
{
# if (defined __STDC__ && __STDC__) || defined __cplusplus
const char *name;
# else
char *name;
# endif
/* has_arg can't be an enum because some compilers complain about
type mismatches in all the code that assumes it is an int. */
int has_arg;
@@ -136,17 +135,16 @@ struct option
arguments to the option '\0'. This behavior is specific to the GNU
`getopt'. */
#if (defined __STDC__ && __STDC__) || defined __cplusplus
# ifdef __GNU_LIBRARY__
#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);
# else /* not __GNU_LIBRARY__ */
#else /* not __GNU_LIBRARY__ */
extern int getopt ();
# endif /* __GNU_LIBRARY__ */
#endif /* __GNU_LIBRARY__ */
# ifndef __need_getopt
#ifndef __need_getopt
extern int getopt_long (int ___argc, char *const *___argv,
const char *__shortopts,
const struct option *__longopts, int *__longind);
@@ -159,16 +157,7 @@ extern int _getopt_internal (int ___argc, char *const *___argv,
const char *__shortopts,
const struct option *__longopts, int *__longind,
int __long_only);
# endif
#else /* not __STDC__ */
extern int getopt ();
# ifndef __need_getopt
extern int getopt_long ();
extern int getopt_long_only ();
extern int _getopt_internal ();
# endif
#endif /* __STDC__ */
#endif
#ifdef __cplusplus
}

View File

@@ -1,6 +1,8 @@
/* 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.
Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996,
1997, 1998, 2003 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
@@ -27,14 +29,6 @@
# include "getopt.h"
#endif
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
#ifndef const
#define const
#endif
#endif
#include <stdio.h>
/* Comment out all this code if we are using the GNU C Library, and are not
@@ -67,12 +61,11 @@
#endif
int
getopt_long (argc, argv, options, long_options, opt_index)
int argc;
char *const *argv;
const char *options;
const struct option *long_options;
int *opt_index;
getopt_long (int argc,
char *const *argv,
const char *options,
const struct option *long_options,
int *opt_index)
{
return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
}
@@ -83,12 +76,11 @@ getopt_long (argc, argv, options, long_options, opt_index)
instead. */
int
getopt_long_only (argc, argv, options, long_options, opt_index)
int argc;
char *const *argv;
const char *options;
const struct option *long_options;
int *opt_index;
getopt_long_only (int argc,
char *const *argv,
const char *options,
const struct option *long_options,
int *opt_index)
{
return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
}
@@ -105,9 +97,7 @@ libc_hidden_def (getopt_long_only)
#include <stdio.h>
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
int c;
int digit_optind = 0;

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1992,93,94,95,96,97,98,99,2000, 2001 Free Software Foundation, Inc.
/* Copyright (C) 1992-2001, 2003 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
@@ -19,11 +19,53 @@
# include <config.h>
#endif
#if _LIBC
# define HAVE_STDIO_EXT_H 1
#endif
#include <stdbool.h>
#include <stdio.h>
#if HAVE_STDIO_EXT_H
# include <stdio_ext.h>
#else
# define __fsetlocking(stream, type) /* empty */
#endif
#if !_LIBC
# include "getline.h"
#endif
#include <termios.h>
#include <unistd.h>
#include "getline.h"
#include "unlocked-io.h"
#if _LIBC
# include <wchar.h>
#endif
#if _LIBC
# define NOTCANCEL_MODE "c"
#else
# define NOTCANCEL_MODE
#endif
#if _LIBC
# define flockfile(s) _IO_flockfile (s)
# define funlockfile(s) _IO_funlockfile (s)
#else
# include "unlocked-io.h"
#endif
#if _LIBC
# include <bits/libc-lock.h>
#else
# define __libc_cleanup_push(function, arg) /* empty */
# define __libc_cleanup_pop(execute) /* empty */
#endif
#if !_LIBC
# define __getline getline
# define __tcgetattr tcgetattr
#endif
/* 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
@@ -34,12 +76,20 @@
# define TCSASOFT 0
#endif
static void
call_fclose (void *arg)
{
if (arg != NULL)
fclose (arg);
}
char *
getpass (const char *prompt)
{
FILE *tty;
FILE *in, *out;
struct termios s, t;
int tty_changed;
bool tty_changed;
static char *buf;
static size_t bufsize;
ssize_t nread;
@@ -47,18 +97,29 @@ getpass (const char *prompt)
/* Try to write to and read from the terminal if we can.
If we can't open the terminal, use stderr and stdin. */
in = fopen ("/dev/tty", "w+");
if (in == NULL)
tty = fopen ("/dev/tty", "w+" NOTCANCEL_MODE);
if (tty == NULL)
{
in = stdin;
out = stderr;
}
else
out = in;
{
/* We do the locking ourselves. */
__fsetlocking (tty, FSETLOCKING_BYCALLER);
out = in = tty;
}
/* Make sure the stream we opened is closed even if the thread is
canceled. */
__libc_cleanup_push (call_fclose, tty);
flockfile (out);
/* Turn echoing off if it is on now. */
if (tcgetattr (fileno (in), &t) == 0)
if (__tcgetattr (fileno (in), &t) == 0)
{
/* Save the old one. */
s = t;
@@ -67,14 +128,35 @@ getpass (const char *prompt)
tty_changed = (tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0);
}
else
tty_changed = 0;
tty_changed = false;
/* Write the prompt. */
fputs (prompt, out);
fflush (out);
#ifdef USE_IN_LIBIO
if (_IO_fwide (out, 0) > 0)
__fwprintf (out, L"%s", prompt);
else
#endif
fputs_unlocked (prompt, out);
fflush_unlocked (out);
/* Read the password. */
nread = getline (&buf, &bufsize, in);
nread = __getline (&buf, &bufsize, in);
#if !_LIBC
/* As far as is known, glibc doesn't need this no-op fseek. */
/* According to the C standard, input may not be followed by output
on the same stream without an intervening call to a file
positioning function. Suppose in == out; then without this fseek
call, on Solaris, HP-UX, AIX, OSF/1, the previous input gets
echoed, whereas on IRIX, the following newline is not output as
it should be. POSIX imposes similar restrictions if fileno (in)
== fileno (out). The POSIX restrictions are tricky and change
from POSIX version to POSIX version, so play it safe and invoke
fseek even if in != out. */
fseek (out, 0, SEEK_CUR);
#endif
if (buf != NULL)
{
if (nread < 0)
@@ -84,8 +166,15 @@ getpass (const char *prompt)
/* Remove the newline. */
buf[nread - 1] = '\0';
if (tty_changed)
/* Write the newline that was not echoed. */
putc ('\n', out);
{
/* Write the newline that was not echoed. */
#ifdef USE_IN_LIBIO
if (_IO_fwide (out, 0) > 0)
putwc_unlocked (L'\n', out);
else
#endif
putc_unlocked ('\n', out);
}
}
}
@@ -93,9 +182,11 @@ getpass (const char *prompt)
if (tty_changed)
(void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
if (in != stdin)
/* We opened the terminal; now close it. */
fclose (in);
funlockfile (out);
__libc_cleanup_pop (0);
call_fclose (tty);
return buf;
}

View File

@@ -1,31 +1,30 @@
/* 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)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _LIBGETTEXT_H
# define _LIBGETTEXT_H 1
#define _LIBGETTEXT_H 1
/* NLS can be disabled through the configure --disable-nls option. */
# if ENABLE_NLS
#if ENABLE_NLS
/* Get declarations of GNU message catalog functions. */
# include <libintl.h>
# include <libintl.h>
# else
#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
@@ -33,29 +32,29 @@
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
#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) \
# 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) \
# define dngettext(Domainname, Msgid1, Msgid2, N) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
# 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))
# define textdomain(Domainname) ((const char *) (Domainname))
# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
# endif
#endif
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
@@ -64,6 +63,6 @@
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
#define gettext_noop(String) String
#endif /* _LIBGETTEXT_H */

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