Compare commits

...

662 Commits

Author SHA1 Message Date
Jim Meyering
43343c2793 *** empty log message *** 2002-07-23 19:42:32 +00:00
Jim Meyering
68aff85110 *** empty log message *** 2002-07-23 19:42:04 +00:00
Jim Meyering
9bbd5af6e8 . 2002-07-23 08:16:11 +00:00
Jim Meyering
34598a09f5 *** empty log message *** 2002-07-23 08:14:34 +00:00
Jim Meyering
c6bb7f43ff (AC_C_BACKSLASH_A): Remove file, now that autoconf 2002-07-23 08:13:46 +00:00
Jim Meyering
2497b8e42f *** empty log message *** 2002-07-22 19:58:34 +00:00
Jim Meyering
8c55f0fbfa (Formatting the file names): Document
that -N/--literal are equivalent to --quoting-style=literal.
Reported by Oskar Liljeblad as Debian bug#103612.
2002-07-22 19:58:29 +00:00
Jim Meyering
a6d4483234 *** empty log message *** 2002-07-22 15:39:23 +00:00
Jim Meyering
33106990a6 (usage): The short form of --dereference is now -L, not -l. 2002-07-22 15:39:12 +00:00
Jim Meyering
63fb8bd5b6 *** empty log message *** 2002-07-22 12:24:48 +00:00
Jim Meyering
2bd28f0200 Add new option, --presume-input-tty, for testing only.
Not documented.
2002-07-22 12:24:41 +00:00
Jim Meyering
48a269db9c Add a test for this:
When not interactive, don't prompt for a symlink.
2002-07-22 12:22:59 +00:00
Jim Meyering
07fdea3ed9 . 2002-07-22 08:26:07 +00:00
Jim Meyering
14947f5b6c *** empty log message *** 2002-07-22 08:25:13 +00:00
Jim Meyering
786b4298a5 *** empty log message *** 2002-07-22 08:16:57 +00:00
Jim Meyering
a0ba130aea *** empty log message *** 2002-07-22 08:16:46 +00:00
Jim Meyering
ae1331b60a Handle the case in which rm produces no output. 2002-07-22 08:16:38 +00:00
Jim Meyering
2f17be04e3 This test might remove a file owned by the person running `make check'.
Hoist definition of $target_file, and use
that (not $f) in test for owner/dir/symlink.  Patch by Michael Stone.
2002-07-22 08:12:27 +00:00
Jim Meyering
db6dff2e6e rm would prompt for non-dangling symlinks
(prompt): When not interactive, don't prompt for a symlink.
2002-07-22 06:59:26 +00:00
Jim Meyering
fc1b595b19 *** empty log message *** 2002-07-22 06:55:17 +00:00
Jim Meyering
c206bac583 Fix typo in last change: add missing $ 2002-07-20 21:08:26 +00:00
Jim Meyering
64f41399ff *** empty log message *** 2002-07-20 20:06:49 +00:00
Jim Meyering
bcfbac9349 (copy_internal): Use file_name_lookup, not getdport.
Patch by Alfred M. Szmidt.
2002-07-20 20:06:41 +00:00
Jim Meyering
32ea988e8b *** empty log message *** 2002-07-20 15:48:25 +00:00
Jim Meyering
ad7b8c7978 . 2002-07-20 15:39:18 +00:00
Jim Meyering
b24b689963 . 2002-07-20 15:29:25 +00:00
Jim Meyering
334294f09d (main): Add an explicit `exit (EXIT_SUCCESS);'
for --version, rather than falling through.
2002-07-20 15:18:37 +00:00
Jim Meyering
3f6c422f1a (false.c): Convert only the final EXIT_SUCCESS
into EXIT_FAILURE.  Otherwise, false --help and false --version
would fail.
2002-07-20 15:18:20 +00:00
Jim Meyering
ad7e872471 *** empty log message *** 2002-07-20 14:24:34 +00:00
Jim Meyering
a82d360478 (news-r1, news-r2): Define. Better regexp.
(announcement): Use them here.  Also makes the line length < 80.
2002-07-20 14:24:29 +00:00
Jim Meyering
bfe17c403d *** empty log message *** 2002-07-20 14:12:31 +00:00
Jim Meyering
d234d4b968 *** empty log message *** 2002-07-20 14:10:21 +00:00
Jim Meyering
edc5d1e500 . 2002-07-20 14:06:47 +00:00
Jim Meyering
ce62cf1bd3 *** empty log message *** 2002-07-20 14:06:33 +00:00
Jim Meyering
eb7996a1df New file. From gettex-0.11.3. 2002-07-20 14:06:23 +00:00
Jim Meyering
4d84eaa764 do not use tail -1; use tail -n 1 instead 2002-07-20 11:17:27 +00:00
Jim Meyering
a5c943a9b4 . 2002-07-20 11:16:45 +00:00
Jim Meyering
6249feeba8 *** empty log message *** 2002-07-20 08:32:46 +00:00
Jim Meyering
74222f7619 *** empty log message *** 2002-07-20 08:28:24 +00:00
Jim Meyering
18d123ec85 *** empty log message *** 2002-07-20 08:24:31 +00:00
Jim Meyering
2b6249f98c . 2002-07-20 07:12:58 +00:00
Jim Meyering
6884ff795d . 2002-07-20 07:12:29 +00:00
Jim Meyering
e54c429349 *** empty log message *** 2002-07-20 07:12:13 +00:00
Jim Meyering
559555c77c Require autoconf-2.53b.
Use new macros AC_FUNC_MALLOC and AC_FUNC_REALLOC,
in place of jm_-prefixed ones.
2002-07-20 07:12:09 +00:00
Jim Meyering
b76525f29d Remove file, now that autoconf provides this macro. 2002-07-20 07:11:05 +00:00
Jim Meyering
a848d8b02b Adjust to work with new autoconf macros, AC_FUNC_MALLOC
and AC_FUNC_REALLOC: test #ifndef HAVE_MALLOC/HAVE_REALLOC.
2002-07-20 07:07:48 +00:00
Jim Meyering
6f382f7324 . 2002-07-20 06:52:12 +00:00
Jim Meyering
5e9dbfad55 Upgrade to gettext-0.11.3. 2002-07-20 06:41:26 +00:00
Jim Meyering
940ec37b9d *** empty log message *** 2002-07-20 06:38:38 +00:00
Jim Meyering
fd72bdc343 Upgrade to gettext-0.11.3. 2002-07-20 06:38:33 +00:00
Jim Meyering
5a75d400d9 Upgrade to gettext-0.11.3. 2002-07-20 06:37:36 +00:00
Jim Meyering
03229a474f Upgrade to gettext-0.11.3. 2002-07-20 06:36:49 +00:00
Jim Meyering
5b8a7240b0 Upgrade to gettext-0.11.3. 2002-07-20 06:35:12 +00:00
Jim Meyering
7e168001e9 Upgrade to gettext-0.11.3. 2002-07-20 06:34:16 +00:00
Jim Meyering
ca66dd1648 . 2002-07-20 06:31:28 +00:00
Jim Meyering
2200bd0564 Upgrade to gettext-0.11.3. 2002-07-20 06:31:12 +00:00
Jim Meyering
9befab3af8 fix typo in comment 2002-07-20 06:22:02 +00:00
Jim Meyering
39d971818e skip directories, too.
Otherwise, we'd have to account for the additional `directory ' part
of a diagnostic like this:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    (exit $fail); exit

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

6
.cvsignore Normal file
View File

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

1
.prev-version Normal file
View File

@@ -0,0 +1 @@
0.0.0

339
ABOUT-NLS
View File

@@ -171,190 +171,229 @@ Available Packages
==================
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of January
matrix shows the current state of internationalization, as of July
2002. 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 bg ca cs da de el en eo es et fi fr
+-------------------------------------+
a2ps | [] [] [] [] |
bash | [] [] [] [] |
bfd | [] [] |
binutils | [] [] |
bison | [] [] [] |
clisp | [] [] [] [] |
cpio | [] [] [] [] |
diffutils | [] [] [] [] [] [] |
enscript | [] [] |
error | [] [] |
fetchmail | () [] [] [] () |
fileutils | [] [] [] [] [] |
findutils | [] [] [] [] [] |
flex | [] [] [] |
gas | [] |
gawk | [] [] |
gcal | [] [] |
gcc | [] [] |
gettext | [] [] [] [] [] |
gnupg | [] [] [] [] [] [] |
gprof | [] [] |
grep | [] [] [] [] [] [] |
hello | [] [] [] [] [] [] [] [] |
id-utils | [] [] [] |
indent | [] [] [] [] |
jpilot | () [] [] [] |
jwhois | [] [] |
kbd | [] |
ld | [] [] |
libc | [] [] [] [] [] [] [] |
lilypond | [] [] |
lynx | [] [] [] [] |
m4 | [] [] [] [] [] |
make | [] [] [] [] |
mysecretdiary | [] [] |
nano | [] () [] [] [] [] |
nano_1_0 | [] () [] [] [] [] |
opcodes | [] [] [] |
parted | [] [] [] [] |
ptx | [] [] [] [] [] |
python | |
recode | [] [] [] [] [] [] |
sed | [] [] [] [] [] [] [] [] |
sh-utils | [] [] [] [] [] [] [] [] |
sharutils | [] [] [] [] [] [] |
sketch | () [] () |
soundtracker | [] [] [] |
sp | |
tar | [] [] [] [] [] [] |
texinfo | [] [] [] [] [] |
textutils | [] [] [] [] |
util-linux | [] [] [] [] |
wdiff | [] [] [] [] [] |
wget | [] [] [] [] [] [] [] [] |
+-------------------------------------+
bg ca cs da de el en eo es et fi fr
0 8 12 31 36 9 1 9 37 15 1 49
Ready PO files be bg ca cs da de el en eo es et fi fr
+----------------------------------------+
a2ps | [] [] [] [] |
bash | [] [] [] [] |
bfd | [] [] |
binutils | [] [] |
bison | [] [] [] [] |
clisp | [] [] [] [] |
clisp | |
clisplow | |
cpio | [] [] [] [] |
darkstat | () |
diffutils | [] [] [] [] [] [] |
enscript | [] [] |
error | [] [] [] |
fetchmail | [] () [] [] [] () |
fileutils | [] [] [] [] [] |
findutils | [] [] [] [] [] [] |
flex | [] [] [] [] [] |
gas | [] [] |
gawk | [] [] [] |
gcal | [] [] |
gcc | [] [] |
gettext | [] [] [] [] [] |
gnupg | [] [] [] [] [] [] [] |
gprof | [] [] |
gpsdrive | () () () () () |
grep | [] [] [] [] [] [] [] |
gretl | [] |
gthumb | () () () |
hello | [] [] [] [] [] [] [] [] [] |
id-utils | [] [] [] |
indent | [] [] [] [] [] |
jpilot | () [] [] [] |
jwhois | [] [] |
kbd | [] [] [] |
ld | [] [] |
libc | [] [] [] [] [] [] [] |
libiconv | [] [] [] [] |
lifelines | () () |
lilypond | [] [] [] |
lingoteach | [] [] |
lingoteach_lessons| () () |
lynx | [] [] [] [] [] |
m4 | [] [] [] [] [] |
make | [] [] [] [] |
man-db | [] () () [] () () |
mysecretdiary | [] [] [] |
nano | [] () [] [] [] [] |
nano_1_0 | [] () [] [] [] [] |
opcodes | [] [] [] |
parted | [] [] [] [] [] |
ptx | [] [] [] [] [] [] [] |
python | |
recode | [] [] [] [] [] [] |
sed | [] [] [] [] [] [] [] [] [] |
sh-utils | [] [] [] [] |
sharutils | [] [] [] [] [] [] |
sketch | () [] () |
soundtracker | [] [] [] |
sp | [] |
tar | [] [] [] [] [] [] |
texinfo | [] [] [] [] [] |
textutils | [] [] [] [] [] |
util-linux | [] [] [] [] [] [] |
vorbis-tools | [] |
wastesedge | |
wdiff | [] [] [] [] [] [] |
wget | [] [] [] [] [] [] [] [] [] [] |
+----------------------------------------+
be bg ca cs da de el en eo es et fi fr
0 2 19 10 30 44 9 1 12 45 16 3 53
gl he hr hu id it ja ko lv nb nl nn
+-------------------------------------+
a2ps | () () [] |
bash | |
bash | [] |
bfd | [] |
binutils | [] |
bison | [] |
bison | [] [] [] [] |
clisp | [] |
cpio | [] [] [] |
diffutils | [] [] |
enscript | [] |
clisp | |
clisplow | |
cpio | [] [] [] [] |
darkstat | () |
diffutils | [] [] [] [] [] |
enscript | [] [] |
error | [] |
fetchmail | |
fileutils | [] [] |
findutils | [] [] [] [] [] [] |
fetchmail | [] |
fileutils | [] [] [] |
findutils | [] [] [] [] [] [] [] [] |
flex | [] |
gas | |
gawk | [] |
gcal | |
gcc | [] |
gettext | [] |
gnupg | [] [] [] |
gettext | [] [] |
gnupg | [] [] [] [] |
gprof | |
grep | [] [] |
hello | [] [] [] [] [] [] [] [] [] |
id-utils | [] |
indent | [] [] [] |
gpsdrive | [] () () |
grep | [] [] [] [] [] [] [] |
gretl | |
gthumb | () () |
hello | [] [] [] [] [] [] [] [] [] [] [] [] |
id-utils | [] [] |
indent | [] [] [] [] |
jpilot | () () |
jwhois | |
jwhois | [] [] |
kbd | |
ld | |
libc | [] [] [] [] |
libiconv | [] [] [] |
lifelines | |
lilypond | [] [] |
lynx | [] [] |
lingoteach | [] |
lingoteach_lessons| |
lynx | [] [] [] [] |
m4 | [] [] [] [] |
make | [] [] [] [] |
mysecretdiary | |
nano | [] [] [] () () [] |
nano_1_0 | [] [] [] () () [] |
opcodes | |
make | [] [] [] [] [] [] |
man-db | () () |
mysecretdiary | [] |
nano | [] [] [] [] [] [] |
nano_1_0 | [] [] [] [] [] |
opcodes | [] [] |
parted | [] [] [] |
ptx | [] [] [] [] |
ptx | [] [] [] [] [] |
python | |
recode | [] [] [] |
sed | [] [] [] [] [] [] [] |
sh-utils | [] [] [] [] [] |
sed | [] [] [] [] [] [] [] [] |
sh-utils | [] [] [] |
sharutils | [] [] [] |
sketch | () |
soundtracker | [] |
soundtracker | [] [] |
sp | |
tar | [] [] [] |
tar | [] [] [] [] [] |
texinfo | [] [] [] |
textutils | [] [] |
textutils | [] [] [] |
util-linux | () [] |
wdiff | |
wget | [] [] [] [] [] |
vorbis-tools | |
wastesedge | |
wdiff | [] [] [] |
wget | [] [] [] [] [] [] |
+-------------------------------------+
gl he hr hu id it ja ko lv nb nl nn
20 6 1 3 6 11 22 9 1 6 17 4
23 9 12 18 14 13 26 9 1 8 19 4
no pl pt pt_BR ru sk sl sv tr uk zh
+-------------------------------------+
a2ps | () () () [] [] [] () | 8
bash | | 4
bfd | [] [] | 5
binutils | [] | 4
bison | [] [] [] | 7
clisp | | 5
cpio | [] [] [] [] | 11
diffutils | [] [] [] | 11
enscript | [] [] [] | 6
error | [] [] | 5
fetchmail | () () | 3
fileutils | [] [] [] [] | 11
findutils | [] [] [] [] [] [] | 17
flex | [] [] | 6
gas | [] | 2
gawk | [] [] | 5
gcal | [] | 3
gcc | [] | 4
gettext | [] [] [] [] | 10
gnupg | [] [] [] | 12
gprof | [] [] | 4
grep | [] [] [] [] [] | 13
hello | [] [] [] [] [] [] [] | 24
id-utils | [] [] | 6
indent | [] [] [] [] | 11
jpilot | () () | 3
jwhois | () () | 2
kbd | [] [] | 3
ld | [] [] | 4
libc | [] [] [] [] [] [] | 17
lilypond | [] | 5
lynx | [] [] [] | 9
m4 | [] [] [] | 12
make | [] [] [] [] | 12
mysecretdiary | [] | 3
nano | () [] [] [] | 12
nano_1_0 | () [] [] [] | 12
opcodes | [] [] | 5
parted | [] [] [] | 10
ptx | [] [] [] [] [] [] | 15
python | | 0
recode | [] [] [] [] | 13
sed | [] [] [] [] [] [] | 21
sh-utils | [] [] [] [] [] [] [] [] [] | 22
sharutils | [] [] | 11
sketch | () | 1
soundtracker | | 4
sp | | 0
tar | [] [] [] [] [] [] [] | 16
texinfo | [] [] | 10
textutils | [] [] | 8
util-linux | [] [] [] | 8
wdiff | [] [] [] [] | 9
wget | [] [] [] [] [] [] | 19
+-------------------------------------+
35 teams no pl pt pt_BR ru sk sl sv tr uk zh
54 domains 5 12 2 11 25 10 11 39 29 4 1 463
no pl pt pt_BR ru sk sl sv tr uk zh_TW
+----------------------------------------+
a2ps | () () () [] [] [] [] [] | 10
bash | [] | 6
bfd | [] [] | 5
binutils | [] [] | 5
bison | [] [] [] | 11
clisp | | 5
clisp | | 0
clisplow | | 0
cpio | [] [] [] [] | 12
darkstat | [] () | 1
diffutils | [] [] [] [] [] [] | 17
enscript | [] [] [] [] | 8
error | [] [] [] | 7
fetchmail | () () [] | 6
fileutils | [] [] [] [] [] | 13
findutils | [] [] [] [] [] [] [] | 21
flex | [] [] [] | 9
gas | [] | 3
gawk | [] [] | 6
gcal | [] [] | 4
gcc | [] | 4
gettext | [] [] [] [] [] [] | 13
gnupg | [] [] [] | 14
gprof | [] [] | 4
gpsdrive | [] [] () | 3
grep | [] [] [] [] | 18
gretl | | 1
gthumb | () () [] | 1
hello | [] [] [] [] [] [] [] | 28
id-utils | [] [] [] [] | 9
indent | [] [] [] [] [] | 14
jpilot | () () [] | 4
jwhois | [] () () [] [] | 7
kbd | [] [] | 5
ld | [] [] | 4
libc | [] [] [] [] [] [] | 17
libiconv | [] [] [] [] | 11
lifelines | [] | 1
lilypond | [] | 6
lingoteach | [] [] | 5
lingoteach_lessons| | 0
lynx | [] [] [] [] | 13
m4 | [] [] [] | 12
make | [] [] [] [] | 14
man-db | | 3
mysecretdiary | [] [] [] | 7
nano | [] [] [] [] | 15
nano_1_0 | [] [] [] [] | 14
opcodes | [] [] | 7
parted | [] [] [] | 11
ptx | [] [] [] [] [] [] [] | 19
python | | 0
recode | [] [] [] [] [] [] | 15
sed | [] [] [] [] [] [] | 23
sh-utils | [] | 8
sharutils | [] [] [] [] | 13
sketch | [] () [] | 4
soundtracker | [] | 6
sp | | 1
tar | [] [] [] [] [] [] [] | 18
texinfo | [] [] | 10
textutils | [] [] [] [] [] | 13
util-linux | [] [] [] | 10
vorbis-tools | [] | 2
wastesedge | | 0
wdiff | [] [] [] [] [] | 14
wget | [] [] [] [] [] [] [] [] | 24
+----------------------------------------+
36 teams no pl pt pt_BR ru sk sl sv tr uk zh_TW
67 domains 4 15 2 24 26 12 10 47 42 4 8 594
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
@@ -367,7 +406,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 January 2002 seems to be old, you may fetch a more recent copy of
If July 2002 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'.

0
AUTHORS Normal file
View File

7
ChangeLog Normal file
View File

@@ -0,0 +1,7 @@
2002-07-01 Jim Meyering <meyering@lucent.com>
* Version 0.1.0.
* configure.ac: Merge the three files from fileutils,
textutils, and sh-utils.
* Makefile.am: Likewise.

31
Makefile.am Normal file
View File

@@ -0,0 +1,31 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
SUBDIRS = lib src doc man m4 po tests djgpp
EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
.kludge-stamp .prev-version
install-root:
cd src && $(MAKE) $@
ACLOCAL_AMFLAGS = -I m4
# Some tests always need root privileges, others need them only sometimes.
check-root:
cd tests && $(MAKE) $@
distcheck-hook:
$(MAKE) my-distcheck
# Just prior to distribution, ...
# transform the automake-generated rule that runs `rm -f rm'.
# On some systems, that command would fail with a diagnostic like
# `rm: cannot unlink `rm': Text file busy' when `.' appears so early
# in the shell's search path that running `rm' would run the `rm'
# executable in the current directory.
# Similarly, adjust the clean-binPROGRAMS rule.
rm_subst = \
s!(rm -f (rm|\$$\(bin_PROGRAMS\)))$$!$$1 > /dev/null 2>&1 || /bin/$$1!
.kludge-stamp: $(srcdir)/src/Makefile.in
perl -pi -e '$(rm_subst)' $(srcdir)/src/Makefile.in
touch $@

View File

@@ -225,6 +225,9 @@ rel-check:
prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
news-r1 = /^[^ ].*$(THIS_VERSION_REGEXP)[]:]/
news-r2 = /^[^ ].*$(PREV_VERSION_REGEXP)[]:]/
rel-files = $(xd-delta) $(distdir).tar.bz2 $(distdir).tar.gz
announcement: NEWS ChangeLog $(rel-files)
@( \
@@ -253,7 +256,7 @@ announcement: NEWS ChangeLog $(rel-files)
echo "$(xdelta-sha1) $(xd-delta)"; \
echo; \
echo NEWS:; \
sed -n "/$(THIS_VERSION_REGEXP)[]:]/,/$(PREV_VERSION_REGEXP)[]:]/p" NEWS \
sed -n "$(news-r1),$(news-r2)p" NEWS \
| grep -v '^\['; \
echo; \
echo ChangeLog entries:; \
@@ -273,9 +276,10 @@ move_if_change ?= move-if-change
# The following pseudo table associates a local directory and a URL
# with each of the files that belongs to some other package and is
# regularly updated from the specified URL.
wget_files ?= $(srcdir)/config.guess $(srcdir)/config.sub \
wget_files ?= $(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/src/ansi2knr.c \
$(srcdir)/doc/texinfo.tex
$(srcdir)/config/texinfo.tex
get-targets = $(patsubst %, get-%, $(wget_files))
config.guess-url_prefix = $(ftp-gnu)/config/
@@ -299,11 +303,12 @@ $(get-targets):
automake_repo=:pserver:anoncvs@anoncvs.cygnus.com:/cvs/automake
.PHONY: wget-update
wget-update: $(get-targets)
for f in depcomp missing mkinstalldirs; do \
test -f $$f || continue; \
echo checking out $$f...; \
$(CVS) -d $(automake_repo) co -p automake/lib/$$f > $$f.t \
&& $(move_if_change) $$f.t $$f; \
cd config && \
for f in depcomp missing mkinstalldirs; do \
test -f $$f || { echo "*** skipping $$f" 1>&2; continue; }; \
echo checking out $$f...; \
$(CVS) -d $(automake_repo) co -p automake/lib/$$f > $$f.t \
&& $(move_if_change) $$f.t $$f; \
done
define emit-upload-commands

1
NEWS Normal file
View File

@@ -0,0 +1 @@
[0.1.0]

14
THANKS
View File

@@ -11,12 +11,15 @@ Adam Klein aklein@debian.org
Akim Demaille demaille@inf.enst.fr
Alain Magloire alain@qnx.com
Alan Iwi iwi@atm.ox.ac.uk
Albert Chin-A-Young china@thewrittenword.com
Albert Hopkins ahopkins@dynacare.com
Alberto Accomazzi alberto@cfa0.harvard.edu
aldomel aldomel@ix.netcom.com
Alen Muzinic zveki@fly.cc.fer.hr
Alexandre Duret-Lutz duret_g@epita.fr
Alexey Solovyov alekso@math.uu.se
Alfred M. Szmidt ams@kemisten.nu
Andi Kleen freitag@alancoxonachip.com
Andre Novaes Cunha Andre.Cunha@br.global-one.net
Andreas Gruenbacher ag@bestbits.at
Andreas Jaeger jaeger@gnu.org
@@ -76,6 +79,7 @@ Dan Hagerty hag@gnu.ai.it.edu
Dan Pascu dan@services.iiruc.ro
Daniel Bergstrom noa@melody.se
Darren Salt ds@youmustbejoking.demon.co.uk
Dave Beckett dajobe@dajobe.org
David Dyck dcd@tc.fluke.COM
David Godfrey dave@delta.demon.co.uk
David Luyer david_luyer@pacific.net.au
@@ -113,6 +117,7 @@ Fr
Gabor Z. Papp gzp@gzp.org.hu
Galen Hazelwood galenh@micron.net
Gary Anderson ganderson@clark.net
Gaute Hvoslef Kvalnes gaute@verdsveven.com
Gaël Quéri gqueri@mail.dotcom.fr
Geoff Kuenning geoff@cs.hmc.edu
Geoff Odhner geoff@franklin.com
@@ -137,6 +142,7 @@ Ian Bruce ian.bruce@myrealbox.com
Ian Jackson ijackson@chiark.greenend.org.uk
Ian Lance Taylor ian@cygnus.com
Ian Turner vectro@pipeline.com
Iida Yosiaki iida@gnu.org
James james@albion.glarp.com
James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk
James Sneeringer jvs@ocslink.com
@@ -203,6 +209,7 @@ Manfred Hollstein manfred@s-direktnet.de
Marc Boucher marc@mbsi.ca
Marc Olzheim marcolz@stack.nl
Marco Franzen Marco.Franzen@Thyron.com
Marcus Brinkmann http://www.marcus-brinkmann.de
Marcus Daniels marcus@ee.pdx.edu
Mark A. Thomas thommark@access.digex.net
Mark D. Roth roth@uiuc.edu
@@ -216,6 +223,7 @@ Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de
Martin martin@dresden.nacamar.de
Martin Gallant martyg@goodbit.net
Martin Hippe martin.hippe@schlund.de
Martin Michlmayr tbm@cyrius.com
Martin Mitchell martin@debian.org
Martin P.J. Zinser zinser@decus.de
Marty Leisner leisner@sdsp.mc.xerox.com
@@ -224,6 +232,7 @@ Mate Wierdl mw@moni.msci.memphis.edu
Matej Vela mvela@public.srce.hr
Matt Perry matt@primefactor.com
Matt Schalit mschalit@pacbell.net
Matthew Arnison maffew@cat.org.au
Matthew Braun matthew@ans.net
Matthew Clarke Matthew_Clarke@mindlink.bc.ca
Matthew S. Levine mslevine@theory.lcs.mit.edu
@@ -238,12 +247,14 @@ Michael Gaughen mgaughen@polyserve.com
Michael Hasselberg mikelh@zonta.ping.de
Michael Hohn hohn@math.utah.edu
Michael J. Croghan mcroghan@usatoday.com
Michael Piefel piefel@informatik.hu-berlin.de
Michael Steffens michael.steffens@s.netic.de
Michael Stone mstone@debian.org
Michael Stutz stutz@dsl.org
Michael Veksler mveksler@techunix.technion.ac.il
Michel Robitaille robitail@IRO.UMontreal.CA
Michiel Bacchiani bacchian@raven.bu.edu
Mike Castle dalgoda@ix.netcom.com
Miles Bader miles@gnu.ai.mit.edu
Minh Tran-Le tranle@intellicorp.com
Morten Welinder terra@diku.dk
@@ -308,14 +319,17 @@ Stephen Smoogen ??????????
Steve McConnel steve@acadcomp.sil.org
Stuart Kemp skemp@peter.bmc.com
Tadayoshi Funaba tadf@kt.rim.or.jp
TAKAI Kousuke takai@vlsi.kuee.kyoto-u.ac.jp
Theodore Ts'o tytso@rsts-11.mit.edu
Thomas Bushnell thomas@gnu.ai.mit.edu
Thomas Quinot thomas@Cuivre.FR.EU.ORG
Tim J. Robbins tjr@FreeBSD.org
Tim Smithers mouse@dmouse.com.au
Tim Waugh twaugh@redhat
Todd A. Jacobs tjacobs@codegnome.org
Tom Quinn trq@dionysos.thphys.ox.ac.uk
Ton Hospel thospel@mail.dma.be
Tony Kocurko akocurko@mun.ca
Tony Leneis tony@plaza.ds.adp.com
Tony Robinson ajr@eng.cam.ac.uk
Torbjorn Granlund tege@nada.kth.se

15
TODO Normal file
View File

@@ -0,0 +1,15 @@
Fix README
fix AUTHORS
restore djgpp, eventually
put old ChangeLog files somewhere...
Add them to EXTRA_DIST
Move things so there are no symlinks from repository to
any directory other than common
Make bug-reporting address bug-coreutils@gnu.org work.
grep 'bug-.*utils' src/*.c
merge .po files

114
config/config.guess vendored
View File

@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002 Free Software Foundation, Inc.
timestamp='2002-03-04'
timestamp='2002-07-09'
# 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
@@ -88,30 +88,40 @@ if test $# != 0; then
exit 1
fi
trap 'exit 1' 1 2 15
dummy=dummy-$$
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# CC_FOR_BUILD -- compiler used by this script.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int dummy(){}" > $dummy.c ;
for c in cc gcc c89 ; do
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
if test $? = 0 ; then
# This shell variable is my proudest work .. or something. --bje
set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
|| (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
dummy=$tmpdir/dummy ;
files="$dummy.c $dummy.o $dummy.rel $dummy" ;
trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
rm -f $dummy.c $dummy.o $dummy.rel ;
rm -f $files ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac'
esac ;
unset files'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
@@ -142,6 +152,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
@@ -248,7 +259,7 @@ EOF
eval $set_cc_for_build
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
case `./$dummy` in
case `$dummy` in
0-0)
UNAME_MACHINE="alpha"
;;
@@ -272,7 +283,7 @@ EOF
;;
esac
fi
rm -f $dummy.s $dummy
rm -f $dummy.s $dummy && rmdir $tmpdir
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha\ *:Windows_NT*:*)
@@ -313,6 +324,10 @@ EOF
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
DRS?6000:UNIX_SV:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7 && exit 0 ;;
esac ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
@@ -420,14 +435,17 @@ EOF
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy \
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
exit 0 ;;
Night_Hawk:*:*:PowerMAX_OS)
echo powerpc-harris-powermax
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit 0 ;;
@@ -500,8 +518,8 @@ EOF
exit(0);
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
$CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
@@ -599,9 +617,9 @@ EOF
exit (0);
}
EOF
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy`
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
rm -f $dummy.c $dummy
rm -f $dummy.c $dummy && rmdir $tmpdir
fi ;;
esac
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -637,8 +655,8 @@ EOF
exit (0);
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
$CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -721,7 +739,19 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
# Determine whether the default compiler uses glibc.
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include <features.h>
#if __GLIBC__ >= 2
LIBC=gnu
#else
LIBC=
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c && rmdir $tmpdir
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
@@ -760,7 +790,7 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -771,18 +801,18 @@ EOF
#undef CPU
#undef mips
#undef mipsel
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mipsel
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mipsel
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips
#else
CPU=
#endif
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
rm -f $dummy.c
rm -f $dummy.c && rmdir $tmpdir
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
;;
ppc:Linux:*:*)
@@ -878,7 +908,7 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c
rm -f $dummy.c && rmdir $tmpdir
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
;;
@@ -917,13 +947,13 @@ EOF
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
@@ -958,7 +988,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 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.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)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1059,12 +1089,12 @@ EOF
echo `uname -p`-apple-darwin${UNAME_RELEASE}
exit 0 ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
if test "${UNAME_MACHINE}" = "x86pc"; then
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
echo i386-${UNAME_MACHINE}-nto-qnx
else
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
exit 0 ;;
*:QNX:*:4*)
echo i386-pc-qnx
@@ -1241,8 +1271,8 @@ main ()
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
# Apollos put the system type in the environment.

View File

@@ -50,9 +50,7 @@ if test "$GCC" = yes; then
else
case "$host_os" in
aix3* | aix4* | aix5*)
if test "$host_cpu" = ia64; then
wl='-Wl,'
fi
wl='-Wl,'
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
@@ -95,7 +93,7 @@ hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32* )
cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -103,6 +101,9 @@ case "$host_os" in
with_gnu_ld=no
fi
;;
openbsd*)
with_gnu_ld=no
;;
esac
ld_shlibs=yes
@@ -171,38 +172,42 @@ else
fi
;;
aix4* | aix5*)
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
hardcode_direct=yes
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
else
hardcode_direct=yes
fi
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
else
# Test if we are trying to use run time linking, or normal AIX style linking.
# If -brtl is somewhere in LDFLAGS, we need to do run time linking.
aix_use_runtimelinking=no
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then
aix_use_runtimelinking=yes
break
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
esac
fi
hardcode_direct=yes
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
hardcode_direct=yes
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
done
esac
fi
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
@@ -267,8 +272,19 @@ else
hardcode_libdir_separator=:
;;
openbsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'

59
config/config.sub vendored
View File

@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002 Free Software Foundation, Inc.
timestamp='2002-03-07'
timestamp='2002-07-03'
# 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,7 @@ 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* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -230,23 +230,31 @@ case $basic_machine in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| c4x | clipper \
| d10v | d30v | dsp16xx \
| fr30 \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k \
| m32r | m68000 | m68k | m88k | mcore \
| mips | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el | mips64vr4300 \
| mips64vr4300el | mips64vr5000 | mips64vr5000el \
| mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
| mipsisa32 | mipsisa64 \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mipsisa32 | mipsisa32el \
| mipsisa64 | mipsisa64el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| ns16k | ns32k \
| openrisc | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| sh | sh[34] | sh[34]eb | shbe | shle | sh64 \
| sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| strongarm \
| tahoe | thumb | tic80 | tron \
@@ -281,31 +289,40 @@ case $basic_machine in
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armv*-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c54x-* \
| clipper-* | cydra-* \
| d10v-* | d30v-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fr30-* | fx80-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* \
| m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
| mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
| mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \
| mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipstx39 | mipstx39el \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* | sh64-* \
| sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
@@ -996,7 +1013,7 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
sh3 | sh4 | sh3eb | sh4eb)
sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
basic_machine=sh-unknown
;;
sh64)
@@ -1090,7 +1107,7 @@ case $os in
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova*)
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1409,7 +1426,7 @@ case $basic_machine in
-ptx*)
vendor=sequent
;;
-vxsim* | -vxworks*)
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
-aux*)

View File

@@ -207,18 +207,22 @@ aix)
;;
tru64)
# The Tru64 AIX compiler uses -MD to generate dependencies as a side
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
base=`echo "$object" | sed -e 's/\.o$/.d/' -e 's/\.lo$/.d/'`
tmpdepfile1="$base.o.d"
tmpdepfile2="$base.d"
if test "$libtool" = yes; then
tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.d"
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
"$@" -MD
fi
@@ -250,34 +254,40 @@ tru64)
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
test -z "$dashmflag" && dashmflag=-M
( IFS=" "
case " $* " in
*" --mode=compile "*) # this is libtool, let us make it quiet
for arg
do # cycle over the arguments
case "$arg" in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
# always write the proprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'. We will use -o /dev/null later,
# however we can't do the remplacement now because
# `-o $object' might simply not be used
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
"$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
done
test -z "$dashmflag" && dashmflag=-M
"$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
@@ -295,36 +305,31 @@ dashXmstdout)
;;
makedepend)
"$@" || exit $?
# X makedepend
(
shift
cleared=no
for arg in "$@"; do
case $cleared in no)
set ""; shift
cleared=yes
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift;;
-*)
;;
*)
set fnord "$@" "$arg"; shift;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
-*)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tail +3 "$tmpdepfile" | tr ' ' '
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
@@ -334,35 +339,39 @@ makedepend)
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
( IFS=" "
case " $* " in
*" --mode=compile "*)
for arg
do # cycle over the arguments
case $arg in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
# always write the proprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
"$@" -E |
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
@@ -374,47 +383,25 @@ msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
( IFS=" "
case " $* " in
*" --mode=compile "*)
for arg
do # cycle over the arguments
case $arg in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"

View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -293,23 +293,23 @@ WARNING: \`$1' is missing on your system. You should only need it if
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar ${1+"$@"} && exit 0
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar ${1+"$@"} && exit 0
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" ${1+"$@"} && exit 0
tar "$firstarg" "$@" && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" ${1+"$@"} && exit 0
tar "$firstarg" "$@" && exit 0
;;
esac
fi

View File

@@ -4,7 +4,7 @@
# Created: 1993-05-16
# Public domain
# $Id: mkinstalldirs,v 1.1 2002/02/16 14:23:56 meyering Exp $
# $Id: mkinstalldirs,v 1.3 2002/07/18 20:44:25 meyering Exp $
errstatus=0
dirmode=""

View File

@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{2002-03-01.06}
\def\texinfoversion{2002-06-04.06}
%
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
% 2000, 01, 02 Free Software Foundation, Inc.
@@ -53,7 +53,7 @@
% texindex foo.??
% tex foo.texi
% tex foo.texi
% dvips foo.dvi -o # or whatever, to process the dvi file; this makes foo.ps.
% dvips foo.dvi -o # or whatever; this makes foo.ps.
% The extra TeX runs get the cross-reference information correct.
% Sometimes one run after texindex suffices, and sometimes you need more
% than two; texi2dvi does it as many times as necessary.
@@ -846,7 +846,6 @@ where each line of input produces a line of output.}
% @math gets a chance to work. This could perhaps be fixed, but for now
% at least we can have real math in the main text, where it's needed most.
%
%
\let\implicitmath = $%$ font-lock fix
%
% One complication: _ usually means subscripts, but it could also mean
@@ -857,10 +856,22 @@ where each line of input produces a line of output.}
{\catcode95 = \active % 95 = _
\gdef\mathunderscore{%
\catcode95=\active
\def_{\ifnum\fam=\slfam\_\else\sb\fi}%
\def_{\ifnum\fam=\slfam \_\else\sb\fi}%
}}
%
\def\math{\tex\mathcode`\_="8000\mathunderscore \implicitmath\finishmath}
% Another complication: we want \\ (and @\) to output a \ character.
% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
% this is not advertised and we don't care. Texinfo does not
% otherwise define @\.
%
% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
%
\def\math{%
\tex
\mathcode`\_="8000 \mathunderscore
\let\\ = \mathbackslash
\implicitmath\finishmath}
\def\finishmath#1{#1\implicitmath\Etex}
% @bullet and @minus need the same treatment as @math, just above.
@@ -1431,11 +1442,19 @@ where each line of input produces a line of output.}
\def\realdash{-}
\def\codedash{-\discretionary{}{}{}}
\def\codeunder{\ifusingtt{\normalunderscore\discretionary{}{}{}}{\_}}
\def\codeunder{%
% this is all so @math{@code{var_name}+1} can work. In math mode, _
% is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
% will therefore expand the active definition of _, which is us
% (inside @code that is), therefore an endless loop.
\ifusingtt{\ifmmode
\mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
\else\normalunderscore \fi
\discretionary{}{}{}}%
{\_}%
}
\def\codex #1{\tclose{#1}\endgroup}
%\let\exp=\tclose %Was temporary
% @kbd is like @code, except that if the argument is just one @key command,
% then @kbd has no effect.
@@ -1637,8 +1656,6 @@ where each line of input produces a line of output.}
\global\let\contents = \relax
\global\let\shortcontents = \relax
\fi
%
\ifpdf \pdfmakepagedesttrue \fi
}
\def\finishtitlepage{%
@@ -2396,20 +2413,19 @@ width0pt\relax} \fi
\let\item = \relax
}
% Ignore @ignore ... @end ignore.
% Ignore @ignore, @ifhtml, @ifinfo, @ifplaintext, @ifnottex, @html, @menu,
% @direntry, and @documentdescription.
%
\def\ignore{\doignore{ignore}}
% Also ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu,
% @documentdescription, and @direntry text.
%
\def\ifinfo{\doignore{ifinfo}}
\def\ifhtml{\doignore{ifhtml}}
\def\ifinfo{\doignore{ifinfo}}
\def\ifplaintext{\doignore{ifplaintext}}
\def\ifnottex{\doignore{ifnottex}}
\def\html{\doignore{html}}
\def\menu{\doignore{menu}}
\def\documentdescription{\doignore{documentdescription}}
\def\direntry{\doignore{direntry}}
\def\documentdescription{\doignore{documentdescription}}
\def\documentdescriptionword{documentdescription}
% @dircategory CATEGORY -- specify a category of the dir file
% which this file should belong to. Ignore this in TeX.
@@ -2436,14 +2452,21 @@ width0pt\relax} \fi
% We must not have @c interpreted as a control sequence.
\catcode`\@ = 12
%
% Make the letter c a comment character so that the rest of the line
% will be ignored. This way, the document can have (for example)
% @c @end ifinfo
% and the @end ifinfo will be properly ignored.
% (We've just changed @ to catcode 12.)
\catcode`\c = 14
\def\ignoreword{#1}%
\ifx\ignoreword\documentdescriptionword
% The c kludge breaks documentdescription, since
% `documentdescription' contains a `c'. Means not everything will
% be ignored inside @documentdescription, but oh well...
\else
% Make the letter c a comment character so that the rest of the line
% will be ignored. This way, the document can have (for example)
% @c @end ifinfo
% and the @end ifinfo will be properly ignored.
% (We've just changed @ to catcode 12.)
\catcode`\c = 14
\fi
%
% And now expand that command.
% And now expand the command defined above.
\doignoretext
}
@@ -2634,19 +2657,21 @@ width0pt\relax} \fi
\def\ifclearfail{\nestedignore{ifclear}}
\defineunmatchedend{ifclear}
% @iftex, @ifnothtml, @ifnotinfo always succeed; we read the text
% following, through the first @end iftex (etc.). Make `@end iftex'
% (etc.) valid only after an @iftex.
% @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we
% read the text following, through the first @end iftex (etc.). Make
% `@end iftex' (etc.) valid only after an @iftex.
%
\def\iftex{\conditionalsucceed{iftex}}
\def\ifnothtml{\conditionalsucceed{ifnothtml}}
\def\ifnotinfo{\conditionalsucceed{ifnotinfo}}
\def\ifnotplaintext{\conditionalsucceed{ifnotplaintext}}
\defineunmatchedend{iftex}
\defineunmatchedend{ifnothtml}
\defineunmatchedend{ifnotinfo}
\defineunmatchedend{ifnotplaintext}
% We can't just want to start a group at @iftex (for example) and end it
% at @end iftex, since then @set commands inside the conditional have no
% We can't just want to start a group at @iftex (etc.) and end it at
% @end iftex, since then @set commands inside the conditional have no
% effect (they'd get reverted at the end of the group). So we must
% define \Eiftex to redefine itself to be its previous value. (We can't
% just define it to fail again with an ``unmatched end'' error, since
@@ -2861,7 +2886,7 @@ width0pt\relax} \fi
% If an index command is used in an @example environment, any spaces
% therein should become regular spaces in the raw index file, not the
% expansion of \tie (\\leavevmode \penalty \@M \ ).
% expansion of \tie (\leavevmode \penalty \@M \ ).
{\obeyspaces
\gdef\unsepspaces{\obeyspaces\let =\space}}
@@ -3906,7 +3931,7 @@ width0pt\relax} \fi
% argument, which will end up as the last argument to the \...entry macro.
%
% We open the .toc file here instead of at @setfilename or any other
% given time so that @contents can be put in the document anywhere.
% fixed time so that @contents can be put in the document anywhere.
%
\newif\iftocfileopened
\def\writetocentry#1{%
@@ -3915,6 +3940,14 @@ width0pt\relax} \fi
\global\tocfileopenedtrue
\fi
\iflinks \write\tocfile{#1{\folio}}\fi
%
% Tell \shipout to create a page destination if we're doing pdf, which
% will be the target of the links in the table of contents. We can't
% just do it on every page because the title pages are numbered 1 and
% 2 (the page numbers aren't printed), and so are the first two pages
% of the document. Thus, we'd have two destinations named `1', and
% two named `2'.
\ifpdf \pdfmakepagedesttrue \fi
}
\newskip\contentsrightmargin \contentsrightmargin=1in
@@ -4115,36 +4148,27 @@ width0pt\relax} \fi
\message{environments,}
% @foo ... @end foo.
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
%
% Since these characters are used in examples, it should be an even number of
% \tt widths. Each \tt character is 1en, so two makes it 1em.
% Furthermore, these definitions must come after we define our fonts.
\newbox\dblarrowbox \newbox\longdblarrowbox
\newbox\pushcharbox \newbox\bullbox
\newbox\equivbox \newbox\errorbox
%{\tentt
%\global\setbox\dblarrowbox = \hbox to 1em{\hfil$\Rightarrow$\hfil}
%\global\setbox\longdblarrowbox = \hbox to 1em{\hfil$\mapsto$\hfil}
%\global\setbox\pushcharbox = \hbox to 1em{\hfil$\dashv$\hfil}
%\global\setbox\equivbox = \hbox to 1em{\hfil$\ptexequiv$\hfil}
% Adapted from the manmac format (p.420 of TeXbook)
%\global\setbox\bullbox = \hbox to 1em{\kern.15em\vrule height .75ex width .85ex
% depth .1ex\hfil}
%}
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
%
\def\point{$\star$}
\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
% The @error{} command.
% Adapted from the TeXbook's \boxit.
%
\newbox\errorbox
%
{\tentt \global\dimen0 = 3em}% Width of the box.
\dimen2 = .55pt % Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
%
\global\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
\advance\hsize by -2\dimen2 % Rules.
@@ -4155,8 +4179,7 @@ width0pt\relax} \fi
\kern3pt\vrule width\dimen2}% Space to right.
\hrule height\dimen2}
\hfil}
% The @error{} command.
%
\def\error{\leavevmode\lower.7ex\copy\errorbox}
% @tex ... @end tex escapes into raw Tex temporarily.
@@ -4196,9 +4219,9 @@ width0pt\relax} \fi
\def\@{@}%
\let\Etex=\endgroup}
% Define @lisp ... @endlisp.
% Define @lisp ... @end lisp.
% @lisp does a \begingroup so it can rebind things,
% including the definition of @endlisp (which normally is erroneous).
% including the definition of @end lisp (which normally is erroneous).
% Amount to narrow the margins by for @lisp.
\newskip\lispnarrowing \lispnarrowing=0.4in
@@ -4596,6 +4619,21 @@ width0pt\relax} \fi
\endgroup\nonfillfinish\endgroup
}
% @copying ... @end copying.
% Save the text away for @insertcopying later.
%
\newbox\copyingbox
%
\def\copying{\begingroup
\parindent = 0pt % looks wrong on title page
\def\Ecopying{\egroup\endgroup}%
\global\setbox\copyingbox = \vbox\bgroup
}
% @insertcopying.
%
\def\insertcopying{\unvcopy\copyingbox}
\message{defuns,}
% @defun etc.
@@ -4692,56 +4730,60 @@ width0pt\relax} \fi
{\df #1}\enskip % Generate function name
}
% Actually process the body of a definition
% #1 should be the terminating control sequence, such as \Edefun.
% #2 should be the "another name" control sequence, such as \defunx.
% #3 should be the control sequence that actually processes the header,
% such as \defunheader.
\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
\medbreak %
% Define the end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup %
\catcode 61=\active % 61 is `='
\obeylines\activeparens\spacesplit#3}
% Common pieces to start any @def...
% #1 is the \E... control sequence to end the definition (which we define).
% #2 is the \...x control sequence for consecutive fns (which we define).
% #3 is the control sequence to call to resume processing.
% #4, delimited by the space, is the class name.
%
\def\defmethparsebody#1#2#3#4 {\begingroup\inENV %
\medbreak %
% Define the end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
% Used for @deftypemethod and @deftypeivar.
% #1 is the \E... control sequence to end the definition (which we define).
% #2 is the \...x control sequence for consecutive fns (which we define).
% #3 is the control sequence to call to resume processing.
% #4, delimited by a space, is the class name.
% #5 is the method's return type.
%
\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV
% #2 is the \...x control sequence (which our caller defines).
% #3 is the control sequence to process the header, such as \defunheader.
%
\def\parsebodycommon#1#2#3{%
\begingroup\inENV
% If there are two @def commands in a row, we'll have a \nobreak,
% which is there to keep the function description together with its
% header. But if there's nothing but headers, we want to allow a
% break after all.
\ifnum\lastpenalty = 10000 \penalty0 \fi
\medbreak
%
% Define the \E... end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
%
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
}
% Process body of @defun, @deffn, @defmac, etc.
%
\def\defparsebody#1#2#3{%
\parsebodycommon{#1}{#2}{#3}%
\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
\catcode61=\active % 61 is `='
\begingroup\obeylines\activeparens
\spacesplit#3%
}
% #1, #2, #3 are the common arguments (see \defparsebody).
% #4, delimited by the space, is the class name.
%
\def\defmethparsebody#1#2#3#4 {%
\parsebodycommon{#1}{#2}{#3}%
\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
\begingroup\obeylines\activeparens
\spacesplit{#3{#4}}%
}
% Used for @deftypemethod and @deftypeivar.
% #1, #2, #3 are the common arguments (see \defparsebody).
% #4, delimited by a space, is the class name.
% #5 is the method's return type.
%
\def\deftypemethparsebody#1#2#3#4 #5 {%
\parsebodycommon{#1}{#2}{#3}%
\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
\begingroup\obeylines\activeparens
\spacesplit{#3{#4}{#5}}%
}
% Used for @deftypeop. The change from \deftypemethparsebody is an
% extra argument at the beginning which is the `category', instead of it
@@ -4750,64 +4792,49 @@ width0pt\relax} \fi
% input at hand. Thus also need a control sequence (passed as #5) for
% the \E... definition to assign the category name to.
%
\def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV
\medbreak
\def#1{\endgraf\endgroup\medbreak}%
\def\deftypeopparsebody#1#2#3#4#5 #6 {%
\parsebodycommon{#1}{#2}{#3}%
\def#2##1 ##2 ##3 {%
\def#4{##1}%
\begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}%
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#5}{#6}}}
\begingroup\obeylines\activeparens
\spacesplit{#3{#5}{#6}}%
}
\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
\medbreak %
% Define the end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 ##2 {\def#4{##1}%
\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
% For @defop.
\def\defopparsebody #1#2#3#4#5 {%
\parsebodycommon{#1}{#2}{#3}%
\def#2##1 ##2 {\def#4{##1}%
\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
\begingroup\obeylines\activeparens
\spacesplit{#3{#5}}%
}
% These parsing functions are similar to the preceding ones
% except that they do not make parens into active characters.
% These are used for "variables" since they have no arguments.
\def\defvarparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
\medbreak %
% Define the end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2{\begingroup\obeylines\spacesplit#3}%
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup %
\catcode 61=\active %
\obeylines\spacesplit#3}
% This is used for \def{tp,vr}parsebody. It could probably be used for
% some of the others, too, with some judicious conditionals.
%
\def\parsebodycommon#1#2#3{%
\begingroup\inENV %
\medbreak %
% Define the end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
\def\defvarparsebody #1#2#3{%
\parsebodycommon{#1}{#2}{#3}%
\def#2{\begingroup\obeylines\spacesplit#3}%
\catcode61=\active %
\begingroup\obeylines
\spacesplit#3%
}
% @defopvar.
\def\defopvarparsebody #1#2#3#4#5 {%
\parsebodycommon{#1}{#2}{#3}%
\def#2##1 ##2 {\def#4{##1}%
\begingroup\obeylines\spacesplit{#3{##2}}}%
\begingroup\obeylines
\spacesplit{#3{#5}}%
}
\def\defvrparsebody#1#2#3#4 {%
\parsebodycommon{#1}{#2}{#3}%
\def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
\begingroup\obeylines
\spacesplit{#3{#4}}%
}
@@ -4822,6 +4849,8 @@ width0pt\relax} \fi
%
\def\deftpparsebody #1#2#3#4 {%
\parsebodycommon{#1}{#2}{#3}%
\def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
\begingroup\obeylines
\spacesplit{\parsetpheaderline{#3{#4}}}\empty
}
@@ -4838,33 +4867,19 @@ width0pt\relax} \fi
#1{\removeemptybraces#2\relax}{#3}%
}%
\def\defopvarparsebody #1#2#3#4#5 {\begingroup\inENV %
\medbreak %
% Define the end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 ##2 {\def#4{##1}%
\begingroup\obeylines\spacesplit{#3{##2}}}%
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\spacesplit{#3{#5}}}
% Split up #2 at the first space token.
% call #1 with two arguments:
% the first is all of #2 before the space token,
% the second is all of #2 after that space token.
% If #2 contains no space token, all of it is passed as the first arg
% and the second is passed as empty.
%
{\obeylines
\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
\ifx\relax #3%
#1{#2}{}\else #1{#2}{#3#4}\fi}}
% So much for the things common to all kinds of definitions.
% Define @defun.
% First, define the processing that is wanted for arguments of \defun
@@ -5274,7 +5289,7 @@ width0pt\relax} \fi
\message{Warning: redefining \the\macname}%
\else
\expandafter\ifx\csname \the\macname\endcsname \relax
\else \errmessage{The name \the\macname\space is reserved}\fi
\else \errmessage{Macro name \the\macname\space already defined}\fi
\global\cslet{macsave.\the\macname}{\the\macname}%
\global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
% Add the macroname to \macrolist

302
configure.ac Normal file
View File

@@ -0,0 +1,302 @@
dnl Process this file with autoconf to produce a configure script. -*-m4-*-
AC_INIT(GNU coreutils, 0.1.0, bug-coreutils@gnu.org)
AC_CONFIG_SRCDIR(src/ls.c)
AC_CONFIG_AUX_DIR(config)
AM_CONFIG_HEADER(config.h:config.hin)
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([1.6 gnits dist-bzip2])
AC_GNU_SOURCE
jm_PERL
AC_PROG_CC
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_PROG_RANLIB
AC_AIX
AC_MINIX
AC_CHECK_FUNCS(uname,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname" MAN="$MAN uname.1")
AC_CHECK_FUNCS(chroot,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS chroot" MAN="$MAN chroot.1")
AC_CHECK_FUNCS(gethostid,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS hostid" MAN="$MAN hostid.1")
jm_MACROS
AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
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_TRY_COMPILE([
#if !defined(sun) && !defined(__sun)
choke -- this is a workaround for a Sun-specific problem
#endif
#include <sys/types.h>
#include <sys/vfs.h>],
[struct statfs t; long c = *(t.f_spare);],
fu_cv_sys_truncating_statfs=yes,
fu_cv_sys_truncating_statfs=no,
)])
if test $fu_cv_sys_truncating_statfs = yes; then
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
[ Define if the block counts reported by statfs may be truncated to 2GB
and the correct values may be stored in the f_spare array.
(SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
SunOS 4.1.1 seems not to be affected.)])
fi
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
AC_MSG_CHECKING(whether localtime caches TZ)
AC_CACHE_VAL(utils_cv_localtime_cache,
[if test x$ac_cv_func_tzset = xyes; then
AC_TRY_RUN([#include <time.h>
#if STDC_HEADERS
# include <stdlib.h>
#endif
extern char **environ;
unset_TZ ()
{
char **from, **to;
for (to = from = environ; (*to = *from); from++)
if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '='))
to++;
}
main()
{
time_t now = time ((time_t *) 0);
int hour_GMT0, hour_unset;
if (putenv ("TZ=GMT0") != 0)
exit (1);
hour_GMT0 = localtime (&now)->tm_hour;
unset_TZ ();
hour_unset = localtime (&now)->tm_hour;
if (putenv ("TZ=PST8") != 0)
exit (1);
if (localtime (&now)->tm_hour == hour_GMT0)
exit (1);
unset_TZ ();
if (localtime (&now)->tm_hour != hour_unset)
exit (1);
exit (0);
}], utils_cv_localtime_cache=no, utils_cv_localtime_cache=yes,
[# If we have tzset, assume the worst when cross-compiling.
utils_cv_localtime_cache=yes])
else
# If we lack tzset, report that localtime does not cache TZ,
# since we can't invalidate the cache if we don't have tzset.
utils_cv_localtime_cache=no
fi])dnl
AC_MSG_RESULT($utils_cv_localtime_cache)
if test $utils_cv_localtime_cache = yes; then
AC_DEFINE(LOCALTIME_CACHE, 1, [FIXME])
fi
# SCO-ODT-3.0 is reported to need -los to link programs using initgroups
AC_CHECK_FUNCS(initgroups)
if test $ac_cv_func_initgroups = no; then
AC_CHECK_LIB(os, initgroups)
fi
AC_CHECK_FUNCS(syslog)
if test $ac_cv_func_syslog = no; then
# syslog is not in the default libraries. See if it's in some other.
for lib in bsd socket inet; do
AC_CHECK_LIB($lib, syslog, [AC_DEFINE(HAVE_SYSLOG, 1, [FIXME])
LIBS="$LIBS -l$lib"; break])
done
fi
AC_MSG_CHECKING(for 3-argument setpriority function)
AC_CACHE_VAL(utils_cv_func_setpriority,
[AC_TRY_LINK([#include <sys/time.h>
#include <sys/resource.h>],
[setpriority(0, 0, 0);],
utils_cv_func_setpriority=yes, utils_cv_func_setpriority=no)])
AC_MSG_RESULT($utils_cv_func_setpriority)
if test $utils_cv_func_setpriority = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice"
OPTIONAL_BIN_ZCRIPTS="$OPTIONAL_BIN_ZCRIPTS nohup"
MAN="$MAN nice.1 nohup.1"
else
AC_MSG_CHECKING(for nice function)
AC_CACHE_VAL(utils_cv_func_nice,
[AC_TRY_LINK([], nice();,
utils_cv_func_nice=yes, utils_cv_func_nice=no)])
AC_MSG_RESULT($utils_cv_func_nice)
if test $utils_cv_func_nice = yes; then
AC_DEFINE(NICE_PRIORITY, 1, [FIXME])
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice"
OPTIONAL_BIN_ZCRIPTS="$OPTIONAL_BIN_ZCRIPTS nohup"
MAN="$MAN nice.1 nohup.1"
fi
fi
AC_DEFUN(jm_DUMMY_1,
[
AC_REQUIRE([jm_PREREQ_READUTMP])
if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS pinky users who"
MAN="$MAN pinky.1 users.1 who.1"
fi
])
jm_DUMMY_1
AC_MSG_CHECKING(ut_host in struct utmp)
AC_CACHE_VAL(su_cv_func_ut_host_in_utmp,
[AC_TRY_LINK([#include <sys/types.h>
#include <utmp.h>], [struct utmp ut; ut.ut_host;],
su_cv_func_ut_host_in_utmp=yes, su_cv_func_ut_host_in_utmp=no)])
AC_MSG_RESULT($su_cv_func_ut_host_in_utmp)
if test $su_cv_func_ut_host_in_utmp = yes; then
have_ut_host=1
AC_DEFINE(HAVE_UT_HOST, 1, [FIXME])
fi
if test -z "$have_ut_host"; then
AC_MSG_CHECKING(ut_host in struct utmpx)
AC_CACHE_VAL(su_cv_func_ut_host_in_utmpx,
[AC_TRY_LINK([#include <sys/types.h>
#include <utmpx.h>], [struct utmpx ut; ut.ut_host;],
su_cv_func_ut_host_in_utmpx=yes, su_cv_func_ut_host_in_utmpx=no)])
AC_MSG_RESULT($su_cv_func_ut_host_in_utmpx)
if test $su_cv_func_ut_host_in_utmpx = yes; then
AC_DEFINE(HAVE_UTMPX_H, 1, [FIXME])
AC_DEFINE(HAVE_UT_HOST, 1, [FIXME])
fi
fi
GNULIB_BOOT_TIME(
[OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uptime" MAN="$MAN uptime.1"])
AM_SYS_POSIX_TERMIOS
jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
if test $am_cv_sys_posix_termios = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS stty" MAN="$MAN stty.1"
AC_MSG_CHECKING(whether termios.h needs _XOPEN_SOURCE)
AC_CACHE_VAL(su_cv_sys_termios_needs_xopen_source,
[AC_EGREP_CPP(yes, [#include <termios.h>
#ifdef IUCLC
yes
#endif], su_cv_sys_termios_needs_xopen_source=no,
AC_EGREP_CPP(yes, [#define _XOPEN_SOURCE
#include <termios.h>
#ifdef IUCLC
yes
#endif], su_cv_sys_termios_needs_xopen_source=yes,
su_cv_sys_termios_needs_xopen_source=no))])
AC_MSG_RESULT($su_cv_sys_termios_needs_xopen_source)
test $su_cv_sys_termios_needs_xopen_source = yes &&
AC_DEFINE(TERMIOS_NEEDS_XOPEN_SOURCE, 1, [FIXME])
AC_MSG_CHECKING(c_line in struct termios)
AC_CACHE_VAL(su_cv_sys_c_line_in_termios,
[AC_TRY_LINK([#if TERMIOS_NEEDS_XOPEN_SOURCE
#define _XOPEN_SOURCE
#endif
#include <sys/types.h>
#include <termios.h>],
[struct termios t; t.c_line;],
su_cv_sys_c_line_in_termios=yes,
su_cv_sys_c_line_in_termios=no)])
AC_MSG_RESULT($su_cv_sys_c_line_in_termios)
test $su_cv_sys_c_line_in_termios = yes && AC_DEFINE(HAVE_C_LINE, 1, [FIXME])
fi
# FIXME: note that this macro appears above, too.
# I'm leaving it here for now. This whole thing needs to be modernized...
jm_WINSIZE_IN_PTEM
jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H
if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no && \
test $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h = no; then
AC_MSG_CHECKING(TIOCGWINSZ in sys/pty.h)
AC_CACHE_VAL(su_cv_sys_tiocgwinsz_in_sys_pty_h,
[AC_TRY_LINK([#include <sys/types.h>
#ifdef WINSIZE_IN_PTEM
# include <sys/stream.h>
# include <sys/ptem.h>
#endif
#include <sys/ioctl.h>
#include <sys/tty.h>
#include <sys/pty.h>],
[int x = TIOCGWINSZ;],
su_cv_sys_tiocgwinsz_in_sys_pty_h=yes,
su_cv_sys_tiocgwinsz_in_sys_pty_h=no)])
AC_MSG_RESULT($su_cv_sys_tiocgwinsz_in_sys_pty_h)
test $su_cv_sys_tiocgwinsz_in_sys_pty_h = yes \
&& AC_DEFINE(GWINSZ_IN_SYS_PTY, 1,
[Define if your system defines TIOCGWINSZ in sys/pty.h.])
fi
# For src/kill.c.
AC_CHECK_DECLS([strsignal, strtoimax, sys_siglist, _sys_siglist])
jm_LIB_CHECK
AM_GNU_GETTEXT([external])
AC_CONFIG_FILES(
Makefile
doc/Makefile
lib/Makefile
man/Makefile
m4/Makefile
po/Makefile.in
src/Makefile
tests/Makefile
tests/basename/Makefile
tests/chgrp/Makefile
tests/chmod/Makefile
tests/chown/Makefile
tests/cp/Makefile
tests/cut/Makefile
tests/date/Makefile
tests/dd/Makefile
tests/dircolors/Makefile
tests/du/Makefile
tests/expr/Makefile
tests/factor/Makefile
tests/fmt/Makefile
tests/head/Makefile
tests/install/Makefile
tests/join/Makefile
tests/ln/Makefile
tests/ls-2/Makefile
tests/ls/Makefile
tests/md5sum/Makefile
tests/misc/Makefile
tests/mkdir/Makefile
tests/mv/Makefile
tests/od/Makefile
tests/pr/Makefile
tests/rm/Makefile
tests/rmdir/Makefile
tests/seq/Makefile
tests/sha1sum/Makefile
tests/shred/Makefile
tests/sort/Makefile
tests/stty/Makefile
tests/sum/Makefile
tests/tac/Makefile
tests/tail-2/Makefile
tests/tail/Makefile
tests/test/Makefile
tests/touch/Makefile
tests/tr/Makefile
tests/tsort/Makefile
tests/unexpand/Makefile
tests/uniq/Makefile
tests/wc/Makefile
)
AC_OUTPUT

View File

@@ -1,3 +1,87 @@
2002-07-22 Martin Michlmayr <tbm@cyrius.com>
* coreutils.texi (Formatting the file names): Document
that -N/--literal are equivalent to --quoting-style=literal.
Reported by Oskar Liljeblad as Debian bug#103612.
2002-07-10 Jim Meyering <meyering@lucent.com>
* coreutils.texi (du invocation): s/PAT/PATTERN/.
From Martin Michlmayr.
2002-07-08 Jim Meyering <meyering@lucent.com>
* coreutils.texi (cp invocation): Remove unnecessary "$@" in example;
Texinfo would render the @" as an umlaut over the following character.
From Paul Eggert.
* Makefile.am (check-texinfo): Check for the above.
2002-07-06 Jim Meyering <meyering@lucent.com>
* coreutils.texi (stat invocation): Remove description of --secure.
2002-07-03 Jim Meyering <meyering@lucent.com>
* coreutils.texi (stat invocation): Rename --link/-l
to --dereference/-L. Rewrite description of --dereference.
2002-06-26 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (Putting the tools together): Don't mention egrep,
since it's not part of POSIX 1003.1-2001.
2002-06-21 Jim Meyering <meyering@lucent.com>
* coreutils.texi (stat invocation): New section. From Michael Meskes.
2002-05-19 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (ls invocation): Document new option: --author.
2002-06-03 Jim Meyering <meyering@lucent.com>
* coreutils.texi (rm invocation): Add the warning (also in the --help
output) that the contents of a removed file are often recoverable.
2002-05-27 Jim Meyering <meyering@lucent.com>
* Makefile.am (check-texinfo): Adapt to reflect that now we use
@acronym{POSIX}.
2002-05-26 Jim Meyering <meyering@lucent.com>
* coreutils.texi: Use @acronym in place of most uses of @sc.
* getdate.texi (Date input formats): Likewise.
2002-04-28 Jim Meyering <meyering@lucent.com>
* coreutils.texi: Change `@code{PROG}' to `@command{PROG}'.
2002-04-28 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (kill invocation): Document the above.
Document POSIX signals better.
2002-04-15 Jim Meyering <meyering@lucent.com>
* coreutils.texi: Document kill.
Written by Marcus Brinkmann.
2002-04-13 Jim Meyering <meyering@lucent.com>
* coreutils.texi: Document link and unlink.
2002-04-08 Jim Meyering <meyering@lucent.com>
* coreutils.texi: Use new directives, @copying and @insertcopying,
thus now requiring texinfo-4.2 to create the .info file.
2002-02-26 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (File characteristic tests): Document the
behavior of test -nt and -ot when one of the files does not exist,
using the same behavior that is documented in ksh93.
2002-03-05 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (cut invocation): Say that selected input is

View File

@@ -31,6 +31,9 @@ $(INFO_DEPS): $(EXTRA_DIST)
# List words/regexps here that should not appear in the texinfo documentation.
check-texinfo:
grep timezone $(srcdir)/*.texi && exit 1 || :
grep -w POSIX $(srcdir)/*.texi 2> /dev/null && exit 1 || :
grep '\$$@"' $(srcdir)/*.texi && exit 1 || :
$(PERL) -ne \
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ || /{posix}/ and print,exit 1' \
$(srcdir)/*.texi 2> /dev/null && : || exit 1
check: check-texinfo

View File

@@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.6 from Makefile.am.
# Makefile.in generated by automake 1.6a from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
@@ -13,113 +13,73 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
CPPFLAGS = @CPPFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
GENCAT = @GENCAT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
HAVE_LIB = @HAVE_LIB@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
KMEM_GROUP = @KMEM_GROUP@
LIB = @LIB@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LTLIB = @LTLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
NEED_SETGID = @NEED_SETGID@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
POSUB = @POSUB@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SQRT_LIBM = @SQRT_LIBM@
STRIP = @STRIP@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
YACC = @YACC@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
info_TEXINFOS = coreutils.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
LTLIBOBJS = @LTLIBOBJS@
# The following is necessary if the package name is 8 characters or longer.
# If the info documentation would be split into 10 or more separate files,
@@ -130,6 +90,72 @@ EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
# and those names all map to one 14-byte name (<package>.info-) on some crufty
# old systems.
MAKEINFO = makeinfo --no-split
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
info_TEXINFOS = coreutils.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
subdir = doc
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
@@ -138,12 +164,14 @@ DIST_SOURCES =
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
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 .ps .texi
.SUFFIXES: .dvi .info .pdf .ps .texi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits doc/Makefile
@@ -172,6 +200,7 @@ maintainer-clean-vti:
coreutils.info: coreutils.texi $(srcdir)/version.texi
coreutils.dvi: coreutils.texi $(srcdir)/version.texi
coreutils.pdf: coreutils.texi $(srcdir)/version.texi
.texi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
@@ -184,12 +213,19 @@ coreutils.dvi: coreutils.texi $(srcdir)/version.texi
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) $<
.texi.pdf:
TEXINPUTS="$(top_srcdir)/config$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2PDF) $<
.texi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
`echo $< | sed 's,.*/,,'`
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf
DVIPS = dvips
.dvi.ps:
$(DVIPS) $< -o $@
@@ -197,7 +233,7 @@ DVIPS = dvips
uninstall-info-am:
$(PRE_UNINSTALL)
@if (install-info --version && \
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
@@ -227,12 +263,12 @@ dist-info: $(INFO_DEPS)
mostlyclean-aminfo:
-rm -f coreutils.aux coreutils.cp coreutils.cps coreutils.dvi coreutils.fl \
coreutils.fn coreutils.ky coreutils.log coreutils.op \
coreutils.pg coreutils.ps coreutils.toc coreutils.tp \
coreutils.vr
coreutils.pdf coreutils.pg coreutils.ps coreutils.tmp \
coreutils.toc coreutils.tp coreutils.vr
maintainer-clean-aminfo:
cd $(srcdir) && \
for i in $(INFO_DEPS); do \
list='$(INFO_DEPS)'; for i in $$list; do \
rm -f $$i; \
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
rm -f $$i-[0-9]*; \
@@ -241,13 +277,16 @@ maintainer-clean-aminfo:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -257,8 +296,10 @@ distdir: $(DISTFILES)
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir)$$dir \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@@ -266,7 +307,7 @@ distdir: $(DISTFILES)
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="${top_distdir}" distdir="$(distdir)" \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-info
check-am: all-am
check: check-am
@@ -294,7 +335,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -337,7 +378,7 @@ install-info-am: $(INFO_DEPS)
done
@$(POST_INSTALL)
@if (install-info --version && \
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
@@ -357,6 +398,14 @@ mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
pdf: pdf-am
pdf-am: $(PDFS)
ps: ps-am
ps-am: $(PSS)
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic dist-info \
@@ -366,8 +415,8 @@ uninstall-am: uninstall-info-am
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti mostlyclean \
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti \
uninstall uninstall-am uninstall-info-am
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am
# Remove `DISABLED_' when fileutils, textutils, and sh-utils have
@@ -388,7 +437,10 @@ $(INFO_DEPS): $(EXTRA_DIST)
# List words/regexps here that should not appear in the texinfo documentation.
check-texinfo:
grep timezone $(srcdir)/*.texi && exit 1 || :
grep -w POSIX $(srcdir)/*.texi 2> /dev/null && exit 1 || :
grep '\$$@"' $(srcdir)/*.texi && exit 1 || :
$(PERL) -ne \
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ || /{posix}/ and print,exit 1' \
$(srcdir)/*.texi 2> /dev/null && : || exit 1
check: check-texinfo
# Tell versions [3.59,3.63) of GNU make to not export all variables.

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

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

File diff suppressed because it is too large Load Diff

View File

@@ -35,13 +35,13 @@ programs accept. These are the strings you, as a user, can supply as
arguments to the various programs. The C interface (via the
@code{getdate} function) is not described here.
@cindex beginning of time, for @sc{posix}
@cindex epoch, for @sc{posix}
@cindex beginning of time, for @acronym{POSIX}
@cindex epoch, for @acronym{POSIX}
Although the date syntax here can represent any possible time since the
year zero, computer integers often cannot represent such a wide range of
time. On @sc{posix} systems, the clock starts at 1970-01-01 00:00:00
@sc{utc}: @sc{posix} does not require support for times before the
@sc{posix} Epoch and times far in the future. Traditional Unix systems
time. On @acronym{POSIX} systems, the clock starts at 1970-01-01 00:00:00
@sc{utc}: @acronym{POSIX} does not require support for times before the
@acronym{POSIX} Epoch and times far in the future. Traditional Unix systems
have 32-bit signed @code{time_t} and can represent times from 1901-12-13
20:45:52 through 2038-01-19 03:14:07 @sc{utc}. Systems with 64-bit
signed @code{time_t} can represent all the times in the known

View File

@@ -1,3 +1,151 @@
2002-07-20 Jim Meyering <meyering@lucent.com>
* xmalloc.c: Adjust to work with new autoconf macros, AC_FUNC_MALLOC
and AC_FUNC_REALLOC: test #ifndef HAVE_MALLOC/HAVE_REALLOC.
* gettext.h: Upgrade to gettext-0.11.3.
2002-07-13 Bruno Haible <bruno@clisp.org>
* xstat.in: Include <string.h>.
* mountlist.c: #undef MNT_IGNORE before defining it, to avoid warning
on FreeBSD.
2002-07-09 Jim Meyering <meyering@lucent.com>
* mountlist.h (ME_DUMMY): Don't count entries of type `auto' as dummy
ones. At least on GNU/Linux systems, `auto' means something else.
From Michael Stone.
2002-07-01 Jim Meyering <meyering@lucent.com>
* c-stack.c: Include sys/time.h.
From Volker Borchert.
2002-06-11 Paul Eggert <eggert@twinsun.com>
* fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
New macro. Use it uniformly instead of
(defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
reported by Vin Shelton.
2002-06-22 Jim Meyering <meyering@lucent.com>
* fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
redefinition due to Solaris5.6's definition in /usr/include/sys/euc.h.
2002-06-22 Paul Eggert <eggert@twinsun.com>
* c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
Do not assume SA_SIGINFO behavior.
Bug reported by Jim Meyering on NetBSD 1.5.2.
2002-06-22 Jim Meyering <meyering@lucent.com>
* c-stack.c, c-stack.h: New files, from diffutils-2.8.2.
* exitfail.c, exitfail.h: Likewise.
* Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
* Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
of fnmatch.h.
(EXTRA_DIST): Add fnmatch_loop.c.
(libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
* fnmatch_loop.c: New file, from diffutils-2.8.2.
* fnmatch.c: Update from diffutils-2.8.2.
* fnmatch_.h: New file. From diffutils-2.8.2.
* fnmatch.h: Remove file.
2002-06-18 Paul Eggert <eggert@twinsun.com>
* file-type.h: Report an error if neither S_ISREG nor
S_IFREG is defined, instead of using a test specific to glibc
2.2. This should be safe, since POSIX requires S_ISREG and
Unix Version 7 had S_IFREG. We don't need to check for
<sys/types.h> since we don't use any symbols that it defines.
2002-06-15 Jim Meyering <meyering@lucent.com>
* file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
have been included before this file.
2002-06-13 Richard Dawe <richdawe@bigfoot.com>
* Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than $@-t,
so that each temporary file name is unique and valid in the first
8 characters, for operation under DOS.
2002-06-15 Jim Meyering <meyering@lucent.com>
Work even with DJGPP 2.03, which lacks support for symlinks.
From Richard Dawe.
* xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
is defined.
* lchown.c (S_ISLNK): Likewise.
2002-06-14 Jim Meyering <meyering@lucent.com>
* file-type.h: Use the version from diffutils-2.8.2.
* file-type.c: Likewise.
2002-05-27 Jim Meyering <meyering@lucent.com>
Fix a problem seen only on nonconforming systems whereby ls.c's
use of localtime, and then of gettimeofday would cause trouble:
the localtime call used to initialize rpl_gettimeofday's save
mechanism would clobber ls's current local time information so
that in any long listing the first file would always be listed
with date 1970-01-01. Analysis by Volker Borchert.
* gettimeofday.c (localtime): Undefine.
(rpl_localtime): New function.
2002-05-22 Jim Meyering <meyering@lucent.com>
* Makefile.am (libfetish_a_SOURCES): Add file-type.c and file-type.h.
* file-type.h: New file.
* file-type.c (file_type): New file/function. Extracted from diffutils.
2002-04-29 Paul Eggert <eggert@twinsun.com>
* hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
2002-04-28 Paul Eggert <eggert@twinsun.com>
* sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
depending on <sys/wait.h> and WTERMSIG. Default to 64 instead
of 127, since 64 is the largest conceivable number for ancient
nonstandard hosts.
* sig2str.c: Do not include <sys/wait.h>; no longer needed.
2002-04-28 Jim Meyering <meyering@lucent.com>
* sig2str.c (WTERMSIG): Remove definition (unused).
2002-04-28 Paul Eggert <eggert@twinsun.com>
* sig2str.h, sig2str.c: New files.
* Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
2002-04-24 Jim Meyering <meyering@lucent.com>
* gettext.h: New file, from Gettext.
* Makefile.am (INCLUDES): Remove -I../intl.
(libfetish_a_SOURCES): Add gettext.h.
2002-04-16 Jim Meyering <meyering@lucent.com>
* readutmp.h (UT_TYPE): Remove definition (now in who.c).
(HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
(HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
2002-04-12 Jim Meyering <meyering@lucent.com>
* dirfd.h (dirfd): Elide prototype if dirfd is a macro.
2002-03-10 Jim Meyering <meyering@lucent.com>
* makepath.c (make_path): Remove a comma from a diagnostic.

View File

@@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = ../src/ansi2knr
noinst_LIBRARIES = libfetish.a
INCLUDES = -I.. -I$(srcdir) -I../intl
INCLUDES = -I.. -I$(srcdir)
DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
## Put relatively complex files at the beginning of the list so
@@ -28,14 +28,17 @@ libfetish_a_SOURCES = \
basename.c \
bumpalloc.h \
canon-host.c \
c-stack.c c-stack.h \
closeout.c closeout.h \
diacrit.c diacrit.h \
dirname.c dirname.h \
dirfd.h \
dup-safer.c \
exclude.c exclude.h \
exitfail.c exitfail.h \
filemode.c filemode.h \
fnmatch.h \
file-type.c file-type.h \
fnmatch_.h \
fopen-safer.c \
fsusage.h \
full-write.c full-write.h \
@@ -43,6 +46,7 @@ libfetish_a_SOURCES = \
getpagesize.h \
getstr.c getstr.h \
gettime.c \
gettext.h \
getugroups.c \
group-member.h \
hard-locale.c hard-locale.h \
@@ -74,6 +78,7 @@ libfetish_a_SOURCES = \
savedir.c savedir.h \
settime.c \
sha.c sha.h \
sig2str.h \
stdio-safer.h \
stripslash.c \
strverscmp.h \
@@ -104,15 +109,17 @@ BUILT_SOURCES = getdate.c lstat.c stat.c unlocked-io.h
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
DISTCLEANFILES = lstat.c stat.c unlocked-io.h
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin gen-uio
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin gen-uio \
fnmatch_loop.c
lstat.c: xstat.in
sed \
-e '/@IGNORE@/d' \
-e 's/@xstat@/lstat/g' \
-e '/_LSTAT_ONLY@/d' \
-e '/@BEGIN_STAT_ONLY@/,/@END_STAT_ONLY@/d' \
$(srcdir)/xstat.in > $@-t
mv $@-t $@
$(srcdir)/xstat.in > t-$@
mv t-$@ $@
stat.c: xstat.in
sed \
@@ -120,8 +127,8 @@ stat.c: xstat.in
-e 's/@xstat@/stat/g' \
-e '/_STAT_ONLY@/d' \
-e '/@BEGIN_LSTAT_ONLY@/,/@END_LSTAT_ONLY@/d' \
$(srcdir)/xstat.in > $@-t
mv $@-t $@
$(srcdir)/xstat.in > t-$@
mv t-$@ $@
# The following is needed in order to install a simple file in $(libdir)
# which is shared with other installed packages. We use a list of referencing
@@ -166,8 +173,8 @@ charset.alias: config.charset
SUFFIXES = .sed .sin
.sin.sed:
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t
mv $@-t $@
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
mv t-$@ $@
CLEANFILES = charset.alias ref-add.sed ref-del.sed

View File

@@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.6 from Makefile.am.
# Makefile.in generated by automake 1.6a from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
@@ -13,117 +13,143 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
CPPFLAGS = @CPPFLAGS@
DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
GENCAT = @GENCAT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
HAVE_LIB = @HAVE_LIB@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
KMEM_GROUP = @KMEM_GROUP@
LIB = @LIB@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LTLIB = @LTLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STRIP = @STRIP@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = ../src/ansi2knr
noinst_LIBRARIES = libfetish.a
INCLUDES = -I.. -I$(srcdir) -I../intl
DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
INCLUDES = -I.. -I$(srcdir)
libfetish_a_SOURCES = \
acl.h acl.c \
@@ -141,14 +167,17 @@ libfetish_a_SOURCES = \
basename.c \
bumpalloc.h \
canon-host.c \
c-stack.c c-stack.h \
closeout.c closeout.h \
diacrit.c diacrit.h \
dirname.c dirname.h \
dirfd.h \
dup-safer.c \
exclude.c exclude.h \
exitfail.c exitfail.h \
filemode.c filemode.h \
fnmatch.h \
file-type.c file-type.h \
fnmatch_.h \
fopen-safer.c \
fsusage.h \
full-write.c full-write.h \
@@ -156,6 +185,7 @@ libfetish_a_SOURCES = \
getpagesize.h \
getstr.c getstr.h \
gettime.c \
gettext.h \
getugroups.c \
group-member.h \
hard-locale.c hard-locale.h \
@@ -187,6 +217,7 @@ libfetish_a_SOURCES = \
savedir.c savedir.h \
settime.c \
sha.c sha.h \
sig2str.h \
stdio-safer.h \
stripslash.c \
strverscmp.h \
@@ -217,7 +248,9 @@ BUILT_SOURCES = getdate.c lstat.c stat.c unlocked-io.h
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
DISTCLEANFILES = lstat.c stat.c unlocked-io.h
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin gen-uio
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin gen-uio \
fnmatch_loop.c
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
@@ -243,9 +276,10 @@ am_libfetish_a_OBJECTS = acl$U.$(OBJEXT) getdate$U.$(OBJEXT) \
getopt$U.$(OBJEXT) getopt1$U.$(OBJEXT) hash$U.$(OBJEXT) \
hash-pjw$U.$(OBJEXT) addext$U.$(OBJEXT) argmatch$U.$(OBJEXT) \
backupfile$U.$(OBJEXT) basename$U.$(OBJEXT) \
canon-host$U.$(OBJEXT) closeout$U.$(OBJEXT) diacrit$U.$(OBJEXT) \
dirname$U.$(OBJEXT) dup-safer$U.$(OBJEXT) exclude$U.$(OBJEXT) \
filemode$U.$(OBJEXT) fopen-safer$U.$(OBJEXT) \
canon-host$U.$(OBJEXT) c-stack$U.$(OBJEXT) closeout$U.$(OBJEXT) \
diacrit$U.$(OBJEXT) dirname$U.$(OBJEXT) dup-safer$U.$(OBJEXT) \
exclude$U.$(OBJEXT) exitfail$U.$(OBJEXT) filemode$U.$(OBJEXT) \
file-type$U.$(OBJEXT) fopen-safer$U.$(OBJEXT) \
full-write$U.$(OBJEXT) getstr$U.$(OBJEXT) gettime$U.$(OBJEXT) \
getugroups$U.$(OBJEXT) hard-locale$U.$(OBJEXT) \
human$U.$(OBJEXT) idcache$U.$(OBJEXT) isdir$U.$(OBJEXT) \
@@ -265,10 +299,8 @@ am_libfetish_a_OBJECTS = acl$U.$(OBJEXT) getdate$U.$(OBJEXT) \
xstrtoul$U.$(OBJEXT) xstrtoimax$U.$(OBJEXT) \
xstrtoumax$U.$(OBJEXT) yesno$U.$(OBJEXT)
libfetish_a_OBJECTS = $(am_libfetish_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/__fpending.Po $(DEPDIR)/alloca.Po \
@@ -292,24 +324,26 @@ am__depfiles_maybe = depfiles
@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)/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)/acl$U.Po ./$(DEPDIR)/addext$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/argmatch$U.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)/utime.Po ./$(DEPDIR)/acl$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/addext$U.Po ./$(DEPDIR)/argmatch$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/backupfile$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/basename$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/basename$U.Po ./$(DEPDIR)/c-stack$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/canon-host$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/closeout$U.Po ./$(DEPDIR)/diacrit$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dirname$U.Po ./$(DEPDIR)/dup-safer$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/exclude$U.Po ./$(DEPDIR)/filemode$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/exclude$U.Po ./$(DEPDIR)/exitfail$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/file-type$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/filemode$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/fopen-safer$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/full-write$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getdate$U.Po ./$(DEPDIR)/getopt$U.Po \
@@ -351,7 +385,6 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
CFLAGS = @CFLAGS@
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
DIST_SOURCES = $(libfetish_a_SOURCES)
DIST_COMMON = README ChangeLog Makefile.am Makefile.in TODO \
@@ -362,7 +395,7 @@ DIST_COMMON = README ChangeLog Makefile.am Makefile.in TODO \
group-member.c lchown.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 putenv.c readutmp.c \
realloc.c regex.c rename.c rmdir.c rpmatch.c stpcpy.c \
realloc.c regex.c rename.c rmdir.c rpmatch.c sig2str.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 \
@@ -444,6 +477,7 @@ mostlyclean-kr:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rmdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rpmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sig2str.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stpcpy.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcasecmp.Po@am__quote@
@@ -469,12 +503,15 @@ mostlyclean-kr:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/backupfile$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-stack$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canon-host$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diacrit$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup-safer$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-type$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemode$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fopen-safer$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full-write$U.Po@am__quote@
@@ -534,17 +571,26 @@ distclean-depend:
-rm -rf $(DEPDIR) ./$(DEPDIR)
.c.o:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
@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 "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ 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)/'`$<
.c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `cygpath -w $<`
CCDEPMODE = @CCDEPMODE@
@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)/$<'`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ 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)/$<'`
__fpending_.c: lib/__fpending.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/__fpending.c; then echo $(srcdir)/lib/__fpending.c; else echo lib/__fpending.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > __fpending_.c || rm -f __fpending_.c
acl_.c: acl.c $(ANSI2KNR)
@@ -561,6 +607,8 @@ backupfile_.c: backupfile.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/backupfile.c; then echo $(srcdir)/backupfile.c; else echo backupfile.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > backupfile_.c || rm -f backupfile_.c
basename_.c: basename.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/basename.c; then echo $(srcdir)/basename.c; else echo basename.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > basename_.c || rm -f basename_.c
c-stack_.c: c-stack.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/c-stack.c; then echo $(srcdir)/c-stack.c; else echo c-stack.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > c-stack_.c || rm -f c-stack_.c
canon-host_.c: canon-host.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/canon-host.c; then echo $(srcdir)/canon-host.c; else echo canon-host.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > canon-host_.c || rm -f canon-host_.c
chown_.c: lib/chown.c $(ANSI2KNR)
@@ -583,6 +631,10 @@ euidaccess_.c: lib/euidaccess.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/euidaccess.c; then echo $(srcdir)/lib/euidaccess.c; else echo lib/euidaccess.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > euidaccess_.c || rm -f euidaccess_.c
exclude_.c: exclude.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/exclude.c; then echo $(srcdir)/exclude.c; else echo exclude.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > exclude_.c || rm -f exclude_.c
exitfail_.c: exitfail.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/exitfail.c; then echo $(srcdir)/exitfail.c; else echo exitfail.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > exitfail_.c || rm -f exitfail_.c
file-type_.c: file-type.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/file-type.c; then echo $(srcdir)/file-type.c; else echo file-type.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > file-type_.c || rm -f file-type_.c
fileblocks_.c: lib/fileblocks.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/fileblocks.c; then echo $(srcdir)/lib/fileblocks.c; else echo lib/fileblocks.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > fileblocks_.c || rm -f fileblocks_.c
filemode_.c: filemode.c $(ANSI2KNR)
@@ -725,6 +777,8 @@ settime_.c: settime.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/settime.c; then echo $(srcdir)/settime.c; else echo settime.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > settime_.c || rm -f settime_.c
sha_.c: sha.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/sha.c; then echo $(srcdir)/sha.c; else echo sha.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > sha_.c || rm -f sha_.c
sig2str_.c: lib/sig2str.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/sig2str.c; then echo $(srcdir)/lib/sig2str.c; else echo lib/sig2str.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > sig2str_.c || rm -f sig2str_.c
stat_.c: lib/stat.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/stat.c; then echo $(srcdir)/lib/stat.c; else echo lib/stat.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > stat_.c || rm -f stat_.c
stpcpy_.c: lib/stpcpy.c $(ANSI2KNR)
@@ -801,11 +855,12 @@ yesno_.c: yesno.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/yesno.c; then echo $(srcdir)/yesno.c; else echo yesno.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > yesno_.c || rm -f yesno_.c
__fpending_.$(OBJEXT) acl_.$(OBJEXT) addext_.$(OBJEXT) \
alloca_.$(OBJEXT) argmatch_.$(OBJEXT) atexit_.$(OBJEXT) \
backupfile_.$(OBJEXT) basename_.$(OBJEXT) canon-host_.$(OBJEXT) \
chown_.$(OBJEXT) closeout_.$(OBJEXT) diacrit_.$(OBJEXT) \
dirfd_.$(OBJEXT) dirname_.$(OBJEXT) dup-safer_.$(OBJEXT) \
dup2_.$(OBJEXT) error_.$(OBJEXT) euidaccess_.$(OBJEXT) \
exclude_.$(OBJEXT) fileblocks_.$(OBJEXT) filemode_.$(OBJEXT) \
backupfile_.$(OBJEXT) basename_.$(OBJEXT) c-stack_.$(OBJEXT) \
canon-host_.$(OBJEXT) chown_.$(OBJEXT) closeout_.$(OBJEXT) \
diacrit_.$(OBJEXT) dirfd_.$(OBJEXT) dirname_.$(OBJEXT) \
dup-safer_.$(OBJEXT) dup2_.$(OBJEXT) error_.$(OBJEXT) \
euidaccess_.$(OBJEXT) exclude_.$(OBJEXT) exitfail_.$(OBJEXT) \
file-type_.$(OBJEXT) fileblocks_.$(OBJEXT) filemode_.$(OBJEXT) \
fnmatch_.$(OBJEXT) fopen-safer_.$(OBJEXT) fsusage_.$(OBJEXT) \
ftruncate_.$(OBJEXT) full-write_.$(OBJEXT) getdate_.$(OBJEXT) \
getgroups_.$(OBJEXT) gethostname_.$(OBJEXT) getline_.$(OBJEXT) \
@@ -828,23 +883,23 @@ quote_.$(OBJEXT) quotearg_.$(OBJEXT) readtokens_.$(OBJEXT) \
readutmp_.$(OBJEXT) realloc_.$(OBJEXT) regex_.$(OBJEXT) \
rename_.$(OBJEXT) rmdir_.$(OBJEXT) rpmatch_.$(OBJEXT) \
safe-read_.$(OBJEXT) same_.$(OBJEXT) save-cwd_.$(OBJEXT) \
savedir_.$(OBJEXT) settime_.$(OBJEXT) sha_.$(OBJEXT) stat_.$(OBJEXT) \
stpcpy_.$(OBJEXT) strcasecmp_.$(OBJEXT) strcspn_.$(OBJEXT) \
strdup_.$(OBJEXT) strftime_.$(OBJEXT) stripslash_.$(OBJEXT) \
strncasecmp_.$(OBJEXT) strndup_.$(OBJEXT) strnlen_.$(OBJEXT) \
strpbrk_.$(OBJEXT) strstr_.$(OBJEXT) strtod_.$(OBJEXT) \
strtoimax_.$(OBJEXT) strtol_.$(OBJEXT) strtoll_.$(OBJEXT) \
strtoul_.$(OBJEXT) strtoull_.$(OBJEXT) strtoumax_.$(OBJEXT) \
strverscmp_.$(OBJEXT) tempname_.$(OBJEXT) unicodeio_.$(OBJEXT) \
userspec_.$(OBJEXT) utime_.$(OBJEXT) version-etc_.$(OBJEXT) \
xgetcwd_.$(OBJEXT) xgethostname_.$(OBJEXT) xmalloc_.$(OBJEXT) \
xmemcoll_.$(OBJEXT) xreadlink_.$(OBJEXT) xstrdup_.$(OBJEXT) \
xstrtod_.$(OBJEXT) xstrtoimax_.$(OBJEXT) xstrtol_.$(OBJEXT) \
xstrtoul_.$(OBJEXT) xstrtoumax_.$(OBJEXT) yesno_.$(OBJEXT) : \
$(ANSI2KNR)
savedir_.$(OBJEXT) settime_.$(OBJEXT) sha_.$(OBJEXT) sig2str_.$(OBJEXT) \
stat_.$(OBJEXT) stpcpy_.$(OBJEXT) strcasecmp_.$(OBJEXT) \
strcspn_.$(OBJEXT) strdup_.$(OBJEXT) strftime_.$(OBJEXT) \
stripslash_.$(OBJEXT) strncasecmp_.$(OBJEXT) strndup_.$(OBJEXT) \
strnlen_.$(OBJEXT) strpbrk_.$(OBJEXT) strstr_.$(OBJEXT) \
strtod_.$(OBJEXT) strtoimax_.$(OBJEXT) strtol_.$(OBJEXT) \
strtoll_.$(OBJEXT) strtoul_.$(OBJEXT) strtoull_.$(OBJEXT) \
strtoumax_.$(OBJEXT) strverscmp_.$(OBJEXT) tempname_.$(OBJEXT) \
unicodeio_.$(OBJEXT) userspec_.$(OBJEXT) utime_.$(OBJEXT) \
version-etc_.$(OBJEXT) xgetcwd_.$(OBJEXT) xgethostname_.$(OBJEXT) \
xmalloc_.$(OBJEXT) xmemcoll_.$(OBJEXT) xreadlink_.$(OBJEXT) \
xstrdup_.$(OBJEXT) xstrtod_.$(OBJEXT) xstrtoimax_.$(OBJEXT) \
xstrtol_.$(OBJEXT) xstrtoul_.$(OBJEXT) xstrtoumax_.$(OBJEXT) \
yesno_.$(OBJEXT) : $(ANSI2KNR)
.y.c:
$(YACCCOMPILE) `test -f $< || echo '$(srcdir)/'`$<
$(YACCCOMPILE) `test -f '$<' || echo '$(srcdir)/'`$<
sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@
rm -f y.tab.c
if test -f y.tab.h; then \
@@ -867,6 +922,9 @@ uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -892,20 +950,35 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-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)
@for file in $(DISTFILES); do \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -915,8 +988,10 @@ distdir: $(DISTFILES)
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir)$$dir \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@@ -949,13 +1024,13 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)$(MAINTAINERCLEANFILES)" || rm -f $(BUILT_SOURCES) $(MAINTAINERCLEANFILES)
-test -z "getdate.c$(BUILT_SOURCES)$(MAINTAINERCLEANFILES)" || rm -f getdate.c $(BUILT_SOURCES) $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
@@ -991,27 +1066,37 @@ mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic mostlyclean-kr
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am uninstall-local
.PHONY: GTAGS all all-am all-local check check-am clean clean-generic \
clean-noinstLIBRARIES 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 mostlyclean-kr tags uninstall uninstall-am \
.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 \
mostlyclean-kr pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-info-am uninstall-local
lstat.c: xstat.in
sed \
-e '/@IGNORE@/d' \
-e 's/@xstat@/lstat/g' \
-e '/_LSTAT_ONLY@/d' \
-e '/@BEGIN_STAT_ONLY@/,/@END_STAT_ONLY@/d' \
$(srcdir)/xstat.in > $@-t
mv $@-t $@
$(srcdir)/xstat.in > t-$@
mv t-$@ $@
stat.c: xstat.in
sed \
@@ -1019,8 +1104,8 @@ stat.c: xstat.in
-e 's/@xstat@/stat/g' \
-e '/_STAT_ONLY@/d' \
-e '/@BEGIN_LSTAT_ONLY@/,/@END_LSTAT_ONLY@/d' \
$(srcdir)/xstat.in > $@-t
mv $@-t $@
$(srcdir)/xstat.in > t-$@
mv t-$@ $@
# The following is needed in order to install a simple file in $(libdir)
# which is shared with other installed packages. We use a list of referencing
@@ -1060,8 +1145,8 @@ charset.alias: config.charset
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
mv t-$@ $@
.sin.sed:
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t
mv $@-t $@
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
mv t-$@ $@
###############################################

435
lib/c-stack.c Normal file
View File

@@ -0,0 +1,435 @@
/* Stack overflow handling.
Copyright (C) 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
/* NOTES:
A program that uses alloca, dynamic arrays, or large local
variables may extend the stack by more than a page at a time. If
so, when the stack overflows the operating system may not detect
the overflow until the program uses the array, and this module may
incorrectly report a program error instead of a stack overflow.
To avoid this problem, allocate only small objects on the stack; a
program should be OK if it limits single allocations to a page or
less. Allocate larger arrays in static storage, or on the heap
(e.g., with malloc). Yes, this is a pain, but we don't know of any
better solution that is portable.
No attempt has been made to deal with multithreaded applications.
If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, the current implementation
assumes that, if the RLIMIT_STACK limit changes during execution,
then c_stack_action is invoked immediately afterwards. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#ifndef __attribute__
# if __GNUC__ < 3 || __STRICT_ANSI__
# define __attribute__(x)
# endif
#endif
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include <errno.h>
#ifndef ENOTSUP
# define ENOTSUP EINVAL
#endif
#ifndef EOVERFLOW
# define EOVERFLOW EINVAL
#endif
#include <signal.h>
#if ! HAVE_STACK_T && ! defined stack_t
typedef struct sigaltstack stack_t;
#endif
#include <stdlib.h>
#include <string.h>
#if HAVE_SYS_RESOURCE_H
/* Include sys/time.h here, because...
SunOS-4.1.x <sys/resource.h> fails to include <sys/time.h>.
This gives "incomplete type" errors for ru_utime and tu_stime. */
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# endif
# include <sys/resource.h>
#endif
#if HAVE_UCONTEXT_H
# include <ucontext.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#ifndef STDERR_FILENO
# define STDERR_FILENO 2
#endif
#if DEBUG
# include <stdio.h>
#endif
#include "c-stack.h"
#include "exitfail.h"
extern char *program_name;
/* The user-specified action to take when a SEGV-related program error
or stack overflow occurs. */
static void (* volatile segv_action) (int);
/* Translated messages for program errors and stack overflow. Do not
translate them in the signal handler, since gettext is not
async-signal-safe. */
static char const * volatile program_error_message;
static char const * volatile stack_overflow_message;
/* Output an error message, then exit with status EXIT_FAILURE if it
appears to have been a stack overflow, or with a core dump
otherwise. This function is async-signal-safe. */
static void die (int) __attribute__ ((noreturn));
static void
die (int signo)
{
char const *message =
signo ? program_error_message : stack_overflow_message;
segv_action (signo);
write (STDERR_FILENO, program_name, strlen (program_name));
write (STDERR_FILENO, ": ", 2);
write (STDERR_FILENO, message, strlen (message));
write (STDERR_FILENO, "\n", 1);
if (! signo)
_exit (exit_failure);
kill (getpid (), signo);
abort ();
}
#if HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK
/* Direction of the C runtime stack. This function is
async-signal-safe. */
# if STACK_DIRECTION
# define find_stack_direction(ptr) STACK_DIRECTION
# else
static int
find_stack_direction (char const *addr)
{
char dummy;
return ! addr ? find_stack_direction (&dummy) : addr < &dummy ? 1 : -1;
}
# endif
# if HAVE_XSI_STACK_OVERFLOW_HEURISTIC
# define get_stack_location(argv) 0
# else
# if defined RLIMIT_STACK && defined _SC_PAGESIZE
/* Return the minimum machine address deducible from ARGV. This
includes the addresses of all the strings that ARGV points at, as
well as the address of ARGV itself. */
static char const *
min_address_from_argv (char * const *argv)
{
char const *min = (char const *) argv;
char const *p;
while ((p = *argv++))
if (p < min)
min = p;
return min;
}
/* Return the maximum machine address deducible from ARGV. */
static char const *
max_address_from_argv (char * const *argv)
{
char const *max = *argv;
char const *max1;
char const *p;
while ((p = *argv++))
if (max < p)
max = p;
max1 = (char const *) (argv + 1);
return max && max1 < max ? max + strlen (max) + 1 : max1;
}
# endif
/* The base and size of the stack, determined at startup. */
static char const * volatile stack_base;
static size_t volatile stack_size;
/* Store the base and size of the stack into the static variables
STACK_BASE and STACK_SIZE. The base is the numerically lowest
address in the stack. Return -1 (setting errno) if this cannot be
done. */
static int
get_stack_location (char * const *argv)
{
# if ! (defined RLIMIT_STACK && defined _SC_PAGESIZE)
errno = ENOTSUP;
return -1;
# else
struct rlimit rlimit;
int r = getrlimit (RLIMIT_STACK, &rlimit);
if (r == 0)
{
char const *base;
size_t size = rlimit.rlim_cur;
extern char **environ;
size_t page_size = sysconf (_SC_PAGESIZE);
int stack_direction = find_stack_direction (0);
# if HAVE_GETCONTEXT && HAVE_DECL_GETCONTEXT
ucontext_t context;
if (getcontext (&context) == 0)
{
base = context.uc_stack.ss_sp;
if (stack_direction < 0)
base -= size - context.uc_stack.ss_size;
}
else
# endif
{
if (stack_direction < 0)
{
char const *a = max_address_from_argv (argv);
char const *b = max_address_from_argv (environ);
base = (a < b ? b : a) - size;
base += - (size_t) base % page_size;
}
else
{
char const *a = min_address_from_argv (argv);
char const *b = min_address_from_argv (environ);
base = a < b ? a : b;
base -= (size_t) base % page_size;
}
}
if (size != rlimit.rlim_cur
|| rlimit.rlim_cur < 0
|| base + size < base
# ifdef RLIM_SAVED_CUR
|| rlimit.rlim_cur == RLIM_SAVED_CUR
# endif
# ifdef RLIM_SAVED_MAX
|| rlimit.rlim_cur == RLIM_SAVED_MAX
# endif
# ifdef RLIM_INFINITY
|| rlimit.rlim_cur == RLIM_INFINITY
# endif
)
{
errno = EOVERFLOW;
return -1;
}
stack_base = base;
stack_size = size;
# if DEBUG
fprintf (stderr, "get_stack_location base=%p size=%lx\n",
base, (unsigned long) size);
# endif
}
return r;
# endif
}
# endif
/* Storage for the alternate signal stack. */
static union
{
char buffer[SIGSTKSZ];
/* These other members are for proper alignment. There's no
standard way to guarantee stack alignment, but this seems enough
in practice. */
long double ld;
long l;
void *p;
} alternate_signal_stack;
# if defined SA_ONSTACK && defined SA_SIGINFO && defined _SC_PAGESIZE
/* Handle a segmentation violation and exit. This function is
async-signal-safe. */
static void segv_handler (int, siginfo_t *, void *) __attribute__((noreturn));
static void
segv_handler (int signo, siginfo_t *info,
void *context __attribute__ ((unused)))
{
/* Clear SIGNO if it seems to have been a stack overflow. */
if (0 < info->si_code)
{
/* If the faulting address is within the stack, or within one
page of the stack end, assume that it is a stack
overflow. */
# if HAVE_XSI_STACK_OVERFLOW_HEURISTIC
ucontext_t const *user_context = context;
char const *stack_base = user_context->uc_stack.ss_sp;
size_t stack_size = user_context->uc_stack.ss_size;
# endif
char const *faulting_address = info->si_addr;
size_t s = faulting_address - stack_base;
size_t page_size = sysconf (_SC_PAGESIZE);
if (find_stack_direction (0) < 0)
s += page_size;
if (s < stack_size + page_size)
signo = 0;
# if DEBUG
{
char buf[1024];
sprintf (buf,
"segv_handler fault=%p base=%p size=%lx page=%lx signo=%d\n",
faulting_address, stack_base, (unsigned long) stack_size,
(unsigned long) page_size, signo);
write (STDERR_FILENO, buf, strlen (buf));
}
# endif
}
die (signo);
}
# endif
static void
null_action (int signo __attribute__ ((unused)))
{
}
/* Assuming ARGV is the argument vector of `main', set up ACTION so
that it is invoked on C stack overflow. Return -1 (setting errno)
if this cannot be done.
When ACTION is called, it is passed an argument equal to SIGSEGV
for a segmentation violation that does not appear related to stack
overflow, and is passed zero otherwise.
A null ACTION acts like an action that does nothing.
ACTION must be async-signal-safe. ACTION together with its callees
must not require more than SIGSTKSZ bytes of stack space. */
int
c_stack_action (char * const *argv __attribute__ ((unused)),
void (*action) (int))
{
int r = get_stack_location (argv);
if (r != 0)
return r;
{
stack_t st;
st.ss_flags = 0;
st.ss_sp = alternate_signal_stack.buffer;
st.ss_size = sizeof alternate_signal_stack.buffer;
r = sigaltstack (&st, 0);
if (r != 0)
return r;
}
segv_action = action ? action : null_action;
program_error_message = _("program error");
stack_overflow_message = _("stack overflow");
{
# if ! (defined SA_ONSTACK && defined SA_SIGINFO && defined _SC_PAGESIZE)
return signal (SIGSEGV, die) == SIG_ERR ? -1 : 0;
# else
struct sigaction act;
sigemptyset (&act.sa_mask);
/* POSIX 1003.1-2001 says SA_RESETHAND implies SA_NODEFER, but
this is not true on Solaris 8 at least. It doesn't hurt to use
SA_NODEFER here, so leave it in. */
act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO;
act.sa_sigaction = segv_handler;
return sigaction (SIGSEGV, &act, 0);
# endif
}
}
#else /* ! (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK) */
int
c_stack_action (char * const *argv __attribute__ ((unused)),
void (*action) (int) __attribute__ ((unused)))
{
errno = ENOTSUP;
return -1;
}
#endif
#if DEBUG
int volatile exit_failure;
static long
recurse (char *p)
{
char array[500];
array[0] = 1;
return *p + recurse (array);
}
char *program_name;
int
main (int argc __attribute__ ((unused)), char **argv)
{
program_name = argv[0];
fprintf (stderr, "The last line of output should be \"stack overflow\".\n");
if (c_stack_action (argv, 0) == 0)
return recurse ("\1");
perror ("c_stack_action");
return 1;
}
#endif /* DEBUG */
/*
Local Variables:
compile-command: "gcc -DDEBUG -DHAVE_CONFIG_H -I.. -g -O -Wall -W c-stack.c"
End:
*/

19
lib/c-stack.h Normal file
View File

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

View File

@@ -22,6 +22,6 @@
#ifndef HAVE_DECL_DIRFD
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_DIRFD
#if !HAVE_DECL_DIRFD && !defined dirfd
int dirfd (DIR const *);
#endif

31
lib/exitfail.c Normal file
View File

@@ -0,0 +1,31 @@
/* Failure exit status
Copyright (C) 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
int volatile exit_failure = EXIT_FAILURE;

20
lib/exitfail.h Normal file
View File

@@ -0,0 +1,20 @@
/* Failure exit status
Copyright (C) 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
extern int volatile exit_failure;

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

@@ -0,0 +1,72 @@
/* Return a string describing the type of a file.
Copyright (C) 1993, 1994, 2001, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include "file-type.h"
#include <gettext.h>
#define _(text) gettext (text)
char const *
file_type (struct stat const *st)
{
/* See POSIX 1003.1-2001 XCU Table 4-8 lines 17093-17107 for some of
these formats.
To keep diagnostics grammatical in English, the returned string
must start with a consonant. */
if (S_ISREG (st->st_mode))
return st->st_size == 0 ? _("regular empty file") : _("regular file");
if (S_ISDIR (st->st_mode))
return _("directory");
if (S_ISBLK (st->st_mode))
return _("block special file");
if (S_ISCHR (st->st_mode))
return _("character special file");
if (S_ISFIFO (st->st_mode))
return _("fifo");
if (S_ISLNK (st->st_mode))
return _("symbolic link");
if (S_ISSOCK (st->st_mode))
return _("socket");
if (S_TYPEISMQ (st))
return _("message queue");
if (S_TYPEISSEM (st))
return _("semaphore");
if (S_TYPEISSHM (st))
return _("shared memory object");
return _("weird file");
}

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

@@ -0,0 +1,161 @@
/* Return a string describing the type of a file.
Copyright (C) 1993, 1994, 2001, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert and Jim Meyering. */
#ifndef FILE_TYPE_H
# define FILE_TYPE_H 1
# if ! defined S_ISREG && ! defined S_IFREG
you must include <sys/stat.h> before including this file
# endif
char const *file_type (struct stat const *);
# ifndef S_IFMT
# define S_IFMT 0170000
# endif
# if STAT_MACROS_BROKEN
# undef S_ISBLK
# undef S_ISCHR
# undef S_ISDIR
# undef S_ISDOOR
# undef S_ISFIFO
# undef S_ISLNK
# undef S_ISNAM
# undef S_ISMPB
# undef S_ISMPC
# undef S_ISNWK
# undef S_ISREG
# undef S_ISSOCK
# endif
# ifndef S_ISBLK
# ifdef S_IFBLK
# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
# else
# define S_ISBLK(m) 0
# endif
# endif
# ifndef S_ISCHR
# ifdef S_IFCHR
# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
# else
# define S_ISCHR(m) 0
# endif
# endif
# ifndef S_ISDIR
# ifdef S_IFDIR
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
# else
# define S_ISDIR(m) 0
# endif
# endif
# ifndef S_ISDOOR /* Solaris 2.5 and up */
# ifdef S_IFDOOR
# define S_ISDOOR(m) (((m) & S_IFMT) == S_IFDOOR)
# else
# define S_ISDOOR(m) 0
# endif
# endif
# ifndef S_ISFIFO
# ifdef S_IFIFO
# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
# else
# define S_ISFIFO(m) 0
# endif
# endif
# ifndef S_ISLNK
# ifdef S_IFLNK
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
# else
# define S_ISLNK(m) 0
# endif
# endif
# ifndef S_ISMPB /* V7 */
# ifdef S_IFMPB
# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
# else
# define S_ISMPB(m) 0
# define S_ISMPC(m) 0
# endif
# endif
# ifndef S_ISNAM /* Xenix */
# ifdef S_IFNAM
# define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM)
# else
# define S_ISNAM(m) 0
# endif
# endif
# ifndef S_ISNWK /* HP/UX */
# ifdef S_IFNWK
# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
# else
# define S_ISNWK(m) 0
# endif
# endif
# ifndef S_ISREG
# ifdef S_IFREG
# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
# else
# define S_ISREG(m) 0
# endif
# endif
# ifndef S_ISSOCK
# ifdef S_IFSOCK
# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
# else
# define S_ISSOCK(m) 0
# endif
# endif
# ifndef S_TYPEISSEM
# ifdef S_INSEM
# define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM)
# else
# define S_TYPEISSEM(p) 0
# endif
# endif
# ifndef S_TYPEISSHM
# ifdef S_INSHD
# define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD)
# else
# define S_TYPEISSHM(p) 0
# endif
# endif
# ifndef S_TYPEISMQ
# define S_TYPEISMQ(p) 0
# endif
#endif /* FILE_TYPE_H */

View File

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

View File

@@ -1,69 +0,0 @@
/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _FNMATCH_H
#define _FNMATCH_H 1
#ifdef __cplusplus
extern "C" {
#endif
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
#undef __P
#define __P(protos) protos
#else /* Not C++ or ANSI C. */
#undef __P
#define __P(protos) ()
/* We can get away without defining `const' here only because in this file
it is used only inside the prototype for `fnmatch', which is elided in
non-ANSI C where `const' is problematical. */
#endif /* C++ or ANSI C. */
/* We #undef these before defining them because some losing systems
(HP-UX A.08.07 for example) define these in <unistd.h>. */
#undef FNM_PATHNAME
#undef FNM_NOESCAPE
#undef FNM_PERIOD
/* Bits set in the FLAGS argument to `fnmatch'. */
#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
#define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
#define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
#define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
#endif
/* Value returned by `fnmatch' if STRING does not match PATTERN. */
#define FNM_NOMATCH 1
/* Match STRING against the filename pattern PATTERN,
returning zero if it matches, FNM_NOMATCH if not. */
extern int fnmatch __P ((const char *__pattern, const char *__string,
int __flags));
#ifdef __cplusplus
}
#endif
#endif /* fnmatch.h */

80
lib/fnmatch_.h Normal file
View File

@@ -0,0 +1,80 @@
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _FNMATCH_H
# define _FNMATCH_H 1
# ifdef __cplusplus
extern "C" {
# endif
# if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
# if !defined __GLIBC__ || !defined __P
# undef __P
# define __P(protos) protos
# endif
# else /* Not C++ or ANSI C. */
# undef __P
# define __P(protos) ()
/* We can get away without defining `const' here only because in this file
it is used only inside the prototype for `fnmatch', which is elided in
non-ANSI C where `const' is problematical. */
# endif /* C++ or ANSI C. */
# ifndef __const
# define __const const
# endif
/* We #undef these before defining them because some losing systems
(HP-UX A.08.07 for example) define these in <unistd.h>. */
# undef FNM_PATHNAME
# undef FNM_NOESCAPE
# undef FNM_PERIOD
/* Bits set in the FLAGS argument to `fnmatch'. */
# define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
# define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
# define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
# if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
# define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */
# endif
/* Value returned by `fnmatch' if STRING does not match PATTERN. */
# define FNM_NOMATCH 1
/* This value is returned if the implementation does not support
`fnmatch'. Since this is not the case here it will never be
returned but the conformance test suites still require the symbol
to be defined. */
# ifdef _XOPEN_SOURCE
# define FNM_NOSYS (-1)
# endif
/* Match NAME against the filename pattern PATTERN,
returning zero if it matches, FNM_NOMATCH if not. */
extern int fnmatch __P ((__const char *__pattern, __const char *__name,
int __flags));
# ifdef __cplusplus
}
# endif
#endif /* fnmatch.h */

1189
lib/fnmatch_loop.c Normal file

File diff suppressed because it is too large Load Diff

69
lib/gettext.h Normal file
View File

@@ -0,0 +1,69 @@
/* Convenience header for conditional use of GNU <libintl.h>.
Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _LIBGETTEXT_H
# define _LIBGETTEXT_H 1
/* NLS can be disabled through the configure --disable-nls option. */
# if ENABLE_NLS
/* Get declarations of GNU message catalog functions. */
# include <libintl.h>
# else
/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
chokes if dcgettext is defined as a macro. So include it now, to make
later inclusions of <locale.h> a NOP. We don't include <libintl.h>
as well because people using "gettext.h" will not include <libintl.h>,
and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
is OK. */
# if defined(__sun)
# include <locale.h>
# endif
/* Disabled NLS.
The casts to 'const char *' serve the purpose of producing warnings
for invalid uses of the value returned from these functions.
On pre-ANSI systems without 'const', the config.h file is supposed to
contain "#define const". */
# define gettext(Msgid) ((const char *) (Msgid))
# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
# define ngettext(Msgid1, Msgid2, N) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
# define dngettext(Domainname, Msgid1, Msgid2, N) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
# define textdomain(Domainname) ((const char *) (Domainname))
# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
# endif
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
translation is done at a different place in the code.
The argument, String, should be a literal string. Concatenated strings
and other string expressions won't work.
The macro's expansion is not parenthesized, so that it is suitable as
initializer for static 'char[]' or 'const char[]' variables. */
# define gettext_noop(String) String
#endif /* _LIBGETTEXT_H */

View File

@@ -1,7 +1,7 @@
/* Work around the bug in some systems whereby gettimeofday clobbers the
static buffer that localtime uses for it's return value. The gettimeofday
function from Mac OS X 10.0.4, i.e. Darwin 1.3.7 has this problem.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,9 +21,10 @@
#include <config.h>
/* Disable the definition of gettimeofday (from config.h) so we can use
the library version. */
/* Disable the definitions of gettimeofday and localtime (from config.h)
so we can use the library versions here. */
#undef gettimeofday
#undef localtime
#include <sys/types.h>
@@ -42,6 +43,23 @@
static struct tm *localtime_buffer_addr;
/* This is a wrapper for localtime. It is used only on systems for which
gettimeofday clobbers the static buffer used for localtime's result.
On the first call, record the address of the static buffer that
localtime uses for its result. */
struct tm *
rpl_localtime (const time_t *timep)
{
struct tm *tm = localtime (timep);
if (! localtime_buffer_addr)
localtime_buffer_addr = tm;
return tm;
}
/* This is a wrapper for gettimeofday. It is used only on systems for which
gettimeofday clobbers the static buffer used for localtime's result.

View File

@@ -1,5 +1,6 @@
/* hard-locale.c -- Determine whether a locale is hard.
Copyright 1997, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1997, 1998, 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 General Public License as published by
@@ -19,41 +20,26 @@
# include <config.h>
#endif
#if __GNUC__
# define alloca __builtin_alloca
#else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef _AIX
# pragma alloca
# else
# ifdef _WIN32
# include <malloc.h>
# include <io.h>
# else
# ifndef alloca
char *alloca ();
# endif
# endif
# endif
# endif
#endif
#if HAVE_LOCALE_H
# include <locale.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if HAVE_STRING_H
# include <string.h>
#endif
#include "hard-locale.h"
/* Return nonzero if the current CATEGORY locale is hard, i.e. if you
can't get away with assuming traditional C or POSIX behavior. */
int
hard_locale (int category)
{
#if ! (defined ENABLE_NLS && HAVE_SETLOCALE)
#if ! HAVE_SETLOCALE
return 0;
#else
@@ -62,22 +48,28 @@ hard_locale (int category)
if (p)
{
# if defined __GLIBC__ && __GLIBC__ >= 2
# if defined __GLIBC__ && 2 <= __GLIBC__
if (strcmp (p, "C") == 0 || strcmp (p, "POSIX") == 0)
hard = 0;
# else
char *locale = alloca (strlen (p) + 1);
strcpy (locale, p);
char *locale = malloc (strlen (p) + 1);
if (locale)
{
strcpy (locale, p);
/* Temporarily set the locale to the "C" and "POSIX" locales to
find their names, so that we can determine whether one or the
other is the caller's locale. */
if (((p = setlocale (category, "C")) && strcmp (p, locale) == 0)
|| ((p = setlocale (category, "POSIX")) && strcmp (p, locale) == 0))
hard = 0;
/* Temporarily set the locale to the "C" and "POSIX" locales
to find their names, so that we can determine whether one
or the other is the caller's locale. */
if (((p = setlocale (category, "C"))
&& strcmp (p, locale) == 0)
|| ((p = setlocale (category, "POSIX"))
&& strcmp (p, locale) == 0))
hard = 0;
/* Restore the caller's locale. */
setlocale (category, locale);
/* Restore the caller's locale. */
setlocale (category, locale);
free (locale);
}
# endif
}

View File

@@ -1,5 +1,5 @@
/* Provide a stub lchown function for systems that lack it.
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1998, 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 General Public License as published by
@@ -30,8 +30,13 @@ extern int errno;
#ifdef STAT_MACROS_BROKEN
# undef S_ISLNK
#endif
#if !defined(S_ISLNK) && defined(S_IFLNK)
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
#ifndef S_ISLNK
# ifdef S_IFLNK
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
# else
# define S_ISLNK(m) 0
# endif
#endif
/* Declare chown to avoid a warning. Don't include unistd.h,

View File

@@ -1,5 +1,5 @@
/* mountlist.c -- return a list of mounted filesystems
Copyright (C) 1991, 1992, 1997-2001 Free Software Foundation, Inc.
Copyright (C) 1991, 1992, 1997-2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -136,6 +136,7 @@ extern int errno;
# include <sys/mntent.h>
#endif
#undef MNT_IGNORE
#if defined MNTOPT_IGNORE && defined HAVE_HASMNTOPT
# define MNT_IGNORE(M) hasmntopt ((M), MNTOPT_IGNORE)
#else

View File

@@ -1,5 +1,5 @@
/* mountlist.h -- declarations for list of mounted filesystems
Copyright (C) 1991, 1992, 1998, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1991, 1992, 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 General Public License as published by
@@ -39,8 +39,7 @@ struct mount_entry *read_filesystem_list PARAMS ((int need_fs_type));
#ifndef ME_DUMMY
# define ME_DUMMY(Fs_name, Fs_type) \
(!strcmp (Fs_type, "auto") \
|| !strcmp (Fs_type, "autofs") \
(!strcmp (Fs_type, "autofs") \
/* for Irix 6.5 */ \
|| !strcmp (Fs_type, "ignore"))
#endif

View File

@@ -1,5 +1,5 @@
/* Declarations for GNU's read utmp module.
Copyright (C) 1992-2001 Free Software Foundation, Inc.
Copyright (C) 1992-2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -69,9 +69,6 @@
# undef UT_USER
# define UT_USER(Utmp) ((Utmp)->ut_name)
# endif
# if defined HAVE_STRUCT_UTMPX_UT_TYPE
# define UT_TYPE(Utmp) ((Utmp)->ut_type)
# endif
# else
@@ -82,12 +79,25 @@
# undef UT_USER
# define UT_USER(Utmp) Utmp->ut_name
# endif
# if defined HAVE_STRUCT_UTMP_UT_TYPE
# define UT_TYPE(Utmp) ((Utmp)->ut_type)
# endif
# endif
# define HAVE_STRUCT_XTMP_UT_EXIT \
(HAVE_STRUCT_UTMP_UT_EXIT \
|| HAVE_STRUCT_UTMPX_UT_EXIT)
# define HAVE_STRUCT_XTMP_UT_ID \
(HAVE_STRUCT_UTMP_UT_ID \
|| HAVE_STRUCT_UTMPX_UT_ID)
# define HAVE_STRUCT_XTMP_UT_PID \
(HAVE_STRUCT_UTMP_UT_PID \
|| HAVE_STRUCT_UTMPX_UT_PID)
# define HAVE_STRUCT_XTMP_UT_TYPE \
(HAVE_STRUCT_UTMP_UT_TYPE \
|| HAVE_STRUCT_UTMPX_UT_TYPE)
typedef struct UTMP_STRUCT_NAME STRUCT_UTMP;
# include <time.h>

346
lib/sig2str.c Normal file
View File

@@ -0,0 +1,346 @@
/* sig2str.c -- convert between signal names and numbers
Copyright (C) 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <limits.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "sig2str.h"
#ifndef SIGRTMIN
# define SIGRTMIN 0
# undef SIGRTMAX
#endif
#ifndef SIGRTMAX
# define SIGRTMAX (SIGRTMIN - 1)
#endif
#define NUMNAME(name) { SIG##name, #name }
/* Signal names and numbers. Put the preferred name first. */
static struct numname { int num; char const name[8]; } numname_table[] =
{
/* Signals required by POSIX 1003.1-2001 base, listed in
traditional numeric order. */
#ifdef SIGHUP
NUMNAME (HUP),
#endif
#ifdef SIGINT
NUMNAME (INT),
#endif
#ifdef SIGQUIT
NUMNAME (QUIT),
#endif
#ifdef SIGILL
NUMNAME (ILL),
#endif
#ifdef SIGTRAP
NUMNAME (TRAP),
#endif
#ifdef SIGABRT
NUMNAME (ABRT),
#endif
#ifdef SIGFPE
NUMNAME (FPE),
#endif
#ifdef SIGKILL
NUMNAME (KILL),
#endif
#ifdef SIGBUS
NUMNAME (BUS),
#endif
#ifdef SIGSEGV
NUMNAME (SEGV),
#endif
#ifdef SIGPIPE
NUMNAME (PIPE),
#endif
#ifdef SIGALRM
NUMNAME (ALRM),
#endif
#ifdef SIGTERM
NUMNAME (TERM),
#endif
#ifdef SIGUSR1
NUMNAME (USR1),
#endif
#ifdef SIGUSR2
NUMNAME (USR2),
#endif
#ifdef SIGCHLD
NUMNAME (CHLD),
#endif
#ifdef SIGURG
NUMNAME (URG),
#endif
#ifdef SIGSTOP
NUMNAME (STOP),
#endif
#ifdef SIGTSTP
NUMNAME (TSTP),
#endif
#ifdef SIGCONT
NUMNAME (CONT),
#endif
#ifdef SIGTTIN
NUMNAME (TTIN),
#endif
#ifdef SIGTTOU
NUMNAME (TTOU),
#endif
/* Signals required by POSIX 1003.1-2001 with the XSI extension. */
#ifdef SIGSYS
NUMNAME (SYS),
#endif
#ifdef SIGPOLL
NUMNAME (POLL),
#endif
#ifdef SIGVTALRM
NUMNAME (VTALRM),
#endif
#ifdef SIGPROF
NUMNAME (PROF),
#endif
#ifdef SIGXCPU
NUMNAME (XCPU),
#endif
#ifdef SIGXFSZ
NUMNAME (XFSZ),
#endif
/* Unix Version 7. */
#ifdef SIGIOT
NUMNAME (IOT), /* Older name for ABRT. */
#endif
#ifdef SIGEMT
NUMNAME (EMT),
#endif
/* USG Unix. */
#ifdef SIGPHONE
NUMNAME (PHONE),
#endif
#ifdef SIGWIND
NUMNAME (WIND),
#endif
/* Unix System V. */
#ifdef SIGCLD
NUMNAME (CLD),
#endif
#ifdef SIGPWR
NUMNAME (PWR),
#endif
/* GNU/Linux 2.2 and Solaris 8. */
#ifdef SIGCANCEL
NUMNAME (CANCEL),
#endif
#ifdef SIGLWP
NUMNAME (LWP),
#endif
#ifdef SIGWAITING
NUMNAME (WAITING),
#endif
#ifdef SIGFREEZE
NUMNAME (FREEZE),
#endif
#ifdef SIGTHAW
NUMNAME (THAW),
#endif
#ifdef SIGLOST
NUMNAME (LOST),
#endif
#ifdef SIGWINCH
NUMNAME (WINCH),
#endif
/* GNU/Linux 2.2. */
#ifdef SIGINFO
NUMNAME (INFO),
#endif
#ifdef SIGIO
NUMNAME (IO),
#endif
#ifdef SIGSTKFLT
NUMNAME (STKFLT),
#endif
/* AIX 5L. */
#ifdef SIGDANGER
NUMNAME (DANGER),
#endif
#ifdef SIGGRANT
NUMNAME (GRANT),
#endif
#ifdef SIGMIGRATE
NUMNAME (MIGRATE),
#endif
#ifdef SIGMSG
NUMNAME (MSG),
#endif
#ifdef SIGPRE
NUMNAME (PRE),
#endif
#ifdef SIGRETRACT
NUMNAME (RETRACT),
#endif
#ifdef SIGSAK
NUMNAME (SAK),
#endif
#ifdef SIGSOUND
NUMNAME (SOUND),
#endif
/* Older AIX versions. */
#ifdef SIGALRM1
NUMNAME (ALRM1), /* unknown; taken from Bash 2.05 */
#endif
#ifdef SIGKAP
NUMNAME (KAP), /* Older name for SIGGRANT. */
#endif
#ifdef SIGVIRT
NUMNAME (VIRT), /* unknown; taken from Bash 2.05 */
#endif
#ifdef SIGWINDOW
NUMNAME (WINDOW), /* Older name for SIGWINCH. */
#endif
/* BeOS */
#ifdef SIGKILLTHR
NUMNAME (KILLTHR),
#endif
/* Older HP-UX versions. */
#ifdef SIGDIL
NUMNAME (DIL),
#endif
/* Korn shell and Bash, of uncertain vintage. */
{ 0, "EXIT" }
};
#define NUMNAME_ENTRIES (sizeof numname_table / sizeof numname_table[0])
/* ISDIGIT differs from isdigit, as follows:
- Its arg may be any int or unsigned int; it need not be an unsigned char.
- It's guaranteed to evaluate its argument exactly once.
- It's typically faster.
POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
ISDIGIT_LOCALE unless it's important to use the locale's definition
of `digit' even when the host does not conform to POSIX. */
#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
/* Convert the signal name SIGNAME to a signal number. Return the
signal number if successful, -1 otherwise. */
static int
str2signum (char const *signame)
{
if (ISDIGIT (*signame))
{
char *endp;
long int n = strtol (signame, &endp, 10);
if (! *endp && n <= SIGNUM_BOUND)
return n;
}
else
{
int i;
for (i = 0; i < NUMNAME_ENTRIES; i++)
if (strcmp (numname_table[i].name, signame) == 0)
return numname_table[i].num;
{
char *endp;
int rtmin = SIGRTMIN;
int rtmax = SIGRTMAX;
if (0 < rtmin && strncmp (signame, "RTMIN", 5) == 0)
{
long int n = strtol (signame + 5, &endp, 10);
if (! *endp && 0 <= n && n <= rtmax - rtmin)
return rtmin + n;
}
else if (0 < rtmax && strncmp (signame, "RTMAX", 5) == 0)
{
long int n = strtol (signame + 5, &endp, 10);
if (! *endp && rtmin - rtmax <= n && n <= 0)
return rtmax + n;
}
}
}
return -1;
}
/* Convert the signal name SIGNAME to the signal number *SIGNUM.
Return 0 if successful, -1 otherwise. */
int
str2sig (char const *signame, int *signum)
{
*signum = str2signum (signame);
return *signum < 0 ? -1 : 0;
}
/* Convert SIGNUM to a signal name in SIGNAME. SIGNAME must point to
a buffer of at least SIG2STR_MAX bytes. Return 0 if successful, -1
otherwise. */
int
sig2str (int signum, char *signame)
{
int i;
for (i = 0; i < NUMNAME_ENTRIES; i++)
if (numname_table[i].num == signum)
{
strcpy (signame, numname_table[i].name);
return 0;
}
{
int rtmin = SIGRTMIN;
int rtmax = SIGRTMAX;
if (! (rtmin <= signum && signum <= rtmax))
return -1;
if (signum <= rtmin + (rtmax - rtmin) / 2)
{
int delta = signum - rtmin;
sprintf (signame, delta ? "RTMIN+%d" : "RTMIN", delta);
}
else
{
int delta = rtmax - signum;
sprintf (signame, delta ? "RTMAX-%d" : "RTMAX", delta);
}
return 0;
}
}

47
lib/sig2str.h Normal file
View File

@@ -0,0 +1,47 @@
/* sig2str.h -- convert between signal names and numbers
Copyright (C) 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
/* Include <signal.h> before including this file. */
/* Don't override system declarations of SIG2STR_MAX, sig2str, str2sig. */
#ifndef SIG2STR_MAX
/* Upper bound on the string length of an integer converted to string.
302 / 1000 is ceil (log10 (2.0)). Subtract 1 for the sign bit;
add 1 for integer division truncation; add 1 more for a minus sign. */
# define INT_STRLEN_BOUND(t) ((sizeof (t) * CHAR_BIT - 1) * 302 / 1000 + 2)
/* Size of a buffer needed to hold a signal name like "HUP". */
# define SIG2STR_MAX (sizeof "SIGRTMAX" + INT_STRLEN_BOUND (int) - 1)
int sig2str (int, char *);
int str2sig (char const *, int *);
#endif
/* An upper bound on signal numbers allowed by the system. */
#if defined _sys_nsig
# define SIGNUM_BOUND (_sys_nsig - 1)
#elif defined NSIG
# define SIGNUM_BOUND (NSIG - 1)
#else
# define SIGNUM_BOUND 64
#endif

View File

@@ -1,5 +1,5 @@
/* xmalloc.c -- malloc with out of memory checking
Copyright (C) 1990-1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1990-1999, 2000, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -46,12 +46,12 @@ void free ();
# define EXIT_FAILURE 1
#endif
#ifndef HAVE_DONE_WORKING_MALLOC_CHECK
"you must run the autoconf test for a properly working malloc -- see malloc.m4"
#ifndef HAVE_MALLOC
"you must run the autoconf test for a properly working malloc"
#endif
#ifndef HAVE_DONE_WORKING_REALLOC_CHECK
"you must run the autoconf test for a properly working realloc --see realloc.m4"
#ifndef HAVE_REALLOC
"you must run the autoconf test for a properly working realloc"
#endif
/* Exit value when the requested amount of memory is not available.

View File

@@ -4,7 +4,7 @@
/* Work around the bug in some systems whereby @xstat@ succeeds when
given the zero-length file name argument. The @xstat@ from SunOS4.1.4
has this bug.
Copyright (C) 1997-2001 Free Software Foundation, Inc.
Copyright (C) 1997-2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,6 +31,7 @@
extern int errno;
#endif
@BEGIN_LSTAT_ONLY@
#include <string.h>
#if HAVE_STDLIB_H
# include <stdlib.h>
@@ -39,8 +40,13 @@ extern int errno;
#ifdef STAT_MACROS_BROKEN
# undef S_ISLNK
#endif
#if !defined(S_ISLNK) && defined(S_IFLNK)
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
#ifndef S_ISLNK
# ifdef S_IFLNK
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
# else
# define S_ISLNK(m) 0
# endif
#endif
#ifndef HAVE_DECL_FREE

View File

@@ -1,3 +1,171 @@
2002-07-23 Jim Meyering <meyering@lucent.com>
* c-bs-a.m4 (AC_C_BACKSLASH_A): Remove file, now that autoconf
provides this macro.
2002-07-20 Jim Meyering <meyering@lucent.com>
* intdiv0.m4: New file. From gettex-0.11.3.
* jm-macros.m4: Require autoconf-2.53b.
Use new macros AC_FUNC_MALLOC and AC_FUNC_REALLOC,
in place of jm_-prefixed ones. Thanks, Akim!
* malloc.m4: Remove file, now that autoconf provides this macro.
* realloc.m4: Likewise.
2002-07-18 gettextize <bug-gnu-gettext@gnu.org>
* gettext.m4: Upgrade to gettext-0.11.3.
* iconv.m4: Upgrade to gettext-0.11.3.
* isc-posix.m4: Upgrade to gettext-0.11.3.
* lcmessage.m4: Upgrade to gettext-0.11.3.
* lib-link.m4: Upgrade to gettext-0.11.3.
2002-07-17 Jim Meyering <meyering@lucent.com>
* boottime.m4: New file. Extracted from sh-utils' configure.ac
and extended to work also with *BSD systems.
2002-07-15 Jim Meyering <meyering@lucent.com>
FreeBSD support for uname and uptime.
* jm-macros.m4 (jm_MACROS): Check for the sysctl function.
(jm_CHECK_ALL_HEADERS): Check for sys/sysctl.h.
Suggestion from Bruno Haible.
2002-06-11 Paul Eggert <eggert@twinsun.com>
* fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
2002-06-22 Jim Meyering <meyering@lucent.com>
* c-stack.m4: New file, from diffutils-2.8.2.
* prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
* jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
now that configure.ac uses AC_GNU_SOURCE.
(jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
* prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
Update to latest tools. Suggestions from Paul Eggert.
* stdbool.m4: New file, from diffutils-2.8.2.
* gnu-source.m4: Update from diffutils-2.8.2.
* fnmatch.m4: Likewise.
* prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
to AC_HEADER_STDBOOL
2002-06-21 Jim Meyering <meyering@lucent.com>
* c-bs-a.m4: Add comment, from diffutils-2.8.2.
* mbrtowc.m4: Likewise.
* mbstate_t.m4: Update from diffutils-2.8.2.
* mbswidth.m4: Reflect name change:
s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
* prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
* lib-link.m4: Update from gettext-0.11.2.
* gettext.m4: Likewise.
* jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
From Alfred M. Szmidt.
2002-05-19 Paul Eggert <eggert@twinsun.com>
* jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
2002-06-07 Jim Meyering <meyering@lucent.com>
* prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
They're needed at least for NetBSD 1.5.2.
($statxfs_includes): Include those same headers.
($statxfs_includes): Include sys/vfs.h if available.
($statxfs_includes): Likewise for sys/statvfs.h.
Check for the following members in both structs statfs and statvfs:
f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
2002-06-01 Jim Meyering <meyering@lucent.com>
* d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
2002-05-28 Jim Meyering <meyering@lucent.com>
* readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
Reported by Volker Borchert.
2002-05-27 Jim Meyering <meyering@lucent.com>
* gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
localtime.
* readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
use the replacement function; it wouldn't resolve at link time.
Reported by Volker Borchert.
2002-04-30 Jim Meyering <meyering@lucent.com>
* prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
2002-04-29 Paul Eggert <eggert@twinsun.com>
* prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
Do not check for alloca.h (no longer used) or stdbool.h (was never
used?). Add AM_C_PROTOTYPES since hard-locale.h uses it.
2002-04-28 Paul Eggert <eggert@twinsun.com>
* prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
2002-04-29 Jim Meyering <meyering@lucent.com>
* jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
* prereq.m4: Add jm_PREREQ_STRNLEN.
Use AC_FUNC_STRNLEN here instead.
* jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
With autoconf-2.53a, it's part of AC_PROG_CC.
2002-04-28 Paul Eggert <eggert@twinsun.com>
* jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
* prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
2002-04-24 Jim Meyering <meyering@lucent.com>
* prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
(jm_PREREQ): Use it.
* getloadavg.m4: Check for these headers: locale.h unistd.h
mach/mach.h fcntl.h.
Check for this function: setlocale.
2002-04-16 Jim Meyering <meyering@lucent.com>
* prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
ut_pid, ut_id, ut_exit.
2002-04-12 Jim Meyering <meyering@lucent.com>
* ls-mntd-fs.m4 (checking for getmntinfo function...): Remove now-bogus
check for f_type in sys/mount.h. Instead, just test for the existence
of the getmntinfo function. Needed for Darwin 5.3.
* dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
This is necessary at least on Darwin 5.3.
* jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
AC_FUNC_STRNLEN. Otherwise, we'd end up putting two copies of strnlen.o
in the library, and that makes some versions of ranlib object.
2002-04-09 Jim Meyering <meyering@lucent.com>
* malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
to be more precise. Rather than saying we're checking whether the
function `works', say what we're testing.
* realloc.m4 (jm_FUNC_REALLOC): Likewise.
Reported by Bruno Haible.
2002-02-27 Paul Eggert <eggert@twinsun.com>
* jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.

View File

@@ -7,7 +7,8 @@ acl.m4 \
afs.m4 \
assert.m4 \
bison.m4 \
c-bs-a.m4 \
boottime.m4 \
c-stack.m4 \
check-decl.m4 \
chown.m4 \
codeset.m4 \
@@ -33,6 +34,7 @@ gnu-source.m4 \
group-member.m4 \
host-os.m4 \
iconv.m4 \
intdiv0.m4 \
inttypes.m4 \
isc-posix.m4 \
jm-glibc-io.m4 \
@@ -50,7 +52,6 @@ link-follow.m4 \
longlong.m4 \
ls-mntd-fs.m4 \
lstat.m4 \
malloc.m4 \
mbrtowc.m4 \
mbstate_t.m4 \
mbswidth.m4 \
@@ -63,7 +64,6 @@ prereq.m4 \
progtest.m4 \
putenv.m4 \
readdir.m4 \
realloc.m4 \
regex.m4 \
rename.m4 \
rmdir-errno.m4 \
@@ -71,6 +71,7 @@ search-libs.m4 \
st_dm_mode.m4 \
st_mtim.m4 \
stat.m4 \
stdbool.m4 \
strerror_r.m4 \
strftime.m4 \
timespec.m4 \

View File

@@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.6 from Makefile.am.
# Makefile.in generated by automake 1.6a from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
@@ -13,110 +13,137 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
CPPFLAGS = @CPPFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
GENCAT = @GENCAT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
HAVE_LIB = @HAVE_LIB@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
KMEM_GROUP = @KMEM_GROUP@
LIB = @LIB@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LTLIB = @LTLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STRIP = @STRIP@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = \
README jm-glibc-io.m4 jm-glibc-io.m4n Makefile.am.in \
@@ -124,7 +151,8 @@ acl.m4 \
afs.m4 \
assert.m4 \
bison.m4 \
c-bs-a.m4 \
boottime.m4 \
c-stack.m4 \
check-decl.m4 \
chown.m4 \
codeset.m4 \
@@ -150,6 +178,7 @@ gnu-source.m4 \
group-member.m4 \
host-os.m4 \
iconv.m4 \
intdiv0.m4 \
inttypes.m4 \
isc-posix.m4 \
jm-glibc-io.m4 \
@@ -167,7 +196,6 @@ link-follow.m4 \
longlong.m4 \
ls-mntd-fs.m4 \
lstat.m4 \
malloc.m4 \
mbrtowc.m4 \
mbstate_t.m4 \
mbswidth.m4 \
@@ -180,7 +208,6 @@ prereq.m4 \
progtest.m4 \
putenv.m4 \
readdir.m4 \
realloc.m4 \
regex.m4 \
rename.m4 \
rmdir-errno.m4 \
@@ -188,6 +215,7 @@ search-libs.m4 \
st_dm_mode.m4 \
st_mtim.m4 \
stat.m4 \
stdbool.m4 \
strerror_r.m4 \
strftime.m4 \
timespec.m4 \
@@ -217,13 +245,16 @@ uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -233,8 +264,10 @@ distdir: $(DISTFILES)
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir)$$dir \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@@ -266,7 +299,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -305,6 +338,14 @@ mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic distclean \
@@ -313,7 +354,8 @@ uninstall-am: uninstall-info-am
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic uninstall uninstall-am uninstall-info-am
mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
Makefile.am: Makefile.am.in

37
m4/boottime.m4 Normal file
View File

@@ -0,0 +1,37 @@
# Determine whether this system has infrastructure for obtaining the boot time.
# GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
* ----------------------------------------------------------
AC_DEFUN([GNULIB_BOOT_TIME],
[
AC_CHECK_FUNCS(sysctl)
AC_CHECK_HEADERS(sys/sysctl.h)
AC_CACHE_CHECK(
[whether we can get the system boot time],
[gnulib_cv_have_boot_time],
[
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[AC_INCLUDES_DEFAULT
#if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
# include <sys/param.h> /* needed for OpenBSD 3.0 */
# include <sys/sysctl.h>
#endif
#ifdef HAVE_UTMPX_H
# include <utmpx.h>
#else
# include <utmp.h>
#endif
],
[[
#if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME)
/* your system *does* have the infrastructure to determine boot time */
#else
please_tell_us_how_to_determine_boot_time_on_your_system
#endif
]])],
gnulib_cv_have_boot_time=yes,
gnulib_cv_have_boot_time=no)
])
AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])
])

View File

@@ -1,23 +0,0 @@
#serial 4
dnl From Paul Eggert.
AC_DEFUN([AC_C_BACKSLASH_A],
[
AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
[AC_TRY_COMPILE([],
[
#if '\a' == 'a'
syntax error;
#endif
char buf['\a' == 'a' ? -1 : 1];
buf[0] = '\a';
return buf[0] != "\a"[0];
],
ac_cv_c_backslash_a=yes,
ac_cv_c_backslash_a=no)])
if test $ac_cv_c_backslash_a = yes; then
AC_DEFINE(HAVE_C_BACKSLASH_A, 1,
[Define if backslash-a works in C strings.])
fi
])

136
m4/c-stack.m4 Normal file
View File

@@ -0,0 +1,136 @@
# Check prerequisites for compiling lib/c-stack.c.
# Copyright (C) 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# Written by Paul Eggert.
AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC],
[# for STACK_DIRECTION
AC_REQUIRE([AC_FUNC_ALLOCA])
AC_CACHE_CHECK([for working C stack overflow detection],
ac_cv_sys_xsi_stack_overflow_heuristic,
[AC_TRY_RUN(
[
#include <signal.h>
#include <ucontext.h>
static union
{
char buffer[SIGSTKSZ];
long double ld;
long u;
void *p;
} alternate_signal_stack;
#if STACK_DIRECTION
# define find_stack_direction(ptr) STACK_DIRECTION
#else
static int
find_stack_direction (char const *addr)
{
char dummy;
return (! addr ? find_stack_direction (&dummy)
: addr < &dummy ? 1 : -1);
}
#endif
static void
segv_handler (int signo, siginfo_t *info, void *context)
{
if (0 < info->si_code)
{
ucontext_t const *user_context = context;
char const *stack_min = user_context->uc_stack.ss_sp;
size_t stack_size = user_context->uc_stack.ss_size;
char const *faulting_address = info->si_addr;
size_t s = faulting_address - stack_min;
size_t page_size = sysconf (_SC_PAGESIZE);
if (find_stack_direction (0) < 0)
s += page_size;
if (s < stack_size + page_size)
_exit (0);
}
_exit (1);
}
static int
c_stack_action (void)
{
stack_t st;
struct sigaction act;
int r;
st.ss_flags = 0;
st.ss_sp = alternate_signal_stack.buffer;
st.ss_size = sizeof alternate_signal_stack.buffer;
r = sigaltstack (&st, 0);
if (r != 0)
return r;
sigemptyset (&act.sa_mask);
act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO;
act.sa_sigaction = segv_handler;
return sigaction (SIGSEGV, &act, 0);
}
static int
recurse (char *p)
{
char array[500];
array[0] = 1;
return *p + recurse (array);
}
int
main (void)
{
c_stack_action ();
return recurse ("\1");
}
],
[ac_cv_sys_xsi_stack_overflow_heuristic=yes],
[ac_cv_sys_xsi_stack_overflow_heuristic=no],
[ac_cv_sys_xsi_stack_overflow_heuristic=cross-compiling])])
if test $ac_cv_sys_xsi_stack_overflow_heuristic = yes; then
AC_DEFINE(HAVE_XSI_STACK_OVERFLOW_HEURISTIC, 1,
[Define to 1 if extending the stack slightly past the limit causes
a SIGSEGV, and an alternate stack can be established with sigaltstack,
and the signal handler is passed a context that specifies the
run time stack. This behavior is defined by POSIX 1003.1-2001
with the X/Open System Interface (XSI) option
and is a standardized way to implement a SEGV-based stack
overflow detection heuristic.])
fi])
AC_DEFUN([jm_PREREQ_C_STACK],
[AC_REQUIRE([AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC])
# for STACK_DIRECTION
AC_REQUIRE([AC_FUNC_ALLOCA])
AC_CHECK_FUNCS(getcontext sigaltstack)
AC_CHECK_DECLS([getcontext], , , [#include <ucontext.h>])
AC_CHECK_DECLS([sigaltstack], , , [#include <signal.h>])
AC_CHECK_HEADERS(sys/resource.h ucontext.h unistd.h)
AC_CHECK_TYPES([stack_t], , , [#include <signal.h>])])

View File

@@ -1,4 +1,4 @@
#serial 4
#serial 5
dnl From Jim Meyering.
dnl
@@ -34,7 +34,7 @@ AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
]
)
if test $jm_cv_struct_dirent_d_type = yes; then
AC_DEFINE(D_TYPE_IN_DIRENT, 1,
AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1,
[Define if there is a member named d_type in the struct describing
directory headers.])
fi

View File

@@ -1,4 +1,4 @@
#serial 1
#serial 2
dnl Find out how to get the file descriptor associated with an open DIR*.
dnl From Jim Meyering
@@ -25,9 +25,19 @@ AC_DEFUN([UTILS_FUNC_DIRFD],
AC_CHECK_FUNCS(dirfd)
AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
# Use the replacement only if we have neither the function
# nor a declaration.
if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd = no,no; then
AC_CACHE_CHECK([whether dirfd is a macro],
jm_cv_func_dirfd_macro,
AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers
#ifdef dirfd
dirent_header_defines_dirfd
#endif],
jm_cv_func_dirfd_macro=yes,
jm_cv_func_dirfd_macro=no))
# Use the replacement only if we have no function, macro,
# or declaration with that name.
if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$jm_cv_func_dirfd_macro \
= no,no,no; then
AC_REPLACE_FUNCS([dirfd])
AC_CACHE_CHECK(
[how to get the file descriptor associated with an open DIR*],

View File

@@ -1,15 +1,87 @@
#serial 5
# Check for fnmatch.
dnl Determine whether to add fnmatch.o to LIBOBJS and to
dnl define fnmatch to rpl_fnmatch.
dnl
# This is a modified version of autoconf's AC_FUNC_FNMATCH.
# This file should be removed after Autoconf 2.54 is required.
AC_DEFUN([jm_FUNC_FNMATCH],
[
AC_FUNC_FNMATCH
if test $ac_cv_func_fnmatch_works = no; then
AC_LIBOBJ(fnmatch)
AC_DEFINE(fnmatch, rpl_fnmatch,
[Define to rpl_fnmatch if the replacement function should be used.])
fi
])
# Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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.
# _AC_FUNC_FNMATCH_IF(STANDARD = GNU | POSIX, CACHE_VAR, IF-TRUE, IF-FALSE)
# -------------------------------------------------------------------------
# If a STANDARD compliant fnmatch is found, run IF-TRUE, otherwise
# IF-FALSE. Use CACHE_VAR.
AC_DEFUN([_AC_FUNC_FNMATCH_IF],
[AC_CACHE_CHECK(
[for working $1 fnmatch],
[$2],
[# Some versions of Solaris, SCO, and the GNU C Library
# have a broken or incompatible fnmatch.
# So we run a test program. If we are cross-compiling, take no chance.
# Thanks to John Oleynick, Franc,ois Pinard, and Paul Eggert for this test.
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[#include <fnmatch.h>
# define y(a, b, c) (fnmatch (a, b, c) == 0)
# define n(a, b, c) (fnmatch (a, b, c) == FNM_NOMATCH)
],
[exit
(!(y ("a*", "abc", 0)
&& n ("d*/*1", "d/s/1", FNM_PATHNAME)
&& y ("a\\\\bc", "abc", 0)
&& n ("a\\\\bc", "abc", FNM_NOESCAPE)
&& y ("*x", ".x", 0)
&& n ("*x", ".x", FNM_PERIOD)
&& m4_if([$1], [GNU],
[y ("xxXX", "xXxX", FNM_CASEFOLD)
&& y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)
&& n ("d*/*1", "d/s/1", FNM_FILE_NAME)
&& y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)
&& y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)
&& y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)],
1)));])],
[$2=yes],
[$2=no],
[$2=cross])])
AS_IF([test $$2 = yes], [$3], [$4])
])# _AC_FUNC_FNMATCH_IF
# _AC_LIBOBJ_FNMATCH
# ------------------
# Prepare the replacement of fnmatch.
AC_DEFUN([_AC_LIBOBJ_FNMATCH],
[AC_REQUIRE([AC_C_CONST])dnl
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_TYPE_MBSTATE_T])dnl
AC_CHECK_DECLS([getenv])
AC_CHECK_FUNCS([btowc mbsrtowcs mempcpy wmempcpy])
AC_CHECK_HEADERS([wchar.h wctype.h])
AC_LIBOBJ([fnmatch])
AC_CONFIG_LINKS([lib/fnmatch.h:lib/fnmatch_.h])
AC_DEFINE(fnmatch, rpl_fnmatch,
[Define to rpl_fnmatch if the replacement function should be used.])
])# _AC_LIBOBJ_FNMATCH
# AC_FUNC_FNMATCH_GNU
# -------------------
AC_DEFUN([AC_FUNC_FNMATCH_GNU],
[AC_REQUIRE([AC_GNU_SOURCE])
_AC_FUNC_FNMATCH_IF([GNU], [ac_cv_func_fnmatch_gnu],
[rm -f lib/fnmatch.h],
[_AC_LIBOBJ_FNMATCH])
])# AC_FUNC_FNMATCH_GNU

View File

@@ -1,4 +1,4 @@
#serial 8
#serial 9
# A replacement for autoconf's macro by the same name. This version
# accepts an optional argument specifying the name of the $srcdir-relative
@@ -12,6 +12,9 @@ undefine([AC_FUNC_GETLOADAVG])
AC_DEFUN([AC_FUNC_GETLOADAVG],
[ac_have_func=no # yes means we've found a way to get the load average.
AC_CHECK_HEADERS(locale.h unistd.h mach/mach.h fcntl.h)
AC_CHECK_FUNCS(setlocale)
# By default, expect to find getloadavg.c in $srcdir/.
ac_lib_dir_getloadavg=$srcdir
# But if there's an argument, DIR, expect to find getloadavg.c in $srcdir/DIR.

View File

@@ -1,4 +1,4 @@
# gettext.m4 serial 12 (gettext-0.11)
# gettext.m4 serial 15 (gettext-0.11.3)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
@@ -75,6 +75,21 @@ AC_DEFUN([AM_GNU_GETTEXT],
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
dnl Sometimes libintl requires libiconv, so first search for libiconv.
dnl Ideally we would do this search only after the
dnl if test "$USE_NLS" = "yes"; then
dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
dnl the configure script would need to contain the same shell code
dnl again, outside any 'if'. There are two solutions:
dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
dnl documented, we avoid it.
ifelse(gt_included_intl, yes, , [
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
])
AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
@@ -116,9 +131,10 @@ AC_DEFUN([AM_GNU_GETTEXT],
AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
[AC_TRY_LINK([#include <libintl.h>
extern int _nl_msg_cat_cntr;],
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
gt_cv_func_gnugettext_libc=yes,
gt_cv_func_gnugettext_libc=no)])
@@ -140,18 +156,28 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
LIBS="$LIBS $LIBINTL"
dnl Now see whether libintl exists and does not depend on libiconv.
AC_TRY_LINK([#include <libintl.h>
extern int _nl_msg_cat_cntr;],
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
const char *_nl_expand_alias ();],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
gt_cv_func_gnugettext_libintl=yes,
gt_cv_func_gnugettext_libintl=no)
dnl Now see whether libintl exists and depends on libiconv.
if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
AC_TRY_LINK([#include <libintl.h>
extern int _nl_msg_cat_cntr;],
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
const char *_nl_expand_alias ();],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
[LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
gt_cv_func_gnugettext_libintl=yes
@@ -169,6 +195,11 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
&& test "$PACKAGE" != gettext; }; then
gt_use_preinstalled_gnugettext=yes
else
dnl Reset the values set by searching for libintl.
LIBINTL=
LTLIBINTL=
INCINTL=
fi
ifelse(gt_included_intl, yes, [
@@ -463,6 +494,7 @@ AC_DEFUN([AM_INTL_SUBDIR],
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_REQUIRE([jm_GLIBC21])dnl
AC_REQUIRE([gt_INTDIV0])dnl
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
stdlib.h string.h unistd.h sys/param.h])
@@ -472,7 +504,9 @@ strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
AM_ICONV
AM_LANGINFO_CODESET
AM_LC_MESSAGES
if test $ac_cv_header_locale_h = yes; then
AM_LC_MESSAGES
fi
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
dnl because plural.y uses bison specific features. It requires at least

View File

@@ -1,4 +1,4 @@
#serial 1
#serial 2
dnl From Jim Meyering.
dnl
@@ -6,8 +6,8 @@ dnl See if gettimeofday clobbers the static buffer that localtime uses
dnl for it's return value. The gettimeofday function from Mac OS X 10.0.4,
dnl i.e. Darwin 1.3.7 has this problem.
dnl
dnl If it does, then arrange to use gettimeofday only via the wrapper
dnl function that works around the problem.
dnl If it does, then arrange to use gettimeofday and localtime only via
dnl the wrapper functions that work around the problem.
AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
[
@@ -59,6 +59,8 @@ main ()
])
if test $jm_cv_func_gettimeofday_clobber = yes; then
AC_LIBOBJ(gettimeofday)
AC_DEFINE(localtime, rpl_localtime,
[Define to rpl_localtime if the replacement function should be used.])
AC_DEFINE(gettimeofday, rpl_gettimeofday,
[Define to rpl_gettimeofday if the replacement function should be used.])
AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1,

View File

@@ -1,25 +1,12 @@
#serial 3
# Make sure _GNU_SOURCE is defined where necessary: as early as possible
# for configure-time tests, as well as for every source file that includes
# config.h.
# From Jim Meyering.
AC_DEFUN([AC__GNU_SOURCE],
[
# Make sure that _GNU_SOURCE is defined for all subsequent
# configure-time compile tests.
# This definition must be emitted (into confdefs.h) before any
# test that involves compilation.
cat >>confdefs.h <<\EOF
# AC_GNU_SOURCE
# --------------
AC_DEFUN([AC_GNU_SOURCE],
[AH_VERBATIM([_GNU_SOURCE],
[/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif
EOF
# Emit this code into config.h.in.
# The ifndef is to avoid redefinition warnings.
AH_VERBATIM([_GNU_SOURCE], [#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif])
# undef _GNU_SOURCE
#endif])dnl
AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
AC_DEFINE([_GNU_SOURCE])
])

View File

@@ -1,4 +1,4 @@
# iconv.m4 serial AM3 (gettext-0.11)
# iconv.m4 serial AM4 (gettext-0.11.3)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
@@ -8,11 +8,8 @@ dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
AC_DEFUN([AM_ICONV_LINK],
AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
[
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed).
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
@@ -20,6 +17,16 @@ AC_DEFUN([AM_ICONV_LINK],
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
dnl accordingly.
AC_LIB_LINKFLAGS_BODY([iconv])
])
AC_DEFUN([AM_ICONV_LINK],
[
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed).
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
dnl accordingly.
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
dnl Add $INCICONV to CPPFLAGS before performing the following checks,
dnl because if the user has installed libiconv and not disabled its use
@@ -69,7 +76,7 @@ AC_DEFUN([AM_ICONV_LINK],
AC_DEFUN([AM_ICONV],
[
AC_REQUIRE([AM_ICONV_LINK])
AM_ICONV_LINK
if test "$am_cv_func_iconv" = yes; then
AC_MSG_CHECKING([for iconv declaration])
AC_CACHE_VAL(am_cv_proto_iconv, [

72
m4/intdiv0.m4 Normal file
View File

@@ -0,0 +1,72 @@
# intdiv0.m4 serial 1 (gettext-0.11.3)
dnl Copyright (C) 2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
AC_DEFUN([gt_INTDIV0],
[
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
gt_cv_int_divbyzero_sigfpe,
[
AC_TRY_RUN([
#include <stdlib.h>
#include <signal.h>
static void
#ifdef __cplusplus
sigfpe_handler (int sig)
#else
sigfpe_handler (sig) int sig;
#endif
{
/* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
exit (sig != SIGFPE);
}
int x = 1;
int y = 0;
int z;
int nan;
int main ()
{
signal (SIGFPE, sigfpe_handler);
/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
signal (SIGTRAP, sigfpe_handler);
#endif
/* Linux/SPARC yields signal SIGILL. */
#if defined (__sparc__) && defined (__linux__)
signal (SIGILL, sigfpe_handler);
#endif
z = x / y;
nan = y / y;
exit (1);
}
], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
[
# Guess based on the CPU.
case "$host_cpu" in
alpha* | i[34567]86 | m68k | s390*)
gt_cv_int_divbyzero_sigfpe="guessing yes";;
*)
gt_cv_int_divbyzero_sigfpe="guessing no";;
esac
])
])
case "$gt_cv_int_divbyzero_sigfpe" in
*yes) value=1;;
*) value=0;;
esac
AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
[Define if integer division by zero raises signal SIGFPE.])
])

View File

@@ -1,4 +1,4 @@
# isc-posix.m4 serial 1 (gettext-0.10.40)
# isc-posix.m4 serial 2 (gettext-0.11.2)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
@@ -6,6 +6,8 @@ dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
# This test replaces the one in autoconf.
# Currently this macro should have the same name as the autoconf macro
# because gettext's gettext.m4 (distributed in the automake package)

View File

@@ -1,10 +1,10 @@
#serial 45 -*- autoconf -*-
#serial 49 -*- autoconf -*-
dnl Misc type-related macros for fileutils, sh-utils, textutils.
AC_DEFUN([jm_MACROS],
[
AC_PREREQ(2.52g)
AC_PREREQ(2.53b)
GNU_PACKAGE="GNU $PACKAGE"
AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE",
@@ -43,14 +43,14 @@ AC_DEFUN([jm_MACROS],
AC_REQUIRE([jm_FUNC_LSTAT])
AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
AC_REQUIRE([jm_FUNC_STAT])
AC_REQUIRE([jm_FUNC_REALLOC])
AC_REQUIRE([jm_FUNC_MALLOC])
AC_REQUIRE([AC_FUNC_REALLOC])
AC_REQUIRE([AC_FUNC_MALLOC])
AC_REQUIRE([AC_FUNC_STRERROR_R])
AC_REQUIRE([jm_FUNC_NANOSLEEP])
AC_REQUIRE([jm_FUNC_READDIR])
AC_REQUIRE([jm_FUNC_MEMCMP])
AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
AC_REQUIRE([jm_FUNC_FNMATCH])
AC_REQUIRE([AC_FUNC_FNMATCH_GNU])
AC_REQUIRE([jm_FUNC_GROUP_MEMBER])
AC_REQUIRE([jm_FUNC_PUTENV])
AC_REQUIRE([jm_AFS])
@@ -76,11 +76,11 @@ AC_DEFUN([jm_MACROS],
AC_REPLACE_FUNCS(strcasecmp strncasecmp)
AC_REPLACE_FUNCS(dup2)
AC_REPLACE_FUNCS(gethostname getusershell)
AC_REPLACE_FUNCS(sig2str)
AC_REPLACE_FUNCS(strcspn stpcpy strstr strtol strtoul)
AC_REPLACE_FUNCS(strpbrk)
AC_REPLACE_FUNCS(euidaccess memcmp rmdir rpmatch strndup strverscmp)
AC_REPLACE_FUNCS(atexit)
AC_REPLACE_FUNCS(strnlen)
AC_REPLACE_FUNCS(getpass)
dnl used by e.g. intl/*domain.c and lib/canon-host.c
@@ -148,6 +148,7 @@ AC_DEFUN([jm_MACROS],
strchr \
strerror \
strrchr \
sysctl \
sysinfo \
wcrtomb \
tzset \
@@ -160,7 +161,6 @@ AC_DEFUN([jm_MACROS],
AC_FUNC_OBSTACK
AC_FUNC_STRTOD
AC_FUNC_STRNLEN
# See if linking `seq' requires -lm.
# It does on nearly every system. The single exception (so far) is
@@ -208,6 +208,7 @@ AC_DEFUN([jm_CHECK_ALL_HEADERS],
fcntl.h \
fenv.h \
float.h \
hurd.h \
limits.h \
memory.h \
mntent.h \
@@ -230,6 +231,7 @@ AC_DEFUN([jm_CHECK_ALL_HEADERS],
sys/socket.h \
sys/statfs.h \
sys/statvfs.h \
sys/sysctl.h \
sys/systeminfo.h \
sys/time.h \
sys/timeb.h \
@@ -246,11 +248,6 @@ AC_DEFUN([jm_CHECK_ALL_HEADERS],
# This macro must be invoked before any tests that run the compiler.
AC_DEFUN([jm_CHECK_ALL_TYPES],
[
# FIXME: I shouldn't have to require this macro here. Rather, it should
# be required by any autoconf macro that performs a compile-time test or
# otherwise uses confdefs.h.
AC_REQUIRE([AC__GNU_SOURCE])
dnl This test must come as early as possible after the compiler configuration
dnl tests, because the choice of the file model can (in principle) affect
dnl whether functions and headers are available, whether they work, etc.
@@ -263,7 +260,6 @@ AC_DEFUN([jm_CHECK_ALL_TYPES],
dnl Checks for typedefs, structures, and compiler characteristics.
AC_REQUIRE([AC_C_BIGENDIAN])
AC_REQUIRE([AC_PROG_CC_STDC])
AC_REQUIRE([AC_C_CONST])
AC_REQUIRE([AC_C_VOLATILE])
AC_REQUIRE([AC_C_INLINE])
@@ -272,7 +268,10 @@ AC_DEFUN([jm_CHECK_ALL_TYPES],
AC_REQUIRE([jm_CHECK_ALL_HEADERS])
AC_REQUIRE([AC_HEADER_DIRENT])
AC_REQUIRE([AC_HEADER_STDC])
AC_CHECK_MEMBERS([struct stat.st_blksize],,,[$ac_includes_default
AC_CHECK_MEMBERS(
[struct stat.st_author,
struct stat.st_blksize],,,
[$ac_includes_default
#include <sys/stat.h>
])
AC_REQUIRE([AC_STRUCT_ST_BLOCKS])

View File

@@ -1,4 +1,4 @@
# lcmessage.m4 serial 2 (gettext-0.10.40)
# lcmessage.m4 serial 3 (gettext-0.11.3)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
@@ -21,12 +21,12 @@ dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
# Check whether LC_MESSAGES is available in <locale.h>.
AC_DEFUN([AM_LC_MESSAGES],
[if test $ac_cv_header_locale_h = yes; then
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
[
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
if test $am_cv_val_LC_MESSAGES = yes; then
AC_DEFINE(HAVE_LC_MESSAGES, 1,
[Define if your <locale.h> file defines LC_MESSAGES.])
fi
fi])
if test $am_cv_val_LC_MESSAGES = yes; then
AC_DEFINE(HAVE_LC_MESSAGES, 1,
[Define if your <locale.h> file defines LC_MESSAGES.])
fi
])

View File

@@ -1,4 +1,4 @@
# lib-link.m4 serial 1 (gettext-0.11)
# lib-link.m4 serial 3 (gettext-0.11.3)
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
@@ -116,6 +116,10 @@ AC_DEFUN([AC_LIB_RPATH],
hardcode_minus_L="$acl_cv_hardcode_minus_L"
sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
dnl Determine whether the user wants rpath handling at all.
AC_ARG_ENABLE(rpath,
[ --disable-rpath do not hardcode runtime library paths],
:, enable_rpath=yes)
])
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
@@ -245,7 +249,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl Linking with a shared library. We attempt to hardcode its
dnl directory into the executable's runpath, unless it's the
dnl standard /usr/lib.
if test "X$found_dir" = "X/usr/lib"; then
if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
dnl No hardcoding is needed.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
@@ -434,6 +438,35 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
fi
fi
;;
-R*)
dir=`echo "X$dep" | sed -e 's/^X-R//'`
if test "$enable_rpath" != no; then
dnl Potentially add DIR to rpathdirs.
dnl The rpathdirs will be appended to $LIBNAME at the end.
haveit=
for x in $rpathdirs; do
if test "X$x" = "X$dir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
rpathdirs="$rpathdirs $dir"
fi
dnl Potentially add DIR to ltrpathdirs.
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
haveit=
for x in $ltrpathdirs; do
if test "X$x" = "X$dir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $dir"
fi
fi
;;
-l*)
dnl Handle this in the next round.
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`

View File

@@ -195,12 +195,7 @@ if test -z "$ac_list_mounted_fs"; then
AC_MSG_CHECKING([for getmntinfo function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
[
ok=
if test $ac_cv_func_getmntinfo = yes; then
AC_EGREP_HEADER(f_type;, sys/mount.h,
ok=yes)
fi
test -n "$ok" \
test "$ac_cv_func_getmntinfo" = yes \
&& fu_cv_sys_mounted_getmntinfo=yes \
|| fu_cv_sys_mounted_getmntinfo=no
])
@@ -209,7 +204,7 @@ if test -z "$ac_list_mounted_fs"; then
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTINFO, 1,
[Define if there is a function named getmntinfo for reading the
list of mounted filesystems. (4.4BSD)])
list of mounted filesystems. (4.4BSD, Darwin)])
fi
fi

View File

@@ -1,34 +0,0 @@
#serial 5
dnl From Jim Meyering.
dnl Determine whether malloc accepts 0 as its argument.
dnl If it doesn't, arrange to use the replacement function.
dnl
AC_DEFUN([jm_FUNC_MALLOC],
[
dnl xmalloc.c requires that this symbol be defined so it doesn't
dnl mistakenly use a broken malloc -- as it might if this test were omitted.
AC_DEFINE(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
[Define if the malloc check has been performed. ])
AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc,
[AC_TRY_RUN([
char *malloc ();
int
main ()
{
exit (malloc (0) ? 0 : 1);
}
],
jm_cv_func_working_malloc=yes,
jm_cv_func_working_malloc=no,
dnl When crosscompiling, assume malloc is broken.
jm_cv_func_working_malloc=no)
])
if test $jm_cv_func_working_malloc = no; then
AC_LIBOBJ(malloc)
AC_DEFINE(malloc, rpl_malloc,
[Define to rpl_malloc if the replacement function should be used.])
fi
])

View File

@@ -1,4 +1,10 @@
#serial 4
# mbrtowc.m4 serial 4 (fileutils-4.1.3)
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert

View File

@@ -1,4 +1,10 @@
# serial 9
# mbstate_t.m4 serial 9
dnl Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
# From Paul Eggert.
@@ -6,24 +12,21 @@
# so you can't declare an object of that type.
# Check for this incompatibility with Standard C.
# Include stdlib.h first, because otherwise this test would fail on Linux
# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
# a syntax error in wchar.h due to the use of undefined __int32_t.
AC_DEFUN([AC_MBSTATE_T],
[
AC_CHECK_HEADERS(stdlib.h)
AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
[AC_TRY_COMPILE([
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#include <wchar.h>],
[mbstate_t x; return sizeof x;],
ac_cv_type_mbstate_t=yes,
ac_cv_type_mbstate_t=no)])
if test $ac_cv_type_mbstate_t = no; then
AC_DEFINE(mbstate_t, int,
# AC_TYPE_MBSTATE_T
# -----------------
AC_DEFUN([AC_TYPE_MBSTATE_T],
[AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[AC_INCLUDES_DEFAULT
# include <wchar.h>],
[mbstate_t x; return sizeof x;])],
[ac_cv_type_mbstate_t=yes],
[ac_cv_type_mbstate_t=no])])
if test $ac_cv_type_mbstate_t = yes; then
AC_DEFINE([HAVE_MBSTATE_T], 1,
[Define to 1 if <wchar.h> declares mbstate_t.])
else
AC_DEFINE([mbstate_t], int,
[Define to a type if <wchar.h> does not define.])
fi])

View File

@@ -1,4 +1,4 @@
#serial 6
#serial 7
dnl autoconf tests required for use of mbswidth.c
dnl From Bruno Haible.
@@ -32,5 +32,5 @@ AC_DEFUN([jm_PREREQ_MBSWIDTH],
AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
[Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
AC_MBSTATE_T
AC_TYPE_MBSTATE_T
])

View File

@@ -1,4 +1,4 @@
#serial 22
#serial 26
dnl These are the prerequisite macros for files in the lib/
dnl directories of the fileutils, sh-utils, and textutils packages.
@@ -6,11 +6,13 @@ dnl directories of the fileutils, sh-utils, and textutils packages.
AC_DEFUN([jm_PREREQ],
[
jm_PREREQ_ADDEXT
jm_PREREQ_C_STACK
jm_PREREQ_CANON_HOST
jm_PREREQ_DIRNAME
jm_PREREQ_ERROR
jm_PREREQ_EXCLUDE
jm_PREREQ_GETPAGESIZE
jm_PREREQ_HARD_LOCALE
jm_PREREQ_HASH
jm_PREREQ_HUMAN
jm_PREREQ_MBSWIDTH
@@ -20,6 +22,8 @@ AC_DEFUN([jm_PREREQ],
jm_PREREQ_QUOTEARG
jm_PREREQ_READUTMP
jm_PREREQ_REGEX
jm_PREREQ_STAT
jm_PREREQ_STRNLEN
jm_PREREQ_TEMPNAME # called by mkstemp
jm_PREREQ_XGETCWD
jm_PREREQ_XREADLINK
@@ -56,8 +60,8 @@ AC_DEFUN([jm_PREREQ_DIRNAME],
AC_DEFUN([jm_PREREQ_EXCLUDE],
[
jm_FUNC_FNMATCH
AC_CHECK_HEADERS(stdbool.h)
AC_FUNC_FNMATCH_GNU
AC_HEADER_STDBOOL
])
AC_DEFUN([jm_PREREQ_GETPAGESIZE],
@@ -66,9 +70,17 @@ AC_DEFUN([jm_PREREQ_GETPAGESIZE],
AC_CHECK_HEADERS(OS.h unistd.h)
])
AC_DEFUN([jm_PREREQ_HARD_LOCALE],
[
AC_CHECK_HEADERS(locale.h stdlib.h string.h)
AC_CHECK_FUNCS(setlocale)
AM_C_PROTOTYPES
])
AC_DEFUN([jm_PREREQ_HASH],
[
AC_CHECK_HEADERS(stdlib.h stdbool.h)
AC_CHECK_HEADERS(stdlib.h)
AC_HEADER_STDBOOL
AC_REQUIRE([jm_CHECK_DECLS])
])
@@ -105,7 +117,7 @@ AC_DEFUN([jm_PREREQ_QUOTEARG],
AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
AC_HEADER_STDC
AC_C_BACKSLASH_A
AC_MBSTATE_T
AC_TYPE_MBSTATE_T
AM_C_PROTOTYPES
])
@@ -133,6 +145,12 @@ $ac_includes_default
AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes])
AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes])
AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes])
AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes])
AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes])
AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes])
AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes])
AC_CHECK_MEMBERS([struct utmpx.ut_exit],,,[$utmp_includes])
AC_CHECK_MEMBERS([struct utmp.ut_exit],,,[$utmp_includes])
AC_LIBOBJ(readutmp)
fi
])
@@ -148,6 +166,54 @@ AC_DEFUN([jm_PREREQ_REGEX],
AC_FUNC_ALLOCA
])
AC_DEFUN([jm_PREREQ_STAT],
[
AC_CHECK_HEADERS(sys/sysmacros.h sys/statvfs.h sys/vfs.h inttypes.h)
AC_CHECK_HEADERS(sys/param.h sys/mount.h)
AC_CHECK_FUNCS(statvfs)
jm_AC_TYPE_LONG_LONG
statxfs_includes="\
$ac_includes_default
#if HAVE_SYS_STATVFS_H
# include <sys/statvfs.h>
#endif
#if HAVE_SYS_VFS_H
# include <sys/vfs.h>
#endif
#if ( ! HAVE_SYS_STATVFS_H && ! HAVE_SYS_VFS_H && HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H )
/* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
# include <sys/param.h>
# include <sys/mount.h>
#endif
"
AC_CHECK_MEMBERS([struct statfs.f_basetype],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statvfs.f_basetype],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statfs.f_type],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statvfs.f_type],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statvfs.f_fsid.__val],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes])
AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes])
])
AC_DEFUN([jm_PREREQ_STRNLEN],
[
AC_FUNC_STRNLEN
AC_HEADER_STDC
AC_CHECK_HEADERS(memory.h)
AC_CHECK_DECLS([memchr])
# This is necessary because automake-1.6.1 doesn't understand
# that the above use of AC_FUNC_STRNLEN means we may have to use
# lib/strnlen.c.
test $ac_cv_func_strnlen_working = yes \
&& AC_LIBOBJ(strnlen)
])
AC_DEFUN([jm_PREREQ_TEMPNAME],
[
AC_HEADER_STDC

View File

@@ -50,6 +50,9 @@ AC_CACHE_CHECK([for working readdir], jm_cv_func_working_readdir,
(Basename[0] == '.' && (Basename[1] == '\0' \
|| (Basename[1] == '.' && Basename[2] == '\0')))
/* Don't try to use replacement mkdir; it wouldn't resolve at link time. */
# undef mkdir
static void
create_300_file_dir (const char *dir)
{

View File

@@ -1,34 +0,0 @@
#serial 5
dnl From Jim Meyering.
dnl Determine whether realloc works when both arguments are 0.
dnl If it doesn't, arrange to use the replacement function.
dnl
AC_DEFUN([jm_FUNC_REALLOC],
[
dnl xmalloc.c requires that this symbol be defined so it doesn't
dnl mistakenly use a broken realloc -- as it might if this test were omitted.
AC_DEFINE(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
[Define if the realloc check has been performed. ])
AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc,
[AC_TRY_RUN([
char *realloc ();
int
main ()
{
exit (realloc (0, 0) ? 0 : 1);
}
],
jm_cv_func_working_realloc=yes,
jm_cv_func_working_realloc=no,
dnl When crosscompiling, assume realloc is broken.
jm_cv_func_working_realloc=no)
])
if test $jm_cv_func_working_realloc = no; then
AC_LIBOBJ(realloc)
AC_DEFINE(realloc, rpl_realloc,
[Define to rpl_realloc if the replacement function should be used.])
fi
])

62
m4/stdbool.m4 Normal file
View File

@@ -0,0 +1,62 @@
# Check for stdbool.h that conforms to C99.
# Copyright (C) 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AC_HEADER_STDBOOL],
[AC_CACHE_CHECK([for stdbool.h that conforms to C99],
[ac_cv_header_stdbool_h],
[AC_TRY_COMPILE(
[
#include <stdbool.h>
#ifndef bool
"error: bool is not defined"
#endif
#ifndef false
"error: false is not defined"
#endif
#if false
"error: false is not 0"
#endif
#ifndef true
"error: false is not defined"
#endif
#if true != 1
"error: true is not 1"
#endif
#ifndef __bool_true_false_are_defined
"error: __bool_true_false_are_defined is not defined"
#endif
struct s { _Bool s: 1; _Bool t; } s;
char a[true == 1 ? 1 : -1];
char b[false == 0 ? 1 : -1];
char c[__bool_true_false_are_defined == 1 ? 1 : -1];
char d[(bool) -0.5 == true ? 1 : -1];
bool e = &s;
char f[(_Bool) -0.0 == false ? 1 : -1];
char g[true];
char h[sizeof (_Bool)];
char i[sizeof s.t];
],
[ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ],
[ac_cv_header_stdbool_h=yes],
[ac_cv_header_stdbool_h=no])])
if test $ac_cv_header_stdbool_h = yes; then
AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
fi])

88
man/.cvsignore Normal file
View File

@@ -0,0 +1,88 @@
Makefile
basename.1
cat.1
chgrp.1
chmod.1
chown.1
chroot.1
cksum.1
comm.1
cp.1
csplit.1
cut.1
date.1
dd.1
df.1
dir.1
dircolors.1
dirname.1
du.1
echo.1
env.1
expand.1
expr.1
factor.1
false.1
fmt.1
fold.1
groups.1
head.1
hostid.1
hostname.1
id.1
install.1
join.1
link.1
ln.1
logname.1
ls.1
md5sum.1
mkdir.1
mkfifo.1
mknod.1
mv.1
nice.1
nl.1
nohup.1
od.1
paste.1
pathchk.1
pinky.1
pr.1
printenv.1
printf.1
ptx.1
pwd.1
rm.1
rmdir.1
seq.1
sha1sum.1
shred.1
sleep.1
sort.1
split.1
stat.1
stty.1
su.1
sum.1
sync.1
tac.1
tail.1
tee.1
test.1
touch.1
tr.1
true.1
tsort.1
tty.1
uname.1
unexpand.1
uniq.1
unlink.1
uptime.1
users.1
vdir.1
wc.1
who.1
whoami.1
yes.1

142
man/Makefile.am Normal file
View File

@@ -0,0 +1,142 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
dist_man_MANS = \
basename.1 cat.1 chgrp.1 chmod.1 chown.1 chroot.1 cksum.1 comm.1 \
cp.1 csplit.1 cut.1 date.1 dd.1 df.1 dir.1 dircolors.1 dirname.1 du.1 \
echo.1 env.1 expand.1 expr.1 factor.1 false.1 fmt.1 fold.1 groups.1 \
head.1 hostid.1 hostname.1 id.1 install.1 join.1 link.1 ln.1 logname.1 \
ls.1 md5sum.1 mkdir.1 mkfifo.1 mknod.1 mv.1 nice.1 nl.1 nohup.1 od.1 \
paste.1 pathchk.1 pinky.1 pr.1 printenv.1 printf.1 ptx.1 pwd.1 rm.1 \
rmdir.1 seq.1 sha1sum.1 shred.1 sleep.1 sort.1 split.1 stat.1 stty.1 \
su.1 sum.1 sync.1 tac.1 tail.1 tee.1 test.1 touch.1 tr.1 true.1 tsort.1 \
tty.1 uname.1 unexpand.1 uniq.1 unlink.1 uptime.1 users.1 vdir.1 wc.1 \
who.1 whoami.1 yes.1
man_aux = $(dist_man_MANS:.1=.x)
EXTRA_DIST = $(man_aux)
MAINTAINERCLEANFILES = $(man_MANS)
# Depend on configure.ac to get version number changes.
common_dep = $(top_srcdir)/configure.ac
basename.1: $(common_dep) $(srcdir)/basename.x ../src/basename.c
cat.1: $(common_dep) $(srcdir)/cat.x ../src/cat.c
chgrp.1: $(common_dep) $(srcdir)/chgrp.x ../src/chgrp.c
chmod.1: $(common_dep) $(srcdir)/chmod.x ../src/chmod.c
chown.1: $(common_dep) $(srcdir)/chown.x ../src/chown.c
chroot.1: $(common_dep) $(srcdir)/chroot.x ../src/chroot.c
cksum.1: $(common_dep) $(srcdir)/cksum.x ../src/cksum.c
comm.1: $(common_dep) $(srcdir)/comm.x ../src/comm.c
cp.1: $(common_dep) $(srcdir)/cp.x ../src/cp.c
csplit.1: $(common_dep) $(srcdir)/csplit.x ../src/csplit.c
cut.1: $(common_dep) $(srcdir)/cut.x ../src/cut.c
date.1: $(common_dep) $(srcdir)/date.x ../src/date.c
dd.1: $(common_dep) $(srcdir)/dd.x ../src/dd.c
df.1: $(common_dep) $(srcdir)/df.x ../src/df.c
# Note that dir depends on ls.c, since that's where it's --help text is.
dir.1: $(common_dep) $(srcdir)/dir.x ../src/ls.c
dircolors.1: $(common_dep) $(srcdir)/dircolors.x ../src/dircolors.c
dirname.1: $(common_dep) $(srcdir)/dirname.x ../src/dirname.c
du.1: $(common_dep) $(srcdir)/du.x ../src/du.c
echo.1: $(common_dep) $(srcdir)/echo.x ../src/echo.c
env.1: $(common_dep) $(srcdir)/env.x ../src/env.c
expand.1: $(common_dep) $(srcdir)/expand.x ../src/expand.c
expr.1: $(common_dep) $(srcdir)/expr.x ../src/expr.c
factor.1: $(common_dep) $(srcdir)/factor.x ../src/factor.c
false.1: $(common_dep) $(srcdir)/false.x ../src/false.c
fmt.1: $(common_dep) $(srcdir)/fmt.x ../src/fmt.c
fold.1: $(common_dep) $(srcdir)/fold.x ../src/fold.c
groups.1: $(common_dep) $(srcdir)/groups.x ../src/groups.sh
head.1: $(common_dep) $(srcdir)/head.x ../src/head.c
hostid.1: $(common_dep) $(srcdir)/hostid.x ../src/hostid.c
hostname.1: $(common_dep) $(srcdir)/hostname.x ../src/hostname.c
id.1: $(common_dep) $(srcdir)/id.x ../src/id.c
install.1: $(common_dep) $(srcdir)/install.x ../src/install.c
join.1: $(common_dep) $(srcdir)/join.x ../src/join.c
link.1: $(common_dep) $(srcdir)/link.x ../src/link.c
ln.1: $(common_dep) $(srcdir)/ln.x ../src/ln.c
logname.1: $(common_dep) $(srcdir)/logname.x ../src/logname.c
ls.1: $(common_dep) $(srcdir)/ls.x ../src/ls.c
md5sum.1: $(common_dep) $(srcdir)/md5sum.x ../src/md5sum.c
mkdir.1: $(common_dep) $(srcdir)/mkdir.x ../src/mkdir.c
mkfifo.1: $(common_dep) $(srcdir)/mkfifo.x ../src/mkfifo.c
mknod.1: $(common_dep) $(srcdir)/mknod.x ../src/mknod.c
mv.1: $(common_dep) $(srcdir)/mv.x ../src/mv.c
nice.1: $(common_dep) $(srcdir)/nice.x ../src/nice.c
nl.1: $(common_dep) $(srcdir)/nl.x ../src/nl.c
nohup.1: $(common_dep) $(srcdir)/nohup.x ../src/nohup.sh
od.1: $(common_dep) $(srcdir)/od.x ../src/od.c
paste.1: $(common_dep) $(srcdir)/paste.x ../src/paste.c
pathchk.1: $(common_dep) $(srcdir)/pathchk.x ../src/pathchk.c
pinky.1: $(common_dep) $(srcdir)/pinky.x ../src/pinky.c
pr.1: $(common_dep) $(srcdir)/pr.x ../src/pr.c
printenv.1: $(common_dep) $(srcdir)/printenv.x ../src/printenv.c
printf.1: $(common_dep) $(srcdir)/printf.x ../src/printf.c
ptx.1: $(common_dep) $(srcdir)/ptx.x ../src/ptx.c
pwd.1: $(common_dep) $(srcdir)/pwd.x ../src/pwd.c
rm.1: $(common_dep) $(srcdir)/rm.x ../src/rm.c
rmdir.1: $(common_dep) $(srcdir)/rmdir.x ../src/rmdir.c
seq.1: $(common_dep) $(srcdir)/seq.x ../src/seq.c
sha1sum.1: $(common_dep) $(srcdir)/sha1sum.x ../src/md5sum.c
shred.1: $(common_dep) $(srcdir)/shred.x ../src/shred.c
sleep.1: $(common_dep) $(srcdir)/sleep.x ../src/sleep.c
sort.1: $(common_dep) $(srcdir)/sort.x ../src/sort.c
split.1: $(common_dep) $(srcdir)/split.x ../src/split.c
stat.1: $(common_dep) $(srcdir)/stat.x ../src/stat.c
stty.1: $(common_dep) $(srcdir)/stty.x ../src/stty.c
su.1: $(common_dep) $(srcdir)/su.x ../src/su.c
sum.1: $(common_dep) $(srcdir)/sum.x ../src/sum.c
sync.1: $(common_dep) $(srcdir)/sync.x ../src/sync.c
tac.1: $(common_dep) $(srcdir)/tac.x ../src/tac.c
tail.1: $(common_dep) $(srcdir)/tail.x ../src/tail.c
tee.1: $(common_dep) $(srcdir)/tee.x ../src/tee.c
test.1: $(common_dep) $(srcdir)/test.x ../src/test.c
touch.1: $(common_dep) $(srcdir)/touch.x ../src/touch.c
tr.1: $(common_dep) $(srcdir)/tr.x ../src/tr.c
true.1: $(common_dep) $(srcdir)/true.x ../src/true.c
tsort.1: $(common_dep) $(srcdir)/tsort.x ../src/tsort.c
tty.1: $(common_dep) $(srcdir)/tty.x ../src/tty.c
uname.1: $(common_dep) $(srcdir)/uname.x ../src/uname.c
unexpand.1: $(common_dep) $(srcdir)/unexpand.x ../src/unexpand.c
uniq.1: $(common_dep) $(srcdir)/uniq.x ../src/uniq.c
unlink.1: $(common_dep) $(srcdir)/unlink.x ../src/unlink.c
uptime.1: $(common_dep) $(srcdir)/uptime.x ../src/uptime.c
users.1: $(common_dep) $(srcdir)/users.x ../src/users.c
vdir.1: $(common_dep) $(srcdir)/vdir.x ../src/ls.c
wc.1: $(common_dep) $(srcdir)/wc.x ../src/wc.c
who.1: $(common_dep) $(srcdir)/who.x ../src/who.c
whoami.1: $(common_dep) $(srcdir)/whoami.x ../src/whoami.c
yes.1: $(common_dep) $(srcdir)/yes.x ../src/yes.c
SUFFIXES = .x .1
# Ensure that help2man runs the ../src/ginstall binary as
# `install' when creating install.1.
t = $*.td
mapped_name = `echo $*|sed 's/install/ginstall/'`
# Note the use of $t/$*, rather than just `$*' as in other packages.
# That is necessary to avoid failures for programs that are also shell built-in
# functions like echo, false, printf, pwd.
.x.1:
@echo "Updating man page $@"; \
mkdir $t; \
ln -s ../../src/$(mapped_name) $t/$*; \
$(HELP2MAN) \
--include=$(srcdir)/$*.x \
--output=$@ $t/$*; \
rm -rf $t
check-local: check-x-vs-1
# Ensure that for each .x file in this directory, there is a
# corresponding .1 file in the definition of $(dist_man_MANS) above.
.PHONY: check-x-vs-1
check-x-vs-1:
t=ls-files.$$$$; \
(cd $(srcdir) && ls -1 *.x) | sed 's/\.x$$//' | sort > $$t; \
echo $(dist_man_MANS) | fmt -w1 | sed 's/\.1$$//' | sort -u \
| diff - $$t || { rm $$t; exit 1; }; \
rm $$t

422
man/Makefile.in Normal file
View File

@@ -0,0 +1,422 @@
# Makefile.in generated by automake 1.6.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
FESETROUND_LIBM = @FESETROUND_LIBM@
GENCAT = @GENCAT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
HAVE_LIB = @HAVE_LIB@
HELP2MAN = @HELP2MAN@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
KMEM_GROUP = @KMEM_GROUP@
LIB = @LIB@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LTLIB = @LTLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
NEED_SETGID = @NEED_SETGID@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
POSUB = @POSUB@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SQRT_LIBM = @SQRT_LIBM@
STRIP = @STRIP@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
YACC = @YACC@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
dist_man_MANS = \
cat.1 cksum.1 comm.1 csplit.1 cut.1 expand.1 fmt.1 \
fold.1 head.1 join.1 md5sum.1 nl.1 od.1 paste.1 pr.1 ptx.1 \
sha1sum.1 sort.1 split.1 sum.1 \
tac.1 tail.1 tr.1 tsort.1 unexpand.1 uniq.1 wc.1 \
basename.1 chroot.1 date.1 dirname.1 echo.1 env.1 expr.1 factor.1 \
false.1 groups.1 hostid.1 hostname.1 id.1 logname.1 nice.1 nohup.1 \
pathchk.1 pinky.1 printenv.1 printf.1 pwd.1 seq.1 sleep.1 stty.1 su.1 \
tee.1 test.1 true.1 tty.1 uname.1 uptime.1 users.1 who.1 whoami.1 yes.1 \
chgrp.1 chmod.1 chown.1 cp.1 dir.1 dd.1 df.1 dircolors.1 \
du.1 install.1 link.1 ln.1 ls.1 mkdir.1 mkfifo.1 mknod.1 mv.1 rm.1 rmdir.1 \
shred.1 sync.1 touch.1 unlink.1 vdir.1
man_aux = $(dist_man_MANS:.1=.x)
EXTRA_DIST = $(man_aux)
MAINTAINERCLEANFILES = $(man_MANS)
# Depend on configure.ac to get version number changes.
common_dep = $(top_srcdir)/configure.ac
SUFFIXES = .x .1
# Ensure that help2man runs the ../src/ginstall binary as
# `install' when creating install.1.
t = $*.td
mapped_name = `echo $*|sed 's/install/ginstall/'`
subdir = man
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
NROFF = nroff
MANS = $(dist_man_MANS)
DIST_COMMON = $(dist_man_MANS) Makefile.am Makefile.in
all: all-am
.SUFFIXES:
.SUFFIXES: .x .1
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits man/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
man1dir = $(mandir)/man1
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man1dir)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
done
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
rm -f $(DESTDIR)$(man1dir)/$$inst; \
done
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(MANS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(man1dir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-man
install-exec-am:
install-info: install-info-am
install-man: install-man1
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-man
uninstall-man: uninstall-man1
.PHONY: all all-am check check-am clean clean-generic 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-man1 install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic uninstall uninstall-am \
uninstall-info-am uninstall-man uninstall-man1
cat.1: $(common_dep) $(srcdir)/cat.x ../src/cat.c
cksum.1: $(common_dep) $(srcdir)/cksum.x ../src/cksum.c
comm.1: $(common_dep) $(srcdir)/comm.x ../src/comm.c
csplit.1: $(common_dep) $(srcdir)/csplit.x ../src/csplit.c
cut.1: $(common_dep) $(srcdir)/cut.x ../src/cut.c
expand.1: $(common_dep) $(srcdir)/expand.x ../src/expand.c
fmt.1: $(common_dep) $(srcdir)/fmt.x ../src/fmt.c
fold.1: $(common_dep) $(srcdir)/fold.x ../src/fold.c
head.1: $(common_dep) $(srcdir)/head.x ../src/head.c
join.1: $(common_dep) $(srcdir)/join.x ../src/join.c
md5sum.1: $(common_dep) $(srcdir)/md5sum.x ../src/md5sum.c
nl.1: $(common_dep) $(srcdir)/nl.x ../src/nl.c
od.1: $(common_dep) $(srcdir)/od.x ../src/od.c
paste.1: $(common_dep) $(srcdir)/paste.x ../src/paste.c
pr.1: $(common_dep) $(srcdir)/pr.x ../src/pr.c
ptx.1: $(common_dep) $(srcdir)/ptx.x ../src/ptx.c
sha1sum.1: $(common_dep) $(srcdir)/sha1sum.x ../src/md5sum.c
sort.1: $(common_dep) $(srcdir)/sort.x ../src/sort.c
split.1: $(common_dep) $(srcdir)/split.x ../src/split.c
sum.1: $(common_dep) $(srcdir)/sum.x ../src/sum.c
tac.1: $(common_dep) $(srcdir)/tac.x ../src/tac.c
tail.1: $(common_dep) $(srcdir)/tail.x ../src/tail.c
tr.1: $(common_dep) $(srcdir)/tr.x ../src/tr.c
tsort.1: $(common_dep) $(srcdir)/tsort.x ../src/tsort.c
unexpand.1: $(common_dep) $(srcdir)/unexpand.x ../src/unexpand.c
uniq.1: $(common_dep) $(srcdir)/uniq.x ../src/uniq.c
wc.1: $(common_dep) $(srcdir)/wc.x ../src/wc.c
basename.1: $(common_dep) $(srcdir)/basename.x ../src/basename.c
chroot.1: $(common_dep) $(srcdir)/chroot.x ../src/chroot.c
date.1: $(common_dep) $(srcdir)/date.x ../src/date.c
dirname.1: $(common_dep) $(srcdir)/dirname.x ../src/dirname.c
echo.1: $(common_dep) $(srcdir)/echo.x ../src/echo.c
env.1: $(common_dep) $(srcdir)/env.x ../src/env.c
expr.1: $(common_dep) $(srcdir)/expr.x ../src/expr.c
factor.1: $(common_dep) $(srcdir)/factor.x ../src/factor.c
false.1: $(common_dep) $(srcdir)/false.x ../src/false.c
groups.1: $(common_dep) $(srcdir)/groups.x ../src/groups.sh
hostid.1: $(common_dep) $(srcdir)/hostid.x ../src/hostid.c
hostname.1: $(common_dep) $(srcdir)/hostname.x ../src/hostname.c
id.1: $(common_dep) $(srcdir)/id.x ../src/id.c
logname.1: $(common_dep) $(srcdir)/logname.x ../src/logname.c
nice.1: $(common_dep) $(srcdir)/nice.x ../src/nice.c
nohup.1: $(common_dep) $(srcdir)/nohup.x ../src/nohup.sh
pathchk.1: $(common_dep) $(srcdir)/pathchk.x ../src/pathchk.c
pinky.1: $(common_dep) $(srcdir)/pinky.x ../src/pinky.c
printenv.1: $(common_dep) $(srcdir)/printenv.x ../src/printenv.c
printf.1: $(common_dep) $(srcdir)/printf.x ../src/printf.c
pwd.1: $(common_dep) $(srcdir)/pwd.x ../src/pwd.c
seq.1: $(common_dep) $(srcdir)/seq.x ../src/seq.c
sleep.1: $(common_dep) $(srcdir)/sleep.x ../src/sleep.c
stty.1: $(common_dep) $(srcdir)/stty.x ../src/stty.c
su.1: $(common_dep) $(srcdir)/su.x ../src/su.c
tee.1: $(common_dep) $(srcdir)/tee.x ../src/tee.c
test.1: $(common_dep) $(srcdir)/test.x ../src/test.c
true.1: $(common_dep) $(srcdir)/true.x ../src/true.c
tty.1: $(common_dep) $(srcdir)/tty.x ../src/tty.c
uname.1: $(common_dep) $(srcdir)/uname.x ../src/uname.c
uptime.1: $(common_dep) $(srcdir)/uptime.x ../src/uptime.c
users.1: $(common_dep) $(srcdir)/users.x ../src/users.c
who.1: $(common_dep) $(srcdir)/who.x ../src/who.c
whoami.1: $(common_dep) $(srcdir)/whoami.x ../src/whoami.c
yes.1: $(common_dep) $(srcdir)/yes.x ../src/yes.c
# Note that e.g., dir depends on ls.c, since that's where it's --help text is.
chgrp.1: $(common_dep) $(srcdir)/chgrp.x ../src/chgrp.c
chmod.1: $(common_dep) $(srcdir)/chmod.x ../src/chmod.c
chown.1: $(common_dep) $(srcdir)/chown.x ../src/chown.c
cp.1: $(common_dep) $(srcdir)/cp.x ../src/cp.c
dd.1: $(common_dep) $(srcdir)/dd.x ../src/dd.c
df.1: $(common_dep) $(srcdir)/df.x ../src/df.c
dir.1: $(common_dep) $(srcdir)/dir.x ../src/ls.c
dircolors.1: $(common_dep) $(srcdir)/dircolors.x ../src/dircolors.c
du.1: $(common_dep) $(srcdir)/du.x ../src/du.c
install.1: $(common_dep) $(srcdir)/install.x ../src/install.c
link.1: $(common_dep) $(srcdir)/link.x ../src/link.c
ln.1: $(common_dep) $(srcdir)/ln.x ../src/ln.c
ls.1: $(common_dep) $(srcdir)/ls.x ../src/ls.c
mkdir.1: $(common_dep) $(srcdir)/mkdir.x ../src/mkdir.c
mkfifo.1: $(common_dep) $(srcdir)/mkfifo.x ../src/mkfifo.c
mknod.1: $(common_dep) $(srcdir)/mknod.x ../src/mknod.c
mv.1: $(common_dep) $(srcdir)/mv.x ../src/mv.c
rm.1: $(common_dep) $(srcdir)/rm.x ../src/rm.c
rmdir.1: $(common_dep) $(srcdir)/rmdir.x ../src/rmdir.c
shred.1: $(common_dep) $(srcdir)/shred.x ../src/shred.c
sync.1: $(common_dep) $(srcdir)/sync.x ../src/sync.c
touch.1: $(common_dep) $(srcdir)/touch.x ../src/touch.c
unlink.1: $(common_dep) $(srcdir)/unlink.x ../src/unlink.c
vdir.1: $(common_dep) $(srcdir)/vdir.x ../src/ls.c
# Note the use of $t/$*, rather than just `$*' as in other packages.
# That is necessary to avoid failures for programs that are also shell built-in
# functions like echo, false, printf, pwd.
.x.1:
@echo "Updating man page $@"; \
mkdir $t; \
ln -s ../../src/$(mapped_name) $t/$*; \
$(HELP2MAN) \
--include=$(srcdir)/$*.x \
--output=$@ $t/$*; \
rm -rf $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

@@ -2,3 +2,22 @@
du \- estimate file space usage
[DESCRIPTION]
.\" Add any additional description here
[PATTERNS]
PATTERN is a shell pattern (not a regular expression). The pattern
.BR ?
matches any one character, whereas
.BR *
matches any string (composed of zero, one or multiple characters). For
example,
.BR *.o
will match any files whose names end in
.BR .o .
Therefore, the command
.IP
.B du --exclude='*.o'
.PP
will skip all files and subdirectories ending in
.BR .o
(including the file
.BR .o
itself).

4
man/link.x Normal file
View File

@@ -0,0 +1,4 @@
[NAME]
link \- call the link function to create a link to a file
[DESCRIPTION]
.\" Add any additional description here

4
man/unlink.x Normal file
View File

@@ -0,0 +1,4 @@
[NAME]
unlink \- call the unlink function to remove the specified file
[DESCRIPTION]
.\" Add any additional description here

View File

@@ -1,3 +1,688 @@
2002-07-22 Jim Meyering <meyering@lucent.com>
* Version 4.1.11.
* src/stat.c (usage): The short form of --dereference is now -L, not -l.
Reported by Kalle Olavi Niemitalo.
* src/rm.c: Add new option, --presume-input-tty, for testing only.
Not documented.
This test might remove a file owned by the person running `make check'.
* tests/rm/fail-eperm: Hoist definition of $target_file, and use
that (not $f) in test for owner/dir/symlink. Patch by Michael Stone.
* tests/rm/fail-eperm: Handle the case in which rm produces no output.
rm would prompt for a symlink to an unwritable file
* src/remove.c (prompt): When not interactive, don't prompt
for a symlink. Reported by Dave Beckett. Patch by Michael Stone.
* tests/rm/dangling-symlink: Add a test for the above-fixed bug.
2002-07-20 Jim Meyering <meyering@lucent.com>
* src/copy.c (copy_internal): Use file_name_lookup, not getdport.
Patch by Alfred M. Szmidt.
* Makefile.maint (news-r1, news-r2): Define. Better regexp.
(announcement): Use them here. Also makes the line length < 80.
* Upgrade to cvs automake -- required to work with 2.53b.
* configure.ac: Require automake-1.6a.
* Version 4.1.10.
* Upgrade to gettext-0.11.3.
* Upgrade to autoconf-2.53b.
2002-07-19 Jim Meyering <meyering@lucent.com>
* src/dircolors.hin: Add .wav.
* tests/rm/fail-eperm: Don't expect `ARGV_0=$0 exec ...' to work.
It doesn't work with /bin/sh of Solaris5.6.
Use an explicit `export ARGV_0' instead.
[comparing actual and expected output]: Don't match the entire line,
but rather just the `rm: cannot remove `$dir/$f':' part.
* tests/rm/dangling-symlink: Use input-tty rather than
testing for /dev/stdin.
* tests/Makefile.am (EXTRA_DIST): Add input-tty.
* tests/input-tty: New file.
2002-07-18 Jim Meyering <meyering@lucent.com>
* src/dircolors.hin: Add the following to the list of colorizable
TERM names: dtterm xterm-color Eterm.
New archive suffix: .jar
New image suffixes: .jpeg .pbm .pgm .tiff .mpeg .xcf .xwd
Audio suffixes: .ogg .mp3
From Michael Stone.
2002-07-16 Jim Meyering <meyering@lucent.com>
* src/stat.c (print_it): Use memcpy and a little pointer arithmetic,
rather than stpncpy.
2002-07-14 Jim Meyering <meyering@lucent.com>
Under some circumstances, rm would fail due to a lack of
permissions, but give a misleading diagnostic like this:
rm: cannot chdir from `.' to `foo': Not a directory
* src/remove.c (remove_dir): Detect the case in which unlinking a
non-directory fails with EPERM, and give an appropriate diagnostic.
Reported by Michael Stone.
2002-07-13 Jim Meyering <meyering@lucent.com>
* tests/rm/fail-eperm: New file/test, for the above.
* tests/rm/Makefile.am (TESTS): Add fail-eperm.
* src/stat.c (print_it): Use xstrdup, not strdup.
Use strspn to avoid an explicit loop.
Use fputc rather than printf "\n".
* src/stat.c: Include quote.h.
(print_stat): Use xreadlink, rather than using readlink directly.
Use the quote function rather than hard-coded double quotes.
Use error, not perror.
2002-07-09 Martin Michlmayr <tbm@cyrius.com>
* src/df.c (show_dev): Make the `Use%' column align with
its heading, even when -P is used with -h or -H.
2002-07-10 Jim Meyering <meyering@lucent.com>
* man/du.x: Add a description of --exclude=PATTERN.
* src/du.c (usage) [--exclude]: Use PATTERN rather than PAT.
From Martin Michlmayr.
2002-07-09 Jim Meyering <meyering@lucent.com>
I added stat.x, but didn't update the definition of dist_man_MANS.
* man/Makefile.am (dist_man_MANS): Add stat.1.
(stat.1): Add dependency.
Reported by Michael Stone.
Ensure that the above never happens again.
* man/Makefile.am (check-x-vs-1): New target.
(check-local): Depend on check-x-vs-1.
* src/mv.c (euidaccess): Remove declaration. It was unused.
From Michael Stone.
(yesno): Remove declaration. It too was unused.
2002-07-08 Paul Eggert <eggert@twinsun.com:
* NEWS: df now rounds all quantities up, as per POSIX.
This fixes a bug where df would report Size < Used.
* doc/coreutils.texi: Likewise.
* src/df.c (df_readable): Omit last arg; we always round up now.
All callers changed.
2002-07-07 Paul Eggert <eggert@twinsun.com>
NEWS, doc/coreutils.texi:
New ls time style: long-iso, which generates YYYY-MM-DD HH:MM.
Any time style can be preceded by "posix-".
The default time style is now posix-long-iso instead of posix-iso.
* src/ls.c (enum time_style): Remove posix_iso_time_style.
Add long_iso_time_style.
(time_style_args, time_style_types, decode_switches): Likewise.
(decode_switches): If a time style is prefixed by "posix-", ignore
it if in the POSIX locale. Default style is now posix-long-iso.
(usage): Explain the above.
2002-07-06 Jim Meyering <meyering@lucent.com>
* tests/Makefile.am (envvar-check): Mark as `.PHONY'.
* src/stat.c: Remove everything associated with --secure option.
2002-07-04 Jim Meyering <meyering@lucent.com>
* src/remove.c (prompt): Fix test for write-protectedness to also
check errno == EACCES. Otherwise, `rm dangling-symlink' would
mistakenly prompt. Reported by Mike Castle.
* tests/rm/Makefile.am (TESTS): Add dangling-symlink.
* tests/rm/dangling-symlink: New file/test, for the above fix.
2002-07-03 Jim Meyering <meyering@lucent.com>
* src/stat.c (usage): Rename --link/-l to --dereference/-L.
Describe --secure.
Describe --format.
(main): Support -L. Deprecate -l.
2002-07-02 Jim Meyering <meyering@lucent.com>
* src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c (usage):
Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it.
* src/df.c, src/dircolors.c, src/du.c, src/install.c: Likewise.
* src/link.c, src/ln.c, src/ls.c, src/mkdir.c, src/mkfifo.c: Likewise.
* src/mknod.c, src/mv.c, src/rm.c, src/rmdir.c, src/shred.c: Likewise.
* src/stat.c, src/sync.c, src/touch.c, src/unlink.c: Likewise.
2002-07-01 Jim Meyering <meyering@lucent.com>
* tests/touch/fail-diag: Handle yet another different diagnostic.
Report from Volker Borchert.
2002-06-29 Jim Meyering <meyering@lucent.com>
* src/stat.c (print_statfs): Use `fputc ('*', stdout)'
instead of the combination of strcat and printf.
(print_statfs) [!FLASK_LINUX]: Print `*' for %S and %C,
rather than `S' and `C'.
(print_stat) [!FLASK_LINUX]: Likewise.
* src/remove.c (AD_mark_current_as_unremovable): Replace dead
code with an assertion.
2002-06-26 Paul Eggert <eggert@twinsun.com>
* src/ls-test: Use grep, not egrep.
2002-06-25 Jim Meyering <meyering@lucent.com>
* src/remove.c (prompt): Add a comment to help translators work
around the problem of making the translations of the adjective
`write-protected' and the corresponding run-time-variable noun
(e.g., file, directory, symlink, etc.) consistent. From Paul Eggert.
2002-06-24 Jim Meyering <meyering@lucent.com>
* src/stat.c (usage): Add missing open-quote.
Reported by Michael Piefel.
2002-06-22 Jim Meyering <meyering@lucent.com>
* Version 4.1.9.
* configure.ac: Invoke AC_GNU_SOURCE very early.
* tests/rm/rm1: Accommodate the slightly different diagnostic we
get on some systems, due to `unlink (dir)' failing with EACCES
rather than EPERM. E.g. for ReiserFS on Linux-2.4.18.
2002-06-21 Jim Meyering <meyering@lucent.com>
* Makefile.maint (wget-update): Checkout into config/.
Warn when skipping a file.
* src/stat.c: Include sys/statvfs.h.
[!HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H]: Include sys/param.h
and sys/mount.h, to get decl of struct statfs on NetBSD 1.5.2.
(NAMEMAX_FORMAT, STRUCT_STATVFS): Define.
(HAVE_STRUCT_STATXFS_F_TYPE, SB_F_NAMEMAX): Define.
Remove `static' attribute from decl of program_name.
(human_fstype): Use f_basetype or f_fstypename if available.
(print_human_time): Use nstrftime and an ISO format string, in
place of strftime with `%c'. The latter is too locale-dependent.
(print_statfs): Deal with lots of portability issues: some fields
are available only with statfs, others only with statvfs, and
some are available in both, but with different types.
(do_statfs) [DEFAULT_FORMAT_TERSE]: Factor out.
[DEFAULT_FORMAT_VERBOSE]: Likewise.
* src/copy.c: Change all `preserving ...' diagnostics to
`failed to preserve ...' to make the failure clearer.
* src/cp.c: Likewise.
2002-04-03 Alfred M. Szmidt <ams@kemisten.nu>
* src/copy.c Include hurd.h.
(copy_internal): Preserve the stat.st_author field.
2002-06-21 Jim Meyering <meyering@lucent.com>
* src/ls.c (LOGIN_NAME_MAX): Define if not already defined.
(ID_LENGTH_MAX): Define.
(ST_DM_MODE): New macro. Code moved from...
(print_long_format): ...here.
(print_long_format): Itemize and comment the individual parts
of init_bigbuf. Use the above *_MAX macros.
2002-06-20 Jim Meyering <meyering@lucent.com>
* src/system.h: Change `defined(X)' syntax to `defined X'
in cpp directives.
2002-06-17 Jim Meyering <meyering@lucent.com>
* tests/setgid-check: Interpret a permissions string of
drwxr-xr-x (DOS/Windows) as meaning the cwd is not setgid.
Reported by Rich Dawe.
2002-05-19 Paul Eggert <eggert@twinsun.com>
Add support for new ls option --author, for GNU/Hurd.
Derived from a suggestion by Alfred M. Szmidt.
* doc/coreutils.texi (ls invocation), NEWS: Document this.
* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
* src/ls.c (st_author) [! HAVE_STRUCT_STAT_ST_AUTHOR]: New macro.
(print_author): New var.
(AUTHOR_OPTION): New enum val.
(long_options, decode_switches, print_long_format, usage):
Support --author.
(format_user): New function.
(print_long_format): Use it. Make print buffer a bit bigger.
2002-06-15 Jim Meyering <meyering@lucent.com>
* tests/sample-test (trap): Make sure the temporary hierarchy is
writable before removing it.
* tests/mv/perm-1: New file, to demonstrate fix of 2002-06-12.
* tests/mv/Makefile.am (TESTS): Add perm-1.
* src/system.h: For GNU libc 2.2 and newer, ensure that <sys/types.h>
has been included before this file.
2002-06-13 Richard Dawe <richdawe@bigfoot.com>
Accommodate DOS file name limitations.
* tests/cp/same-file: Change temp. file name: s/\.err/_err/, for DOS.
* tests/mv/force: Similar.
* tests/mv/into-self: Similar.
* tests/touch/no-rights: Similar.
* tests/mv/mv-special-1: Remove leading `.' from temp. names.
2002-06-15 Jim Meyering <meyering@lucent.com>
* src/sys2.h (S_ISNAM): Add to list of S_IS* macros.
Rearrange #if directives for each S_IS macro.
From diffutils-2.8.2.
2002-06-12 Jim Meyering <meyering@lucent.com>
* src/mv.c (do_move): Give one diagnostic, not two, when unable to
unlink a destination file. This bug was introduced in fileutils-3.16l.
2002-06-07 Jim Meyering <meyering@lucent.com>
* tests/mv/part-fail: Also accept the permission-denied diagnostic
issued by some losing systems. Reported by Volker Borchert.
* src/remove.c (remove_entry): Use DT_IS_DIR only if
HAVE_STRUCT_DIRENT_D_TYPE is defined.
2002-06-02 Jim Meyering <meyering@lucent.com>
`rm' no longer uses explicit recursion, and as such is now able
to remove hierarchies of effectively unlimited depth. Prior to
this change, on typical systems, rm would fail (segfault) to remove
hierarchies of depth greater than about 25,000.
* src/remove.c: Merge in all changes from no-recursion branch.
See below for details.
* src/remove.h: Likewise.
* src/mv.c (do_move): Adapt to new calling sequence for rm.
* src/rm.c (main): Likewise.
2002-06-02 Jim Meyering <meyering@lucent.com>
* tests/rm/r-2: Adjust, now that we no longer report
`removing all entries of directory ...'.
* tests/rm/r-1: Likewise.
* src/remove.c (enum Ternary): Define type.
(prompt): Add a parameter. Adjust callers.
(remove_entry): Attempt rmdir here, only if a directory is
`known' to be empty. Significant rework.
(remove_dir): Propagate failure `up' also when rmdir fails.
2002-06-01 Jim Meyering <meyering@lucent.com>
* tests/rm/Makefile.am (TESTS): Add rm5.
* tests/rm/rm5: New test.
2002-05-30 Jim Meyering <meyering@lucent.com>
In interactive mode, prompt only once about an empty directory.
* src/remove.c (enum Prompt_action): Define.
(prompt): Two new parameters. Adjust all callers.
Performance.
* src/remove.c (remove_entry) [!ROOT_CAN_UNLINK_DIRS]:
Don't call rmdir here.
2002-05-29 Jim Meyering <meyering@lucent.com>
* src/remove.c (AD_pop_and_chdir): Don't use errno (it's not valid)
in diagnostic for changed dev/ino.
(remove_entry): Tweak diagnostic.
2002-05-27 Jim Meyering <meyering@lucent.com>
* src/remove.c (ROOT_CAN_UNLINK_DIRS): Define.
(AD_pop_and_chdir): Propagate status as we traverse back `up' the tree.
(DO_UNLINK, DO_RMDIR): Define.
(remove_entry) [ROOT_CAN_UNLINK_DIRS]: Add code so this works also on
systems where root can use `unlink' to remove directories.
2002-05-24 Jim Meyering <meyering@lucent.com>
* tests/mv/mv-special-1: Adapt for changed format of --verbose output.
2002-05-22 Jim Meyering <meyering@lucent.com>
* src/remove.c: Include file-type.h.
Include file type in prompt when asking whether to remove file.
Based on a patch from Paul Eggert.
* src/remove.c (prompt): Add comment.
* src/remove.c (remove_dir): Fix another (known) leak.
* tests/rm/rm3: Don't depend on order of traversal of dir entries.
It is nondeterministic on some types of filesystems.
* src/remove.c (hash_freer): New function.
(AD_mark_helper): Use it.
(AD_mark_as_unremovable): xstrdup the filename argument.
(remove_dir): Free directory name.
* src/remove.c (remove_entry): Fail also when trying to remove a
directory without the --recursive option.
Change a diagnostic, s/unlink/remove/, now that it can apply also
to a directory.
* src/remove.c (is_empty_dir): New function.
(prompt): New function, factored out of...
(remove_entry): ...here. Call it.
(remove_dir): Call prompt before rmdir.
* src/remove.c (remove_entry): Add support for prompting (e.g., -i).
* src/remove.h (UPDATE_STATUS): New macro.
Include save-cwd.h.
(struct File_spec): Remove declaration.
Update prototypes.
* src/remove.c [AD_ent] (status): New member. This lets us propagate
the status from a subdirectory to its parent via AD_pop_and_chdir.
(AD_push_initial): Set it.
(AD_push): Likewise.
(remove_cwd_entries): Change return type to enum RM_status, and
adjust all callers.
(rm): Use UPDATE_STATUS rather than open-coding it.
* src/remove.c (remove_entry): New function, factored out of...
(remove_cwd_entries): ...here, and...
(rm_1): ...here.
* src/remove.c (remove_cwd_entries): Add support for --verbose.
(remove_dir): Likewise.
(rm_1): Likewise.
2002-05-18 Jim Meyering <meyering@lucent.com>
* tests/rm/rm3: New file.
* tests/rm/rm4: New file.
* tests/rm/Makefile.am (TESTS): Add rm3 and rm4.
2002-05-17 Jim Meyering <meyering@lucent.com>
* tests/rm/rm1: New file.
* tests/rm/rm2: New file.
* tests/rm/unread2: New file.
* tests/rm/Makefile.am (TESTS): Add rm1, rm2, and unread2.
* src/remove.h (enum RM_status) [RM_NONEMPTY_DIR]: New member.
2002-05-13 Jim Meyering <meyering@lucent.com>
* src/remove.c (rm): Free cwd_state, if necessary.
2002-05-01 Jim Meyering <meyering@lucent.com>
* src/remove.c (rm_1): Remove now useless (always true)
user_specified_name parameter. Adjust sole caller.
* src/remove.c (rm): New function. This interface allows
one to remove multiple arguments at a time. This is important in
that it allows us to hide the remove_init/remove_fini functions and
the cwd_state parameter.
(rm_1): Renamed from rm.
(remove_init, remove_fini): Remove functions. Each body is now
part of `rm'.
* src/remove.h (rm): Update prototype.
2002-06-01 Jim Meyering <meyering@lucent.com>
* src/ls.c: Remove use of D_TYPE_IN_DIRENT, now that that symbol
has been renamed.
2002-05-30 Jim Meyering <meyering@lucent.com>
* src/copy.c (copy_reg): Use a temporary to avoid a warning
from gcc -W about comparison between signed and unsigned.
(copy_internal): Likewise, but use a cast.
2002-05-22 Jim Meyering <meyering@lucent.com>
* src/sys2.h (S_ISREG, S_ISDIR): Define if not already defined.
(S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Likewise.
* src/ls.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR):
Remove definitions.
* src/sys2.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR):
Define here instead.
2002-04-27 Jim Meyering <meyering@lucent.com>
* src/remove.c (cycle_check): New function containing code factored
out of remove_dir. The sole difference is that upon detecting a
cycle, rm now dies unconditionally. Before, in interactive mode,
it would ask the user whether to continue.
(remove_dir): Call cycle_check.
2002-04-25 Jim Meyering <meyering@lucent.com>
Avoid new warnings from gcc.
* src/dd.c: Declare input_file and output_file to be `const'.
(skip): Declare `file' parameter to be `const', too.
Remove hash table, active_dir_map, used to detect directory cycles.
Instead, detect them lazily with just O(1) memory.
Suggestion from Andi Kleen.
* src/remove.c (is_power_of_two): New function.
(print_nth_dir, make_active_dir_ent): Remove functions.
(hash_active_dir_ent, hash_compare_active_dir_ents): Likewise.
(remove_dir): Check for cycles here, ...
(rm): ... and don't check for cycles here.
* src/remove.c (rm): Call fspec_get_full_mode here, rather than
fspec_get_filetype_mode. We want to get the dev/ino earlier, and
at the same time as when we get the file type, to avoid the risk
that an attacker would change e.g. a directory to a symlink before
we record its dev/ino.
* configure.ac (AC_CONFIG_FILES): Remove intl/Makefile.
(AM_GNU_GETTEXT): Add external arg.
* intl/: Remove directory.
* Makefile.am (SUBDIRS): Remove intl.
(DISTCLEANFILES): Remove definition.
* src/sys2.h: Remove ENABLE_NLS-related code.
(_, N_) Remove definitions.
Include "gettext.h" instead.
* src/Makefile.am (INCLUDES): Remove -I../intl.
2002-04-22 Jim Meyering <meyering@lucent.com>
* src/remove.c (rm): Call exit with EXIT_FAILURE, not `1'.
2002-04-19 Jim Meyering <meyering@lucent.com>
* tests/cp/*: Clean up.
* tests/sample-test: Use a temporary directory named
`basename $0`.tmp/$$. Create with mkdir -p.
* tests/cp/backup-1: Use better trap, etc.
* tests/mkdir/p-2: Use better trap.
* tests/mkdir/p-1: Likewise.
* tests/mkdir/concurrent-1: Likewise.
* tests/rm/deep-1: Set $tmp the new way.
* tests/rm/ir-1: Use `rm', not $RM. Use better trap.
* tests/rm/i-1: Likewise.
* tests/rm/f-1: Likewise.
* tests/sample-test: Use automatically-derived name for temporary
directory. This is more 8.3-friendly. Based on a suggestion from
Richard Dawe.
* tests/sample-test: New file.
* tests/Makefile.am (EXTRA_DIST): Add sample-test.
2002-04-17 Jim Meyering <meyering@lucent.com>
* src/touch.c (touch): Don't report errors for nonexistent files
when --no-create is in effect. Based on a patch from TAKAI Kousuke.
* tests/touch/no-create-missing: New file/test for above.
* tests/touch/Makefile.am (TESTS): Add no-create-missing.
2002-04-16 Jim Meyering <meyering@lucent.com>
* src/stat.c: Add copyright comment.
(human_fstype): Rename from print_human_fstype, and rework accordingly.
(print_statfs): Use human_fstype to honor format width on %T.
2002-04-15 Jim Meyering <meyering@lucent.com>
Handle "lld" vs "ld" printf formats the same way Bash does.
* src/stat.c: Include inttypes.h.
(PRIdMAX, PRIuMAX): Define, if not already defined.
(print_statfs): Use those macros, not the literal strings.
(print_stat): Likewise.
Suggestion from Paul Eggert.
* src/stat.c (print_human_fstype): Add missing `break;'
for `case S_MAGIC_MINIX:'.
2002-04-14 Jim Meyering <meyering@lucent.com>
* src/stat.c (statfs_secure): Define.
(print_stat): Remove another #ifdef.
(do_statfs): Likewise.
(print_statfs): Prefer/use fputs over printf.
(print_stat): Likewise.
* src/Makefile.am (bin_PROGRAMS): Add stat.
(noinst_HEADERS): Add fs.h.
* src/stat.c [HAVE_SYS_VFS_H]: Guard incluion of sys/vfs.h.
Constify many parameters.
(print_statfs): Fix typo: Use %u (to match %lu) for namelen, not %d.
(verbose_usage): Remove function. Move contents into usage.
Remove lots of #if directives involving FLASK_LINUX
[!FLASK_LINUX] (is_flask_enabled): Define.
(stat_secure, lstat_secure): Define.
(print_statfs): Remove lots of nested #if directives.
Instead, rely on support fo %llu and %lld printf formats --
but that is only temporary, since it's not porable enough.
(main): Hoist is_flask_enabled test to be done here, rather
than in each of do_stat and do_statfs for every argument.
2002-04-13 Jim Meyering <meyering@lucent.com>
* src/stat.c: Include system.h, error.h, and many other headers.
[HAVE_SYS_SYSMACROS_H]: Guard inclusion of sys/sysmacros.h.
(PROGRAM_NAME, AUTHORS): Define.
(long_options): Declare/define.
(print_human_access): Rewrite to use mode_string.
(usage): Rewrite.
(main): Use getopt_long.
(print_human_type): Call fputs once rather than calling
printf many times.
(print_human_fstype): Revamp in a similar fashion. Don't use strdup.
Declare most functions to be `static'.
2002-04-12 Jim Meyering <meyering@lucent.com>
* src/Makefile.am (LDADD): List ../lib/libfetish.a both before
and after @LIBINTL@. Thanks to Paul Eggert for the fix and to
Bruno Haible for diagnosing the problem.
* src/link.c: Include long-options.h.
[long_opts]: Remove.
(usage): Tweak --help output; use *_OPTION_DESCRIPTION macros.
(main): Don't use getopt directly. Use parse_long_options instead.
Tweak a diagnostic.
Use EXIT_FAILURE rather than a literal `1'.
* src/unlink.c: Likewise.
(main): If POSIXLY_CORRECT is set, don't recognize --help or --version,
so the program can operate on a file with one of those names.
2002-04-11 Jim Meyering <meyering@lucent.com>
New programs link and unlink.
* src/Makefile.am (bin_PROGRAMS): Add link and unlink.
* src/link.c, src/unlink.c: New files, from Debian's fileutils_4.1-10.
Written by Michael Stone.
* man/link.x: New file.
* man/unlink.x: New file.
* man/Makefile.am: Add link and unlink.
2002-04-07 Jim Meyering <meyering@lucent.com>
* tests/install/basic-1: Tweak comments to reflect reality.
* tests/cp/fail-perm: Add VERBOSE=yes support.
* tests/mv/mv-special-1: Fix typo in VERBOSE=yes handling.
Reported by Richard Dawe.
2002-03-30 Jim Meyering <meyering@lucent.com>
* Version 4.1.8.
* tests/mv/i-link-no: Use --reply=no rather than -i.
The latter depends on whether stdin is a tty and hence would
fail in some situations where --reply=no doesn't.
* src/mv.c (do_move): Correct a comment.
* src/copy.c (copy_internal): Move the block that sets `earlier_file'
down to just before the first use of that variable. Otherwise, it was
possible to make mv (and probably cp, too) malfunction when copying
hard-linked files into a directory containing at least one of the
source file names. Call forget_created everywhere thereafter where
this function returns without creating a destination file that might
subsequently be linked. Reported by Iida Yosiaki.
* src/cp-hash.c (forget_created): New function.
* src/cp-hash.h (forget_created): Prototype.
* tests/mv/i-link-no: New test for the above.
Based on an example from Iida Yosiaki.
* tests/mv/Makefile.am (TESTS): Add i-link-no.
2002-03-17 Jim Meyering <meyering@lucent.com>
* src/copy.c (copy_internal) [move_mode]: Give a better diagnostic,
by using errno from the failed unlink, when a cross-device `mv'
fails, e.g., because the destination cannot be unlinked.
Prompted by a report from Karl Berry.
* tests/mv/part-fail: New test for the above.
* tests/mv/Makefile.am (TESTS): Add part-fail.
2002-03-16 Jim Meyering <meyering@lucent.com>
* src/Makefile.am (datadir): Don't override $(datadir)
which might be set by --datadir and different from $(prefix)/share.
Patch from Albert Chin-A-Young.
2002-03-10 Jim Meyering <meyering@lucent.com>
* Version 4.1.7.

View File

@@ -1,3 +1,26 @@
[4.1.11]
* `rm symlink-to-unwritable' doesn't prompt [introduced in 4.1.10]
[4.1.10]
* rm once again gives a reasonable diagnostic when failing to remove a file
owned by someone else in a sticky directory [introduced in 4.1.9]
* df now rounds all quantities up, as per POSIX.
* New ls time style: long-iso, which generates YYYY-MM-DD HH:MM.
* Any time style can be preceded by "posix-"; this causes "ls" to
use traditional timestamp format when in the POSIX locale.
* The default time style is now posix-long-iso instead of posix-iso.
Set TIME_STYLE="posix-iso" to revert to the behavior of 4.1.1 thru 4.1.9.
* `rm dangling-symlink' doesn't prompt [introduced in 4.1.9]
* stat: remove support for --secure/-s option and related %S and %C format specs
* stat: rename --link/-l to --dereference/-L.
The old options will continue to work for a while.
[4.1.9]
* rm can now remove very deep hierarchies, in spite of any limit on stack size
* new programs: link, unlink, and stat
* New ls option: --author (for the Hurd).
* `touch -c no-such-file' no longer fails, per POSIX
[4.1.8]
* mv no longer mistakenly creates links to preexisting destination files
that aren't moved
[4.1.7]
* rm: close a hole that would allow a running rm process to be subverted
[4.1.6]

View File

@@ -1,8 +1,215 @@
2002-03-10 Jim Meyering <meyering@lucent.com>
2002-07-20 Jim Meyering <meyering@lucent.com>
* Version 2.0.13.
* tests/Makefile.am (TESTS_ENVIRONMENT): Remove now-unused parts
of this definition.
(EXTRA_DIST): Add priv-check.
* tests/priv-check: New file.
* src/Makefile.am (false.c): Convert only the final EXIT_SUCCESS
into EXIT_FAILURE. Otherwise, false --help and false --version
would fail.
* src/true.c (main): Add an explicit `exit (EXIT_SUCCESS);'
for --version, rather than falling through.
* Upgrade to gettext-0.11.3.
* Upgrade to autoconf-2.53b.
2002-07-18 Jim Meyering <meyering@lucent.com>
* src/uname.c (main): Test sysctl(...) >= 0, not == 0, since
on NetBSD the return value may well be positive.
Use one-line aggregate initializations.
Use tightly scoped static buffers to avoid warnings about
unused variables on some systems.
2002-05-07 Paul Eggert <eggert@twinsun.com>
Add support for BSD-style sysctl to get the strings needed for
uname -p and uname -i. Unfortunately the different BSDs vary,
but I've surveyed FreeBSD, NetBSD, and OpenBSD.
* src/uname.c (UNAME_HARDWARE_PLATFORM, UNAME_PROCESSOR): New macros.
(main): Use them, along with sysctl, to support uname -i and uname -p
on BSD hosts.
2002-07-17 Jim Meyering <meyering@lucent.com>
* src/uptime.c (print_uptime): Restore use of (equivalent, but
more readable) `>=' from Bruno's patch.
* configure.ac (jm_BOOT_TIME): Remove. (moved/renamed to m4/boottime.m4)
Use the replacement: GNULIB_BOOT_TIME.
2002-07-13 Bruno Haible <bruno@clisp.org>
* uptime.c: Include sys/sysctl.h.
(print_uptime): Add support for determining the boot time on FreeBSD.
2002-07-15 Jim Meyering <meyering@lucent.com>
* src/uptime.c (print_uptime): Use STREQ in place of !strcmp.
* src/uname.c (main): Remove unnecessary uses of `defined' when
operating on `HAVE_...' symbols. Remove unnecessary parentheses.
2002-07-02 Jim Meyering <meyering@lucent.com>
* src/basename.c, src/chroot.c, src/date.c, src/dirname.c (usage):
Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it.
* src/echo.c, src/env.c, src/expr.c, src/factor.c: Likewise.
* src/hostname.c, src/id.c, src/kill.c, src/logname.c: Likewise.
* src/nice.c, src/pathchk.c, src/pinky.c, src/printenv.c: Likewise.
* src/printf.c, src/pwd.c, src/seq.c, src/sleep.c, src/stty.c: Likewise.
* src/su.c, src/tee.c, src/test.c, src/true.c, src/tty.c: Likewise.
* src/uname.c, src/uptime.c, src/users.c, src/who.c: Likewise.
* src/whoami.c, src/yes.c: Likewise.
* src/Makefile.am (.sh): Also substitute @PACKAGE_BUGREPORT@.
* src/groups.sh (usage): Use @PACKAGE_BUGREPORT@, rather than
hard-coding a deprecated address.
* src/nohup.sh (usage_help): Likewise.
* src/date.c (usage): Mention that the expansions of %p and %P are
empty in many locales. From matthew arnison.
2002-06-22 Jim Meyering <meyering@lucent.com>
* configure.ac: Invoke AC_GNU_SOURCE very early.
2002-05-24 Jim Meyering <meyering@lucent.com>
* tests/nice: Move this file...
* tests/misc/nice: ...to here.
* tests/Makefile.am (TESTS): Remove nice.
* tests/misc/Makefile.am (TESTS): Add nice.
* configure.ac (AC_CONFIG_FILES): Add tests/misc/Makefile.
* src/pathchk.c (validate_path): Compare the result of the function --
not its (constant) address -- against zero.
Patch from Tim J. Robbins <tjr@FreeBSD.ORG>
* tests/misc/pathchk1: New test for the above.
* tests/misc: New directory.
* tests/Makefile.am (SUBDIRS): Add misc.
* tests/misc/Makefile.am: New file.
2002-05-03 Jim Meyering <meyering@lucent.com>
* src/uptime.c (print_uptime): Use ngettext for day/days and user/users.
Suggestion from Karl Eichwalder.
* src/kill.c (usage): Add a little to the description of --list.
Uncapitalize first word and remove period at end of each one line
option description.
* src/who.c (usage): Tweak description of --users.
From Karl Eichwalder.
2002-04-29 Jim Meyering <meyering@lucent.com>
* Version 2.0.12.
* configure.ac (AM_INIT_AUTOMAKE): Specify the required version
Avoid warnings from gcc.
* src/who.c (PIDSTR_DECL_AND_INIT): Cast ut_pid value to int.
(make_id_equals_comment): Cast sizeof expression (used as field
width argument) to `int'.
* configure, config.hin, Makefile.in, etc.: Regenerate using
autoconf-2.53a.
2002-04-28 Jim Meyering <meyering@lucent.com>
* src/who.c: Don't include xalloc.h.
It's already included via system.h.
2002-04-28 Paul Eggert <eggert@twinsun.com>
* src/kill.c: Rewrite from scratch. Support everything
required by POSIX 1003.1-2001; when this conflicts with Bash,
stick with POSIX. The conflicts are kill -l output format,
and lower case signal names preceded by `-' (e.g., "kill -hup"
is no longer supported). Remove -L or --long-list option.
Add -t or --table option. Rename --sigspec to --signal;
remove --signum and do not advertise obsolescent option -n.
Use str2sig and str2sig to convert between signal names and
numbers.
* doc/coreutils.texi (kill invocation): Document the above.
Document POSIX signals better.
* lib/sig2str.h, lib/sig2str.c: New files.
* configure.ac (AC_CHECK_DECLS): Add str2signal, strtoimax,
sys_siglist, _sys_siglist.
* lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
* m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
(jm_PREREQ_SIG2STR): New macro.
2002-04-28 Jim Meyering <meyering@lucent.com>
* src/test.c (test_syntax_error): Add `const' to paramater
declarations to avoid new warning from gcc.
(integer_expected_error): Likewise.
2002-04-25 Jim Meyering <meyering@lucent.com>
* configure.ac (AM_GNU_GETTEXT): Add external arg.
(AC_CONFIG_FILES): Remove intl/Makefile.
* Makefile.am (SUBDIRS): Remove intl.
* src/Makefile.am (INCLUDES): Remove -I../intl.
2002-04-16 Jim Meyering <meyering@lucent.com>
* src/who.c (BOOT_TIME): Define.
(NEW_TIME): Define to 0, not INT_MAX.
(UT_PID, UT_ID, UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
Replace literal uses of ut_pid, ut_id, and ut_exit members with
uses through macros.
(make_id_equals_comment): New function, factored out of three others.
(UT_TYPE_UNDEF, UT_TYPE, IS_USER_PROCESS): Define.
(print_line): Use "%-8.8s" for the format: the user name is not
always NUL terminated.
(scan_entries) [need_users]: Use IS_USER_PROCESS, so that this works
even on systems without ut_type.
2002-04-15 Jim Meyering <meyering@lucent.com>
* src/who.c: Include xalloc.h.
Use xmalloc everywhere, not malloc.
2002-04-12 Jim Meyering <meyering@lucent.com>
* src/Makefile.am (LDADD): List ../lib/libfetish.a both before
and after @LIBINTL@. Thanks to Paul Eggert for the fix and to
Bruno Haible for diagnosing the problem.
2002-02-26 Paul Eggert <eggert@twinsun.com>
* src/test.c (age_of): Return -1 and 0 rather than 0 and 1.
Might as well keep it simple, and like bash.
(binary_operator): Fix bug with -nt and -ot, when one of the
files did not exist. We want to be compatible with the ksh93
documentation, and with Bash.
2002-03-17 Jim Meyering <meyering@lucent.com>
* src/seq.c (usage): Mention that --format=FORMAT must be
a *floating-point* format, also in description of that option.
Reported by Karl Eichwalder.
(usage): Also add the `=' signs here: --format=FORMAT,
--separator=STRING.
2002-03-16 Jim Meyering <meyering@lucent.com>
* src/Makefile.am (datadir): Don't override $(datadir)
which might be set by --datadir and different from $(prefix)/share.
Patch from Albert Chin-A-Young.
2002-03-10 Jim Meyering <meyering@lucent.com>
* configure.ac (AM_INIT_AUTOMAKE): Specify here the required version
of automake (1.6), and options (gnits dist-bzip2), rather than...
* Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition.
@@ -333,7 +540,7 @@
2001-08-19 Jim Meyering <meyering@lucent.com>
* src/Makefile.am (bin_PROGRAMS): Add kill.
* src/kill.c: New file.
* src/kill.c: New program. Written by Marcus Brinkmann.
2001-08-19 Jim Meyering <meyering@lucent.com>
@@ -498,10 +705,6 @@
(main): Handle new options.
Mostly from Michael Stone.
FIXME (remove this, later): This probably doesn't compile on any
type of system except Linux, due to the unprotected uses of e.g.,
utmp_ent->ut_exit.e_termination.
2001-05-11 Paul Eggert <eggert@twinsun.com>
dirname code cleanup. base_name now behaves more compatibly

View File

@@ -1,5 +1,13 @@
Changes in release 2.1
[2.0.13]
* pathchk now exits nonzero for a path with a directory component
that specifies a non-directory
[2.0.12]
* kill: new program
* who accepts new options: --all (-a), --boot (-b), --dead (-d), --login,
--process (-p), --runlevel (-r), --short (-s), --time (-t), --users (-u).
The -u option now produces POSIX-specified results and is the same as
the long option `--users'. --idle is no longer the same as -u.
* The following changes apply on systems conforming to POSIX 1003.1-2001,
and are required by the new POSIX standard:
- `date -I' is no longer supported. Instead, use `date --iso-8601'.
@@ -19,6 +27,7 @@ Changes in release 2.1
opposite sides of a daylight savings time transition.
This problem arose only with relative date strings like `last monday'.
It was not a problem with strings that include absolute dates.
* factor is twice as fast, for large numbers
[2.0.11]
* setting the date now works properly, even when using -u
* `date -f - < /dev/null' no longer dumps core

View File

@@ -1,7 +1,132 @@
2002-03-10 Jim Meyering <meyering@lucent.com>
2002-07-20 Jim Meyering <meyering@lucent.com>
* Version 2.0.22.
* Upgrade to cvs automake -- required to work with 2.53b.
* configure.ac: Require automake-1.6a.
* Upgrade to gettext-0.11.3.
* Upgrade to autoconf-2.53b.
2002-07-02 Jim Meyering <meyering@lucent.com>
* src/cat.c, src/cksum.c, src/comm.c, src/csplit.c, src/cut.c (usage):
Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it.
* src/expand.c, src/fmt.c, src/fold.c, src/head.c, src/join.c: Likewise.
* src/md5sum.c, src/nl.c, src/od.c, src/paste.c, src/pr.c: Likewise.
* src/sort.c, src/split.c, src/sum.c, src/tac.c, src/tail.c: Likewise.
* src/tr.c, src/tsort.c, src/unexpand.c, src/uniq.c, src/wc.c: Likewise.
2002-06-22 Jim Meyering <meyering@lucent.com>
* configure.ac: Invoke AC_GNU_SOURCE very early.
2002-06-15 Jim Meyering <meyering@lucent.com>
* src/cksum.c: Include <sys/types.h> before system.h.
2002-05-22 Jim Meyering <meyering@lucent.com>
* src/od.c [struct dummy]: Renamed. Don't rely on portability of
zero-length arrays. Instead, use sizes of -1 or +1.
Reported by Eric Backus.
2002-05-14 Jim Meyering <meyering@lucent.com>
`od -t f8' didn't work.
This bug was introduced with my change of 2000-10-22 (textutils-2.0.8).
* src/od.c (ulonglong_t): Move declaration to precede new use.
[enum size_spec] (N_SIZE_SPECS): New member.
(width_bytes): Add initializer corresponding to ulonglong_t type.
(struct assert_width_bytes_matches_size_spec_decl): Declare.
Based on a patch from Tony Kocurko.
2002-04-29 Paul Eggert <eggert@twinsun.com>
Use ENABLE_NLS only for gettext-related stuff, not also for
setlocale-related stuff. From a patch suggested by Bruno
Haible.
Since setlocale is now almost universal, this patch also
removes some of the optimizations that clutter up the code and
which don't help all that much even on hosts that lack
setlocale.
* lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
* m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
Do not check for alloca.h (no longer used) or stdbool.h (was never
used?). Add AM_C_PROTOTYPES since hard-locale.h uses it.
* src/sys2.h (HAVE_SETLOCALE): Define to 0 if not defined.
* src/comm.c (compare_files): Replace #ifdef ENABLE_NLS
with if (HAVE_SETLOCALE).
* src/join.c (keycmp): Likewise.
* src/sort.c (keycompare, compare): Likewise.
* src/comm.c (hard_LC_COLLATE): Define even if ! ENABLE_NLS.
* src/join.c (hard_LC_COLLATE): Likewise.
* src/sort.c (hard_LC_COLLATE): Likewise.
* src/comm.c (main): Always initialize hard_LC_COLLATE.
Put initialization next to other locale-related stuff.
* src/join.c (main): Likewise.
* src/sort.c (main): Likewise.
* src/sort.c: Include <langinfo.h> even if ! ENABLE_NLS.
(decimal_point, th_sep): Depend on HAVE_SETLOCALE, not ENABLE_NLS.
(main): Likewise.
(MONTHTAB_CONST): Remove; all uses removed.
(struct_month_cmp, inittables): Do not depend on ENABLE_NLS.
(main): hard_LC_TIME locale does not depend on ENABLE_NLS.
2002-04-29 Jim Meyering <meyering@lucent.com>
* src/tail.c (parse_obsolescent_option): Do not limit the maximum
line/byte count (when specified via obsolete option syntax) to be
less than ULONG_MAX on systems where OFF_T_MAX is larger.
2002-04-28 Paul Eggert <eggert@twinsun.com>
* src/tail.c (tail_forever): Do not treat
max_n_unchanged_stats_between_opens specially (as if it were
infinite) if it has its maximal value. Similarly for
max_n_consecutive_size_changes_between_opens.
2002-04-28 Jim Meyering <meyering@lucent.com>
Avoid new warnings from gcc.
* src/pr.c [struct COLUMN] <name>: Declare member to be const.
(init_fps): Declare local variable `firstname' to be const.
2002-04-25 Jim Meyering <meyering@lucent.com>
* src/wc.c (usage): Adjust ordering to match that of default output.
Suggestion from Gaute Hvoslef Kvalnes.
* configure.ac (AM_GNU_GETTEXT): Add external arg.
(AC_CONFIG_FILES): Remove intl/Makefile.
* Makefile.am (SUBDIRS): Remove intl.
* src/Makefile.am (INCLUDES): Remove -I../intl.
2002-04-15 Jim Meyering <meyering@lucent.com>
* src/tr.c (usage): Give a verbose description of --squeeze-repeats,
including the mention of SET1. Reported by Dan Jacobson.
2002-04-12 Jim Meyering <meyering@lucent.com>
* src/Makefile.am (LDADD): List ../lib/libfetish.a both before
and after @LIBINTL@. Thanks to Paul Eggert for the fix and to
Bruno Haible for diagnosing the problem.
2002-03-16 Jim Meyering <meyering@lucent.com>
* src/Makefile.am (datadir): Don't override $(datadir)
which might be set by --datadir and different from $(prefix)/share.
Patch from Albert Chin-A-Young.
2002-03-10 Jim Meyering <meyering@lucent.com>
* configure.ac (AM_INIT_AUTOMAKE): Specify the required version
of automake (1.6), and options (gnits dist-bzip2), rather than...
* Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition.
@@ -17,7 +142,7 @@
2002-02-23 Paul Eggert <eggert@twinsun.com>
* src/cat.c (simple_cat, cat, main): Used char * rather than
* src/cat.c (simple_cat, cat, main): Use char * rather than
unsigned char *, to avoid some technical violations of the C
standard, and to avoid the need for casts. I guess the
unsigned char * was probably there for improved performance

View File

@@ -1,4 +1,8 @@
Changes in release 2.1
[2.0.22]
* `od -t f8' works once again [bug introduced in textutils-2.0.8]
* various portability fixes, and general clean-up
* various minor, corner-case bug fixes
[2.0.21]
* split accepts new option -a or --suffix-length.
* split no longer generates longer suffixes than requested; instead, it reports

View File

@@ -58,19 +58,14 @@ CATALOGS = @CATALOGS@
.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update
.po.mo:
$(MSGFMT) -c -o t-$@ $<
mv t-$@ $@
gmsgfmt_cmd = \
rm -f $${lang}.gmo \
&& $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po \
&& mv t-$${lang}.gmo $${lang}.gmo
@echo "$(MSGFMT) -c -o $@ $<"; \
$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
.po.gmo:
@lang=`echo $* | sed -e 's,.*/,,'`; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$(gmsgfmt_cmd)"; \
cd $(srcdir) && $(gmsgfmt_cmd)
echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
.sin.sed:
sed -e '/^#/d' $< > t-$@
@@ -310,7 +305,7 @@ $(DUMMYPOFILES):
update-gmo: Makefile $(GMOFILES)
@:
Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in
Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in LINGUAS
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
$(SHELL) ./config.status

113
po/POTFILES.in Normal file
View File

@@ -0,0 +1,113 @@
# List of files which contain translatable strings.
# Copyright (C) 1996-2002 Free Software Foundation, Inc.
# These are nominally temporary...
lib/argmatch.c
lib/c-stack.c
lib/closeout.c
lib/error.c
lib/file-type.c
lib/getopt.c
lib/human.c
lib/long-options.c
lib/makepath.c
lib/obstack.c
lib/quotearg.c
lib/rpmatch.c
lib/same.c
lib/unicodeio.c
lib/userspec.c
lib/version-etc.c
lib/xmalloc.c
lib/xmemcoll.c
# Package source files
src/basename.c
src/cat.c
src/chgrp.c
src/chmod.c
src/chown-core.c
src/chown.c
src/chroot.c
src/cksum.c
src/comm.c
src/copy.c
src/cp.c
src/csplit.c
src/cut.c
src/date.c
src/dd.c
src/df.c
src/dircolors.c
src/dirname.c
src/du.c
src/echo.c
src/env.c
src/expand.c
src/expr.c
src/factor.c
src/false.c
src/fmt.c
src/fold.c
src/head.c
src/hostid.c
src/hostname.c
src/id.c
src/install.c
src/join.c
src/kill.c
src/link.c
src/ln.c
src/logname.c
src/ls.c
src/md5sum.c
src/mkdir.c
src/mkfifo.c
src/mknod.c
src/mv.c
src/nice.c
src/nl.c
src/od.c
src/paste.c
src/pathchk.c
src/pinky.c
src/pr.c
src/printenv.c
src/printf.c
src/ptx.c
src/pwd.c
src/remove.c
src/rm.c
src/rmdir.c
src/seq.c
src/shred.c
src/sleep.c
src/sort.c
src/split.c
src/stat.c
src/stty.c
src/su.c
src/sum.c
src/sync.c
src/sys2.h
src/tac-pipe.c
src/tac.c
src/tail.c
src/tee.c
src/test.c
src/touch.c
src/tr.c
src/true.c
src/tsort.c
src/tty.c
src/uname.c
src/unexpand.c
src/uniq.c
src/unlink.c
src/uptime.c
src/users.c
src/wc.c
src/who.c
src/whoami.c
src/yes.c

102
src/.cvsignore Normal file
View File

@@ -0,0 +1,102 @@
.deps
.version
Makefile
basename
cat
chgrp
chmod
chown
chroot
cksum
comm
cp
csplit
cut
date
dcgen
dd
df
dir
dir.c
dircolors
dircolors.h
dirname
du
echo
env
expand
expr
factor
false
false.c
fmt
fold
ginstall
groups
head
hostid
hostname
id
install
join
kill
link
ln
logname
ls
md5sum
mkdir
mkfifo
mknod
mv
mvdir
nice
nl
nohup
od
paste
pathchk
pinky
pr
printenv
printf
ptx
pwd
rm
rmdir
seq
sha1sum
shred
sleep
sort
split
stamp-v
stat
stty
su
sum
sync
tac
tail
tee
test
touch
tr
true
tsort
tty
uname
unexpand
uniq
unlink
uptime
users
vdir
vdir.c
version.c
wc
wheel-size.h
wheel.h
who
whoami
yes

178
src/Makefile.am Normal file
View File

@@ -0,0 +1,178 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
AUTOMAKE_OPTIONS = ansi2knr
EXTRA_PROGRAMS = chroot df hostid nice pinky stty su uname uptime users who
EXTRA_SCRIPTS = nohup
bin_SCRIPTS = groups @OPTIONAL_BIN_ZCRIPTS@
bin_PROGRAMS = chgrp chown chmod cp dd dircolors du \
ginstall link ln dir vdir ls mkdir \
mkfifo mknod mv rm rmdir shred stat sync touch unlink \
cat cksum comm csplit cut expand fmt fold head join md5sum \
nl od paste pr ptx sha1sum sort split sum tac tail tr tsort unexpand uniq wc \
basename date dirname echo env expr factor false \
hostname id kill logname pathchk printenv printf pwd seq sleep tee \
test true tty whoami yes \
@OPTIONAL_BIN_PROGS@ @DF_PROG@
localedir = $(datadir)/locale
noinst_HEADERS = \
system.h sys2.h checksum.h copy.h cp-hash.h ls.h dircolors.h remove.h \
chown-core.h fs.h \
wheel.h wheel-size.h
EXTRA_DIST = dcgen dircolors.hin tac-pipe.c \
groups.sh nohup.sh wheel-gen.pl
CLEANFILES = $(SCRIPTS) su
INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/lib -I../lib
DEFS = -DLOCALEDIR=\"$(localedir)\" -DSHAREDIR=\"$(datadir)\" @DEFS@
# Sometimes, the expansion of @LIBINTL@ includes -lc which may
# include modules defining variables like `optind', so libfetish.a
# must precede @LIBINTL@ in order to ensure we use GNU getopt.
# But libfetish.a must also follow @LIBINTL@, since libintl uses
# replacement functions defined in libfetish.a.
LDADD = ../lib/libfetish.a @LIBINTL@ ../lib/libfetish.a
dir_LDADD = $(LDADD) @LIB_CLOCK_GETTIME@
ls_LDADD = $(LDADD) @LIB_CLOCK_GETTIME@
shred_LDADD = $(LDADD) @LIB_CLOCK_GETTIME@
vdir_LDADD = $(LDADD) @LIB_CLOCK_GETTIME@
## If necessary, add -lm to resolve use of pow in lib/strtod.c.
sort_LDADD = $(LDADD) @POW_LIB@
# for clock_gettime
date_LDADD = $(LDADD) @LIB_CLOCK_GETTIME@
# For sqrt
factor_LDADD = $(LDADD) @SQRT_LIBM@
# If necessary, add -lm to resolve use of pow in lib/strtod.c.
# If necessary, add -liconv to resolve use of iconv in lib/unicodeio.c.
printf_LDADD = $(LDADD) @POW_LIB@ @LIBICONV@
# If necessary, add -lm to resolve use of floor, rint, modf.
seq_LDADD = $(LDADD) @SEQ_LIBM@
# If necessary, add -lm to resolve the `pow' reference in lib/strtod.c
# or for the fesetround reference in sleep.c.
sleep_LDADD = $(LDADD) @FESETROUND_LIBM@ @POW_LIB@ \
@LIB_CLOCK_GETTIME@ @LIB_NANOSLEEP@
uptime_LDADD = $(LDADD) @GETLOADAVG_LIBS@
su_LDADD = $(LDADD) @LIB_CRYPT@
$(PROGRAMS): ../lib/libfetish.a
$(SCRIPTS): Makefile
SUFFIXES = .sh
.sh:
rm -f $@ $@-t
sed \
-e 's!@''bindir''@!$(bindir)!' \
-e 's/@''GNU_PACKAGE''@/@GNU_PACKAGE@/' \
-e 's/@''PACKAGE_BUGREPORT''@/@PACKAGE_BUGREPORT@/' \
-e 's/@''VERSION''@/@VERSION@/' $< > $@-t
chmod +x $@-t
mv $@-t $@
all-local: su
installed_su = $(DESTDIR)$(bindir)/`echo su|sed '$(transform)'`
setuid_root_mode = a=rx,u+s
INSTALL_SU = \
p=su; \
echo " $(INSTALL_PROGRAM) $$p $(installed_su)"; \
$(INSTALL_PROGRAM) $$p $(installed_su); \
echo " chown root $(installed_su)"; \
chown root $(installed_su); \
echo " chmod $(setuid_root_mode) $(installed_su)"; \
chmod $(setuid_root_mode) $(installed_su)
install-root: su
@$(INSTALL_SU)
install-exec-local: su
@TMPFILE=$(DESTDIR)$(bindir)/.su-$$$$; \
rm -f $$TMPFILE; \
echo > $$TMPFILE; \
## See if we can create a setuid root executable in $(bindir).
## If not, then don't even try to install su.
can_create_suid_root_executable=no; \
chown root $$TMPFILE > /dev/null 2>&1 \
&& chmod $(setuid_root_mode) $$TMPFILE > /dev/null 2>&1 \
&& can_create_suid_root_executable=yes; \
rm -f $$TMPFILE; \
if test $$can_create_suid_root_executable = yes; then \
$(INSTALL_SU); \
else \
echo "WARNING: insufficient access; not installing su"; \
echo "NOTE: to install su, run 'make install-root' as root"; \
fi
uninstall-local:
# Remove su only if it's one we installed.
@if grep '@GNU_PACKAGE@' $(installed_su) > /dev/null 2>&1; then \
echo " rm -f $(installed_su)"; \
rm -f $(installed_su); \
else :; fi
# Use `ginstall' in the definition of PROGRAMS and in dependencies to avoid
# confusion with the `install' target. The install rule transforms `ginstall'
# to install before applying any user-specified name transformations.
transform = s/ginstall/install/; @program_transform_name@
ginstall_SOURCES = install.c copy.c cp-hash.c
cp_SOURCES = cp.c copy.c cp-hash.c
dir_SOURCES = ls.c ls-dir.c
vdir_SOURCES = ls.c ls-vdir.c
ls_SOURCES = ls.c ls-ls.c
chown_SOURCES = chown.c chown-core.c
chgrp_SOURCES = chgrp.c chown-core.c
mv_SOURCES = mv.c copy.c cp-hash.c remove.c
rm_SOURCES = rm.c remove.c
md5sum_SOURCES = md5sum.c md5.c
sha1sum_SOURCES = md5sum.c sha1sum.c
PERL = @PERL@
editpl = sed -e 's,@''PERL''@,$(PERL),g'
MAINTAINERCLEANFILES = dircolors.h \
wheel.h wheel-size.h
dircolors.h: dcgen dircolors.hin
$(PERL) -w -- $(srcdir)/dcgen $(srcdir)/dircolors.hin > $@-t
mv $@-t $@
PERL = @PERL@
wheel_size = 5
wheel-size.h: Makefile.am
echo '#define WHEEL_SIZE $(wheel_size)' > $@-t
mv $@-t $@
wheel.h: wheel-gen.pl Makefile.am
$(srcdir)/wheel-gen.pl $(wheel_size) \
> $@-t
mv $@-t $@
BUILT_SOURCES = dircolors.h false.c wheel.h wheel-size.h
false.c: true.c
sed \
-e s/true/false/g \
-e s/success/failure/g \
-e 's/^ exit (EXIT_SUCCESS/ exit (EXIT_FAILURE/g' \
$(srcdir)/true.c > $@-t
mv $@-t $@

View File

@@ -63,7 +63,7 @@ If specified, also remove a trailing SUFFIX.\n\
"), stdout);
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
puts (_("\nReport bugs to <bug-sh-utils@gnu.org>."));
printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
}
exit (status);
}

View File

@@ -121,7 +121,7 @@ With no FILE, or when FILE is -, read standard input.\n\
-B, --binary use binary writes to the console device.\n\n\
"), stdout);
#endif
puts (_("\nReport bugs to <bug-textutils@gnu.org>."));
printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
}
exit (status == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
}

View File

@@ -149,7 +149,7 @@ Change the group membership of each FILE to GROUP.\n\
"), stdout);
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
puts (_("\nReport bugs to <bug-fileutils@gnu.org>."));
printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
}
exit (status);
}

View File

@@ -262,7 +262,7 @@ Change the mode of each FILE to MODE.\n\
Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n\
one or more of the letters rwxXstugo.\n\
"), stdout);
puts (_("\nReport bugs to <bug-fileutils@gnu.org>."));
printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
}
exit (status);
}

View File

@@ -136,7 +136,7 @@ Owner is unchanged if missing. Group is unchanged if missing, but changed\n\
to login group if implied by a `:'. OWNER and GROUP may be numeric as well\n\
as symbolic.\n\
"), stdout);
puts (_("\nReport bugs to <bug-fileutils@gnu.org>."));
printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
}
exit (status);
}

View File

@@ -56,7 +56,7 @@ Run COMMAND with root directory set to NEWROOT.\n\
\n\
If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n\
"), stdout);
puts (_("\nReport bugs to <bug-sh-utils@gnu.org>."));
printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
}
exit (status);
}

View File

@@ -48,6 +48,7 @@
#define AUTHORS "Q. Frank Xia"
#include <stdio.h>
#include <sys/types.h>
#include "system.h"
#if !defined UINT_FAST32_MAX && !defined uint_fast32_t
@@ -116,7 +117,6 @@ main (void)
#else /* !CRCTAB */
# include <getopt.h>
# include <sys/types.h>
# include "closeout.h"
# include "long-options.h"
# include "error.h"
@@ -288,7 +288,7 @@ Print CRC checksum and byte counts of each FILE.\n\
"), stdout);
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
puts (_("\nReport bugs to <bug-textutils@gnu.org>."));
printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
}
exit (status == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
}

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