Compare commits

...

4716 Commits

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(wget-files): Define.
(get-targets, *-local_dir, *-url_prefix): Likewise.
(target, url, local_file): Convenience variables.
($(get-targets)): The factored rule.
2001-05-24 22:07:35 +00:00
Jim Meyering
a3c3e5dc3b Update from master source. 2001-05-24 21:58:56 +00:00
Jim Meyering
bce3cdb26f *** empty log message *** 2001-05-24 21:58:45 +00:00
Jim Meyering
adb94428ac . 2001-05-24 21:55:49 +00:00
Jim Meyering
1b7ca0aeb7 fix typo 2001-05-24 21:31:08 +00:00
Jim Meyering
8025ccf64d *** empty log message *** 2001-05-24 21:30:27 +00:00
Jim Meyering
c52ca035b1 (move-if-change): Define.
(wget-update): Use it in place of mv.
2001-05-24 21:30:14 +00:00
Jim Meyering
7d6896c0d9 *** empty log message *** 2001-05-24 20:10:36 +00:00
Jim Meyering
0473003f8a (wget-update): Have wget write to a temporary file,
and replace the original only if wget succeeds.
Also get ansi2nkr.c.
2001-05-24 20:10:31 +00:00
Jim Meyering
756e2026fc *** empty log message *** 2001-05-24 20:06:25 +00:00
Jim Meyering
38a7b45e0e Use `#if D_TYPE_IN_DIRENT && defined DTTOIF' to
determine whether to enable the DT_INIT definition, not the less
portable `#if defined _DIRENT_HAVE_D_TYPE || defined DTTOIF'.
Reported by Eli Zaretskii.
2001-05-24 20:06:21 +00:00
Jim Meyering
2ccc189bd6 *** empty log message *** 2001-05-24 08:08:00 +00:00
Jim Meyering
774376d731 (ls invocation): Document more clearly what ls does when given no arguments. 2001-05-24 08:07:54 +00:00
Jim Meyering
418c24dd7e *** empty log message *** 2001-05-24 06:12:07 +00:00
Jim Meyering
908a517100 Include "quote.h".
(argmatch_invalid): Remove explicit `' quotes.  Instead, use the
quote function.  Reported by Gran Uddeborg.
2001-05-24 06:12:00 +00:00
Jim Meyering
97606853e8 *** empty log message *** 2001-05-24 06:08:53 +00:00
Jim Meyering
8636b9323e (main): Remove quotes around %s.
The argument is already quoted via the quote function.
2001-05-24 06:08:33 +00:00
Jim Meyering
574916aa9f *** empty log message *** 2001-05-22 06:56:48 +00:00
Jim Meyering
61e7341926 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
now that we use the package-supplied version unconditionally.
(jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
2001-05-22 06:56:43 +00:00
Jim Meyering
b0b1bd5ae2 . 2001-05-21 12:39:35 +00:00
Jim Meyering
d736fb1b2c . 2001-05-21 12:38:25 +00:00
Jim Meyering
4893d6c53b . 2001-05-21 12:37:24 +00:00
Jim Meyering
c025720350 *** empty log message *** 2001-05-21 12:35:40 +00:00
Jim Meyering
ee7bb8de6e *** empty log message *** 2001-05-21 12:35:14 +00:00
Jim Meyering
5bb5ceb5a2 ($(DVIS), $(INFO_DEPS)): Depend on $(EXTRA_DIST).
(DISABLED_constants.texi): New rule -- disabled for now.
2001-05-21 12:34:57 +00:00
Jim Meyering
3cbc678ef0 . 2001-05-21 10:53:11 +00:00
Jim Meyering
6f960a3224 *** empty log message *** 2001-05-21 10:52:36 +00:00
Jim Meyering
1053d6cc80 Change a couple backticks to single quotes to avoid shell syntax errors. 2001-05-21 10:52:02 +00:00
Jim Meyering
0352337f1e . 2001-05-21 07:35:22 +00:00
Jim Meyering
d87fc7bc94 *** empty log message *** 2001-05-21 07:05:42 +00:00
Jim Meyering
ca7fc5d683 Add new --time-style option.
Change --full-time to be equivalent to --time-style=full-iso.
2001-05-21 07:05:37 +00:00
Jim Meyering
e204540061 . 2001-05-21 06:59:27 +00:00
Jim Meyering
692f81b371 *** empty log message *** 2001-05-21 06:46:56 +00:00
Jim Meyering
8e1897a33b (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. 2001-05-21 06:46:52 +00:00
Jim Meyering
2c3988dbca *** empty log message *** 2001-05-21 06:36:43 +00:00
Jim Meyering
760d4e6f3a (dir_name): Compute append_dot using path, not newpath
which is not yet declared.
2001-05-21 06:36:36 +00:00
Jim Meyering
52ba9d8815 *** empty log message *** 2001-05-21 05:49:47 +00:00
Jim Meyering
49d1716c11 (wget-update): depcomp and missing are now in automake's lib/ subdirectory. 2001-05-21 05:49:42 +00:00
Jim Meyering
02095a6616 . 2001-05-20 21:09:06 +00:00
Jim Meyering
1926146ed5 Include "hard-locale.h".
(nstrftime): New decl.
(enum time_style): New enum.
(time_style_args, time_style_types): New constants.
(full_time): Remove.
(long_time_format): Initialize to POSIX defaults.
(TIME_STYLE_OPTION): New constant.
(long_options, decode_switches, usage): Add --time-style support.
(long_time_expected_width): Use nstrftime, not strftime.
(print_long_format): Likewise.
Increase initial size to match new full-iso time style.
2001-05-20 20:44:33 +00:00
Jim Meyering
017ada27dd *** empty log message *** 2001-05-20 20:44:08 +00:00
Jim Meyering
f7b3fa35e6 Unset QUOTING_STYLE and TIME_STYLE. Set TZ.
Adjust to change in full-time format.
Fix typo in failure messages (-a and -m were interchanged).
2001-05-20 20:43:52 +00:00
Jim Meyering
c9277ec2a9 *** empty log message *** 2001-05-20 20:41:32 +00:00
Jim Meyering
8b7078eada (my_strftime):
Define to nstrftime if emacs, but only if my_strftime is not defined.
(extra_args, extra_args_spec, extra_args_spec_iso): Rename from
ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
Add one more extra argument: a nanoseconds value.
All uses changed.
(ns): New macro.
(my_strftime function): Add %N format.
(emacs_strftimeu): Renamed from emacs_strftime,
with extra ut argument.
2001-05-20 20:41:20 +00:00
Jim Meyering
a917db5ab2 (libfetish_a_SOURCES):
Add strftime.c, since we now compile it on all hosts.
2001-05-20 20:39:28 +00:00
Jim Meyering
8033ceb4ae *** empty log message *** 2001-05-20 20:38:29 +00:00
Jim Meyering
79bb16b328 (jm_FUNC_GNU_STRFTIME):
Don't bother to check library strftime, since
we'll be using our own my_strftime function anyway.
Define my_strftime instead of strftime.
2001-05-20 20:38:25 +00:00
Jim Meyering
ee5f88a66f *** empty log message *** 2001-05-20 18:46:20 +00:00
Jim Meyering
b85edfac45 (parse_obsolescent_option): Accept a b suffix. 2001-05-20 18:46:09 +00:00
Jim Meyering
67785d9d82 . 2001-05-20 18:18:17 +00:00
Jim Meyering
4b532bfa2f (EXTRA_DIST): Add constants.texi and doclicense.texi.
(info_TEXINFOS): s/fileutils/omni-utils/.
(check-texinfo): New rule.
(check): Depend on check-texinfo.
2001-05-20 08:21:05 +00:00
Jim Meyering
175fa8ef06 Make all references to POSIX use @sc{posix}. 2001-05-20 07:24:08 +00:00
Jim Meyering
5f64ac353e . 2001-05-20 07:12:33 +00:00
Jim Meyering
df80cbe561 (uniq invocation): Document the new optional
arguments to the --all-repeated option.
2001-05-20 06:57:37 +00:00
Jim Meyering
c04dab58ad *** empty log message *** 2001-05-20 06:56:32 +00:00
Jim Meyering
62c7564165 Rename new option values: s/all/precede/ and s/minimum/separate/. 2001-05-20 06:56:24 +00:00
Jim Meyering
f251729f7a *** empty log message *** 2001-05-20 06:55:06 +00:00
Jim Meyering
c08d959056 reflect option value renamings 2001-05-20 06:54:05 +00:00
Jim Meyering
1f0fb076ba . 2001-05-19 10:35:01 +00:00
Jim Meyering
352912e2b2 *** empty log message *** 2001-05-19 09:33:08 +00:00
Jim Meyering
43624d4052 (delimit_method_map): Remove trailing comma. 2001-05-19 08:45:13 +00:00
Jim Meyering
43614bef5f *** empty log message *** 2001-05-19 08:44:04 +00:00
Jim Meyering
cfb5f2d82a Test new, --all-repeated options. 2001-05-19 08:43:57 +00:00
Jim Meyering
85601384c9 *** empty log message *** 2001-05-19 07:58:17 +00:00
Jim Meyering
16b0a807af Support new modes for uniq's --all-repeated option.
The default behavior is unchanged.

Include argmatch.h.
(usage): Update.
(check_file): Implement it.
(main): Handle new, optional arguments.
Patch by Padraig Brady.
2001-05-19 07:55:43 +00:00
Jim Meyering
22732cd352 s/GNU text/GNU command line/ ... utilities. 2001-05-19 07:09:30 +00:00
Jim Meyering
12fb893bba s/was/were/ 2001-05-19 06:14:26 +00:00
Jim Meyering
025550c34d *** empty log message *** 2001-05-19 05:58:18 +00:00
Jim Meyering
04c04ad4e9 Change a few uses of timezone' to time zone'. 2001-05-19 05:57:50 +00:00
Jim Meyering
c397b531b7 (my-distcheck): Remove work-around kludge and
associated comment, now that automake has ben fixed.
2001-05-16 08:14:19 +00:00
Jim Meyering
7a9eebbc9c *** empty log message *** 2001-05-16 07:33:31 +00:00
Jim Meyering
cd470239ae Use proper quoting so brackets appear in the test program. 2001-05-16 07:33:22 +00:00
Jim Meyering
531822b168 . 2001-05-16 07:30:54 +00:00
Jim Meyering
f1c7411a97 *** empty log message *** 2001-05-15 15:46:59 +00:00
Jim Meyering
786d944b5e (parse_obsolescent_option): Use t_count_lines, not
count_lines, in error message.
2001-05-15 15:45:58 +00:00
Jim Meyering
8f0403a90f *** empty log message *** 2001-05-15 14:02:28 +00:00
Jim Meyering
bd510c7b11 Use proper quoting so brackets appear in the test program. 2001-05-15 14:02:19 +00:00
Jim Meyering
345f20440e *** empty log message *** 2001-05-15 10:11:19 +00:00
Jim Meyering
9e879e9c09 (struct fileinfo.linkmode): Now st_mode.
(print_color_indicator, print_name_with_quoting, print_type_indicator,
length_of_file_name_and_frills):
Use mode_t, not unsigned int, to store modes.
(dired_dump_obstack): Do not assume size fits in 'int'.
(get_link_name): readlink returns ssize_t, not int.
(make_link_path): Store buffer size as size_t, not int.
(print_long_format): Use unsigned long, not unsigned, to print
nlink_t, uid_t, gid_t, major_t, minor_t.
2001-05-15 10:11:15 +00:00
Jim Meyering
3b6ddee01e *** empty log message *** 2001-05-13 18:24:57 +00:00
Jim Meyering
c2fc3f28dd (major_t, minor_t): Define to unsigned int if undefined. 2001-05-13 18:24:44 +00:00
Jim Meyering
f7eab80b3c *** empty log message *** 2001-05-13 18:23:39 +00:00
Jim Meyering
a8219ddccd (main): Check for NODEV device only if NODEV is defined. 2001-05-13 18:23:05 +00:00
Jim Meyering
b8b5b82220 (NODEV): Remove, undoing previous change. 2001-05-13 18:22:54 +00:00
Jim Meyering
8cc6b069b6 *** empty log message *** 2001-05-13 15:29:21 +00:00
Jim Meyering
a5bd412ed0 (dir_name, dir_len): Define to different names
to avoid shadowing warnings due to new declarations from dirname.h.
2001-05-13 15:29:15 +00:00
Jim Meyering
dad1592217 *** empty log message *** 2001-05-13 15:23:54 +00:00
Jim Meyering
2f7d346fb1 Add new --dereference-command-line option.
-H now means this instead of meaning --si, as POSIX requires.
2001-05-13 15:23:20 +00:00
Jim Meyering
1650fcd3f7 *** empty log message *** 2001-05-13 15:22:28 +00:00
Jim Meyering
cf3a6f7638 (run_tests): Fail if any test name is longer than 12 bytes. 2001-05-13 15:22:23 +00:00
Jim Meyering
f4456619fa Shorten test names so the length of a resulting file name doesn't exceed 14. 2001-05-13 15:21:50 +00:00
Jim Meyering
b1cb63869d Rename slink-dir test to slink-dir-dF. Add new tests
slink-dir-F, slink-dir-dFH, slink-dir-dFL.
2001-05-13 15:14:20 +00:00
Jim Meyering
8bd003b434 (enum Dereference_symlink): New type.
(dereference): New var, replacing trace_links, which was removed.
(long_options, main, decode_switches, gobble_file, usage):
Implement the changes.
2001-05-13 15:14:00 +00:00
Jim Meyering
331635b016 *** empty log message *** 2001-05-13 10:21:25 +00:00
Jim Meyering
271a090daa (NODEV): New macro, if not already defined. 2001-05-13 10:21:08 +00:00
Jim Meyering
9426be56f5 (main): Check for overflow when converting out of uintmax_t.
Do not assume that major_t and minor_t are no wider than int.
Check for makedev failures.  Convert device numbers via uintmax_t, not
unsigned long, just in case.  Coalesce duplicate code in the block and
character device cases.
2001-05-13 10:20:36 +00:00
Jim Meyering
ed582f5612 . 2001-05-12 20:55:19 +00:00
Jim Meyering
e364b0d6b8 *** empty log message *** 2001-05-12 16:06:36 +00:00
Jim Meyering
2227cb6a07 Include "dirname.h".
(base_name): Remove decl; now in dirname.h.
2001-05-12 16:05:51 +00:00
Jim Meyering
04a872f0d3 Include "dirname.h".
(base_name, strip_trailing_slashes): Remove decls; now in dirname.h.
(main): Use base_len instead of strip_trailing_slashes to strip
trailing slashes.
2001-05-12 16:05:12 +00:00
Jim Meyering
992b068bd2 (strip_trailing_slashes): Remove decl; now in dirname.h.
(main): Use dir_len rather than dir_name_r.
2001-05-12 16:03:19 +00:00
Jim Meyering
d8535172f6 *** empty log message *** 2001-05-12 15:50:50 +00:00
Jim Meyering
b6678c419b (ISSLASH): Remove; now in dirname.h.
(strip_trailing_slashes): Return nonzero if
a slash was stripped.  Do not strip the last slash after a
file system prefix.
2001-05-12 15:50:27 +00:00
Jim Meyering
8989b5b65c (base_name): Remove; now in dirname.h.
(STREQ): Remove.
(same_name): Handle the case where the basename ends in trailing '/'.
2001-05-12 15:48:00 +00:00
Jim Meyering
dbe66b162b (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN): New macros.
(base_name, base_len, dir_len, strip_trailing_slashes): New decls.
2001-05-12 15:46:36 +00:00
Jim Meyering
f6e82b7dea (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH): Remove; now in dirname.h.
(path_concat): Use base_len to compute
base length, not strlen; this means we cannot rely on memcpy
to null-terminate.
2001-05-12 15:45:43 +00:00
Jim Meyering
1450c855b6 Use "", not <> to include non-system header files. 2001-05-12 15:41:11 +00:00
Jim Meyering
3c9e00c4fd Use "", not <> to include non-system header files. 2001-05-12 15:40:47 +00:00
Jim Meyering
e149a84b32 Use "", not <> to include dirname.h. 2001-05-12 15:39:45 +00:00
Jim Meyering
521f5344c8 (FILESYSTEM_PREFIX_LEN, ISSLASH): Remove; now in dirname.h.
Include <string.h> instead of <stdlib.h>.
Do not include <assert.h>; no longer needed.
Include xalloc.h.
(memrchr): Remove decl.
(dir_name_r): Remove.
(dir_len): Renamed from dirlen.  All callers changed.
Rewrite in terms of base_name, for simplicity and consistency.
(dir_name): Never return NULL.  All callers changed.
Do not include <stdlib.h> in test program; no longer needed.
return 0; is fine for test program.
2001-05-12 15:38:00 +00:00
Jim Meyering
4b8000742f (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Remove; now in dirname.h.
Do not include <stdio.h>, <assert.h>; no longer needed.
Include <string.h>, <dirname.h>.
(base_name): Allow file names ending in slashes, other than names
that are all slashes.  In this case, return the basename followed
by the slashes.  This is more general, and can be used in places
where the original base_name purposely had an assertion failure.
(base_len): New function.
2001-05-12 14:23:49 +00:00
Jim Meyering
9ce2d23774 (base_name): Remove; now in dirname.h.
Include <dirname.h> after size_t is defined.
(find_backup_file_name, max_backup_version): Use base_len instead of
rolling it ourselves.
Handle the case of "" and (on DOS) "C:" correctly.
2001-05-12 14:20:43 +00:00
Jim Meyering
d45e530c21 (ISSLASH, base_name): Remove; now in dirname.h.
Include <dirname.h> after size_t is defined.

(addext): Use base_len to trim redundant
trailing slashes instead of doing it ourselves.
But do not trim the last slash if it is not redundant.
2001-05-12 14:13:36 +00:00
Jim Meyering
1fecbd7863 Include dirname.h.
(strip_trailing_slashes): Remove decl; now in dirname.h.
2001-05-12 10:05:42 +00:00
Jim Meyering
bef1bc6137 Include dirname.h.
(strip_trailing_slashes): Remove decl; now in dirname.h.
2001-05-12 10:05:15 +00:00
Jim Meyering
daa8b2b1a3 . 2001-05-12 10:04:13 +00:00
Jim Meyering
37f9f5ed29 *** empty log message *** 2001-05-12 10:03:16 +00:00
Jim Meyering
b4c2f799ec (strip_trailing_slashes): Likewise.
(find_mount_point): No need to strip trailing
slashes before invoking new dir_name.
2001-05-12 10:03:07 +00:00
Jim Meyering
98e643ab3b (strip_trailing_slashes): Remove; now in dirname.h.
(make_path_private): Use dir_len instead of
dir_name, and avoid an extra mealloc call.
2001-05-12 10:00:52 +00:00
Jim Meyering
b2604c5d12 (copy_internal): Remove the code that tested for NULL
dir_name return value.  That can't happen.
2001-05-12 09:58:03 +00:00
Jim Meyering
b489ba12d8 Include "dirname.h".
(strip_trailing_slashes_2): Remove; now done by
strip_trailing_slashes.  All callers changed.
2001-05-12 09:54:19 +00:00
Jim Meyering
966d1cd6e6 (base_name): Remove decl; now in dirname.h. 2001-05-12 09:53:45 +00:00
Jim Meyering
99fa315bf8 Include dirname.h, to get base_name 2001-05-12 09:52:56 +00:00
Jim Meyering
7ed10357bc include dirname.h. 2001-05-12 09:51:59 +00:00
Jim Meyering
4a94a06aa6 (strip_trailing_slashes): Remove declaration; now in dirname.h. 2001-05-12 09:51:23 +00:00
Jim Meyering
c29cb48a98 Wording changes related to -o, -n, and -g. 2001-05-12 08:44:31 +00:00
Jim Meyering
2034cba6f7 (usage): Minor wording changes related to -o, -n, and -g.
From Paul Eggert.
2001-05-12 08:23:23 +00:00
Jim Meyering
8e3f835a46 *** empty log message *** 2001-05-12 08:10:33 +00:00
Jim Meyering
b338208678 *** empty log message *** 2001-05-12 08:04:52 +00:00
Jim Meyering
ba94ef5b1b (mode_changed, change_file_mode):
There's no need to invoke both lstat and stat here, so call just
one of the two functions.
2001-05-12 08:04:44 +00:00
Jim Meyering
1af93e3d71 . 2001-05-11 14:06:22 +00:00
Jim Meyering
5848516f26 (shred invocation): Warn about backups and mirrors. 2001-05-11 11:23:37 +00:00
Jim Meyering
a46bcc4636 (usage): Warn about backups and mirrors. 2001-05-11 11:23:24 +00:00
Jim Meyering
e8256c3c7c s/POSIX/posix/ 2001-05-11 10:38:56 +00:00
Jim Meyering
22f4434076 remove trailing spaces 2001-05-11 10:38:23 +00:00
Jim Meyering
500f90eab5 fix typo: missing `r}' in this line:
@itemx --temporary-directory=@var{tempdir}
2001-05-11 10:38:13 +00:00
Jim Meyering
902a2a5d7a shift off the leading `_' 2001-05-11 09:14:22 +00:00
Jim Meyering
677cb6c6a9 Factor out the root-only test into this ...
Source ../root-only instead.
2001-05-11 09:10:09 +00:00
Jim Meyering
c08bfa1060 *** empty log message *** 2001-05-11 08:19:41 +00:00
Jim Meyering
f49ad025e6 (shred invocation): Warn about backups. From Nelson Beebe. 2001-05-11 08:18:18 +00:00
Jim Meyering
e57fb62f7f add a space after a period
(true invocation): fix a typo
2001-05-11 07:53:44 +00:00
Jim Meyering
0246568205 s/restriction deletion flag
/restricted deletion flag/
2001-05-11 07:36:22 +00:00
Jim Meyering
71477a1aa8 . 2001-05-11 07:22:53 +00:00
Jim Meyering
45cb2385d5 *** empty log message *** 2001-05-10 14:28:42 +00:00
Jim Meyering
dd4aedd1d3 (main): Fix thinko: s/argv[optind]/optarg/. 2001-05-10 14:25:48 +00:00
Jim Meyering
1bb999e519 *** empty log message *** 2001-05-09 09:16:08 +00:00
Jim Meyering
78c7e1f60b (jm_MACROS): Do not check for fseeko; no longer used. 2001-05-09 09:16:03 +00:00
Jim Meyering
30aa344399 *** empty log message *** 2001-05-07 20:21:18 +00:00
Jim Meyering
90ce79ff92 tweak diagnostic 2001-05-05 17:32:40 +00:00
Jim Meyering
b5063eb63b (decode_switches): Complain if the envvar, QUOTING_STYLE,
is set to an invalid value.
Move some declarations of locals into scopes where they're used.
2001-05-05 17:31:45 +00:00
Jim Meyering
e67563e822 *** empty log message *** 2001-05-05 14:29:38 +00:00
Jim Meyering
56a458164e (print_owner): New global variable.
(usage): Update the description of -g.
(decode_switches): Honor the -g option (omit owner information),
now that POSIX specifies it.
(print_long_format): Don't print owner name if -g was specified.
Move declaration of `user_name' into the scope where it's used.
(print_group): Rename global from `inhibit_group'.  Update all
uses accordingly.

(decode_switches): Make -n work just like -l, except
with numeric IDs, per POSIX.  Before, to have any effect, -n had
to be used with -l.  Reported by Dale Scheetz.
(usage): Update the description of -n.
Separate the descriptions of -n and --numeric-uid-gid.
Split string in --help output that had exceeded my limit of 2048 bytes.
2001-05-05 14:29:02 +00:00
Jim Meyering
fb87a6052f *** empty log message *** 2001-05-05 12:54:46 +00:00
Jim Meyering
204c08e9fa (usage): Correct description of -3. 2001-05-05 12:54:37 +00:00
Jim Meyering
69d4a38c4e *** empty log message *** 2001-05-05 12:54:16 +00:00
Jim Meyering
246d5a99d3 Update from master repository. 2001-05-02 09:52:32 +00:00
Jim Meyering
49313f9a74 (tgz-size, xd-size): Compute sizes.
(announcement): Include sizes of .tar.gz and .xdelta files
in the announcement.
2001-05-02 08:09:14 +00:00
Jim Meyering
29e3c2e97f *** empty log message *** 2001-04-29 21:22:52 +00:00
Jim Meyering
e2003b82ff *** empty log message *** 2001-04-29 20:50:48 +00:00
Jim Meyering
047056d4fb *** empty log message *** 2001-04-29 20:49:11 +00:00
Jim Meyering
bbcf9c36cf *** empty log message *** 2001-04-29 11:33:44 +00:00
Jim Meyering
c8de6584bb --help:
downcase bulleted items
remove some periods
2001-04-29 11:22:48 +00:00
Jim Meyering
d463885c24 *** empty log message *** 2001-04-29 08:36:21 +00:00
Jim Meyering
e54944039a *** empty log message *** 2001-04-29 07:02:17 +00:00
Jim Meyering
6b647033ce (usage): Include in --help output the warning about
some of the filesystem types on which shred is not effective.
2001-04-29 07:01:41 +00:00
Jim Meyering
c8576c4f8c (usage): Mention shred. 2001-04-29 07:01:22 +00:00
Jim Meyering
56ee0fa636 Refer to shred.
Remove the example showing how to remove `-foo', since that is now
in the --help output (and hence automatically included).
2001-04-29 07:01:12 +00:00
Jim Meyering
b8926b07cc *** empty log message *** 2001-04-25 12:30:56 +00:00
Jim Meyering
41971a1eaa (my-distcheck): Add a comment. 2001-04-25 12:30:52 +00:00
Jim Meyering
6438d68006 *** empty log message *** 2001-04-25 08:27:16 +00:00
Jim Meyering
1efb4218a7 *** empty log message *** 2001-04-24 07:21:14 +00:00
Jim Meyering
0af0ad2493 *** empty log message *** 2001-04-24 07:16:45 +00:00
Jim Meyering
d2e9866f3c Include wheel-size.h.
(WHEEL_START): Adjust definition.
(wheel_tab[]): Remove body of definition.
Include generated file, wheel.h, instead.
2001-04-24 07:16:28 +00:00
Jim Meyering
23cc993dad . 2001-04-24 07:07:29 +00:00
Jim Meyering
bf0d2aac15 *** empty log message *** 2001-04-23 07:38:44 +00:00
Jim Meyering
cc3ea7c99f (dd_copy): When using sync with either block or unblock,
pad with spaces.
2001-04-23 07:38:33 +00:00
Jim Meyering
2afd912ce5 *** empty log message *** 2001-04-23 07:33:37 +00:00
Jim Meyering
a8737499b5 (block-sync-1): new test, for just-fixed bug 2001-04-23 07:31:17 +00:00
Jim Meyering
5d133efc26 *** empty log message *** 2001-04-22 21:37:36 +00:00
Jim Meyering
fae5972a38 fix typo in comment 2001-04-22 21:35:11 +00:00
Jim Meyering
b17fce4fa4 (decode_switches): Ensure that -1 has no effect when it follows -l. 2001-04-22 21:34:20 +00:00
Jim Meyering
c582df59bf *** empty log message *** 2001-04-22 16:52:23 +00:00
Jim Meyering
4451bd8a9f . 2001-04-22 16:50:47 +00:00
Jim Meyering
493d736f7d fix typo in --help output 2001-04-22 11:44:56 +00:00
Jim Meyering
782f4e9842 *** empty log message *** 2001-04-22 10:14:20 +00:00
Jim Meyering
8fb784af90 *** empty log message *** 2001-04-22 10:12:59 +00:00
Jim Meyering
fa9d5f6445 *** empty log message *** 2001-04-22 10:12:25 +00:00
Jim Meyering
e55708d43c . 2001-04-22 10:09:21 +00:00
Jim Meyering
b628469832 *** empty log message *** 2001-04-22 09:16:14 +00:00
Jim Meyering
e222fda574 (main): Fix off-by-one error introduced with last change. 2001-04-22 09:15:17 +00:00
Jim Meyering
2e1f0f43f0 check -R, too 2001-04-22 09:14:14 +00:00
Jim Meyering
d9a0e2c715 *** empty log message *** 2001-04-22 09:11:08 +00:00
Jim Meyering
7394867950 *** empty log message *** 2001-04-22 09:10:29 +00:00
Jim Meyering
f27f72bd6d *** empty log message *** 2001-04-22 09:08:53 +00:00
Jim Meyering
2fb7f1e3c1 (TESTS): Add no-arg. 2001-04-22 09:08:45 +00:00
Jim Meyering
b9a9796da6 *** empty log message *** 2001-04-22 08:31:40 +00:00
Jim Meyering
519b707b4e Fix bugs when computing length of large files.
Add overflow and write error checks.  Use uint_fast32_t, not
unsigned long, to do checksum calculation, as C99 says
uint_fast32_t should be no slower and might be faster.

Include <stdio.h> and "system.h" even if CRCTAB is defined,
so that the code will compile if CRCTAB is defined.
Include "human.h" if CRCTAB is not defined.
(uint_fast32_t): Define if it appears that stdint.h didn't.
(BIT, remainder, main, crctab): Use uint_fast32_t, not unsigned long,
for checksums.
(fill_r, remainder, main): Use ANSI prototypes.
(fill_r, remainder, main): Omit duplicate code.
(main): Use uintmax_t, not unsigned long, for file lengths.
Use size_t, not long, for result of fread.
Check for overflow when computing file lengths.
Check for write error immediately after printing a line, so that
we don't write to stdout indefinitely after an error.
2001-04-22 08:31:24 +00:00
Jim Meyering
2d0f3f2e74 *** empty log message *** 2001-04-22 07:29:13 +00:00
Jim Meyering
f553273be8 (usage): Mention that sync makes dd pad with spaces (rather than NULs)
when used with block or unblock.
2001-04-22 07:28:58 +00:00
Jim Meyering
096c85ad5f *** empty log message *** 2001-04-22 07:28:11 +00:00
Jim Meyering
1743aa2657 *** empty log message *** 2001-04-21 18:26:19 +00:00
Jim Meyering
24e7d36a6a *** empty log message *** 2001-04-21 17:52:02 +00:00
Jim Meyering
9404b5a3fb Write to a new file, so that a restrictive umask doesn't interfere. 2001-04-21 17:51:46 +00:00
Jim Meyering
f6a99b1551 *** empty log message *** 2001-04-21 14:39:33 +00:00
Jim Meyering
5f8d1a3d0b *** empty log message *** 2001-04-21 14:39:14 +00:00
Jim Meyering
957b608418 *** empty log message *** 2001-04-21 14:36:32 +00:00
Jim Meyering
2fca663e2f Ensure that initial group id's are properly set for d' and d/f3'. 2001-04-21 14:36:20 +00:00
Jim Meyering
8c65bdf194 *** empty log message *** 2001-04-21 14:08:04 +00:00
Jim Meyering
9c52203523 Check for chsize.
Link with ftruncate.o unconditionally if ftruncate is missing.
This was required when cross-compiling to i586-mingw32msvc.
2001-04-21 14:08:00 +00:00
Jim Meyering
7f9d95c41d . 2001-04-21 10:22:34 +00:00
Jim Meyering
9074a69e21 *** empty log message *** 2001-04-21 10:04:15 +00:00
Jim Meyering
2768c3dfc4 *** empty log message *** 2001-04-21 10:01:29 +00:00
Jim Meyering
500ac13ddf *** empty log message *** 2001-04-21 09:49:09 +00:00
Jim Meyering
e1e14bdb38 (main): When given two or more arguments but the only one
that exists is a directory, don't treat it as if it were the only
argument.  Before, `mkdir d; ls no-dir d 2>/dev/null' would act like
`ls d' and produce no output.  Now, it prints `d:'.
2001-04-21 09:47:39 +00:00
Jim Meyering
9ea67a3c6f *** empty log message *** 2001-04-21 08:45:20 +00:00
Jim Meyering
30b3f9a1c1 tests for latest fix 2001-04-21 08:41:38 +00:00
Jim Meyering
48456d1d61 *** empty log message *** 2001-04-20 17:33:48 +00:00
Jim Meyering
45c6397848 (false invocation): Describe how --help and
--version are treated with and without POSIXLY_CORRECT.
(true invocation): Likewise.
2001-04-20 17:33:43 +00:00
Jim Meyering
50d41186a4 *** empty log message *** 2001-04-15 05:58:42 +00:00
Jim Meyering
4b9aaf267e (default_sort_size): Leave a 1/16 margin for RSS. 2001-04-15 05:58:33 +00:00
Jim Meyering
9d3cbe12bd *** empty log message *** 2001-04-14 06:43:30 +00:00
Jim Meyering
868e467701 (usage): Tweak --help output: s/line,/newline,/ 2001-04-14 06:43:24 +00:00
Jim Meyering
dfbabfe758 *** empty log message *** 2001-04-13 20:33:37 +00:00
Jim Meyering
21049673a0 (main): Add a comment justifying the use of
`multi-character' rather than `multibyte' in a diagnostic.
2001-04-13 20:33:32 +00:00
Jim Meyering
3de0ead1ef *** empty log message *** 2001-04-13 07:16:35 +00:00
Jim Meyering
66b1f79fb0 (RLIMIT_AS): Do not define; just use conditional
code, since RLIMIT_RSS is similar (and is not standardized).
(default_sort_size): Don't allocate more than the RSS limit,
if this host has such a limit.
2001-04-13 07:15:06 +00:00
Jim Meyering
f9b3e59ae5 *** empty log message *** 2001-04-08 20:00:14 +00:00
Jim Meyering
b7cd544ce5 that's necessary when the offset spans a DST transition. 2001-04-08 19:58:59 +00:00
Jim Meyering
8e94dcc2c6 *** empty log message *** 2001-04-08 17:16:39 +00:00
Jim Meyering
c73e54a8ad *** empty log message *** 2001-04-08 08:25:35 +00:00
Jim Meyering
5bd7ca3781 *** empty log message *** 2001-04-04 14:50:53 +00:00
Jim Meyering
f164f70523 Don't inspect MB_LEN_MAX. Paul Eggert says it's
not always defined correctly.
2001-04-04 14:50:47 +00:00
Jim Meyering
b22ba791cb *** empty log message *** 2001-04-02 12:38:49 +00:00
Jim Meyering
4435f69035 Skip nonexistent directories. 2001-04-02 12:37:38 +00:00
Jim Meyering
46e9ed6beb Include <getopt.h>.
(usage, main): Add support for long options, and check option
syntax as POSIX requires, though (as usual for GNU apps)
options can follow file names unless POSIXLY_CORRECT is set.
Many diagnostic revamped.
(long_options): New constant.
(badfieldspec): New arg MSGID.  Mark as noreturn.
(parse_field_count): New arg MSGID; if null, just return null on error.
(new_key): Renamed from key_init.  All callers changed.  Now allocates
the new key.
2001-04-02 09:02:23 +00:00
Jim Meyering
3c0e576c6d Update from GNU libc. 2001-04-02 08:31:28 +00:00
Jim Meyering
e1aa041f5e *** empty log message *** 2001-04-02 08:31:22 +00:00
Jim Meyering
924bbfab87 . 2001-04-01 21:28:27 +00:00
Jim Meyering
f9b5d8621a *** empty log message *** 2001-03-24 10:36:33 +00:00
Jim Meyering
7982727372 Require autoconf-2.49d. 2001-03-24 10:35:18 +00:00
Jim Meyering
29a8fa8694 Document --, -, sort long options, and sort -o after files. 2001-03-24 09:18:04 +00:00
Jim Meyering
d8f340e664 *** empty log message *** 2001-03-24 08:50:50 +00:00
Jim Meyering
bda130b531 (jm_ICONV): Recommend GNU libiconv. 2001-03-24 08:50:21 +00:00
Jim Meyering
8fae90bd5b *** empty log message *** 2001-03-23 22:25:02 +00:00
Jim Meyering
bec0525334 *** empty log message *** 2001-03-23 22:22:46 +00:00
Jim Meyering
ca2b5b72fd *** empty log message *** 2001-03-23 22:22:21 +00:00
Jim Meyering
e2b4a506f6 (check-copyright): New target and rule.
(alpha): Depend on it.
2001-03-23 22:22:14 +00:00
Jim Meyering
c9cab79e76 *** empty log message *** 2001-03-23 22:20:16 +00:00
Jim Meyering
b34fc0c6fc *** empty log message *** 2001-03-20 20:40:34 +00:00
Jim Meyering
3d1bf08703 *** empty log message *** 2001-03-19 11:59:55 +00:00
Jim Meyering
3aab98bf96 (version_etc_copyright): Update to 2001. 2001-03-19 11:52:29 +00:00
Jim Meyering
0e06c2e22e *** empty log message *** 2001-03-18 22:13:09 +00:00
Jim Meyering
6f634593ab *** empty log message *** 2001-03-18 16:55:12 +00:00
Jim Meyering
52e8da0bc2 *** empty log message *** 2001-03-18 16:54:25 +00:00
Jim Meyering
46c7196039 If the $DJDIR envvar is defined, set SHELL
to $DJDIR/bin/bash.exe.  Patch from Richard Dawe, based on a
suggestion from Eli Zaretskii.
2001-03-18 16:53:58 +00:00
Jim Meyering
b73e91b1d4 *** empty log message *** 2001-03-18 16:50:20 +00:00
Jim Meyering
c7007e30a5 *** empty log message *** 2001-03-18 07:54:48 +00:00
Jim Meyering
94713349b1 *** empty log message *** 2001-03-18 07:54:29 +00:00
Jim Meyering
236b06bc29 (usage): Warn that the +N form will be withdrawn. 2001-03-18 07:54:19 +00:00
Jim Meyering
426d1b07d1 (usage): Warn that the +N form will be withdrawn. 2001-03-18 07:53:14 +00:00
Jim Meyering
6b8cfeea5b Warn that the +N form will be withdrawn. 2001-03-18 07:51:15 +00:00
Jim Meyering
1c0ab47708 *** empty log message *** 2001-03-18 07:30:29 +00:00
Jim Meyering
b9154ca314 Add the standard $VERBOSE-handling hook.
This test currently fails for mips-dec-ultrix4.4.
2001-03-17 22:30:24 +00:00
Jim Meyering
543d2fa8ec *** empty log message *** 2001-03-17 22:30:15 +00:00
Jim Meyering
69df1f32a9 *** empty log message *** 2001-03-17 22:16:01 +00:00
Jim Meyering
10a6b91082 Use ../envvar-check rather than open-coding the same tests. 2001-03-17 22:15:54 +00:00
Jim Meyering
d6a685271c Set/use $as_unset, for those shells
(like Ultrix4's /bin/sh) that don't accept `unset'.
2001-03-17 22:12:03 +00:00
Jim Meyering
c5e168c034 *** empty log message *** 2001-03-17 10:14:52 +00:00
Jim Meyering
f12de0bcd8 (usage): Tweak the obsolescent usage line so that
help2man recognizes it as such.
2001-03-17 10:14:29 +00:00
Jim Meyering
b8f309cf14 *** empty log message *** 2001-03-17 10:10:06 +00:00
Jim Meyering
19f9ab1fdb Document pr changes. 2001-03-17 08:57:49 +00:00
Jim Meyering
726edc8172 Document pr changes. 2001-03-17 08:54:37 +00:00
Jim Meyering
7847d32de2 *** empty log message *** 2001-03-17 08:54:21 +00:00
Jim Meyering
24c9a6c7cd (install-data-yes): Install LC_TIME locale
for all packages, not just for fileutils.
(uninstall): Remove LC_TIME locale too.
2001-03-17 08:53:58 +00:00
Jim Meyering
9f9610d983 (INT_STRLEN_BOUND): New macro. 2001-03-17 08:50:51 +00:00
Jim Meyering
1499642b50 Adjust to minor spacing changes in pr headers. 2001-03-17 08:49:25 +00:00
Jim Meyering
ca0659ab9a Include mbswidth.h.
(standard_header, header, test_suite): Remove.
(date_format, date_text, file_text, header_width_available): New vars.
(long_options, main, init_header, usage):
Add new -D or --date-format option.
(CHARS_FOR_DATE_AND_PAGE, T_BUF_FMT, T_BUF_SIZE, NO_DATE): Remove.
(init_header): Allow arbitrary width for date format.  Change
"Page %5d" to "Page %d", since the code no longer assumes fixed width.
Do not assume that localtime succeeds.
(init_header, print_header, usage): Do not truncate headers.
(init_header, print_header): Defer width calculations until
page is printed, since "Page 100000" is wider than "Page 1".
Count columns, not bytes, in page headers.
Custom headers take up only the center, not the whole header.
(print_header): Use printf rather than fprintf(stdout).
2001-03-17 08:48:23 +00:00
Jim Meyering
6fa00f67da *** empty log message *** 2001-03-16 23:42:21 +00:00
Jim Meyering
285c128eab *** empty log message *** 2001-03-16 23:41:08 +00:00
Jim Meyering
06d3fd68cd Remove my copy of AC_FUNC_MEMCMP, now that
the version in autoconf has been updated.
(jm_FUNC_MEMCMP): Adjust.
2001-03-16 23:40:10 +00:00
Jim Meyering
be36cc026f *** empty log message *** 2001-03-16 17:01:17 +00:00
Jim Meyering
79b030e317 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R. 2001-03-16 17:01:11 +00:00
Jim Meyering
0a0306d149 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
(jm_PREREQ_TEMPNAME): New function.
2001-03-16 16:38:52 +00:00
Jim Meyering
fdc624ee8c *** empty log message *** 2001-03-16 12:02:29 +00:00
Jim Meyering
75b98a1845 (uint64_t): Define to uintmax_t if
not defined, and if UINT64_MAX is not defined.
Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
Reported by John David Anglin.
2001-03-16 12:02:22 +00:00
Jim Meyering
46703b2bc4 *** empty log message *** 2001-03-16 08:40:42 +00:00
Jim Meyering
e72d2e5729 (wget-update): Also get `missing'.
Use for-loops.
2001-03-16 08:40:38 +00:00
Jim Meyering
b983106f60 *** empty log message *** 2001-03-16 08:37:07 +00:00
Jim Meyering
945ef37057 *** empty log message *** 2001-03-15 14:50:26 +00:00
Jim Meyering
7164873b95 (BeOS): Use wildcard syntax. 2001-03-15 14:50:16 +00:00
Jim Meyering
a5d6ae87e0 (locale_charset): Allow wildcard syntax. Also resolve
alias if codeset is empty.
2001-03-15 14:49:56 +00:00
Jim Meyering
1341235a1c *** empty log message *** 2001-03-13 15:57:21 +00:00
Jim Meyering
35e76078e7 (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]:
Don't insert a backslash when concatenating e.g., `C:' and `foo'.
From Bruno Haible.
2001-03-13 15:57:15 +00:00
Jim Meyering
4d44d31bd9 *** empty log message *** 2001-03-13 09:05:26 +00:00
Jim Meyering
be696e072e (die): New message arg, to describe failures
better.  All callers changed.
2001-03-13 09:05:21 +00:00
Jim Meyering
8da0422f17 *** empty log message *** 2001-03-13 09:02:37 +00:00
Jim Meyering
48440e9d01 Decrease buffer size when only merging or checking.
(sort_size): Now the user-specified sort size.
(MIN_MERGE_BUFFER_SIZE): New macro.
(MIN_SORT_SIZE): Use it.
(merge_buffer_size): New variable.
(fillbuf): Increase merge_buffer_size if a longer line is encountered.
(checkfp, mergefps): Do not allocate a buffer smaller than
merge_buffer_size.
(sort): Use the default_sort_size if sort_size is zero.
(main): Do not set sort_size to default_sort_size.
2001-03-13 09:02:27 +00:00
Jim Meyering
6a6ca8f365 *** empty log message *** 2001-03-13 08:50:32 +00:00
Jim Meyering
5fface8d3a . 2001-03-13 08:50:18 +00:00
Jim Meyering
7eaaae4ec0 (create-empty): New test. 2001-03-13 08:49:48 +00:00
Jim Meyering
811ade5514 (sort): If all the input files are empty, create an empty output file. 2001-03-13 08:48:57 +00:00
Jim Meyering
593d17ffe4 (merge): Move declarations of local variables into
the inner scope where they're used.
(sort): Likewise.
2001-03-13 08:34:38 +00:00
Jim Meyering
25a9e171a2 'sort F -o F' no longer needs to copy F. 2001-03-13 08:29:01 +00:00
Jim Meyering
86c5a50e86 Do not include closeout.h.
(xfopen): Use stdout if *how != 'r'.
(mergefps): Remove FPS arg.
Open all input files, and close all files when done.
If OFP is null, open the output file (but after opening input files).
All callers changed.
(first_same_file): New function.
(sort, merge): Remove arg OFP; we now open the output file as needed.
All callers changed.
(merge): New arg MAX_MERGE.  All callers changed.
(sort):	For "sort F -o F", close the input before opening the output.
(main): Do not use close_stdout; 'sort' and 'merge' now close stdout.
(This also fixes a close-stdout-twice bug.)
Remove test for overlapping input and output files, as 'sort' no longer
needs to worry about overlap, and 'merge' checks for overlap itself.
Use first_same_file to inform 'merge' about how much to merge at
the top level, to avoid overlap.
2001-03-13 08:28:09 +00:00
Jim Meyering
abb5c4e845 . 2001-03-13 04:17:57 +00:00
Jim Meyering
445de17323 . 2001-03-13 04:17:42 +00:00
Jim Meyering
861405b462 . 2001-03-13 04:17:07 +00:00
Jim Meyering
025b70bbb3 . 2001-03-12 21:23:29 +00:00
Jim Meyering
08ca0e9233 *** empty log message *** 2001-03-12 21:19:16 +00:00
Jim Meyering
71110e3f87 . 2001-03-12 21:17:39 +00:00
Jim Meyering
a11890b981 *** empty log message *** 2001-03-12 21:16:09 +00:00
Jim Meyering
c9fc879e89 `fmt --prefix=S' would not work properly for any string S containing
a byte with the high bit set.
(prefix): Declare to be of type unsigned char, not `char'.
(get_prefix): Likewise for local, `p'.
2001-03-12 21:16:05 +00:00
Jim Meyering
7cb4c9284d *** empty log message *** 2001-03-12 21:11:31 +00:00
Jim Meyering
d998775909 *** empty log message *** 2001-03-12 17:49:00 +00:00
Jim Meyering
1a728b8b0d *** empty log message *** 2001-03-12 10:52:26 +00:00
Jim Meyering
97bfe9b9dd (save_stdin): Use mkstemp to create temporary file. 2001-03-12 10:52:20 +00:00
Jim Meyering
a40c539ad1 . 2001-03-12 10:15:08 +00:00
Jim Meyering
5100b0b05f *** empty log message *** 2001-03-11 15:24:38 +00:00
Jim Meyering
30bc289991 Disable this test for now.
It would block when run in the background.
2001-03-11 15:24:28 +00:00
Jim Meyering
a68a480194 clean up wording in last change 2001-03-10 07:56:07 +00:00
Jim Meyering
c17e423533 *** empty log message *** 2001-03-10 07:53:47 +00:00
Jim Meyering
e489a18ead (date invocation): Correct the description of how
date works when given no format.  Reported by Ole Laursen.
2001-03-10 07:53:35 +00:00
Jim Meyering
7ee6f9593d *** empty log message *** 2001-03-10 07:52:40 +00:00
Jim Meyering
49648de23c . 2001-03-09 18:45:59 +00:00
Jim Meyering
43fa809135 *** empty log message *** 2001-03-09 18:42:11 +00:00
Jim Meyering
a3dc365194 (my_distdir): Define new variable, and use this
in place of most old uses of $(distdir).
2001-03-09 18:41:03 +00:00
Jim Meyering
9f2dcee21a . 2001-03-09 18:37:57 +00:00
Jim Meyering
325df18179 *** empty log message *** 2001-03-09 18:35:13 +00:00
Jim Meyering
27177c023a *** empty log message *** 2001-03-09 18:34:28 +00:00
Jim Meyering
7f07e4b250 (usage): Describe %C. 2001-03-09 18:28:33 +00:00
Jim Meyering
65c50ce72b (Date directives): Likewise. 2001-03-09 18:28:11 +00:00
Jim Meyering
53d1eedb1b . 2001-03-09 18:24:22 +00:00
Jim Meyering
00ef90d13b *** empty log message *** 2001-03-09 18:23:45 +00:00
Jim Meyering
5b0132826f Reflect change in location of input-tty. 2001-03-09 18:23:29 +00:00
Jim Meyering
197061600e moved from stty/~ 2001-03-09 18:21:56 +00:00
Jim Meyering
c21430123d moved from stty/~ 2001-03-09 18:21:29 +00:00
Jim Meyering
c19b40fd68 (EXTRA_DIST): Remove input-tty. 2001-03-09 18:20:28 +00:00
Jim Meyering
115c65d3f4 Ensure that /dev/full is a character device
(using test -c) as well as being writable, before trying to write to it.
Otherwise, the test could mistakenly append a newline to an existing,
regular, writable, /dev/full file.
Suggested by Ulrich Drepper.
2001-03-09 18:03:22 +00:00
Jim Meyering
3bb36380c3 *** empty log message *** 2001-03-08 07:48:19 +00:00
Jim Meyering
c2390af52f Insert the `--text' argument for each test. 2001-03-08 07:48:14 +00:00
Jim Meyering
6d28b40fce (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
Don't return NULL.
2001-03-06 18:11:20 +00:00
Jim Meyering
e7dfa263f2 (print_unicode_char): Simplify accordingly. 2001-03-06 18:11:01 +00:00
Jim Meyering
6bbc8a8fef *** empty log message *** 2001-03-06 18:01:26 +00:00
Jim Meyering
458d1c2ee2 Update for FreeBSD 4.2 and OSF/1 5.1. Add support for DOS/DJGPP. 2001-03-06 18:00:47 +00:00
Jim Meyering
4813ddbf6b (S_TYPEISSHM): Rename parameter to reflect its type.
(main): Pass a `struct stat *', not stat.st_mode to S_TYPEISSHM.
2001-03-06 05:50:10 +00:00
Jim Meyering
358d534284 *** empty log message *** 2001-03-04 21:12:06 +00:00
Jim Meyering
d325a6bac2 (alpha): Use $(PACKAGE)-$(VERSION), not $(distdir),
since the latter now has a `$(top_distdir)/' prefix.
2001-03-04 21:11:50 +00:00
Jim Meyering
721691651f *** empty log message *** 2001-03-04 20:53:38 +00:00
Jim Meyering
fa653c0720 *** empty log message *** 2001-03-04 20:53:01 +00:00
Jim Meyering
ee7490797e . 2001-03-04 04:04:13 +00:00
Jim Meyering
8625974643 (output_char): Reformat so each statement is on a separate line. 2001-03-04 03:14:40 +00:00
Jim Meyering
be6df5151f . 2001-03-04 03:05:32 +00:00
Jim Meyering
d3aefd7569 . 2001-03-04 01:48:17 +00:00
Jim Meyering
70855c0876 *** empty log message *** 2001-03-03 19:31:47 +00:00
Jim Meyering
6d99caa5ee (die): New function.
(create_temp_file, xfopen, xfclose, write_bytes, sort_buffer_size,
fillbuf, main): Use it to regularize error messages.  The only change
in behavior is that write_bytes and the final close used to say "write
error" but now give just the output file name, which should be enough.
2001-03-03 19:31:37 +00:00
Jim Meyering
35c215bbba *** empty log message *** 2001-03-03 19:21:49 +00:00
Jim Meyering
410e28bd78 (xfclose): Add FILE arg, and report the file name
on error.  All callers changed.
2001-03-03 19:21:41 +00:00
Jim Meyering
8233ef4ca8 *** empty log message *** 2001-03-03 19:19:12 +00:00
Jim Meyering
91b9ff7935 (main): When fclose (stdin) fails, do not mention
the output file in the error message; mention "-" instead.
2001-03-03 19:19:06 +00:00
Jim Meyering
61829f0638 *** empty log message *** 2001-03-03 19:12:29 +00:00
Jim Meyering
5d34d8c327 (xfopen): Set have_read_stdin to 1 only if file is "-".
Use fopen_safer, not fopen, to avoid subtle bugs when fopen returns
stdin, stdout, or stderr.
(xfclose): stdout is no longer a special case.
(main): Close output file, don't just flush it; there might be
an error on the close.
2001-03-03 19:12:23 +00:00
Jim Meyering
57658678dd (libfetish_a_SOURCES): Add dup-safer.c, fopen-safer.c.
(noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
2001-03-03 19:06:54 +00:00
Jim Meyering
eb64d4a73b *** empty log message *** 2001-03-03 19:06:28 +00:00
Jim Meyering
62eab23e81 from Paul Eggert 2001-03-03 19:05:36 +00:00
Jim Meyering
4518931c29 *** empty log message *** 2001-03-03 18:53:53 +00:00
Jim Meyering
cac9a29ad8 (initbuf): If the desired size cannot be
allocated, repeatedly halve it until allocation succeeds.
2001-03-03 18:53:44 +00:00
Jim Meyering
f10bbe70a9 (parse_field_count): Comment fix. 2001-03-03 18:40:44 +00:00
Jim Meyering
3c1f856059 . 2001-03-03 18:38:22 +00:00
Jim Meyering
5514c4792b *** empty log message *** 2001-03-03 18:23:37 +00:00
Jim Meyering
25f95ca91e Tune allocation and comparison of nodes
representing temp files.  This improved CPU performance of
'sort -S 1 *.[ch]' by 17% on my host.

(struct tempnode): name member now uses struct hack.
(temphead): Now a pointer, not a structure.  All uses changed.
(create_temp_file): Allocate node using struct hack.
(zaptemp): Free node using struct hack.  Use pointer comparison, not
string comparison.
2001-03-03 18:23:29 +00:00
Jim Meyering
cfd53be2c8 (eolchar, trim_trailing_blanks): Now static. 2001-03-02 03:44:49 +00:00
Jim Meyering
e3093d28d9 *** empty log message *** 2001-03-02 03:41:50 +00:00
Jim Meyering
e0689425b8 *** empty log message *** 2001-03-02 03:14:38 +00:00
Jim Meyering
68de994bf1 (jm_MACROS): Use mkstemp replacement if the system
lacks mkstemp.  Compile our own tempname.c if we compile our own
mkstemp.c, as mkstemp relies on tempname.
2001-03-02 03:14:31 +00:00
Jim Meyering
b11665966d from GNU libc 2001-03-02 03:13:34 +00:00
Jim Meyering
01b7b402a3 from GNU libc 2001-03-02 03:12:47 +00:00
Jim Meyering
03285f9da5 *** empty log message *** 2001-03-02 03:10:42 +00:00
Jim Meyering
334ae8d83d . 2001-03-02 03:06:08 +00:00
Jim Meyering
871b2ea818 *** empty log message *** 2001-03-02 02:58:30 +00:00
Jim Meyering
2679dfb639 'sort' race condition fixes.
Defend against a DoS attack where someone else creates a
temporary file with the same name as ours.  Use mkstemp to do
this, supplying our own mkstemp if the system doesn't have one.

Also, fix a race condition during cleanup on hosts without
sigaction.


(NAME_MAX_IN_DIR): Remove.
(sigprocmask, sigset_t): New macros, defined only on older hosts.
(caught_signals): New var.
(xtmpfopen, tempname): Removed.
(create_temp_file): New function, combining the functions of the old
xtmpfopen and tempname.  All callers changed.
Use mkstemp to create the file.
(sighandler): On hosts without sigaction, ignore signals while
cleaning up, instead of letting them interrupt cleanup.
(main): Initialize caught_signals.  On hosts with sigaction, block all
caught signals while handling one.  Remove duplicate code.
2001-03-02 02:58:23 +00:00
Jim Meyering
3a960cb7e4 *** empty log message *** 2001-03-01 05:33:25 +00:00
Jim Meyering
f5cf8b6039 (jm_AC_DOS): Remove extra backslashes, now that
AH_VERBATIM really does output its argument verbatim.
2001-03-01 05:33:18 +00:00
Jim Meyering
675a66a029 *** empty log message *** 2001-02-25 07:55:33 +00:00
Jim Meyering
ffd0a44de4 Fix typo: '-d=1may' -> '-d 1may'.
Fix and clarify time zone usage in 'date' examples.
2001-02-25 07:55:27 +00:00
Jim Meyering
2a9477bd95 *** empty log message *** 2001-02-23 08:52:27 +00:00
Jim Meyering
5f001b35ed (keycompare): Move declarations of locals, lena and lenb,
into the inner scope where they are used.
2001-02-22 15:11:08 +00:00
Jim Meyering
241297f40e (main): Remove assignment-in-if-expression.
In fact, remove t_errno altogether.
2001-02-21 10:56:06 +00:00
Jim Meyering
df373089ee *** empty log message *** 2001-02-21 10:50:07 +00:00
Jim Meyering
2a08e10112 Add two tests of existing behavior -- both will
have to be changed (soon after release), once ls is fixed.
2001-02-21 10:49:58 +00:00
Jim Meyering
d015986221 . 2001-02-20 23:04:45 +00:00
Jim Meyering
4fda5e9381 test for existing behavior 2001-02-20 23:00:33 +00:00
Jim Meyering
6f1ffe444c . 2001-02-20 22:58:44 +00:00
Jim Meyering
9f0b79a1ba *** empty log message *** 2001-02-20 22:58:16 +00:00
Jim Meyering
cf4686a06a (FULL_TIME_OPTION): Renamed from FULL_TIME, for
consistency with the other enum values.
2001-02-20 22:53:38 +00:00
Jim Meyering
ccbe301659 (SI_OPTION): New enum value.
(long_options): Use it instead of 'H' for --si.
(decode_switches): Warn that -H will change soon.
(usage): Likewise.
2001-02-20 22:52:31 +00:00
Jim Meyering
6af107568c revert last change, until after release 2001-02-20 22:48:39 +00:00
Jim Meyering
890e2a5a58 *** empty log message *** 2001-02-20 22:48:18 +00:00
Jim Meyering
56bcd15a9c revert last change, until after the release 2001-02-20 22:48:00 +00:00
Jim Meyering
05c801ff0c ls -Fd symlink-to-directory' would print a trailing /'
Now it prints a trailing `@'.

(gobble_file): Don't clobber lstat stats of command line
arguments when using -d and -F (--directory and --classify) options.
2001-02-20 08:16:47 +00:00
Jim Meyering
c74553f398 *** empty log message *** 2001-02-19 08:53:37 +00:00
Jim Meyering
d4142ec88e (AUTHORS): Add Paul Eggert. 2001-02-19 08:53:24 +00:00
Jim Meyering
80016947b7 *** empty log message *** 2001-02-19 08:52:58 +00:00
Jim Meyering
5af9b0048f Fix a race condition: freed storage accessed during a signal handler.
(struct tempnode.next): Now volatile.
(zaptemp): Free the file name after removing it from the temp list,
not before, because a signal can arrive between the two actions
and cleanup () traverses the list.
2001-02-19 08:52:53 +00:00
Jim Meyering
9758a4d87a *** empty log message *** 2001-02-19 08:51:00 +00:00
Jim Meyering
3e593e8a31 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h. 2001-02-19 08:50:54 +00:00
Jim Meyering
b0abc5579f *** empty log message *** 2001-02-19 08:50:18 +00:00
Jim Meyering
55d155dbbe Check for input size, and do not overallocate memory.
Also check for memory quotas.

Revamp storage management so that line tables and character data are
taken from the same buffer.  Line tables are now in reverse order,
since they grow down while the character data grow up.

(<sys/resource.h>): Include if HAVE_SYS_RESOURCE_H.
(struct rlimit, getrlimit): Define a replacement if RLIMIT_DATA
is not defined.
(RLIMIT_AS): Define to RLIMIT_DATA if not defined.
(struct lines): Remove.
(struct buffer): New members nlines, line_bytes, eof.
Remove member newline_free; no longer needed, since the code no longer
runs out of line table space.
(SORTALLOC_MIN, SORTALLOC_DEFAULT_MIN): Remove.
(sort_size): Renamed from sortalloc; now applies to the sum of the
character data and the line table, not just the character data.
(MIN_SORT_SIZE, INPUT_FILE_SIZE_GUESS): New macros.
(linelength): remove.
(specify_sort_size): Don't worry about the distinction between the
character data and the line table; that is now the caller's
responsibility.
(default_sort_size): Return the value, instead of being executed for
side effect.  Return half of available memory, or 1/16 of total memory,
whichever is greater; except do not exceed 1/2 of quota.
(sort_buffer_size): New function.
(initbuf): New arg LINE_BYTES.  Ensure that the line array is properly
aligned.  Initialize the new set of struct buffer members.
(buffer_linelim): New function.
(fillbuf): Return int, not size_t, since the callers merely care
whether the result is nonzero.  New arg FILE so that error messages
can report the file name.  Keep track of eof.  Initialize the line
table too, taking its memory from the input buffer's memory; this
subsumes the old findlines function and removes the need for worrying
about running out of line table entries.
(checkfp, mergefps, sortlines, merge, sort): Adjust to the new storage
management regime, in particular the fact that line tables are now
filled in by fillbuf and are in reverse order.
(checkfp): Now takes char *, not const char *, since subroutines
require that now.  Rewrite to avoid lint and duplicate code.
If line length alloc calculation overflows,
simply allocate enough memory to hold the line.
(mergefps): New arg FILES, used for buffer size calculation and error
messages.  Rewrite to avoid lint.  Do not loop if savealloc*2
overflows.
(mergefps, merge): Zap temporary files eagerly rather than lazily;
this is needed because we now pass FILES to mergefps.
(sortlines): Args now point at end of arrays, not at beginnings.
(sort): Do not allocate temporary line array for sortlines;
instead, take the space from the same buffer.
(main): Adjust to sort_size and default_sort_size changes.
2001-02-19 08:50:12 +00:00
Jim Meyering
9de8c30c25 *** empty log message *** 2001-02-19 08:46:00 +00:00
Jim Meyering
e4db8d3b54 (wc): Rename innermost `buf' to avoid shadowing warning.
(wc): Rename local `wc' to avoid shadowing function name.
2001-02-19 08:42:25 +00:00
Jim Meyering
ba74efc7c6 *** empty log message *** 2001-02-18 19:39:38 +00:00
Jim Meyering
2307570c3e (TESTS): Add isatty. 2001-02-18 19:39:33 +00:00
Jim Meyering
e9fd7152ff New test, for the bug fixed below. 2001-02-18 19:39:17 +00:00
Jim Meyering
be9f2f6ef6 *** empty log message *** 2001-02-18 16:56:57 +00:00
Jim Meyering
320475d619 *** empty log message *** 2001-02-18 16:27:16 +00:00
Jim Meyering
025068df27 *** empty log message *** 2001-02-18 16:25:57 +00:00
Jim Meyering
b7f166b3fd *** empty log message *** 2001-02-18 16:24:26 +00:00
Jim Meyering
57e7dc4cda `chmod 0 file; rm file' would no longer prompt before removal.
(remove_file): Revert last change.
2001-02-18 16:24:21 +00:00
Jim Meyering
325680aae4 *** empty log message *** 2001-02-18 08:50:35 +00:00
Jim Meyering
7446097d1a rename test input files to avoid conflicts on case-insensitive file systems 2001-02-18 08:50:29 +00:00
Jim Meyering
96bbda7216 Update file names to reflect renamings. 2001-02-18 08:49:52 +00:00
Jim Meyering
7f77515e02 *** empty log message *** 2001-02-18 08:49:07 +00:00
Jim Meyering
2714dd0ed2 . 2001-02-18 08:07:42 +00:00
Jim Meyering
7dfaaf5bf1 fix typo 2001-02-17 18:50:17 +00:00
Jim Meyering
4d30007986 *** empty log message *** 2001-02-17 16:56:27 +00:00
Jim Meyering
d07a45be2b Sync from GNU libc. Use double quotes, not <...>
around included file name.
2001-02-17 16:56:20 +00:00
Jim Meyering
438636be9b *** empty log message *** 2001-02-17 16:53:38 +00:00
Jim Meyering
ff7797f6e2 (__strnlen): Merge in a change from GNU libc. 2001-02-17 16:53:33 +00:00
Jim Meyering
d81e0e6f97 *** empty log message *** 2001-02-17 16:51:03 +00:00
Jim Meyering
787a2cf49f update comments from libc 2001-02-17 16:50:27 +00:00
Jim Meyering
9676083a22 *** empty log message *** 2001-02-17 14:23:54 +00:00
Jim Meyering
8d509a79da (main): `quote' the offending argument. 2001-02-17 14:23:43 +00:00
Jim Meyering
1de5de8401 *** empty log message *** 2001-02-17 13:20:31 +00:00
Jim Meyering
e7a4ab5efa (mbrtowc, mbsinit):
Remove workaround macros for hosts that have mbrtowc but not
mbstate_t, as we now insist on proper declarations for both
before using mbrtowc.
2001-02-17 13:18:56 +00:00
Jim Meyering
c2223ba418 . 2001-02-17 13:18:17 +00:00
Jim Meyering
5bc2860579 . 2001-02-17 13:17:49 +00:00
Jim Meyering
0c2cd33ac8 *** empty log message *** 2001-02-17 13:17:40 +00:00
Jim Meyering
198a0609cf *** empty log message *** 2001-02-17 13:11:22 +00:00
Jim Meyering
8270c52b6b *** empty log message *** 2001-02-17 13:11:12 +00:00
Jim Meyering
5d223fd617 *** empty log message *** 2001-02-17 12:53:40 +00:00
Jim Meyering
a256689440 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
UnixWare 7.1.1.
2001-02-17 12:53:36 +00:00
Jim Meyering
557c8b8ae8 *** empty log message *** 2001-02-17 12:44:04 +00:00
Jim Meyering
22bdd77f67 (mbswidth): Also define as macro, to avoid prototype clash. 2001-02-17 12:43:57 +00:00
Jim Meyering
fba069f78c . 2001-02-17 11:51:48 +00:00
Jim Meyering
2f4ff2ce9f *** empty log message *** 2001-02-17 10:39:50 +00:00
Jim Meyering
ad177f456c (mbrtowc, mbsinit):
Remove workaround macros for hosts that have mbrtowc but not
mbstate_t, as we now insist on proper declarations for both
before using mbrtowc.
2001-02-17 10:39:43 +00:00
Jim Meyering
1f7a13e62e (mbrtowc, mbsinit):
Remove workaround macros for hosts that have mbrtowc but not
mbstate_t, as we now insist on proper declarations for both
before using mbrtowc.
2001-02-17 10:39:17 +00:00
Jim Meyering
78d17132eb *** empty log message *** 2001-02-17 10:37:10 +00:00
Jim Meyering
2a1afebeb4 *** empty log message *** 2001-02-17 10:36:42 +00:00
Jim Meyering
8ec9cd1836 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc., rather than AC_CACHE_VAL. 2001-02-17 10:36:33 +00:00
Jim Meyering
11038c572e bump serial number 2001-02-17 09:35:50 +00:00
Jim Meyering
e3a56266dd bump serial number 2001-02-17 09:35:11 +00:00
Jim Meyering
78e5a1082a (jm_PREREQ_QUOTEARG): Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc). 2001-02-17 09:34:57 +00:00
Jim Meyering
3ede7fb763 (jm_PREREQ_MBSWIDTH):
Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
2001-02-17 09:34:14 +00:00
Jim Meyering
0048e2bb67 New file, defining jm_FUNC_MBRTOWC. 2001-02-17 09:33:25 +00:00
Jim Meyering
09221df9c6 *** empty log message *** 2001-02-17 08:59:19 +00:00
Jim Meyering
5044873647 . 2001-02-17 08:55:17 +00:00
Jim Meyering
4bcbd9c6aa Update from libc. 2001-02-17 07:14:31 +00:00
Jim Meyering
98c5eb08be *** empty log message *** 2001-02-17 07:13:03 +00:00
Jim Meyering
9db34852ce *** empty log message *** 2001-02-17 07:12:17 +00:00
Jim Meyering
cd5ba13ce2 *** empty log message *** 2001-02-17 07:05:58 +00:00
Jim Meyering
ecf425de69 Mention that only English is supported.
Show how to use "date" so that the output is acceptable to getdate.
Mention Z as an abbreviation for UTC.
2001-02-17 07:05:33 +00:00
Jim Meyering
e94c44b8f0 *** empty log message *** 2001-02-16 19:31:18 +00:00
Jim Meyering
9cdff96426 (malloc): Undef before defining, since stdlib.h may have defined it. 2001-02-16 19:28:43 +00:00
Jim Meyering
f77dc12f7f *** empty log message *** 2001-02-11 16:24:54 +00:00
Jim Meyering
37c3f113f5 depend on writable-files po-check once again 2001-02-11 16:24:39 +00:00
Jim Meyering
88287082b0 (emit-rsync-commands): Define.
(alpha): Use it here.
2001-02-11 16:24:01 +00:00
Jim Meyering
787421de85 (alpha): Fix previous, incomplete change. 2001-02-10 09:40:19 +00:00
Jim Meyering
47e01313ad *** empty log message *** 2001-02-10 09:40:09 +00:00
Jim Meyering
ba42a3c5b2 . 2001-02-10 09:22:11 +00:00
Jim Meyering
a103ea415c *** empty log message *** 2001-02-10 09:17:03 +00:00
Jim Meyering
4778b57c26 . 2001-02-08 10:43:44 +00:00
Jim Meyering
70c58eb46a update from libc 2001-02-08 06:49:29 +00:00
Jim Meyering
075c8604cb *** empty log message *** 2001-02-07 11:50:30 +00:00
Jim Meyering
55cebafa24 (jm_INCLUDED_REGEX): Add a test for the latest bug. 2001-02-07 11:50:25 +00:00
Jim Meyering
d5c34a9824 *** empty log message *** 2001-02-07 11:50:01 +00:00
Jim Meyering
b2cb2e804e *** empty log message *** 2001-02-07 11:47:40 +00:00
Jim Meyering
0019b6cebf Update from libc. 2001-02-07 11:47:24 +00:00
Jim Meyering
30323f5739 require 1 argument 2001-02-06 09:56:22 +00:00
Jim Meyering
1de223c226 better comment 2001-02-06 09:53:58 +00:00
Jim Meyering
eeae6e79dd emit a comment, print numbers one per line 2001-02-06 09:34:18 +00:00
Jim Meyering
47b335399c remove parens 2001-02-06 09:04:01 +00:00
Jim Meyering
871c0f6caa move decl of q into loop 2001-02-06 09:03:47 +00:00
Jim Meyering
20f3fe5f32 remove n0 2001-02-06 08:42:33 +00:00
Jim Meyering
0aee2ba653 *** empty log message *** 2001-02-05 22:29:57 +00:00
Jim Meyering
4723d1adde Require autoconf-2.14d (not yet released), because
it includes the patch required for `large file' support with at least
HP-UX's 10.20 /bin/cc.
2001-02-05 22:29:52 +00:00
Jim Meyering
987834edba *** empty log message *** 2001-02-05 10:39:40 +00:00
Jim Meyering
2c618b8359 . 2001-02-04 17:19:51 +00:00
Jim Meyering
45ee51d156 remove --help --version, etc 2001-02-04 16:50:07 +00:00
Jim Meyering
934fbc196c *** empty log message *** 2001-02-04 16:28:49 +00:00
Jim Meyering
e7b9e3e7c1 (usage): Tweak --help output: it prints the _prime_
factors, not just any factors.
2001-02-04 16:28:41 +00:00
Jim Meyering
ff10610d6c (is_prime): Remove function. 2001-02-04 15:52:17 +00:00
Jim Meyering
23d47fb4aa *** empty log message *** 2001-02-04 14:04:42 +00:00
Jim Meyering
6bb0a39d24 *** empty log message *** 2001-02-04 12:42:38 +00:00
Jim Meyering
8b8419e185 *** empty log message *** 2001-02-04 12:29:18 +00:00
Jim Meyering
e2625cbbcd fix typo: s/found/yes/ 2001-02-04 08:28:29 +00:00
Jim Meyering
e7ec75cca0 . 2001-02-03 20:23:26 +00:00
Jim Meyering
a1321f00a8 . 2001-02-03 20:23:05 +00:00
Jim Meyering
d622232fb2 (main): Change type of index variable to `unsigned int' to avoid a warning. 2001-02-03 20:22:58 +00:00
Jim Meyering
6aca235a6f *** empty log message *** 2001-02-03 17:29:53 +00:00
Jim Meyering
d22bee04aa *** empty log message *** 2001-02-03 16:51:23 +00:00
Jim Meyering
c036ffc1cc (long_opts): Use `strip-trailing-slashes',
per the documetation, not `strip-trailing-slash'.
2001-02-03 16:50:34 +00:00
Jim Meyering
99d7f7d422 (long_options): Use `strip-trailing-slashes',
per the documetation, not `strip-trailing-slash'.
2001-02-03 16:50:04 +00:00
Jim Meyering
5cb10ea445 (a_host): Use fencepost.
(real_dir): Use the same name for both.
(alpha): Print commands for both hosts.
2001-02-03 16:47:55 +00:00
Jim Meyering
7a493e5c54 *** empty log message *** 2001-02-03 16:45:30 +00:00
Jim Meyering
da56b3ffb6 (jm_FILE_SYSTEM_USAGE): Restore prior use of
AS_IF, now that it works once again (mysteriously).
2001-02-03 16:45:25 +00:00
Jim Meyering
8525d006fc (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
AS_IF, now that it works once again (mysteriously).
2001-02-03 16:44:52 +00:00
Jim Meyering
3f6077b5bb *** empty log message *** 2001-02-03 13:37:55 +00:00
Jim Meyering
52377e246d Improve the performance of `factor' (more than 2x speed-up for large N).
(wheel_tab): New global table.
(WHEEL_START, WHEEL_END): Define.
(factor): Remove the loop that special-cased `2'.
Instead of incrementing by `2', use the offsets from the wheel table.
From Michael Steffens.
2001-02-03 13:37:37 +00:00
Jim Meyering
c83137adb3 *** empty log message *** 2001-02-03 10:31:39 +00:00
Jim Meyering
ed71d8021e *** empty log message *** 2001-02-03 10:29:01 +00:00
Jim Meyering
3ff0f8076b . 2001-01-31 19:15:41 +00:00
Jim Meyering
3dd1381c64 *** empty log message *** 2001-01-30 21:50:36 +00:00
Jim Meyering
1f8a8b45ff Update for FreeBSD 4.2. 2001-01-30 21:50:32 +00:00
Jim Meyering
78e3f940b7 *** empty log message *** 2001-01-30 13:05:48 +00:00
Jim Meyering
d06b301fd0 *** empty log message *** 2001-01-30 13:04:17 +00:00
Jim Meyering
a772996d99 *** empty log message *** 2001-01-30 08:24:21 +00:00
Jim Meyering
2a4617da4c s/conftestdata/conftest.data/ 2001-01-30 08:24:13 +00:00
Jim Meyering
629c01e2c2 s/conftestdir/conftest.d1/ and s/conftestdir2/conftest.d2/. 2001-01-30 08:21:02 +00:00
Jim Meyering
5326a0b265 Rename conftestchown to conftest.chown. 2001-01-30 08:19:25 +00:00
Jim Meyering
f318f5c4d8 *** empty log message *** 2001-01-28 22:25:48 +00:00
Jim Meyering
30bbbfe67a *** empty log message *** 2001-01-28 22:25:04 +00:00
Jim Meyering
f06dd61f03 *** empty log message *** 2001-01-28 22:24:14 +00:00
Jim Meyering
67998a215f (main): Remove decl of unused local, `len'. 2001-01-28 21:58:19 +00:00
Jim Meyering
94767ce8cf add a comment, reformat a little. 2001-01-28 21:45:36 +00:00
Jim Meyering
577a8f346e (gobble_file): Add a FIXME comment. 2001-01-28 21:43:21 +00:00
Jim Meyering
daf6c50b95 *** empty log message *** 2001-01-28 21:43:15 +00:00
Jim Meyering
b221cf780f *** empty log message *** 2001-01-28 21:35:10 +00:00
Jim Meyering
2bc68d2234 [FULL_TIME]: Define.
(long_options): Use it.
(decode_switches): Make --full-time imply -l.
2001-01-28 21:34:35 +00:00
Jim Meyering
d6f931281e . 2001-01-28 08:10:00 +00:00
Jim Meyering
ae9d89cfe2 (jm_FILE_SYSTEM_USAGE): Open-code what was a use of AS_IF. 2001-01-27 14:06:18 +00:00
Jim Meyering
263fb2dc15 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was a use of AS_IF. 2001-01-27 14:06:04 +00:00
Jim Meyering
e5e92e670c *** empty log message *** 2001-01-27 13:24:36 +00:00
Jim Meyering
d85aac6782 (jm_FILE_SYSTEM_USAGE): Add `[]' between use of
AS_IF and following `dnl'.
2001-01-27 13:24:32 +00:00
Jim Meyering
d54655c623 (jm_LIST_MOUNTED_FILESYSTEMS): Add `[]' between use of
AS_IF and following `dnl'.
2001-01-27 13:24:13 +00:00
Jim Meyering
18656b733d *** empty log message *** 2001-01-26 11:17:34 +00:00
Jim Meyering
ac4936b7b1 bump serial # 2001-01-26 11:17:29 +00:00
Jim Meyering
742625303d (jm_PREREQ_QUOTEARG): Check for stddef.h, now that quotearg.c includes it. 2001-01-26 11:17:19 +00:00
Jim Meyering
9e2606d77b *** empty log message *** 2001-01-26 11:15:53 +00:00
Jim Meyering
c8d0d0ca6f Include stddef.h. 2001-01-26 11:15:37 +00:00
Jim Meyering
0e3fea79f3 *** empty log message *** 2001-01-26 11:13:34 +00:00
Jim Meyering
dcfda51801 [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
line in double quotes so that it evokes a better diagnostic.
[HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
2001-01-26 11:13:28 +00:00
Jim Meyering
fad08d3f31 *** empty log message *** 2001-01-26 11:13:08 +00:00
Jim Meyering
d362235eed (main): Declare local result as non-const, now that it's freed. 2001-01-26 09:24:46 +00:00
Jim Meyering
6ff755a69a . 2001-01-26 09:22:43 +00:00
Jim Meyering
c4bb1d449e *** empty log message *** 2001-01-22 10:54:32 +00:00
Jim Meyering
e673a685ac (remove_file): Correct an expression to avoid making
an unnecessary call to euidaccess for each file.
2001-01-22 10:51:54 +00:00
Jim Meyering
37e38b4941 *** empty log message *** 2001-01-21 22:54:53 +00:00
Jim Meyering
9eabf6d99a *** empty log message *** 2001-01-21 12:27:39 +00:00
Jim Meyering
8efb6d5f7b *** empty log message *** 2001-01-21 12:26:34 +00:00
Jim Meyering
928b1b8300 *** empty log message *** 2001-01-21 10:15:59 +00:00
Jim Meyering
211a6642e2 (jm_ICONV): Also check whether the iconv declaration has const. 2001-01-21 10:15:53 +00:00
Jim Meyering
fd1d1eaa80 *** empty log message *** 2001-01-21 09:40:48 +00:00
Jim Meyering
ad41cbff8a (print_unicode_char): Cast the second iconv() arg,
to avoid a warning.  Add back 'const' to inptr.
2001-01-21 09:40:43 +00:00
Jim Meyering
71611d94f3 . 2001-01-20 19:41:15 +00:00
Jim Meyering
9beeae646e *** empty log message *** 2001-01-20 19:41:01 +00:00
Jim Meyering
67450be04d *** empty log message *** 2001-01-20 19:24:36 +00:00
Jim Meyering
84264973d6 *** empty log message *** 2001-01-20 19:20:53 +00:00
Jim Meyering
5239228c17 *** empty log message *** 2001-01-20 19:18:43 +00:00
Jim Meyering
29940657ab *** empty log message *** 2001-01-20 18:34:44 +00:00
Jim Meyering
a5ab9f78c3 Be sure that headers are checked before used in code compiled
for the type checks.

(jm_MACROS): Remove all header checks.
In place of that, invoke jm_CHECK_ALL_TYPES.
(jm_CHECK_ALL_HEADERS): New functions with the above checks.
(jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
2001-01-20 18:34:32 +00:00
Jim Meyering
01bbd27a4d revert last change 2001-01-20 11:17:33 +00:00
Jim Meyering
df06c5de7b *** empty log message *** 2001-01-20 09:49:24 +00:00
Jim Meyering
706235da55 (jm_PREREQ): Add jm_PREREQ_HASH.
(jm_PREREQ_HASH): New function.
2001-01-20 09:49:10 +00:00
Jim Meyering
403b4c49eb whoops. revert last change 2001-01-20 09:36:19 +00:00
Jim Meyering
c6014bc847 *** empty log message *** 2001-01-20 09:34:34 +00:00
Jim Meyering
c148112941 Fix typo: s/false/0/. 2001-01-20 09:34:20 +00:00
Jim Meyering
19b3a9d102 *** empty log message *** 2001-01-17 10:34:22 +00:00
Jim Meyering
7f9c804f7a (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE, for autoconf-2.49c. 2001-01-17 10:34:16 +00:00
Jim Meyering
4bdc202a00 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise. 2001-01-17 10:33:43 +00:00
Jim Meyering
a80ec26277 . 2001-01-17 10:30:32 +00:00
Jim Meyering
fcdbd9ff15 (main): Likewise. 2001-01-17 10:30:25 +00:00
Jim Meyering
108694f32a (PACKAGE): Likewise. 2001-01-17 10:29:56 +00:00
Jim Meyering
59b34eded2 (main): Likewise. 2001-01-17 10:28:46 +00:00
Jim Meyering
622dcc58ee (case_GETOPT_VERSION_CHAR): Use PACKAGE, not GNU_PACKAGE. 2001-01-17 10:28:03 +00:00
Jim Meyering
770b6c1bb5 *** empty log message *** 2001-01-17 09:48:02 +00:00
Jim Meyering
56c1cbf2e8 (main): Use PACKAGE, not GNU_PACKAGE. 2001-01-17 09:47:41 +00:00
Jim Meyering
bd485671ff (usage): Convert each TAB in --help output to a sequence of 8 spaces. 2001-01-17 09:47:32 +00:00
Jim Meyering
43be299a76 (main): Use PACKAGE, not GNU_PACKAGE. 2001-01-17 09:42:36 +00:00
Jim Meyering
1493e0d650 *** empty log message *** 2001-01-16 08:34:53 +00:00
Jim Meyering
592e22d509 Include <stdio.h>, needed by assert on SunOS4. 2001-01-16 08:34:45 +00:00
Jim Meyering
c8e070ed62 *** empty log message *** 2001-01-15 11:32:45 +00:00
Jim Meyering
ceb3908c6f . 2001-01-14 20:28:14 +00:00
Jim Meyering
4468f22968 *** empty log message *** 2001-01-14 20:28:03 +00:00
Jim Meyering
eb3dc6a095 Remove conftestdir{,2} before trying to create the directory.
Make the entire configure script fail if the mkdir fails.
2001-01-14 20:27:56 +00:00
Jim Meyering
4a65486da9 (UINT_MAX_32_BITS): Define.
Use UINT_MAX_32_BITS in the cpp conditions that determine
the `word32' typedef.  Using a literal `0xffffffff' failed with
HPUX10.20's /bin/cc.
2001-01-14 20:26:28 +00:00
Jim Meyering
07872e486f *** empty log message *** 2001-01-14 16:42:50 +00:00
Jim Meyering
5aba961278 use id's -ng options, not -nG 2001-01-14 16:27:08 +00:00
Jim Meyering
9be1481d17 *** empty log message *** 2001-01-14 15:37:48 +00:00
Jim Meyering
eda1fa3268 *** empty log message *** 2001-01-14 15:37:22 +00:00
Jim Meyering
633a2ace39 *** empty log message *** 2001-01-14 15:36:53 +00:00
Jim Meyering
c2329c797c . 2001-01-14 15:35:19 +00:00
Jim Meyering
4d8de6887f *** empty log message *** 2001-01-14 15:35:07 +00:00
Jim Meyering
5b2304d7b4 Include stdlib.h, string.h or strings.h, and xalloc.h.
Use strip_trailing_slashes rather than open-coding it.
2001-01-14 15:34:22 +00:00
Jim Meyering
b6863fa3c9 *** empty log message *** 2001-01-14 15:28:54 +00:00
Jim Meyering
c0ba4297c5 Use temporary directories named conftestdir{,2}, not
foo and bar.  Create conftestdir/ in the script, not in the C code.
Remove directories in the script, not in the C code.
2001-01-14 15:28:45 +00:00
Jim Meyering
acc13fdc89 from Volker Borchert 2001-01-14 11:08:35 +00:00
Jim Meyering
ee56fd2719 (jm_MACROS): Require vb_FUNC_RENAME. 2001-01-14 11:07:45 +00:00
Jim Meyering
16863fa14e check for SunOS4.1.1U bug in rename 2001-01-14 11:07:28 +00:00
Jim Meyering
c957bbdeae (TESTS): Add trailing-slash. 2001-01-14 11:06:20 +00:00
Jim Meyering
c6a4fe00db from Volker Borchert 2001-01-14 11:05:50 +00:00
Jim Meyering
30fc8c55a3 [RENAME_TRAILING_SLASH_BUG]: Use the rename wrapper. 2001-01-14 11:04:47 +00:00
Jim Meyering
98c8115e96 *** empty log message *** 2001-01-14 09:42:01 +00:00
Jim Meyering
d6b863b09c (update-po): Merge po-files in temporary files
in the build directory, and update the source directory only when
the merged catalog differs from the original.  This fixes the known
`make distcheck' failure due to `make update-po' being called
on up-to-date but read-only files.
2001-01-14 09:41:53 +00:00
Jim Meyering
c730e2d9e8 *** empty log message *** 2001-01-13 15:59:19 +00:00
Jim Meyering
81268e4b67 . 2001-01-13 15:57:48 +00:00
Jim Meyering
896a20a2a9 *** empty log message *** 2001-01-13 15:56:33 +00:00
Jim Meyering
455ce0178b (TESTS): Add into-self-4. 2001-01-13 15:56:29 +00:00
Jim Meyering
e268536dba *** empty log message *** 2001-01-13 15:55:35 +00:00
Jim Meyering
e2aae9e166 add comment to go along with last change 2001-01-13 15:50:01 +00:00
Jim Meyering
8e4dbf5ab0 *** empty log message *** 2001-01-13 15:49:01 +00:00
Jim Meyering
b7138e1052 (same_file_ok): When moving a symlink onto itself,
don't remove the symlink.  Reported by David Luyer as Debian bug#82089,
via Michael Stone.
2001-01-13 15:48:32 +00:00
Jim Meyering
5775f7e864 *** empty log message *** 2001-01-12 23:27:53 +00:00
Jim Meyering
6deb757ba4 * tests/chmod/setgid: If `chmod g+s d' fails, then try to chgrp
to a group of which we're a member, then try the chmod again.
2001-01-12 23:27:43 +00:00
Jim Meyering
a0d25e62aa *** empty log message *** 2001-01-11 16:58:40 +00:00
Jim Meyering
dc38e3a287 *** empty log message *** 2001-01-11 16:04:46 +00:00
Jim Meyering
7b99d77bc6 *** empty log message *** 2001-01-10 23:30:56 +00:00
Jim Meyering
1a79f34996 . 2001-01-10 23:08:51 +00:00
Jim Meyering
ad3ec0add1 *** empty log message *** 2001-01-10 13:44:13 +00:00
Jim Meyering
a3ffafd3fe . 2001-01-10 12:20:03 +00:00
Jim Meyering
2d33b67399 (TESTS): Add into-self. 2001-01-10 12:19:05 +00:00
Jim Meyering
e7e6c322a0 (copy_internal): Add a comment.
Set *copy_into_self in the new code that detects that.
Make diagnostic more consistent: s/won't/will not/.
[move_mode, copy_into_self]: Give a diagnstic here, now that
we have the top_level_* globals.  Remove the corresponding diagnostic
from mv.c.
Add a FIXME comment.
2001-01-10 12:18:19 +00:00
Jim Meyering
9ea9eed873 (do_move): Remove diagnostic, now that copy.c issues it.
Set `fail' to nonzero in the primary `if (copy_into_self)' block
rather than in its own tiny one below.
2001-01-10 12:16:52 +00:00
Jim Meyering
d882d1d100 *** empty log message *** 2001-01-10 11:56:59 +00:00
Jim Meyering
b6e29912be [struct entry] (node): Describe how it's used,
now that we've overloaded it a little, in order to detect and diagnose
the copying-directory-into-self problem.
(new_file): Remove global.
(htab): Declare global to be static.
(remember_created): Insert file name instead of dummy pointer, so
that copy.c can use the just-created directory name to detect
the copying-directory-into-self problem.
2001-01-10 11:54:53 +00:00
Jim Meyering
687ef9f9fe *** empty log message *** 2001-01-10 10:29:57 +00:00
Jim Meyering
4e1f4a8496 *** empty log message *** 2001-01-10 10:27:09 +00:00
Jim Meyering
c1485dd854 *** empty log message *** 2001-01-10 09:58:43 +00:00
Jim Meyering
35099b35ba *** empty log message *** 2001-01-10 09:56:04 +00:00
Jim Meyering
2a5fb11132 (copy_internal): Don't allow cp (or mv, when working
across a partition boundary) to overwrite a non-directory with a directory.
2001-01-10 09:43:36 +00:00
Jim Meyering
a49513bedd *** empty log message *** 2001-01-10 09:42:16 +00:00
Jim Meyering
fc6a8dcfb2 *** empty log message *** 2001-01-10 09:41:46 +00:00
Jim Meyering
cbb4300cc2 (TESTS): Add dir-vs-file. 2001-01-10 09:41:41 +00:00
Jim Meyering
deb79403bd *** empty log message *** 2001-01-10 09:41:15 +00:00
Jim Meyering
9f43a52210 *** empty log message *** 2001-01-10 09:40:47 +00:00
Jim Meyering
6bf0f043cd *** empty log message *** 2001-01-10 09:40:05 +00:00
Jim Meyering
3f1cd6f52a *** empty log message *** 2001-01-10 09:39:57 +00:00
Jim Meyering
d1da062806 *** empty log message *** 2001-01-09 23:13:08 +00:00
Jim Meyering
bce88bc1ae *** empty log message *** 2001-01-09 16:13:29 +00:00
Jim Meyering
8740ecf8c0 add comment 2001-01-09 16:12:59 +00:00
Jim Meyering
e92e87181b (top_level_src_path, top_level_dst_path): New globals.
(copy_internal): Use them.
(copy): Set them.
2001-01-09 16:07:40 +00:00
Jim Meyering
902dacb46a *** empty log message *** 2001-01-09 15:50:13 +00:00
Jim Meyering
134bbf752c whoops. move printf args, too 2001-01-08 08:34:52 +00:00
Jim Meyering
b27dd775ad (usage): Split long message string. 2001-01-07 16:15:37 +00:00
Jim Meyering
e230d9a62b *** empty log message *** 2001-01-07 16:13:34 +00:00
Jim Meyering
7709a02741 Split a string that was longer than 2048 bytes. 2001-01-07 16:13:27 +00:00
Jim Meyering
aaf9e9a820 (usage): Split a string that was longer than 2048 bytes. 2001-01-07 16:11:14 +00:00
Jim Meyering
674fed73ec (usage): Split a string that was longer than 2048 bytes. 2001-01-07 16:10:50 +00:00
Jim Meyering
98d1d862d5 back out last, prematurely-committed, change 2001-01-07 16:07:33 +00:00
Jim Meyering
aaef348f3d Correct the indentation of an `#endif'. 2001-01-07 16:06:27 +00:00
Jim Meyering
9bc96fd932 clean up after commit hook testing 2001-01-07 10:57:29 +00:00
Jim Meyering
7b0658b00f testing -- commit should fail 2001-01-07 10:54:06 +00:00
Jim Meyering
f4034df457 testing -- commit should fail 2001-01-07 10:52:43 +00:00
Jim Meyering
5856751f41 testing -- commit should fail 2001-01-07 10:51:00 +00:00
Jim Meyering
4df9c47ca7 (usage): Untabify. 2001-01-07 10:12:25 +00:00
Jim Meyering
354a71cdc2 *** empty log message *** 2001-01-07 10:12:16 +00:00
Jim Meyering
481c79dfac *** empty log message *** 2001-01-07 09:23:28 +00:00
Jim Meyering
5e32f7c19a s/can not/cannot/ 2001-01-07 09:23:18 +00:00
Jim Meyering
c5b4a727ab *** empty log message *** 2001-01-07 09:21:41 +00:00
Jim Meyering
8c07ff563b (parse_group): Normalize spelling. 2001-01-07 09:21:34 +00:00
Jim Meyering
fa997616ff normalize spelling in comment 2001-01-07 09:20:47 +00:00
Jim Meyering
0edd80c0f2 *** empty log message *** 2001-01-04 17:59:32 +00:00
Jim Meyering
cc49da4ddf (main): Fail when --rfc-822 (-R) is specified along
with a format string.  Reported by Jochen Hein.
2001-01-04 17:59:22 +00:00
Jim Meyering
b7b4bec8df . 2001-01-04 14:00:07 +00:00
Jim Meyering
7aed2f97a5 . 2001-01-04 10:19:49 +00:00
Jim Meyering
89c7458b53 Sync with glibc time/strftime.c 1.81. 2001-01-04 10:19:43 +00:00
Jim Meyering
0809f17d77 . 2001-01-03 21:04:52 +00:00
Jim Meyering
550edf90b2 Use the more precise algorithm of GNU "make" to decide whether
a file is in the future, by looking at high-resolution time
stamps if available.

(TIMESPEC_NS): New macro.
(current_time): Initialize to the minimum value.
(current_time_ns): New var.
(main): Do not bother to initialize current_time;
it's no longer needed.
(get_current_time): New function.
(print_long_format): Use it when a file appears to be in the future.
Get the nanoseconds of the file's time stamp, if available,
and use that to decide whether the file appears	to be in the future.
2001-01-03 21:02:08 +00:00
Jim Meyering
f3aa989205 check for existing behavior 2001-01-03 16:16:56 +00:00
Jim Meyering
f8a894c567 *** empty log message *** 2001-01-03 11:37:46 +00:00
Jim Meyering
a0439c2405 (main): Remove embedded \n from diagnostic. 2001-01-03 11:36:10 +00:00
Jim Meyering
edfabc70d3 *** empty log message *** 2001-01-03 10:16:14 +00:00
Jim Meyering
9e14c22918 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
so `make install' also works in VPATH builds.
2001-01-03 10:16:02 +00:00
Jim Meyering
f3334434ea *** empty log message *** 2001-01-03 10:09:08 +00:00
Jim Meyering
5686f159ab (print_unicode_char): Remove `const' from declaration of
local `inptr' to avoid warning with some system declarations of iconv.
2001-01-03 10:08:43 +00:00
Jim Meyering
b7f12e5291 *** empty log message *** 2001-01-03 10:06:53 +00:00
Jim Meyering
954daed8c2 . 2001-01-03 09:47:20 +00:00
Jim Meyering
b042ca3c0f (long_time_expected_width, print_long_format): Fix
bug: the initial byte passed to strftime wasn't initialized to
a nonzero value after the buffer was reallocated.
2001-01-03 09:47:09 +00:00
Jim Meyering
5d3b5e175a *** empty log message *** 2001-01-03 09:45:43 +00:00
Jim Meyering
1f13191b6f (install-data-yes): If the package is
fileutils, install LC_TIME as an alias for LC_MESSAGES.
2001-01-03 09:45:32 +00:00
Jim Meyering
5aa665a624 (dcgettext): New macro. 2001-01-03 09:44:56 +00:00
Jim Meyering
85a5e683e8 (decode_switches): Use dcgettext with LC_TIME,
not plain gettext, to get the translations of time formats.
2001-01-03 09:44:15 +00:00
Jim Meyering
e646037f4a . 2001-01-03 09:38:55 +00:00
Jim Meyering
536a6dd3ce (long_time_expected_width): New function.
(print_long_format): Use it, so that we don't assume a
particular width for time stamps in an internationalized
environment.
2001-01-03 09:15:22 +00:00
Jim Meyering
701cc3fe2c *** empty log message *** 2001-01-02 15:50:18 +00:00
Jim Meyering
22fc5f7ac9 (ulonglong_t): Define place-holder type to avoid some #if directives.
(LONGEST_INTEGRAL_TYPE): Remove definition.
(MAX_INTEGRAL_TYPE_SIZE): Use ulonglong_t instead of LONGEST_INTEGRAL_TYPE.
(print_long_long): Compile this function even on systems without
long long support.
(decode_one_format): Remove #if directive.
2001-01-02 15:48:21 +00:00
Jim Meyering
4dcf0e2c7b . 2001-01-02 15:31:41 +00:00
Jim Meyering
67aea68e97 *** empty log message *** 2001-01-02 10:55:34 +00:00
Jim Meyering
2320b98d89 (decode_one_format): Guard use of print_long_long with
`#if HAVE_UNSIGNED_LONG_LONG'.  From Darren Salt.
Change all `#ifdef HAVE_UNSIGNED_LONG_LONG' to use `#if' instead.
2001-01-02 10:54:55 +00:00
Jim Meyering
4f90505509 *** empty log message *** 2001-01-02 10:44:38 +00:00
Jim Meyering
4fcf9133ef *** empty log message *** 2001-01-02 07:21:36 +00:00
Jim Meyering
1f29ee0e02 *** empty log message *** 2001-01-02 07:20:13 +00:00
Jim Meyering
5285933ed8 copyright 2001-01-02 07:19:59 +00:00
Jim Meyering
1efbe325bd (print_long_format):
Report the year for files even slightly in the future.
Avoid overflow problems near Y2038 on 32-bit hosts.
To calculate "six months", take half the average Gregorian
year, not 180 days.
2001-01-02 07:18:56 +00:00
Jim Meyering
1f678f44f9 *** empty log message *** 2001-01-02 07:14:47 +00:00
Jim Meyering
895cf6e91f . 2001-01-01 18:17:10 +00:00
Jim Meyering
682bc57d89 (jm_PREREQ_READUTMP): Include utmp.h (if available), even
on systems with utmpx.h.  It's necessary for the declaration of utmp's
ut_user member.  Reported by Andreas Jaeger.
2001-01-01 18:16:52 +00:00
Jim Meyering
74ac72a78f . 2001-01-01 18:09:31 +00:00
Jim Meyering
f324aa68f9 (jm_CHECK_DECLS): Include grp.h and pwd.h if available.
They are required for the declarations of getgrgid and getpwuid resp.
(_jm_DECL_HEADERS): Check for grp.h and pwd.h.
2001-01-01 18:08:48 +00:00
Jim Meyering
88db6b6944 . 2001-01-01 10:59:50 +00:00
Jim Meyering
387d125c2d *** empty log message *** 2001-01-01 10:52:32 +00:00
Jim Meyering
fd77d94155 *** empty log message *** 2001-01-01 10:51:32 +00:00
Jim Meyering
137c6d5137 (TESTS): Add setgid. 2001-01-01 10:51:22 +00:00
Jim Meyering
671567d496 *** empty log message *** 2001-01-01 10:49:52 +00:00
Jim Meyering
aa3ef39ac8 *** empty log message *** 2000-12-31 13:24:28 +00:00
Jim Meyering
b360fa26e5 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
can be used in subdirectories.
2000-12-31 12:15:42 +00:00
Jim Meyering
168401bef2 *** empty log message *** 2000-12-31 12:12:41 +00:00
Jim Meyering
9ecf7a54be . 2000-12-31 09:51:50 +00:00
Jim Meyering
b46b6af7e3 . 2000-12-31 09:49:33 +00:00
Jim Meyering
318e97ef64 File renamed from tests/sticky-check.
All uses of "sticky" changed to "setgid".
2000-12-31 09:49:23 +00:00
Jim Meyering
9b525d2fe1 sticky-check -> setgid-check 2000-12-31 09:48:35 +00:00
Jim Meyering
7a5e723600 sticky-check -> setgid-check 2000-12-31 09:48:10 +00:00
Jim Meyering
9a2e78d703 sticky-check -> setgid-check 2000-12-31 09:46:15 +00:00
Jim Meyering
b28d611552 *** empty log message *** 2000-12-31 09:21:28 +00:00
Jim Meyering
f39ef82a14 . 2000-12-31 09:19:25 +00:00
Jim Meyering
c76348c318 (TESTS): Add deref-slink. 2000-12-31 09:17:00 +00:00
Jim Meyering
dd9804a4fe New file. Test for the bug fixed by my 2000-12-28 change to copy.c. 2000-12-31 09:15:44 +00:00
Jim Meyering
f0018a3b9c Improve performance by invoking gettext twice at the start,
instead of once for each file.
(long_time_format): New var.
(decode_switches): Initialize it, if format == long_format.
(print_long_format): Use it.
2000-12-31 09:06:54 +00:00
Jim Meyering
9adb2c7cf1 *** empty log message *** 2000-12-31 08:55:58 +00:00
Jim Meyering
857c948551 (print_long_format): Don't dump core if strftime returns the empty string. 2000-12-31 08:55:41 +00:00
Jim Meyering
33cf956fc8 *** empty log message *** 2000-12-31 08:33:59 +00:00
Jim Meyering
66816a3514 (gobble_file): If not using long format, don't invoke acl; it's not needed. 2000-12-31 08:33:49 +00:00
Jim Meyering
6417617d33 *** empty log message *** 2000-12-31 08:30:28 +00:00
Jim Meyering
769b95b751 Avoid an unnecessary `stat' when using --dereference.
(same_file_ok): Use stat only if lstat reported that
the file was a symbolic link.
2000-12-31 08:29:17 +00:00
Jim Meyering
de0ebc7eb6 *** empty log message *** 2000-12-30 16:51:42 +00:00
Jim Meyering
d8271b06b4 append-only directories -> restricted deletion flag,
which is the term that POSIX d5 uses for this notion.
2000-12-30 16:51:24 +00:00
Jim Meyering
206205c6ee *** empty log message *** 2000-12-29 10:32:33 +00:00
Jim Meyering
3336d7cf69 Do not assume that mode_t uses the
traditional octal encoding.  E.g. "chmod 1 FOO" should set
the other-execute bit of FOO even if S_IXOTH != 1.

(SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
WOTH, XOTH, ALLM): New macros.
(S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
 S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
Use them.
(S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
(S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
(mode_compile):
No need to use uintmax_t; unsigned long is long enough.
Don't bother to get suffix since we don't use it.
2000-12-29 10:32:09 +00:00
Jim Meyering
c319b5bf3b *** empty log message *** 2000-12-29 08:58:38 +00:00
Jim Meyering
de577f3440 Try /usr/xpg4/bin/id (Solaris 7) if plain 'id' doesn't work. 2000-12-29 08:58:25 +00:00
Jim Meyering
9f0489df43 . 2000-12-28 14:43:13 +00:00
Jim Meyering
46e7805428 Run sticky-check from just-created directory. 2000-12-28 14:40:15 +00:00
Jim Meyering
d4b4519d8d *** empty log message *** 2000-12-28 13:35:28 +00:00
Jim Meyering
b8d4bfe024 . 2000-12-28 13:17:02 +00:00
Jim Meyering
7046dfbc47 tweak comment 2000-12-28 11:52:28 +00:00
Jim Meyering
f119221740 tweak comment 2000-12-28 11:31:44 +00:00
Jim Meyering
fe38ed9d90 *** empty log message *** 2000-12-28 11:23:55 +00:00
Jim Meyering
bc9ff8c14d (same_file_ok): Fix *another* typo from my 2000-09-03 change: s/tmp_dst_sb/tmp_src_sb/. 2000-12-28 11:22:59 +00:00
Jim Meyering
a400a0e081 *** empty log message *** 2000-12-28 09:53:58 +00:00
Jim Meyering
3abbefb5e4 (same_file_ok): Fix typo from my 2000-09-03 change: s/tmp_dst_sb/tmp_src_sb/. 2000-12-28 09:53:34 +00:00
Jim Meyering
51d5f8a438 (same_file_ok): Use a single auto var for
tmp_dst_sb, instead of two static vars.
Likewise for tmp_src_sb.
2000-12-28 09:42:06 +00:00
Jim Meyering
e8c1aced2b *** empty log message *** 2000-12-28 09:41:39 +00:00
Jim Meyering
9926b4ec03 . 2000-12-27 10:05:05 +00:00
Jim Meyering
20b09b0761 . 2000-12-27 07:47:08 +00:00
Jim Meyering
9d72d71f21 . 2000-12-27 07:46:47 +00:00
Jim Meyering
937873451a use AC_DEFINE_UNQUOTED 2000-12-27 07:46:35 +00:00
Jim Meyering
b7eb48d4fc (jm_AC_DOS): Rewrite (though it's still a stub) to work better with autoheader. 2000-12-26 18:57:53 +00:00
Jim Meyering
2f67a24489 *** empty log message *** 2000-12-26 11:34:34 +00:00
Jim Meyering
0fa2ce5716 *** empty log message *** 2000-12-26 09:39:17 +00:00
Jim Meyering
1aef6a3960 tweak comment, white space 2000-12-26 09:36:36 +00:00
Jim Meyering
e41d7c5bee *** empty log message *** 2000-12-26 08:51:59 +00:00
Jim Meyering
37aa98f669 Disable the test if the working directory has the sticky bit set. 2000-12-26 08:51:51 +00:00
Jim Meyering
5c265cddbf *** empty log message *** 2000-12-26 08:43:15 +00:00
Jim Meyering
da21549918 Disable the test if the working directory has the sticky bit set. 2000-12-26 08:43:03 +00:00
Jim Meyering
f46fed1458 add omitted semicolon 2000-12-25 18:51:58 +00:00
Jim Meyering
fa9603b6d4 *** empty log message *** 2000-12-25 18:38:19 +00:00
Jim Meyering
0f4de82749 (same_file_ok): Remove declaration and set of unused
variables: src_sb_no_link, dst_sb_no_link.
2000-12-25 18:35:16 +00:00
Jim Meyering
46fa2b76aa *** empty log message *** 2000-12-25 18:31:25 +00:00
Jim Meyering
1a8989fd9d Add a test for this (for all of cp, mv, ln, install). 2000-12-25 18:31:18 +00:00
Jim Meyering
f4795cc6b3 For both ln and install, when using `--backup=simple --suffix=S',
the suffix `S' wasn't used.

(main): Actually use the local variable, `backup_suffix_string'.
2000-12-25 11:07:20 +00:00
Jim Meyering
5688e294f7 *** empty log message *** 2000-12-25 10:45:20 +00:00
Jim Meyering
3c1f0042f5 (hash_compare_active_dir_ents): Return explicit `true'
or `false', rather than relying on implicit int-to-enum cast.
2000-12-25 10:45:10 +00:00
Jim Meyering
ca08f0ea65 *** empty log message *** 2000-12-25 10:41:52 +00:00
Jim Meyering
61b343a3c8 *** empty log message *** 2000-12-25 10:40:42 +00:00
Jim Meyering
ec76cb5726 (extract_dirs_from_files): Remove unused variable.
(gobble_file): Move decl of local, val, into the scope where it's used.
2000-12-25 10:39:04 +00:00
Jim Meyering
d6c55effc3 *** empty log message *** 2000-12-24 18:02:18 +00:00
Jim Meyering
788bdca00c *** empty log message *** 2000-12-24 17:58:16 +00:00
Jim Meyering
c8b1db11d3 (main): Actually use the local variable, `backup_suffix_string'. 2000-12-24 17:56:51 +00:00
Jim Meyering
24ffc1a3c9 whoops 2000-12-24 17:53:05 +00:00
Jim Meyering
2cea3f1b14 detect ln simple backup bug 2000-12-24 13:49:29 +00:00
Jim Meyering
73a15b2b5f *** empty log message *** 2000-12-24 10:06:00 +00:00
Jim Meyering
3734f30bca *** empty log message *** 2000-12-24 09:39:04 +00:00
Jim Meyering
7862d9f6fc Update to version 1.24. 2000-12-24 09:34:17 +00:00
Jim Meyering
7aa3fb3d47 (is_prime): Return explicit boolean values.
(hash_get_first): Return NULL to appease Irix5.6's 89.
2000-12-24 07:12:21 +00:00
Jim Meyering
6ac10d9b9a . 2000-12-23 10:44:25 +00:00
Jim Meyering
8c8f0df4f0 [HAVE_INTTYPES_H]: Include <inttypes.h>. 2000-12-23 10:43:33 +00:00
Jim Meyering
69e09f0559 *** empty log message *** 2000-12-22 22:45:32 +00:00
Jim Meyering
1a18604b2e (isaac_seed_machdep) [_ARCH_PPC]: Disable the code
that would use the PPC mfspr `asm' code.
2000-12-22 22:44:30 +00:00
Jim Meyering
eae1c2b69c . 2000-12-19 11:06:05 +00:00
Jim Meyering
4c038111f8 *** empty log message *** 2000-12-19 10:51:39 +00:00
Jim Meyering
a82d4c2b3d . 2000-12-19 10:50:31 +00:00
Jim Meyering
0cba2d7f5b *** empty log message *** 2000-12-19 10:37:30 +00:00
Jim Meyering
a87ae161be . 2000-12-19 10:25:15 +00:00
Jim Meyering
275b1879c3 . 2000-12-19 10:25:15 +00:00
Jim Meyering
66cf2ad8ce *** empty log message *** 2000-12-19 09:23:47 +00:00
Jim Meyering
0966c0f860 . 2000-12-19 09:23:09 +00:00
Jim Meyering
83a6c55c74 (UINTMAX_MAX): New macro, taken from C99. 2000-12-19 09:22:24 +00:00
Jim Meyering
3c46adfe19 adjust indentation 2000-12-19 09:21:42 +00:00
Jim Meyering
0787040b75 *** empty log message *** 2000-12-19 09:16:39 +00:00
Jim Meyering
bf86c62a33 Include physmem.h.
(SORTALLOC, mergealloc, LINEALLOC): Remove.
(sortalloc): Default to zero at program startup.
(SORTALLOC_MIN, SORTALLOC_DEFAULT_MIN): New macros.
(usage, main): Add support for new -S SIZE option.
(specify_sort_size, default_sort_size): New functions.
(initlines): Do not let alloc exceed limit.
(findlines): Likewise.
(checkfp, mergefps, sort): Use sortalloc to size everything
else, instead of relying on precomputed sizes.
2000-12-19 09:16:28 +00:00
Jim Meyering
915dacbb85 New "sort" option -S SIZE. 2000-12-19 08:40:54 +00:00
Jim Meyering
b6b86da148 *** empty log message *** 2000-12-19 08:36:53 +00:00
Jim Meyering
de38d76a18 (libfetish_a_SOURCES): Add physmem.c.
(noinst_HEADERS): Add physmem.h.
2000-12-19 08:36:39 +00:00
Jim Meyering
166c00189a (__xstrtol): Add undocumented suffixes 'g' and
't' for compatibility with Solaris 8 sort.
2000-12-19 08:35:20 +00:00
Jim Meyering
bca787f7c4 *** empty log message *** 2000-12-19 08:22:18 +00:00
Jim Meyering
258f00968a *** empty log message *** 2000-12-19 08:16:25 +00:00
Jim Meyering
bc40f9fcef (locale_charset): Add support for Win32. 2000-12-19 08:16:09 +00:00
Jim Meyering
d81418fd5e . 2000-12-18 23:43:27 +00:00
Jim Meyering
85ab4b9988 *** empty log message *** 2000-12-18 23:04:34 +00:00
Jim Meyering
f75f8a4b1d Add support for BeOS. 2000-12-18 23:04:28 +00:00
Jim Meyering
dfada44550 these macros take arguments 2000-12-17 09:26:55 +00:00
Jim Meyering
5d4c822ef7 *** empty log message *** 2000-12-17 09:23:05 +00:00
Jim Meyering
55f51356fb (jm_AC_DOS): New file and macro. 2000-12-17 09:22:56 +00:00
Jim Meyering
3f6afc4a7a (jm_MACROS): Require jm_AC_DOS. 2000-12-17 09:22:17 +00:00
Jim Meyering
dc87bf344c *** empty log message *** 2000-12-17 00:19:05 +00:00
Jim Meyering
7a41a27413 *** empty log message *** 2000-12-17 00:18:50 +00:00
Jim Meyering
8dc25234e0 *** empty log message *** 2000-12-17 00:17:26 +00:00
Jim Meyering
24ad4ecf29 *** empty log message *** 2000-12-17 00:17:03 +00:00
Jim Meyering
c9f0363bea . 2000-12-17 00:15:02 +00:00
Jim Meyering
c44bd5683d Update from master repository. 2000-12-17 00:14:40 +00:00
Jim Meyering
ae8bf0e8f1 . 2000-12-16 23:35:38 +00:00
Jim Meyering
fbba4d8d5e *** empty log message *** 2000-12-16 22:27:18 +00:00
Jim Meyering
2b64713ac6 *** empty log message *** 2000-12-16 22:26:23 +00:00
Jim Meyering
2464a2cd9d [!SHELLS_FILE && __DJGPP__]: Define
SHELLS_FILE to a file name that's useful on djgpp systems.
Include stdlib.h.
(ADDITIONAL_DEFAULT_SHELLS): Define.
(default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
Based mostly on a patch from Prashant TR.
2000-12-16 22:25:44 +00:00
Jim Meyering
96e6715ebe . 2000-12-16 18:53:08 +00:00
Jim Meyering
72d973cb61 (uint_to_string): New function.
(uid_to_name): Use it.
(gid_to_name): Use it.
Rename locals, user/group, to uid/gid.
2000-12-16 18:52:58 +00:00
Jim Meyering
39d300f12b (enum Change_status): Start with 1. 2000-12-16 18:47:43 +00:00
Jim Meyering
76f8538bf6 . 2000-12-16 14:49:25 +00:00
Jim Meyering
71411370e7 *** empty log message *** 2000-12-16 13:41:40 +00:00
Jim Meyering
eb24d1f55c *** empty log message *** 2000-12-16 13:40:37 +00:00
Jim Meyering
608b347584 This bug had a serious impact on chown: `chown N:M FILE' (for integer
N and M) would have treated it like `chown N:N FILE'.
(parse_user_spec): Fix typo: s/u/g/.
2000-12-16 13:28:13 +00:00
Jim Meyering
6c4cbe6b5f (main): Rename local, group, to gid. 2000-12-16 13:10:05 +00:00
Jim Meyering
ad31d9b60c tweak a comment 2000-12-16 13:01:24 +00:00
Jim Meyering
8e2ee9a689 (main): Rename locals, user/group, to uid/gid. 2000-12-16 12:57:14 +00:00
Jim Meyering
067af316b6 *** empty log message *** 2000-12-16 09:23:52 +00:00
Jim Meyering
c0ab7dc021 *** empty log message *** 2000-12-16 09:23:32 +00:00
Jim Meyering
8233adab59 Use group-names. 2000-12-16 09:23:10 +00:00
Jim Meyering
be74434bbd Use group-names. 2000-12-16 09:21:20 +00:00
Jim Meyering
bbc027cf8b *** empty log message *** 2000-12-16 09:19:34 +00:00
Jim Meyering
43da73f064 Don't assume that creating a file gives it group $g1. 2000-12-16 09:11:24 +00:00
Jim Meyering
ffc1ef87ea . 2000-12-16 08:20:57 +00:00
Jim Meyering
66e2135f07 (TESTS): Add recurse. 2000-12-16 08:20:11 +00:00
Jim Meyering
e6a5c51ed7 Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
to the list of canonical encodings. Rename EUC-CN to GB2312.
2000-12-15 23:43:55 +00:00
Jim Meyering
d952853f74 *** empty log message *** 2000-12-15 14:49:48 +00:00
Jim Meyering
3ebf224b28 *** empty log message *** 2000-12-15 14:45:50 +00:00
Jim Meyering
9be2faa156 *** empty log message *** 2000-12-15 13:32:24 +00:00
Jim Meyering
a8fff5ee1f *** empty log message *** 2000-12-15 13:31:21 +00:00
Jim Meyering
4ab4534292 . 2000-12-15 13:30:32 +00:00
Jim Meyering
0e81b6b48e (main): Reflect renaming: s/dereference/change_symlinks/. 2000-12-15 13:29:56 +00:00
Jim Meyering
694c6b3a86 (enum Dereference_symlink): rename member: s/change_symlinks/dereference/ 2000-12-15 13:27:03 +00:00
Jim Meyering
9724aab7a6 Declare lstat.
Rename change_symlinks member to `dereference' and use the DEREF_*
enum values.
(describe_change): Merge the chgrp and chown switch statements.
Use xmalloc to form the `user:group' string.
(change_file_owner): Record (and later, use) is_symlink and is_directory
from the lstat stats, in order to control whether we operate on symlinks
and whether (with -R) we traverse symlinks to directories.
When dereferencing, use open/fchown (rather than chown) on symlinks.
2000-12-15 13:24:47 +00:00
Jim Meyering
b6ca14a123 changed messages to match those chgrp now produces 2000-12-15 08:42:35 +00:00
Jim Meyering
976f3796be *** empty log message *** 2000-12-14 15:01:55 +00:00
Jim Meyering
1c643649b0 *** empty log message *** 2000-12-14 15:01:24 +00:00
Jim Meyering
3337b5a092 *** empty log message *** 2000-12-14 14:52:15 +00:00
Jim Meyering
b41ab84baa *** empty log message *** 2000-12-13 22:25:42 +00:00
Jim Meyering
af996c06d0 *** empty log message *** 2000-12-13 07:54:44 +00:00
Jim Meyering
2a21b4cf40 *** empty log message *** 2000-12-10 23:25:43 +00:00
Jim Meyering
3614a52150 *** empty log message *** 2000-12-10 12:50:40 +00:00
Jim Meyering
d2be99eb17 add envvar and lang checks 2000-12-10 09:20:52 +00:00
Jim Meyering
fca6110993 *** empty log message *** 2000-12-10 09:20:35 +00:00
Jim Meyering
9bb0e5cdb7 *** empty log message *** 2000-12-10 08:07:38 +00:00
Jim Meyering
cf302e3bc9 give a better diagnostic when only the group is being changed 2000-12-10 08:04:50 +00:00
Jim Meyering
b50fed9980 . 2000-12-09 22:18:02 +00:00
Jim Meyering
baf047f89a *** empty log message *** 2000-12-09 22:17:31 +00:00
Jim Meyering
a65f9eef4a *** empty log message *** 2000-12-09 22:16:57 +00:00
Jim Meyering
9c149c3b6c . 2000-12-09 22:07:28 +00:00
Jim Meyering
d64368c699 *** empty log message *** 2000-12-09 22:06:03 +00:00
Jim Meyering
97e76d3e24 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT. 2000-12-09 22:05:54 +00:00
Jim Meyering
a157495002 . 2000-12-09 22:05:28 +00:00
Jim Meyering
3c805daf45 . 2000-12-09 20:55:41 +00:00
Jim Meyering
8f55fdc385 (chopt_free): don't free anything 2000-12-09 20:54:23 +00:00
Jim Meyering
26f88f15c8 *** empty log message *** 2000-12-09 20:44:39 +00:00
Jim Meyering
6820c8729e *** empty log message *** 2000-12-09 20:39:17 +00:00
Jim Meyering
78169b6a2f *** empty log message *** 2000-12-09 20:38:12 +00:00
Jim Meyering
5a795ec749 Include "chown-core.h".
[enum Change_status, enum Verbosity]: Remove declarations.
Remove decls of globals that are now part of struct Chown_option.
Remove decl of xstat.
(describe_change): Remove function.
(change_file_group): Likewise.
(change_dir_group): Likewise.
(parse_group): Don't set global, groupname, here...
(main): ... instead, initialize `chopt.group_name' here.
Initialize chopt and update uses of the now-members.
Set group_name also when it's obtained via a --reference=FILE option.
Call change_file_owner (with -1 for uids), not change_file_group.
2000-12-09 20:38:01 +00:00
Jim Meyering
d26ef4e978 add 3 more prototypes 2000-12-09 20:31:56 +00:00
Jim Meyering
40d911bc45 Include <pwd.h>, <grp.h>, and "xalloc.h".
[!_POSIX_VERSION]: Declare getgrnam and getgrgid.
(gid_to_name): New function.
(uid_to_name): Likewise.
(chopt_free): Likewise.
2000-12-09 20:31:34 +00:00
Jim Meyering
748db39d02 Don't include pwd.h or grp.h -- no longer needed.
Include chown-core.h.
[enum Change_status, enum Verbosity]: Remove declarations.
Remove decls of globals that are now part of struct Chown_option.
(describe_change): Remove function.
(change_file_owner): Likewise.
(change_dir_owner): Likewise.
(main): Initialize chopt and update uses of the now-members.
Set user_name and group_name also when they're obtained via a
--reference=FILE option.
Pass `chopt' to change_file_owner.
2000-12-09 20:29:32 +00:00
Jim Meyering
4db97b7a7d *** empty log message *** 2000-12-09 14:47:06 +00:00
Jim Meyering
f8b26d3ade *** empty log message *** 2000-12-09 14:46:34 +00:00
Jim Meyering
5c8eb8ec36 *** empty log message *** 2000-12-09 14:08:07 +00:00
Jim Meyering
64f7bff756 *** empty log message *** 2000-12-09 13:50:13 +00:00
Jim Meyering
040db4c3fe *** empty log message *** 2000-12-09 13:48:03 +00:00
Jim Meyering
34ef74b11c *** empty log message *** 2000-12-09 13:44:37 +00:00
Jim Meyering
de4a3dfb26 *** empty log message *** 2000-12-09 13:44:10 +00:00
Jim Meyering
108881a3b2 *** empty log message *** 2000-12-09 13:38:51 +00:00
Jim Meyering
7d5f893b7f *** empty log message *** 2000-12-09 12:47:51 +00:00
Jim Meyering
8d977c3978 *** empty log message *** 2000-12-09 10:15:26 +00:00
Jim Meyering
73f1bc31d7 (change_file_owner): Restore special file permission
bits, since calling chown resets them on some systems.
Reported by Matt Perry.
2000-12-09 10:15:17 +00:00
Jim Meyering
497d1d9e97 *** empty log message *** 2000-12-09 10:14:52 +00:00
Jim Meyering
764dd3149e Don't make the success of the test depend
on the order in which directory entries are processed.
2000-12-08 20:31:47 +00:00
Jim Meyering
b2b9bed164 *** empty log message *** 2000-12-08 20:31:15 +00:00
Jim Meyering
9580e7cc87 *** empty log message *** 2000-12-08 18:32:11 +00:00
Jim Meyering
a05267197a (mbsnwidth): Don't loop endlessly when called with an
invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
2000-12-08 18:31:38 +00:00
Jim Meyering
a90e5f5a69 *** empty log message *** 2000-12-08 08:06:33 +00:00
Jim Meyering
1f47a082c4 Include xalloc.h.
(main): Use dir_name rather than the underlying dir_name_r.
The former now handles cwd-relative names with drive-letter prefixes.
2000-12-08 07:55:05 +00:00
Jim Meyering
7b55b7aa13 *** empty log message *** 2000-12-07 14:14:18 +00:00
Jim Meyering
bcc94017bc convert a > expression to the equivalent < one 2000-12-07 14:13:51 +00:00
Jim Meyering
b615d79ac3 (ISSLASH): Define.
(strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
From Prashant TR.
2000-12-07 14:13:13 +00:00
Jim Meyering
04f549820f convert a > expression to the equivalent < one 2000-12-07 14:11:52 +00:00
Jim Meyering
ded8b14afb *** empty log message *** 2000-12-07 14:10:33 +00:00
Jim Meyering
4504b81f3b (FILESYSTEM_PREFIX_LEN): Define.
(dir_name_r): Declare this function as static.
[BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
manifest itself on a name containing a mix of slashes and
backslashes.
Make this function work with names starting with a DOS-style
drive letter and colon prefix.
(dir_name): Append `.' if necessary.
Based mostly on patches from Prashant TR and Eli Zaretskii.
2000-12-07 14:10:21 +00:00
Jim Meyering
222412dbf1 (dir_name_r): Remove prototype. 2000-12-07 11:50:35 +00:00
Jim Meyering
71751f757d *** empty log message *** 2000-12-07 10:07:28 +00:00
Jim Meyering
8c8424d0c2 (address_base): Declare to be static. 2000-12-07 10:07:08 +00:00
Jim Meyering
e42f27d147 (address_base, address_pad_len): New var.
(output_address_fmt_string, address_fmt_buffer, address_pad): Remove.
(flag_pseudo_start): Now int, not long int.
(pseudo_offset): Now off_t, not long int.
(n_specs, n_specs_allocated): Now size_t, not unsigned int.
(format_address, format_address_none, format_address_std,
format_address_label): Now accepts an extra char argument (an extra
char to print if nonzero), and prints instead of returning a string.
All callers changed.
(bytes_per_block): Now size_t, not int.
(format_address_none): Do not even print the extra char argument.
This simplifies the callers.
(format_address_std, format_address_label): Print off_t ourself
instead of trying to use autoconfigured format.  This is faster and
more portable.
(format_address_paren): New function.
(dump): Remove unnecessary cast.
(expand_address_fmt): Remove.
(main): Use size_t, off_t, etc. instead of builtin types where this is
advisable.  Adjust to above changes.  Remove unnecessary cast.
2000-12-07 10:05:09 +00:00
Jim Meyering
d1cca1ee9c *** empty log message *** 2000-12-06 11:06:43 +00:00
Jim Meyering
0654f3206d Check for strtol. Mainly as a cue to cause automake to include
strtol.c -- that file is included by each of strtoul.c and strtoull.c.
Check for limits.h -- strtol.c needs it.
2000-12-06 11:06:39 +00:00
Jim Meyering
67cf94a857 *** empty log message *** 2000-12-06 10:52:37 +00:00
Jim Meyering
69ed54e544 Check for declarations of strtoul and strtoull. 2000-12-06 10:52:28 +00:00
Jim Meyering
3dabe6b533 separate conditions for strtoul and strtoull 2000-12-06 10:26:51 +00:00
Jim Meyering
2845214164 *** empty log message *** 2000-12-06 09:55:03 +00:00
Jim Meyering
6b8102a180 *** empty log message *** 2000-12-06 09:35:48 +00:00
Jim Meyering
570074d6d1 (jm_AC_PREREQ_XSTRTOUMAX): If we need the replacement
strtoull, we may well need the replacement strtoul, too.
2000-12-06 09:35:40 +00:00
Jim Meyering
72a6d74ab2 . 2000-12-05 13:53:13 +00:00
Jim Meyering
cd6f0af0ea (dir_name_r): Add `const' in a few local declarations. 2000-12-05 13:14:13 +00:00
Jim Meyering
2746cd50c3 *** empty log message *** 2000-12-04 09:41:28 +00:00
Jim Meyering
8a4261c7a5 *** empty log message *** 2000-12-04 09:37:40 +00:00
Jim Meyering
90799b6c68 Also include memory.h, stdlib.h, unistd.h if appropriate. 2000-12-04 09:37:33 +00:00
Jim Meyering
1c6320fe7c *** empty log message *** 2000-12-04 09:15:54 +00:00
Jim Meyering
fecdd2bd2b [!HAVE_DECL_MALLOC]: Declare malloc. 2000-12-04 09:15:49 +00:00
Jim Meyering
15691fb64f *** empty log message *** 2000-12-03 22:40:40 +00:00
Jim Meyering
cb366955f3 (gobble_file) [USE_ACL]: Set have_acl member unconditionally
to avoid uninitialized memory reference via FILE_HAS_ACL.
2000-12-03 22:40:31 +00:00
Jim Meyering
82a6fbda1c *** empty log message *** 2000-12-03 20:46:07 +00:00
Jim Meyering
177b2553e2 (TESTS): Add assert-2. 2000-12-03 20:43:51 +00:00
Jim Meyering
814e63e371 remove instrumentation 2000-12-03 20:37:55 +00:00
Jim Meyering
2eed25f2ed add instrumentation to detect some UMRs 2000-12-03 20:37:18 +00:00
Jim Meyering
1be9e19c7d *** empty log message *** 2000-12-03 20:36:29 +00:00
Jim Meyering
b7895d0d10 (tail_file): Initialize ignore, dev, and ino members,
when tailing forever and the open failed.  Otherwise, we could get
uninitialized memory references of those fields in recheck.
2000-12-03 20:36:19 +00:00
Jim Meyering
8461820956 *** empty log message *** 2000-12-03 13:10:48 +00:00
Jim Meyering
86960ce221 *** empty log message *** 2000-12-03 12:46:55 +00:00
Jim Meyering
6670163eee (alpha): Use rsync rather than scp, so the destination
file is created only after the successful completion of the copy.
2000-12-03 12:46:44 +00:00
Jim Meyering
437f8becaa . 2000-12-03 12:31:59 +00:00
Jim Meyering
5233121102 use CHAR_BIT, not BITSPERBYTE 2000-12-03 11:00:06 +00:00
Jim Meyering
25c2989d30 *** empty log message *** 2000-12-03 10:59:49 +00:00
Jim Meyering
4f96dfa43e (CHAR_BIT): Define. 2000-12-03 10:59:44 +00:00
Jim Meyering
f559a4afa3 *** empty log message *** 2000-12-03 10:39:03 +00:00
Jim Meyering
b5d4b2c555 *** empty log message *** 2000-12-03 10:22:32 +00:00
Jim Meyering
d8a157a00e *** empty log message *** 2000-12-03 10:21:34 +00:00
Jim Meyering
85a75d3a16 *** empty log message *** 2000-12-03 10:18:09 +00:00
Jim Meyering
d183ecddcd Make od print valid addresses for offsets of 2^32 and larger. (cont'd)
(MAX_ADDRESS_LENGTH): Don't hard-code as a literal.
Rather, define in terms of the type, off_t.
(string_min): Declare to be of type size_t.
(flag_dump_strings): Declare to be of type int.
(print_s_char): Declare the n_bytes parameter and the local, `i',
to be of type off_t.
(print_char): Likewise.
(print_s_short): Likewise.
(print_short): Likewise.
(print_int): Likewise.
(print_long): Likewise.
(print_long_long): Likewise.
(print_float): Likewise.
(print_double): Likewise.
(print_long_double): Likewise.
(dump_hexl_mode_trailer): Likewise.
(print_named_ascii): Likewise.
(print_ascii): Likewise.
(write_block): Likewise.
(print_ascii): Declare local, `print_function' with a prototype.
Change a few `>' comparisons to the equivalent `<' form.
(parse_options): Declare `tmp' to be of type uintmax_t.
Use xstrtoumax, not xstrtoul.
Fail if the specified offset if larger than OFF_T_MAX.
(dump_strings): Declare local `i' to be of type size_t.
Remove the now-unnecessary cast-to-off_t.
(main) [IF_LINT]: Initialize desired_width to avoid a warning.
Declare `tmp' to be of type uintmax_t.
Use xstrtoumax, not xstrtoul.
Fail if minimum string length is larger than SIZE_MAX.
Fail if specified width is larger than ULONG_MAX.
2000-12-03 10:18:04 +00:00
Jim Meyering
e30c09b4cb Add this:
AC_REQUIRE([AC_TYPE_OFF_T])
2000-12-03 10:04:30 +00:00
Jim Meyering
9d5d7f0d50 (OFF_T_MIN): Remove definition.
(OFF_T_MAX): Likewise.
2000-12-03 08:55:51 +00:00
Jim Meyering
caae4ed5a7 (OFF_T_MIN): Define.
(OFF_T_MAX): Define.
2000-12-03 08:54:37 +00:00
Jim Meyering
a1ca60f4e5 Make od print valid addresses for offsets of 2^32 and larger.
(format_address): Use off_t, not long unsigned_int as the
parameter type.
(format_address_none): Likewise.  Mark parameter as unused.
(format_address_std): Likewise.
(format_address_label): Likewise.
(print_ascii): Mark format string parameter as unused.
(write_block): Use off_t, not long unsigned_int as offset type.
(expand_address_fmt): New function.
(main): Use it to expand each address format string template.
Reported by Mark Nudelman, via Andreas Jaeger.
2000-12-03 08:44:12 +00:00
Jim Meyering
ce861b2cb3 (parse_options): Use xstrtoumax to parse the byte and line
offset.  Give a better diagnostic when the requested offset is still
representable but larger than OFF_T_MAX.
2000-12-03 08:35:48 +00:00
Jim Meyering
67ec78d188 *** empty log message *** 2000-12-02 22:18:29 +00:00
Jim Meyering
d661be38ed (valid_format): Move pre-increment to a separate statement to avoid a warning. 2000-12-02 22:18:21 +00:00
Jim Meyering
69e30c7f2a Move dcls of globals used only in main...
(main): ...to here.
(usage): Clarify option descriptions.
2000-12-02 22:16:41 +00:00
Jim Meyering
8973e2b38c whoops. rename the use, too -- not just the decl!! 2000-12-02 21:14:41 +00:00
Jim Meyering
df52f23ebf *** empty log message *** 2000-12-02 21:14:09 +00:00
Jim Meyering
5edc91fc05 (checkfp): Rename local `buf' to avoid shadowing previous declaration. 2000-12-02 21:14:02 +00:00
Jim Meyering
8b4ac20908 (skip): Use lseek instead of worrying about fseeko or fseek.
This should be portable, as we seek before doing any I/O.
(fseeko): Remove; no longer used.
2000-12-02 21:08:01 +00:00
Jim Meyering
1a0d9ea086 add back the parens Paul removed :-) 2000-12-02 20:55:25 +00:00
Jim Meyering
e49511faef (gobble_file): Do not fall back on lstat if stat
fails; POSIX.2 does not allow this.  Invoke acl only on
non-symlinks, and only if lstat or stat succeeds.
2000-12-02 20:55:02 +00:00
Jim Meyering
e05c32a868 *** empty log message *** 2000-12-02 20:52:09 +00:00
Jim Meyering
c2f898236f *** empty log message *** 2000-12-02 20:45:40 +00:00
Jim Meyering
501ebc1cba Make idempotent, to avoid some obscure warnings. 2000-12-02 20:45:30 +00:00
Jim Meyering
77182607c0 . 2000-12-02 18:52:17 +00:00
Jim Meyering
6769657fa3 *** empty log message *** 2000-12-02 18:52:03 +00:00
Jim Meyering
dab453378b (OFF_T_PRINTF_FORMAT_STRING): require it. 2000-12-02 18:51:26 +00:00
Jim Meyering
aa266c29eb *** empty log message *** 2000-12-02 18:04:19 +00:00
Jim Meyering
6b94589fa4 *** empty log message *** 2000-12-02 18:02:05 +00:00
Jim Meyering
0d849addb3 *** empty log message *** 2000-12-02 17:44:04 +00:00
Jim Meyering
1698b85090 *** empty log message *** 2000-12-02 17:40:26 +00:00
Jim Meyering
a538ba0149 *** empty log message *** 2000-12-02 17:39:59 +00:00
Jim Meyering
41f20fd38f *** empty log message *** 2000-12-02 14:53:18 +00:00
Jim Meyering
1c8189de61 (TESTS): Add follow-slink. 2000-12-02 14:53:07 +00:00
Jim Meyering
525e76fce0 *** empty log message *** 2000-12-02 14:52:45 +00:00
Jim Meyering
d91624bd99 *** empty log message *** 2000-12-02 14:43:34 +00:00
Jim Meyering
1c71127370 (NONZERO): Define and use it to make the code a tiny
bit more readable.
2000-12-02 14:43:28 +00:00
Jim Meyering
4f1553c89f *** empty log message *** 2000-12-02 14:28:23 +00:00
Jim Meyering
1b9cb7ea23 (sort invocation): Clarify how -t works when
a sort key specifies a range of fields.  From Karl O. Pinc.
2000-12-02 14:28:11 +00:00
Jim Meyering
479aba180c *** empty log message *** 2000-12-02 14:10:37 +00:00
Jim Meyering
8eeae63a74 . 2000-12-02 14:04:05 +00:00
Jim Meyering
07584e33ec add test that would fail on NetBSD before the last change 2000-12-02 14:02:34 +00:00
Jim Meyering
33ba435db5 *** empty log message *** 2000-12-02 13:22:57 +00:00
Jim Meyering
73fe66c783 *** empty log message *** 2000-12-02 13:22:14 +00:00
Jim Meyering
cc27b86c60 (main): Remove any trailing slash unconditionally.
Reported by Volker Borchert.
2000-12-02 13:20:37 +00:00
Jim Meyering
9db47bb808 *** empty log message *** 2000-12-02 12:15:00 +00:00
Jim Meyering
8bf3961df0 *** empty log message *** 2000-12-02 12:05:15 +00:00
Jim Meyering
df7d583cc2 (TESTS): Add skip-seek2 2000-12-02 12:05:03 +00:00
Jim Meyering
271e41850b *** empty log message *** 2000-12-02 12:04:32 +00:00
Jim Meyering
97b58344c5 *** empty log message *** 2000-12-02 09:58:43 +00:00
Jim Meyering
627dac6c07 Include <config.h> before any system include file. 2000-12-02 09:58:31 +00:00
Jim Meyering
0742bc284e *** empty log message *** 2000-12-02 08:19:31 +00:00
Jim Meyering
acca4638b8 (skip, dd_copy): Use ssize_t to store result of
safe_read, to avoid overflow e.g. on 64-bit Solaris sparc.
(dd_copy): Remove unnecessary cast.
2000-12-02 08:19:21 +00:00
Jim Meyering
05aabec021 *** empty log message *** 2000-12-02 08:14:33 +00:00
Jim Meyering
e996c1bd77 Undo most of the changes since 2000-11-24, since we've
documented a standard way to do it.
(skip_bytes, seek_bytes): Remove.
(usage): Remove B suffix.
(scanargs, skip, dd_copy, main): Remove support for B suffix.
2000-12-02 08:12:56 +00:00
Jim Meyering
b529a77be8 *** empty log message *** 2000-11-30 20:36:08 +00:00
Jim Meyering
4faf0a9a17 *** empty log message *** 2000-11-30 20:35:02 +00:00
Jim Meyering
3e50cea2f5 (jm_MACROS): Add stdint.h to the list of headers. 2000-11-30 20:34:23 +00:00
Jim Meyering
339738f351 s/SIZE_T_MAX/SIZE_MAX/. 2000-11-30 20:30:04 +00:00
Jim Meyering
a48a4d5c63 Include <stdint.h> if HAVE_STDINT_H.
(SIZE_MAX): Renamed from SIZE_T_MAX, as C99 uses SIZE_MAX.
All uses changed.
2000-11-30 20:27:49 +00:00
Jim Meyering
57a0382b5f *** empty log message *** 2000-11-30 11:39:19 +00:00
Jim Meyering
835a8fa634 (SIZE_T_MAX): Define. 2000-11-30 11:39:08 +00:00
Jim Meyering
4ff7ab63ab *** empty log message *** 2000-11-30 11:33:57 +00:00
Jim Meyering
d92f4ac85e Port GNU "sort" to hosts where sizes don't fit in "int",
e.g. 64-bit Solaris (sparc).

("human.h", "xstrtol.h"): Include.
(struct line): length member is now size_t, not int.
(struct lines): Likewise for used, alloc, limit members.
(struct buffer): Likewise for used, alloc, left, newline_free members.
(struct keyfield): Likewise for sword, schar, eword, echar members.
(sortalloc, mergealloc, linelength): Now size_t, not int.

(initbuf, fillbuf, initlines, begfield, limfield, findlines,
numcompare, getmonth, keycompare, compare, checkfp, mergefps,
sortlines, sort): Accept, return, and use size_t for sizes, not int.

(fillbuf, initlines, findlines, checkfp, sort): Check for overflow
when computing buffer sizes.

(begfield, limfield): Do not index past end of array.

(checkfp): Return a boolean, not a line number, as the line
number may not fit in int.  All callers changed.  Use
uintmax_t for line numbers, not int.

(sort): Don't allocate tmp until we need it (and know the right size).

(parse_field_count): New function.

(main): Use it to check for overflow in field counts.
"outfile" is now a pointer to const.
2000-11-30 11:33:49 +00:00
Jim Meyering
21b8c52ae9 *** empty log message *** 2000-11-30 09:36:04 +00:00
Jim Meyering
7303ca25db (dir_name_r): Fix typo: int -> size_t. 2000-11-30 09:35:52 +00:00
Jim Meyering
060fb58f86 *** empty log message *** 2000-11-30 07:45:38 +00:00
Jim Meyering
d185a442b9 s/ifval/m4_ifval/ to accommodate new autoconf. 2000-11-30 07:44:58 +00:00
Jim Meyering
86046cb32f . 2000-11-30 07:40:16 +00:00
Jim Meyering
1500316caf remove useless parens 2000-11-27 09:33:53 +00:00
Jim Meyering
72454050bb *** empty log message *** 2000-11-27 09:04:38 +00:00
Jim Meyering
b0b9c6fee7 *** empty log message *** 2000-11-27 08:47:13 +00:00
Jim Meyering
4a9feba665 add an echo 2000-11-27 08:45:46 +00:00
Jim Meyering
afed66de3b *** empty log message *** 2000-11-27 08:32:13 +00:00
Jim Meyering
d33f54f74f Use touch with `-d tomorrow' to avoid race condition. 2000-11-27 08:01:57 +00:00
Jim Meyering
6d43eca61a *** empty log message *** 2000-11-27 08:00:53 +00:00
Jim Meyering
59a56f4172 use abs_srcdir 2000-11-27 07:01:39 +00:00
Jim Meyering
8cd774b0a3 . 2000-11-26 23:30:27 +00:00
Jim Meyering
7484a08597 *** empty log message *** 2000-11-26 23:13:28 +00:00
Jim Meyering
3083c30362 Include config.h, stdio.h, sys/types.h. and system.h here instead. 2000-11-26 23:13:11 +00:00
Jim Meyering
81ae3684cc Include config.h, stdio.h, sys/types.h. and system.h here instead. 2000-11-26 23:12:44 +00:00
Jim Meyering
f8674300d4 don't include system.h here 2000-11-26 23:10:55 +00:00
Jim Meyering
b65d5875b7 *** empty log message *** 2000-11-26 23:10:25 +00:00
Jim Meyering
7c85357876 . 2000-11-26 23:08:17 +00:00
Jim Meyering
913052e751 *** empty log message *** 2000-11-26 23:05:02 +00:00
Jim Meyering
5536541dbb *** empty log message *** 2000-11-26 23:04:55 +00:00
Jim Meyering
6fbae8149f (_compare_files): New function.
(_process_file_spec): Likewise.
(_at_replace): Likewise.
(run_tests): Support new keywords, AUX and CMP and associated
syntax and semantics.
2000-11-26 23:04:39 +00:00
Jim Meyering
be56f8286f *** empty log message *** 2000-11-26 23:01:58 +00:00
Jim Meyering
b04a174558 . 2000-11-26 23:01:02 +00:00
Jim Meyering
1040389220 *** empty log message *** 2000-11-26 21:36:24 +00:00
Jim Meyering
459b44b03d (skip): Perform the `records < blocksize' test
at the top of the loop, not at the bottom.
2000-11-26 21:35:53 +00:00
Jim Meyering
297c469d6f (skip): New arg COUNT_BYTES. Read with BLOCKSIZE
bytes, but consider RECORDS to be a byte count if COUNT_BYTES
is nonzero.
2000-11-26 21:34:05 +00:00
Jim Meyering
022f9b7d19 Include sys/types.h. From Werner Almesberger. 2000-11-26 16:52:29 +00:00
Jim Meyering
de2cfc1a5f *** empty log message *** 2000-11-26 16:52:03 +00:00
Jim Meyering
005c4244f9 *** empty log message *** 2000-11-26 16:50:17 +00:00
Jim Meyering
9b45312c35 . 2000-11-26 16:00:33 +00:00
Jim Meyering
bd3afcc718 . 2000-11-26 15:59:51 +00:00
Jim Meyering
d47e7953ba *** empty log message *** 2000-11-26 15:59:12 +00:00
Jim Meyering
9860ca9f9b *** empty log message *** 2000-11-26 15:57:21 +00:00
Jim Meyering
8f9f95b5ec (TESTS): Add skip-seek. 2000-11-26 15:57:04 +00:00
Jim Meyering
2d354c5a2e . 2000-11-26 15:52:13 +00:00
Jim Meyering
7f5ed2b586 *** empty log message *** 2000-11-26 14:33:06 +00:00
Jim Meyering
8ee842a15b (skip_bytes, seek_bytes): Now booleans, not counts.
(seek_records): Renamed from seek_record, for consistency with
skip_records and max_records.  All uses changed.

(usage, scanargs): Remove bseek=n and bskip=n; instead, use seek=nB
and skip=nB.
(enum Unit, Unit): Remove.
(skip, dd_copy, main): Undo most recent change.
(dd_copy, main): Pass blocksize of 1 as appropriate when
skip_bytes or seek_bytes is nonzero.
(main): Rework ftruncate failure diagnostic to always use byte count.
2000-11-26 08:23:23 +00:00
Jim Meyering
7a16e5e6ff *** empty log message *** 2000-11-25 17:01:00 +00:00
Jim Meyering
6cfcd41e1a *** empty log message *** 2000-11-25 15:27:47 +00:00
Jim Meyering
89499f2124 *** empty log message *** 2000-11-25 14:24:52 +00:00
Jim Meyering
e3db837339 more post-merge clean-up.
Fix a merge bug exposed by new test.
2000-11-25 14:17:43 +00:00
Jim Meyering
b499483abd *** empty log message *** 2000-11-25 13:49:38 +00:00
Jim Meyering
944f878a72 *** empty log message *** 2000-11-25 13:27:13 +00:00
Jim Meyering
a1e9a949b4 *** empty log message *** 2000-11-25 13:25:53 +00:00
Jim Meyering
d1680f86e1 *** empty log message *** 2000-11-25 13:24:30 +00:00
Jim Meyering
019bdadfc9 remove bskip
adapt skip to skip either by bytes or by blocks
2000-11-25 08:54:58 +00:00
Jim Meyering
7d57b34196 (S_TYPEISSHM): New macro.
(main): Report failed fstat.
Complain only when ftruncate fails on a regular file,
a directory, or a shared memory object.
2000-11-25 07:20:51 +00:00
Jim Meyering
c8a0eec3f6 bskip/bseek patch from Chris Sylvain <csylvain@umm.edu> merged in 2000-11-24 21:54:31 +00:00
Jim Meyering
3d6852f7fa Declare a pointer parameters to be `const' as appropriate. 2000-11-24 21:41:38 +00:00
Jim Meyering
dd82647d0c *** empty log message *** 2000-11-24 21:19:56 +00:00
Jim Meyering
b95b1e3c9a *** empty log message *** 2000-11-24 21:18:58 +00:00
Jim Meyering
1d250b6098 (main): Use ftruncate only on regular files.
Based on a patch from Michael Stone.
Reported by andras@kolumbus.fi at http://bugs.debian.org/77174.
2000-11-24 21:18:51 +00:00
Jim Meyering
b35b7e0553 *** empty log message *** 2000-11-24 17:42:01 +00:00
Jim Meyering
d1703ad194 *** empty log message *** 2000-11-24 15:54:48 +00:00
Jim Meyering
17800b0300 . 2000-11-23 21:48:47 +00:00
Jim Meyering
c9dcdd0fc5 cd back to $pwd 2000-11-23 21:48:10 +00:00
Jim Meyering
b21c6f8e1e *** empty log message *** 2000-11-23 15:58:51 +00:00
Jim Meyering
846b539b4e *** empty log message *** 2000-11-23 15:58:19 +00:00
Jim Meyering
9a4e9f426c (show_point): Before accepting an entry as a match, make sure that
the mount directory exists and has the required device number.
Before, e.g., `df /floppy' would mistakenly report on the root
partition if /floppy were not listed in /etc/mtab but / was.
Patch from Eirik Fuller (http://bugs.debian.org/76923).
2000-11-23 15:36:58 +00:00
Jim Meyering
4e07d471cc *** empty log message *** 2000-11-23 15:08:19 +00:00
Jim Meyering
5afa8c022e *** empty log message *** 2000-11-23 15:05:40 +00:00
Jim Meyering
6202e79712 (mode_changed): New function.
(change_file_mode): Use it to determine accurately when -c should
make chmod announce there's been a change.
2000-11-23 15:04:17 +00:00
Jim Meyering
bd320fe27b Source sticky-check instead of open-coding it. 2000-11-23 14:59:05 +00:00
Jim Meyering
bf319d9d88 *** empty log message *** 2000-11-23 14:57:47 +00:00
Jim Meyering
1e9f7512fe (TESTS): Add c-option 2000-11-23 14:37:16 +00:00
Jim Meyering
75e63ae6cd whoops 2000-11-23 14:32:09 +00:00
Jim Meyering
d6dabd6cbb *** empty log message *** 2000-11-23 07:24:59 +00:00
Jim Meyering
d5b2ff2b99 (my_strftime): Do not invoke mbrlen with a
size of (size_t) -1; it's not portable.
2000-11-23 07:24:51 +00:00
Jim Meyering
a3e608b76a chmod before removing 2000-11-22 13:15:10 +00:00
Jim Meyering
d97f90581b Update to use its own directory, and better trap. 2000-11-19 22:24:24 +00:00
Jim Meyering
5f90e3be67 *** empty log message *** 2000-11-19 15:15:48 +00:00
Jim Meyering
f2f5e30bc2 (main): Do not assume EOF == -1.
Handle the case correctly when digits options immediately precede a
non-option.
2000-11-19 15:15:38 +00:00
Jim Meyering
6c1ee8402c (BLOCK_SIZE_OPTION, COLOR_OPTION, FORMAT_OPTION,
INDICATOR_STYLE_OPTION, QUOTING_STYLE_OPTION,
SHOW_CONTROL_CHARS_OPTION, SORT_OPTION, TIME_OPTION): New enum
values, to ensure that option values can't collide with chars.
(long_options, decode_switches): Use them.
2000-11-19 07:44:26 +00:00
Jim Meyering
ff9d584dcc *** empty log message *** 2000-11-19 07:41:31 +00:00
Jim Meyering
aba2a0fd6d (GETOPT_HELP_CHAR, GETOPT_VERSION_CHAR): Now enum
constants rather than macros.  Use values that cannot conflict
with C characters or with -1, CHAR_MAX + 1, etc.
2000-11-19 07:41:20 +00:00
Jim Meyering
5baa94d136 *** empty log message *** 2000-11-18 20:01:14 +00:00
Jim Meyering
6447e5b997 (count_entry): Don't omit the size of a directory entry
merely because we couldn't `chdir' into it.  That would give subtly
different results in some cases.  Reported by Mattias Wadenstein
via Michael Stone.
2000-11-18 20:01:02 +00:00
Jim Meyering
49d5578b0b *** empty log message *** 2000-11-18 20:00:25 +00:00
Jim Meyering
ed757a3e9d *** empty log message *** 2000-11-18 19:43:23 +00:00
Jim Meyering
e5aacbc6ea Revert change of 2000-11-11. It inadvertently change
the output format of `ls -l --full-time'.
2000-11-18 19:43:15 +00:00
Jim Meyering
909f49e651 *** empty log message *** 2000-11-18 15:09:02 +00:00
Jim Meyering
54f2cba1b5 Update to use the Free Documentation Licence. 2000-11-18 15:08:57 +00:00
Jim Meyering
880e67d643 Change GNU to @sc{gnu} in many places. 2000-11-18 14:27:36 +00:00
Jim Meyering
166bbecf0b . 2000-11-18 14:10:40 +00:00
Jim Meyering
f94fab125e *** empty log message *** 2000-11-18 13:51:56 +00:00
Jim Meyering
8bbc00b147 (main): When failing to create a directory, give only
one diagnostic, not two.  Reported by Volker Borchert.
2000-11-18 13:49:44 +00:00
Jim Meyering
9ca70467e9 *** empty log message *** 2000-11-18 13:48:25 +00:00
Jim Meyering
16f1ca4c35 *** empty log message *** 2000-11-18 13:40:17 +00:00
Jim Meyering
c7087747a4 (TESTS): Add t-slash. 2000-11-18 13:39:49 +00:00
Jim Meyering
cdc8ee798f *** empty log message *** 2000-11-18 13:36:40 +00:00
Jim Meyering
caf54306a3 (main): With --parents, remove any trailing slashes
from the argument to the final mkdir call.  Required for NetBSD.
2000-11-18 13:36:24 +00:00
Jim Meyering
cde06a54ea Create and `cd' into temporary directory
before anything else.  Reported by Volker Borchert.
2000-11-18 13:19:23 +00:00
Jim Meyering
40af3c54b6 revert mysteriously-applied last delta! 2000-11-18 13:10:40 +00:00
Jim Meyering
bb56dec673 add -*- Makefile -*- 2000-11-18 13:02:44 +00:00
Jim Meyering
1234569e43 Sync with the one from fileutils. 2000-11-18 13:01:22 +00:00
Jim Meyering
82db55924e *** empty log message *** 2000-11-18 11:53:28 +00:00
Jim Meyering
9a99175c0e *** empty log message *** 2000-11-18 11:53:02 +00:00
Jim Meyering
88754c060d *** empty log message *** 2000-11-18 11:52:12 +00:00
Jim Meyering
d3a2ca48d4 . 2000-11-18 11:50:19 +00:00
Jim Meyering
6adb4780b5 . 2000-11-18 11:17:41 +00:00
Jim Meyering
6e3bd39c14 tweak a comment 2000-11-18 09:53:33 +00:00
Jim Meyering
cf59735d7b Formatting changes.
(obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
prevent type checking.
(obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
cast the value to (void *): assigning a `foo *' to a `void *'
variable is valid.
(obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
2000-11-18 09:50:09 +00:00
Jim Meyering
ff0e0181c9 *** empty log message *** 2000-11-17 10:22:20 +00:00
Jim Meyering
138e17c26e *** empty log message *** 2000-11-17 10:21:57 +00:00
Jim Meyering
2c7002e529 *** empty log message *** 2000-11-17 10:20:42 +00:00
Jim Meyering
88b47ac69f (.NOTPARALLEL): Put it here instead, since this file
is common to these packages: fileutils, sh-utils, textutils.
2000-11-17 10:20:09 +00:00
Jim Meyering
f15c4ee154 Declare global `tab' to be of type *unsigned* char,
so join works with 8-bit delimiter characters.
2000-11-17 10:16:53 +00:00
Jim Meyering
9a25583ef1 . 2000-11-17 10:16:22 +00:00
Jim Meyering
d32d63e211 *** empty log message *** 2000-11-17 08:31:36 +00:00
Jim Meyering
7daa83a149 Explicitly include sys/types.h before including system.h. 2000-11-17 08:31:01 +00:00
Jim Meyering
b73eb2433d . 2000-11-17 08:21:22 +00:00
Jim Meyering
73ee461623 *** empty log message *** 2000-11-17 08:19:14 +00:00
Jim Meyering
00fba41266 Update from GNU libc. 2000-11-17 08:19:01 +00:00
Jim Meyering
7822d5fe7f (sha1): Define.
(announcement): Include SHA1 digest of .tar.gz file.
2000-11-17 08:13:38 +00:00
Jim Meyering
395dc1f7ff *** empty log message *** 2000-11-16 19:35:10 +00:00
Jim Meyering
1f789a22a2 Include sys/types.h before system.h. 2000-11-16 19:34:23 +00:00
Jim Meyering
0354ab509e *** empty log message *** 2000-11-16 14:19:37 +00:00
Jim Meyering
5b85894325 Declare global `tab' to be of type *unsigned* char,
so join works with 8-bit delimiter characters.
Reported by Antonio Rendas.
2000-11-16 14:19:27 +00:00
Jim Meyering
b77cb25935 (8-bit-t): New test for the above fix. 2000-11-16 14:19:00 +00:00
Jim Meyering
ea9a4e4755 *** empty log message *** 2000-11-16 12:56:51 +00:00
Jim Meyering
69c750af36 *** empty log message *** 2000-11-16 12:20:35 +00:00
Jim Meyering
f2e553b126 Incorporate weak-alias-related changes from glibc. 2000-11-16 10:15:54 +00:00
Jim Meyering
8a93bbce06 remove bruno's 11-03 entry for unicodeio.c 2000-11-14 21:45:59 +00:00
Jim Meyering
965cb80669 *** empty log message *** 2000-11-14 21:39:06 +00:00
Jim Meyering
0e397f0460 reword a paragraph in the ptx section 2000-11-14 21:38:00 +00:00
Jim Meyering
0ebd6b45a8 *** empty log message *** 2000-11-13 23:59:21 +00:00
Jim Meyering
a8fab3b2eb Add an `echo' so that the input to the sed command
is NL-terminated.  Otherwise, Solaris' /bin/sed generates no output.
Reported by Vin Shelton.
2000-11-13 23:59:15 +00:00
Jim Meyering
2e9fdf49c5 *** empty log message *** 2000-11-13 19:34:19 +00:00
Jim Meyering
0743fbb426 *** empty log message *** 2000-11-13 19:33:47 +00:00
Jim Meyering
2c6fbbea7a (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should
be tested with #ifdef, not with #if.
2000-11-13 19:33:32 +00:00
Jim Meyering
3f6da994c0 *** empty log message *** 2000-11-12 15:19:26 +00:00
Jim Meyering
adcacc9417 (print_long_format): Remove obsolete comment (strftime vs. ctime).
From Paul Eggert.
2000-11-12 15:19:21 +00:00
Jim Meyering
7e2f836a49 . 2000-11-12 10:51:33 +00:00
Jim Meyering
1bac92811e Update from master repository. 2000-11-12 10:51:24 +00:00
Jim Meyering
8fc17df678 (show_date): Add a comment explaining why the
format string must not be translatable via _().  From Paul Eggert.
2000-11-12 10:02:29 +00:00
Jim Meyering
1ff67f6c5c (<langinfo.h>): Include if HAVE_LANGINFO_H.
(DATE_FMT_LANGINFO): New macro, taken from sh-utils/src/date.c.
(print_long_format): Use it to determine "date" format.
Do not wrap "%b %e %Y" and "%b %e %H:%M" in _(), as it results in
incorrect behavior when LC_ALL is unset, LC_TIME is "C", and
LC_MESSAGES or LANG is set to something disagreeing with the POSIX
locale.
2000-11-12 09:48:14 +00:00
Jim Meyering
eabc99b8a4 *** empty log message *** 2000-11-11 14:52:05 +00:00
Jim Meyering
b3f23e14d2 Add a couple #includes, merging from GNU libc version. 2000-11-11 14:32:00 +00:00
Jim Meyering
abe849cb76 . 2000-11-11 14:18:22 +00:00
Jim Meyering
4f9389cf1e More minor rewording and grammar correction.
From Brian Youmans.
2000-11-11 14:18:08 +00:00
Jim Meyering
3ac192dc18 *** empty log message *** 2000-11-11 13:42:17 +00:00
Jim Meyering
39d746aace (GZIP_ENV): Define to --no-name, so the timestamp
is not included in the .tar.gz file.
2000-11-11 13:42:07 +00:00
Jim Meyering
a4aa31ab26 *** empty log message *** 2000-11-11 13:35:39 +00:00
Jim Meyering
fc27d7356d (tests): Use `empty' (instead of just blanks) to
indicate no `-m' option.  Using just blanks wasn't portable to
Solaris2.5.1's /bin/sh.
2000-11-11 13:34:51 +00:00
Jim Meyering
427694451d *** empty log message *** 2000-11-11 10:21:51 +00:00
Jim Meyering
81655756c2 Don't put newline in IFS; that's not portable to
NetBSD's /bin/sh.  Instead, filter newlines and leading/trailing blanks
out of `tests' before the `set -'.
2000-11-11 10:21:42 +00:00
Jim Meyering
2cd2cfc95c Back out Paul's changes while we wait for him and Bruno to reach agreement. 2000-11-11 09:10:33 +00:00
Jim Meyering
dd55ac2967 Remove Paul's entries for unicodeio.c: then I don't have to justify
backing out the nov8/9 changes.
2000-11-11 09:09:55 +00:00
Jim Meyering
0a8f8a7f96 *** empty log message *** 2000-11-11 08:32:16 +00:00
Jim Meyering
8fdb4073cb (announcement): Limit depth of ChangeLog `find' to 2. 2000-11-11 08:32:10 +00:00
Jim Meyering
6a3804bceb *** empty log message *** 2000-11-11 08:29:21 +00:00
Jim Meyering
7a23da6e17 *** empty log message *** 2000-11-11 08:11:20 +00:00
Jim Meyering
403470bdfb *** empty log message *** 2000-11-11 07:52:09 +00:00
Jim Meyering
565c193a23 *** empty log message *** 2000-11-11 07:51:25 +00:00
Jim Meyering
cd7e157b45 (print_long_format): Wrap the --full-time' date format
string in _(...), so it too may be internationalized.
Suggestion from Jungshik Shin.
2000-11-11 07:51:07 +00:00
Jim Meyering
bac81b8dd0 *** empty log message *** 2000-11-11 07:50:38 +00:00
Jim Meyering
6e92f27548 . 2000-11-10 18:54:40 +00:00
Jim Meyering
b3324ca196 (main): Interpret a lone numeric argument of 8 or 10
digits as a file name, rather than as a date/time in the obsolescent
`MMDDhhmm[YY]' format.  Reported by Wenjun Zheng.
2000-11-10 18:54:19 +00:00
Jim Meyering
c90aa4af6c *** empty log message *** 2000-11-10 16:37:20 +00:00
Jim Meyering
2dcd72c77e *** empty log message *** 2000-11-10 16:30:37 +00:00
Jim Meyering
4aba36bd9a (TESTS): Add obsolescent. 2000-11-10 16:30:28 +00:00
Jim Meyering
2ee35792a0 *** empty log message *** 2000-11-10 16:29:12 +00:00
Jim Meyering
782e6319e5 *** empty log message *** 2000-11-10 16:24:24 +00:00
Jim Meyering
95bbe7a4e1 *** empty log message *** 2000-11-10 16:23:14 +00:00
Jim Meyering
5631658518 *** empty log message *** 2000-11-10 11:14:03 +00:00
Jim Meyering
64e75882f4 Update from GNU libc. 2000-11-10 11:13:32 +00:00
Jim Meyering
151c87c3df Update from GNU libc. 2000-11-10 11:10:39 +00:00
Jim Meyering
0e12cbe0e2 fix typo 2000-11-10 09:02:29 +00:00
Jim Meyering
6165d7114f *** empty log message *** 2000-11-10 08:46:34 +00:00
Jim Meyering
2edf3e95db (ENOTSUP): Define to EINVAL if not defined. 2000-11-10 08:46:19 +00:00
Jim Meyering
b2a6e3f614 don't back them out 2000-11-10 08:44:51 +00:00
Jim Meyering
be1e26b2e5 Back out the last two changes, at least for now. 2000-11-10 08:43:46 +00:00
Jim Meyering
185ee08979 . 2000-11-09 22:29:57 +00:00
Jim Meyering
020235e167 *** empty log message *** 2000-11-09 22:22:41 +00:00
Jim Meyering
445485d9b8 Do not set the permissions of the final directory
component if it was not just created.
Based on a patch from Volker Borchert.
2000-11-09 22:21:59 +00:00
Jim Meyering
0fd7aaf38c *** empty log message *** 2000-11-09 08:33:01 +00:00
Jim Meyering
48a83af35c (MB_LEN_MAX): Make sure it's at least 6, to avoid buggy C libraries. 2000-11-09 08:32:52 +00:00
Jim Meyering
bb73f9b20e (<wchar.h>): Do not include; no longer needed, since we no longer use wcrtomb.
(<limits.h>): Include if HAVE_LIMITS_H.
(MB_LEN_MAX): Define if limits.h doesn't.
(convert_unicode_char): New function, with the conversion part of the
old print_unicode_char.  Use wctomb, not wcrtomb.  Depend on
HAVE_WCTOMB, not HAVE_WCRTOMB.
(print_unicode_char): Use convert_unicode_char to do the conversion.
2000-11-09 08:30:00 +00:00
Jim Meyering
611fadd9e8 *** empty log message *** 2000-11-09 08:28:13 +00:00
Jim Meyering
f95b33a519 *** empty log message *** 2000-11-08 14:46:43 +00:00
Jim Meyering
73771cb380 (jm_MACROS): Add test for wcrtomb. 2000-11-08 14:46:35 +00:00
Jim Meyering
48da137f84 *** empty log message *** 2000-11-08 14:46:20 +00:00
Jim Meyering
4e378387d0 Include wchar.h.
(wcrtomb): Provide fallback definition for broken platforms.
(print_unicode_char): New alternative definition for platforms where
wchar_t is Unicode.
2000-11-08 14:46:13 +00:00
Jim Meyering
830edd4985 . 2000-11-07 15:36:04 +00:00
Jim Meyering
770c39a710 *** empty log message *** 2000-11-07 15:35:25 +00:00
Jim Meyering
4e2bc789ab (setusershell): Use rewind rather than
fseek/fseeko, to avoid configuration hassles with fseeko.
Don't bother opening SHELLS_FILE if shellstream is NULL;
it's not necessary.
2000-11-07 15:35:15 +00:00
Jim Meyering
da0732da37 tweak 2000-11-07 14:57:41 +00:00
Jim Meyering
b3edfeaeee *** empty log message *** 2000-11-07 14:22:54 +00:00
Jim Meyering
e1d09fbef3 (TESTS): Add parents.
(TESTS_ENVIRONMENT): Define srcdir=$(srcdir).
2000-11-07 14:22:11 +00:00
Jim Meyering
4d73de7228 *** empty log message *** 2000-11-07 14:20:43 +00:00
Jim Meyering
97a165c61f handle special bits, too 2000-11-07 14:20:06 +00:00
Jim Meyering
57ebb8d808 *** empty log message *** 2000-11-06 21:53:08 +00:00
Jim Meyering
0aa5a0d85e *** empty log message *** 2000-11-06 21:52:12 +00:00
Jim Meyering
c49c23e608 (TESTS_ENVIRONMENT): Define srcdir=$(srcdir). 2000-11-06 20:57:04 +00:00
Jim Meyering
1a6f58ae67 Move mkdir tests into ../mkdir. 2000-11-06 20:53:58 +00:00
Jim Meyering
49a11aa4d4 add Paul here, too. 2000-11-06 18:41:25 +00:00
Jim Meyering
ebecb3f230 *** empty log message *** 2000-11-06 17:42:19 +00:00
Jim Meyering
be34aaaa35 Update from master repository. 2000-11-06 17:42:11 +00:00
Jim Meyering
939977073e *** empty log message *** 2000-11-06 17:38:13 +00:00
Jim Meyering
17d7e0206d Update from latest version: 1.23. 2000-11-06 17:38:07 +00:00
Jim Meyering
c968981077 *** empty log message *** 2000-11-06 13:12:57 +00:00
Jim Meyering
23357a490e *** empty log message *** 2000-11-06 13:10:38 +00:00
Jim Meyering
c08ca675ac (print_header): Mark strings for translation. 2000-11-06 13:10:33 +00:00
Jim Meyering
25353ae5a7 *** empty log message *** 2000-11-06 10:24:36 +00:00
Jim Meyering
0e4c958fb8 (skip): st_size is not defined for directories. 2000-11-06 10:24:21 +00:00
Jim Meyering
8b6603f085 *** empty log message *** 2000-11-06 09:03:22 +00:00
Jim Meyering
a3dcaf6a83 *** empty log message *** 2000-11-06 09:02:21 +00:00
Jim Meyering
f00f8f6a9c *** empty log message *** 2000-11-06 08:55:34 +00:00
Jim Meyering
f472159d99 *** empty log message *** 2000-11-06 08:46:01 +00:00
Jim Meyering
0e1b0b2ea2 *** empty log message *** 2000-11-05 15:45:35 +00:00
Jim Meyering
a46e9f0919 *** empty log message *** 2000-11-05 15:45:31 +00:00
Jim Meyering
22438d75ce *** empty log message *** 2000-11-05 15:45:05 +00:00
Jim Meyering
9b18c35ac9 (main): Use make_dir instead of using mkdir directly.
Diagnose as failure when mkdir tries to create (without the
--parent (-p) option) a directory that already exists.
2000-11-05 15:14:09 +00:00
Jim Meyering
33f1edc571 *** empty log message *** 2000-11-05 15:12:48 +00:00
Jim Meyering
e9e376d85f fix another exit 2000-11-05 15:12:37 +00:00
Jim Meyering
81f10fbd43 Clean up this test. 2000-11-05 15:12:14 +00:00
Jim Meyering
a44e5341bb *** empty log message *** 2000-11-05 15:11:05 +00:00
Jim Meyering
08b1c573cd *** empty log message *** 2000-11-05 15:08:35 +00:00
Jim Meyering
d858c3c433 (main): Use make_dir instead of using mkdir directly.
Diagnose as failure when mkdir tries to create (without the --parent (-p)
option) a directory that already exists.
2000-11-05 15:08:22 +00:00
Jim Meyering
39b53154ca *** empty log message *** 2000-11-05 15:04:53 +00:00
Jim Meyering
214a8623eb (make_dir): Declare. 2000-11-05 15:04:39 +00:00
Jim Meyering
e1356e7fe7 (make_dir): Remove `static' attribute.
Tweak a comment.
2000-11-05 15:04:17 +00:00
Jim Meyering
0760dc7412 *** empty log message *** 2000-11-05 15:03:01 +00:00
Jim Meyering
f3a6e69b4e Add tests for the above fix. 2000-11-05 15:02:32 +00:00
Jim Meyering
6d722e99e2 *** empty log message *** 2000-11-05 10:12:25 +00:00
Jim Meyering
2cac22f76f *** empty log message *** 2000-11-05 09:54:07 +00:00
Jim Meyering
983cd11143 *** empty log message *** 2000-11-05 09:52:55 +00:00
Jim Meyering
aea44f3fa0 *** empty log message *** 2000-11-04 22:19:21 +00:00
Jim Meyering
f8038b425a Use the m4_' prefix on syscmd' and `m4_sysval'. 2000-11-04 22:19:15 +00:00
Jim Meyering
ff6e48f61e *** empty log message *** 2000-11-04 21:39:00 +00:00
Jim Meyering
a5565c08a3 (hash_get_next): Fix a thinko: when ENTRY is the
last one in a bucket, advance to the next bucket.
From Alexandre Duret-Lutz.
2000-11-04 21:38:55 +00:00
Jim Meyering
b510774dbb *** empty log message *** 2000-11-04 12:08:22 +00:00
Jim Meyering
e10f361193 list the source 2000-11-03 11:12:01 +00:00
Jim Meyering
dfe9af3d61 *** empty log message *** 2000-11-03 11:11:45 +00:00
Jim Meyering
49d7e8c71f . 2000-11-03 10:27:01 +00:00
Jim Meyering
eb53331d93 *** empty log message *** 2000-11-03 09:03:37 +00:00
Jim Meyering
4d3c9a170d (TESTS): Add sample-vec. 2000-11-03 09:03:30 +00:00
Jim Meyering
ee2d8446f4 *** empty log message *** 2000-11-03 08:47:20 +00:00
Jim Meyering
1021e06a20 *** empty log message *** 2000-11-03 08:44:12 +00:00
Jim Meyering
8dc1b2caf4 cppi 2000-11-03 08:44:06 +00:00
Jim Meyering
d19f921653 Do not comment out all the code if we are using
the GNU C library, because in some cases we are replacing buggy
code in the GNU C library itself.
2000-11-03 08:43:20 +00:00
Jim Meyering
cf83af7c10 *** empty log message *** 2000-11-02 19:37:11 +00:00
Jim Meyering
4bdc0991b0 *** empty log message *** 2000-11-02 17:05:17 +00:00
Jim Meyering
fc1e3ad166 argh!! use pack's B', not b' format 2000-11-02 17:04:23 +00:00
Jim Meyering
901ef41f7f *** empty log message *** 2000-11-02 09:51:17 +00:00
Jim Meyering
50326157d9 remove const attribute for PARENTS 2000-11-01 17:53:35 +00:00
Jim Meyering
9e9f0846f8 Fix bad typo! free the string, PARENTS, not the function, dir_name. 2000-11-01 17:52:43 +00:00
Jim Meyering
09917b2b9a *** empty log message *** 2000-11-01 17:33:19 +00:00
Jim Meyering
02080dd37e (main): Better diagnostics. 2000-11-01 17:33:09 +00:00
Jim Meyering
039653dde5 *** empty log message *** 2000-10-31 22:03:47 +00:00
Jim Meyering
144bbe26ac Clean up indentation and punctuation.
Fix a couple typos.  From Brian Youmans.
2000-10-31 22:03:42 +00:00
Jim Meyering
933e0997e2 Add all the internationalization-related
variable names autoconf uses.  Set and export them in a loop.
2000-10-31 19:33:30 +00:00
Jim Meyering
8f90ed0f42 *** empty log message *** 2000-10-31 19:29:22 +00:00
Jim Meyering
96380f703c *** empty log message *** 2000-10-31 19:29:05 +00:00
Jim Meyering
40709c446a *** empty log message *** 2000-10-31 19:26:32 +00:00
Jim Meyering
c8da0cbba6 `mkdir -p' would create parent directories with permissions
that did not account for the umask. [introduced with the
2000-09-30 change that became part of fileutils-4.0.28]

Include dirname.h.
Compute the parent directory `mode' unconditionally, effectively
as `$(umask -S),u+wx'.
Use make_path to create only the parent directories, thus using
the same code, both with and without -p, to create the final
component in each file name.  Reported by Bob Proulx.
2000-10-31 19:25:50 +00:00
Jim Meyering
575f5c2f24 *** empty log message *** 2000-10-31 10:46:30 +00:00
Jim Meyering
662a4f705c Much improved.
Run each test also with mkdir's `-p' option and check permissions
on the parent directories.
2000-10-31 10:46:24 +00:00
Jim Meyering
ae53a3e4da use backticks and sed instead of set and shift 2000-10-31 08:31:30 +00:00
Jim Meyering
a5385f0a5f *** empty log message *** 2000-10-31 08:12:38 +00:00
Jim Meyering
b8e83dda2b Add some permission tests. 2000-10-31 08:12:28 +00:00
Jim Meyering
577627b257 Fix the test so it actually does something.
Run each test also with mkdir's `-p' option.
2000-10-31 07:57:29 +00:00
Jim Meyering
7e7943c979 *** empty log message *** 2000-10-31 07:15:54 +00:00
Jim Meyering
1734d51c53 Use @sc where appropriate. Document the
ranges of supported times more precisely.  Correct menu
spacing.  Document old Latin 12m/12pm tradition.  Remove list
of alphabetic time zone names, as it wasn't correct and people
shouldn't be relying on it anyway.  Relative items also
account for non-DST adjustments.  Fix some misspellings.
2000-10-31 07:15:42 +00:00
Jim Meyering
8686e2bf77 *** empty log message *** 2000-10-31 07:10:03 +00:00
Jim Meyering
5a6effff70 Add "2000" to Copyright line, as this file was changed this year. 2000-10-31 07:09:56 +00:00
Jim Meyering
a5810cd3de Remove "2000" from Copyright line, as the file hasn't been
changed this year other than in the copyright notice.
2000-10-31 07:09:40 +00:00
Jim Meyering
3a1f0aa8d5 Remove "2000" from Copyright line, as the file hasn't been
changed this year other than in the copyright notice.
2000-10-31 07:09:02 +00:00
Jim Meyering
462d532cd5 *** empty log message *** 2000-10-31 07:07:26 +00:00
Jim Meyering
3adf8ab9c6 (FOLD): Do not assume that characters are unsigned.
(fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
2000-10-31 07:07:05 +00:00
Jim Meyering
16b7a20d01 . 2000-10-30 17:52:42 +00:00
Jim Meyering
f32a1186bc . 2000-10-30 17:51:06 +00:00
Jim Meyering
2689e0a07c *** empty log message *** 2000-10-30 17:50:29 +00:00
Jim Meyering
9d7b428daa *** empty log message *** 2000-10-30 17:50:03 +00:00
Jim Meyering
f177ed1332 *** empty log message *** 2000-10-30 15:59:20 +00:00
Jim Meyering
ad3a1fbb82 Include "system.h" after wctype.h (not before) to avoid
a compilation error on Solaris 5.5.1 systems.
2000-10-30 15:58:59 +00:00
Jim Meyering
82cd6af9bc *** empty log message *** 2000-10-29 22:43:51 +00:00
Jim Meyering
971d190dc4 s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf renaming. 2000-10-29 22:43:08 +00:00
Jim Meyering
05fc0219ad fix typo: s/fseek0/fseeko/ 2000-10-29 17:19:51 +00:00
Jim Meyering
aeb6f5e5f3 *** empty log message *** 2000-10-29 15:37:00 +00:00
Jim Meyering
f055dbe669 *** empty log message *** 2000-10-29 13:50:25 +00:00
Jim Meyering
55408e0307 (__restrict_arr): Move definition out of #ifndef block.
Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
doesn't define __restrict_arr.
2000-10-29 13:49:56 +00:00
Jim Meyering
0dd327c851 . 2000-10-29 12:36:19 +00:00
Jim Meyering
1f60246c8b *** empty log message *** 2000-10-29 12:34:43 +00:00
Jim Meyering
76be42eef0 *** empty log message *** 2000-10-29 12:34:19 +00:00
Jim Meyering
018d1056e0 *** empty log message *** 2000-10-29 12:33:53 +00:00
Jim Meyering
17b6fd61c3 *** empty log message *** 2000-10-29 12:25:21 +00:00
Jim Meyering
03e6d30ae7 *** empty log message *** 2000-10-29 12:25:07 +00:00
Jim Meyering
78abfe5da3 (do_copy): When constructing dst_path for use with the
--parents option, first remove any trailing slashes from the command
line argument.  Otherwise, tests/cp/cp-parent would fail on NetBSD.
2000-10-29 12:25:03 +00:00
Jim Meyering
ffb5b5a2ad *** empty log message *** 2000-10-29 11:03:18 +00:00
Jim Meyering
12eea70d7d Fix grammar in comment. 2000-10-29 11:03:01 +00:00
Jim Meyering
9ffd4ae3df *** empty log message *** 2000-10-29 08:05:00 +00:00
Jim Meyering
c487c2b929 *** empty log message *** 2000-10-29 08:04:22 +00:00
Jim Meyering
fe62a85366 Add a test. 2000-10-29 08:04:17 +00:00
Jim Meyering
4b4c8534e6 *** empty log message *** 2000-10-29 07:55:27 +00:00
Jim Meyering
e716f459a5 *** empty log message *** 2000-10-29 07:50:07 +00:00
Jim Meyering
013d63bb67 (DT_INIT): Define.
[enum filetype]: Remove the #ifdef, and use DT_INIT on the
initializers instead.
2000-10-29 07:49:35 +00:00
Jim Meyering
f604c52243 (LC_COLLATE): Set it to the empty string and
export it.  Otherwise, tests/cp/cp-mv-backup would fail e.g., when
LC_COLLATE was set to en.  Reported by Vin Shelton.
2000-10-29 07:38:13 +00:00
Jim Meyering
e321b0bd06 [enum filetype] (arg_directory): Rather than `100', use
a number that should never conflict with another DT_* value.
From Ulrich Drepper.
2000-10-28 18:00:57 +00:00
Jim Meyering
007b5b4ba8 (main): In call to gobble_file with "."', use directory'
as the type, not `unknown'.  From Ulrich Drepper.
2000-10-28 17:58:25 +00:00
Jim Meyering
c58f8e0f80 *** empty log message *** 2000-10-28 13:50:23 +00:00
Jim Meyering
328bfd1fb7 Disable this test by default; it's expensive.
Mark this as an expensive test.
2000-10-28 13:50:14 +00:00
Jim Meyering
a3f0f65334 *this* is not an expensive test 2000-10-28 13:49:43 +00:00
Jim Meyering
0a2ef3619c *** empty log message *** 2000-10-28 13:39:20 +00:00
Jim Meyering
5854bc4e0c *** empty log message *** 2000-10-28 13:38:52 +00:00
Jim Meyering
429ea1bad3 *** empty log message *** 2000-10-28 13:12:02 +00:00
Jim Meyering
efde89cc27 *** empty log message *** 2000-10-28 13:11:43 +00:00
Jim Meyering
d4d8f86b15 *** empty log message *** 2000-10-28 12:53:50 +00:00
Jim Meyering
69254ed7d2 Factor out the expensive-test-checking code, ... 2000-10-28 12:53:27 +00:00
Jim Meyering
7b86692737 Mark this as an expensive test. 2000-10-28 12:51:40 +00:00
Jim Meyering
c82dbabbea *** empty log message *** 2000-10-28 12:50:13 +00:00
Jim Meyering
3bd2a88618 source lang-default before the first `cd' 2000-10-28 12:46:59 +00:00
Jim Meyering
4c5cf8b144 source lang-default before the first `cd' 2000-10-28 12:36:37 +00:00
Jim Meyering
d1033dc2b9 source lang-default before the first `cd' 2000-10-28 12:36:17 +00:00
Jim Meyering
a36e91c826 source lang-default before changing directory 2000-10-28 12:33:26 +00:00
Jim Meyering
e9bcabbf05 *** empty log message *** 2000-10-28 12:29:54 +00:00
Jim Meyering
20d893e3e2 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
(jm_PREREQ_MEMCHR): New function.
2000-10-28 12:29:45 +00:00
Jim Meyering
3610481c97 *** empty log message *** 2000-10-28 12:19:05 +00:00
Jim Meyering
b4c60a84e1 *** empty log message *** 2000-10-28 12:18:31 +00:00
Jim Meyering
a67cbceb5a Make `ls' a lot more efficient on systems (e.g., linux-2.4.*)
that save file type information in directory entries.

[enum filetype] (unknown):
Add members (as yet unused):
(HAVE_STRUCT_DIRENT_D_TYPE): Define.
(format_needs_type): New global.
(main): Set it.
(print_dir): Set `type' from directory entry, if possible.
(gobble_file): Add a parameter, TYPE.
Stat the file only if its type is unknown and we need the type.
Patch from Ulrich Drepper.
2000-10-28 12:18:21 +00:00
Jim Meyering
71a47cd7bb *** empty log message *** 2000-10-28 12:00:14 +00:00
Jim Meyering
8f945ecf3a *** empty log message *** 2000-10-28 11:59:34 +00:00
Jim Meyering
d7bb6bd985 *** empty log message *** 2000-10-28 11:50:00 +00:00
Jim Meyering
37c05b6267 Include assert.h.
(fillrand): Add a parameter, size_max.
Add an assertion.
Adjust caller.
(dopass): Break out of the `for (;;)' loop if size < offset.
That can happen now that dopass is called with SIZE == -1.
(do_wipefd): Accept a length of zero only for a regular file.
If lseek fails or returns 0 for a non-regular file, let dopass
determine the length.
Inspired by a patch from Alan Iwi.
2000-10-28 11:49:52 +00:00
Jim Meyering
37bcdce62a . 2000-10-28 08:25:21 +00:00
Jim Meyering
52a97ad805 Update from libc. 2000-10-28 08:24:44 +00:00
Jim Meyering
cc785dc620 *** empty log message *** 2000-10-28 08:22:17 +00:00
Jim Meyering
0f44320b83 Update from libc.
Adjust for portability:
[HAVE_STDLIB_H]: Include stdlib.h.
[HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
Undef __memchr, too.
[!weak_alias]: Define __memchr to memchr.
2000-10-28 08:22:11 +00:00
Jim Meyering
3032dfa4ef *** empty log message *** 2000-10-28 07:56:40 +00:00
Jim Meyering
f199ae5181 Update from libc. 2000-10-28 07:56:12 +00:00
Jim Meyering
c2c9db2056 *** empty log message *** 2000-10-28 07:47:07 +00:00
Jim Meyering
13a9a251d8 (setusershell) [HAVE_FSEEKO]: Use fseek0.
Patch by Ulrich Drepper.
2000-10-28 07:47:04 +00:00
Jim Meyering
f0da6c980d Update from libc. 2000-10-28 07:15:32 +00:00
Jim Meyering
6673e992d4 *** empty log message *** 2000-10-26 22:36:58 +00:00
Jim Meyering
141a1086a2 (usage): Mention the time zone, UTC, and write the date
in ISO format in the description of %s.  Suggestion from Karl Berry.
2000-10-26 22:36:39 +00:00
Jim Meyering
f74e9bb483 (Authors of getdate): Add Paul Eggert. 2000-10-26 14:18:24 +00:00
Jim Meyering
a2bbbeb38f *** empty log message *** 2000-10-26 14:18:06 +00:00
Jim Meyering
f3e058b838 typo 2000-10-26 14:16:24 +00:00
Jim Meyering
9ed4fe029a . 2000-10-26 09:39:08 +00:00
Jim Meyering
49ac3c60d0 Update from libc. 2000-10-26 08:08:06 +00:00
Jim Meyering
d9ef180ae5 *** empty log message *** 2000-10-25 08:39:48 +00:00
Jim Meyering
9d29159931 Include dirname.h.
(main): Use dir_name_r rather than open-coding it.
2000-10-25 08:39:29 +00:00
Jim Meyering
342d5997cc *** empty log message *** 2000-10-25 08:36:13 +00:00
Jim Meyering
e63e45a195 (dir_name_r): Declare it. 2000-10-25 08:36:08 +00:00
Jim Meyering
6b4ccb9ba3 *** empty log message *** 2000-10-25 08:34:36 +00:00
Jim Meyering
22e86fcb3c *** empty log message *** 2000-10-25 06:01:31 +00:00
Jim Meyering
faf5915f7d cppi, on one line 2000-10-25 06:01:24 +00:00
Jim Meyering
d538aba94d Update from libc. 2000-10-25 06:00:26 +00:00
Jim Meyering
26f187aa36 *** empty log message *** 2000-10-24 08:20:17 +00:00
Jim Meyering
7e87cd0d6e (hard_locale): Revert last change -- it was simply
wrong.  That set_locale call must not have any side effects.
From Paul Eggert.
2000-10-24 08:20:13 +00:00
Jim Meyering
a20eb902b8 *** empty log message *** 2000-10-23 06:38:10 +00:00
Jim Meyering
da66e2e769 *** empty log message *** 2000-10-23 06:31:28 +00:00
Jim Meyering
963388111d *** empty log message *** 2000-10-23 06:29:30 +00:00
Jim Meyering
7499ea8154 *** empty log message *** 2000-10-23 06:28:01 +00:00
Jim Meyering
79f359ff8a Clean up version-related variables. 2000-10-23 06:27:50 +00:00
Jim Meyering
6a19cbc61b *** empty log message *** 2000-10-22 22:40:13 +00:00
Jim Meyering
9e546891f1 remove remnants of lang-default change 2000-10-22 21:24:40 +00:00
Jim Meyering
171aba014f source lang-default *before* the `cd' 2000-10-22 21:23:18 +00:00
Jim Meyering
ed3d57b572 *** empty log message *** 2000-10-22 21:13:53 +00:00
Jim Meyering
81e231a46d . 2000-10-22 21:12:59 +00:00
Jim Meyering
0622127ac6 include stdio.h 2000-10-22 21:11:53 +00:00
Jim Meyering
a76f632427 *** empty log message *** 2000-10-22 21:09:53 +00:00
Jim Meyering
bf660d1331 (md5_process_block) [OP]: Use `rol', not CYCLIC.
[CYCLIC]: Remove now-unused definition.
2000-10-22 21:09:43 +00:00
Jim Meyering
7bb9c7382f s/shasum/sha1sum/ 2000-10-22 14:40:44 +00:00
Jim Meyering
6e955cb84a *** empty log message *** 2000-10-22 14:25:12 +00:00
Jim Meyering
f08ced6c34 *** empty log message *** 2000-10-22 14:21:47 +00:00
Jim Meyering
c66278dffc renamed from shasum.c 2000-10-22 14:19:52 +00:00
Jim Meyering
ed2d4df754 renamed from shasum.x 2000-10-22 14:18:02 +00:00
Jim Meyering
1bc1a37f86 fix typo 2000-10-22 14:03:33 +00:00
Jim Meyering
674233fb72 *** empty log message *** 2000-10-22 13:17:10 +00:00
Jim Meyering
1f2219cabf (print_long_format): Wrap date format strings in _(...)
so they may be internationalized.  Suggestion from Christian Rose.
2000-10-22 13:15:22 +00:00
Jim Meyering
f0d9306c78 (make_path_private): Add a FIXME comment. 2000-10-22 13:10:20 +00:00
Jim Meyering
28c6609c86 Source lang-default rather than open-coding
the setting/exporting of LANG, LC_ALL, and LANGUAGE.
2000-10-22 13:09:28 +00:00
Jim Meyering
43c38af6a1 *** empty log message *** 2000-10-22 13:08:50 +00:00
Jim Meyering
7cbb85937a Source lang-default rather than open-coding
the setting/exporting of LANG, LC_ALL, and LANGUAGE.
2000-10-22 13:08:43 +00:00
Jim Meyering
8c61ed9ff1 . 2000-10-22 13:03:06 +00:00
Jim Meyering
6ba06cf611 *** empty log message *** 2000-10-22 13:02:40 +00:00
Jim Meyering
957f363d1d *** empty log message *** 2000-10-22 13:02:00 +00:00
Jim Meyering
38856139ea *** empty log message *** 2000-10-22 12:57:48 +00:00
Jim Meyering
206ffe5898 *** empty log message *** 2000-10-22 12:51:38 +00:00
Jim Meyering
34b462a936 . 2000-10-22 12:00:22 +00:00
Jim Meyering
82495b5d26 . 2000-10-22 11:56:18 +00:00
Jim Meyering
cf806f5d2d . 2000-10-22 11:51:50 +00:00
Jim Meyering
148e5d1b4d Factor out the differences between MD5 and SHA1,
and parameterize so this code may be used by both md5sum and the new
program, shasum.  Loosely based on a patch from Scott Miller.
2000-10-22 11:50:16 +00:00
Jim Meyering
8a149d2242 Support 8-byte integers, assuming they're printable with e.g., %lld.
Add support for printing data as unsigned
long long integers.
2000-10-22 07:33:21 +00:00
Jim Meyering
b84871a279 add missing backslash 2000-10-22 07:20:24 +00:00
Jim Meyering
807e464dec *** empty log message *** 2000-10-22 06:57:54 +00:00
Jim Meyering
1f3a6e1eb8 (O_DIRECTORY): Define, if needed.
(save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
Suggestion from Ulrich Drepper.
2000-10-22 06:57:42 +00:00
Jim Meyering
a48426382d *** empty log message *** 2000-10-22 06:50:02 +00:00
Jim Meyering
77ad7205cb *** empty log message *** 2000-10-22 06:43:52 +00:00
Jim Meyering
c599760ff1 2000-10-21 20:07:49 +00:00
Jim Meyering
e563a1a5b5 . 2000-10-21 20:07:03 +00:00
Jim Meyering
4e329a1473 *** empty log message *** 2000-10-21 20:01:28 +00:00
Jim Meyering
fd717e8d45 *** empty log message *** 2000-10-21 20:00:37 +00:00
Jim Meyering
13e80acf07 The command, `yes ''|./cat -n' would stop printing after INT_MAX lines.
(cat): Never let `newlines' exceed 3.
2000-10-21 19:57:41 +00:00
Jim Meyering
51e2ffc524 Prevent a counter buffer overrun when numbering lines and when
processing 100 billion lines (or more) of input.

(LINE_COUNTER_BUF_LEN): Define to allow numbering as
many as 10^18 - 1 lines (the old limit was 10^11 - 1, and could
be exceeded without too much trouble).	Use this symbol rather
than hard-coding the constant everywhere.  Rather than overruning
for input with more lines, mark the line number by putting a
`>' in the leftmost slot.
(next_line_num): Fixed (now academic) possible line buffer overrun.
Patch by Jan Nieuwenhuizen.
2000-10-21 19:16:37 +00:00
Jim Meyering
379688e35d *** empty log message *** 2000-10-21 13:22:39 +00:00
Jim Meyering
4d2231d02c *** empty log message *** 2000-10-21 13:09:31 +00:00
Jim Meyering
c344de8d9b *** empty log message *** 2000-10-21 13:05:55 +00:00
Jim Meyering
fb5e934c73 (SORT_OUT_OF_ORDER): Define.
(main): Use it instead of hard-coding the `1'.
2000-10-21 13:05:40 +00:00
Jim Meyering
09ad98374b (main): Use EXIT_SUCCESS rather than 0.
Fail when checking (-c) with more than one file argument,
rather than simply ignoring the extra arguments.
2000-10-21 13:03:40 +00:00
Jim Meyering
6864ceca11 tweak comment 2000-10-21 12:46:58 +00:00
Jim Meyering
ef43db1c4b (dir_name_r): New function, factored out of dir_name.
(dir_name): Use dir_name_r.
2000-10-21 11:44:43 +00:00
Jim Meyering
b9dbd94712 *** empty log message *** 2000-10-21 11:29:01 +00:00
Jim Meyering
9ff69c8035 (memrchr): Declare if necessary.
(dir_name): Remove the restriction that there be no
trailing slashes.  Now, this code skips past them, effectively
ignoring them.
[TEST_DIRNAME] (main): New unit tests.
2000-10-21 11:28:42 +00:00
Jim Meyering
c03498f2e7 *** empty log message *** 2000-10-21 10:37:14 +00:00
Jim Meyering
e45c3dba07 (jm_PREREQ_DIRNAME): New macro. 2000-10-21 10:37:10 +00:00
Jim Meyering
bc6477ff72 (AC_REPLACE_FUNCS): Add memrchr. 2000-10-21 10:36:49 +00:00
Jim Meyering
e46f105350 (jm_CHECK_DECLS): Also check for memrchr. 2000-10-21 10:36:32 +00:00
Jim Meyering
6ab7032952 *** empty log message *** 2000-10-21 10:33:25 +00:00
Jim Meyering
a5301cb3e2 New file, derived from the one in GNU libc. 2000-10-21 10:27:59 +00:00
Jim Meyering
9bab244d20 . 2000-10-19 11:43:34 +00:00
Jim Meyering
3b5b337246 Update from master repository. 2000-10-19 11:43:28 +00:00
Jim Meyering
3b60294bd9 *** empty log message *** 2000-10-18 20:48:04 +00:00
Jim Meyering
7243403b27 (universal_time): Remove; it's just a temptation to do the wrong thing.
(main): The -u option now just sets TZ; it doesn't do anything else.
(show_date): Do not do anything special if -u is set.
This affects the behavior of the -I and -R options.
2000-10-18 20:47:25 +00:00
Jim Meyering
d478d6efec * src/date.c (universal_time): Remove; it's just a temptation to
do the wrong thing.
(main): The -u option now just sets TZ; it doesn't do anything else.
(show_date): Do not do anything special if -u is set.
This affects the behavior of the -I and -R options.

* doc/sh-utils.texi: Document the above.
2000-10-18 20:45:20 +00:00
Jim Meyering
dbfbb93424 Undo the effect of the 1997-07-12 change to date.c; it
broke "date -u MMDDhhmm" and it wasn't documented.
This reverts to the behavior of the 1996-01-03 patch.

(utc-0, utc-1, relative-2): Adjust to above change.
2000-10-18 19:03:30 +00:00
Jim Meyering
29a4bf90d3 Undo the effect of the 1997-07-12 change to date.c; it
broke "date -u MMDDhhmm" and it wasn't documented.
This reverts to the behavior of the 1996-01-03 patch.

(TZ_UTC0, MAYBE_SET_TZ_UTC0, set_tz): Remove.
(batch_convert): Don't futz with TZ.
(main): -u now parses all dates as UTC, not just some.
2000-10-18 19:02:56 +00:00
Jim Meyering
fe5cad6b29 space to tab 2000-10-18 19:02:34 +00:00
Jim Meyering
39520407ef *** empty log message *** 2000-10-18 09:51:00 +00:00
Jim Meyering
2e4b629e21 (Examples of date): Fix a typo. 2000-10-18 09:50:56 +00:00
Jim Meyering
eaca68c289 *** empty log message *** 2000-10-18 07:42:08 +00:00
Jim Meyering
7e02b6c989 Make sure the programs use C-locale formats
and translations.  Bruno Haible reported that this test would fail
when using other locales, because ls printed a translation of `total'.
2000-10-18 07:41:59 +00:00
Jim Meyering
32dfed954f *** empty log message *** 2000-10-17 08:45:42 +00:00
Jim Meyering
55f43f7915 *** empty log message *** 2000-10-17 08:45:32 +00:00
Jim Meyering
6cca23cec4 *** empty log message *** 2000-10-17 08:45:11 +00:00
Jim Meyering
0be2660d96 [PARAMS]: Define and use. 2000-10-17 08:45:07 +00:00
Jim Meyering
a8bf544803 *** empty log message *** 2000-10-17 06:45:57 +00:00
Jim Meyering
c841079462 Update from libc. 2000-10-17 06:45:49 +00:00
Jim Meyering
ad06715030 *** empty log message *** 2000-10-16 22:05:20 +00:00
Jim Meyering
66a4baa8a6 *** empty log message *** 2000-10-16 22:01:11 +00:00
Jim Meyering
ae2b7961cf *** empty log message *** 2000-10-16 14:31:38 +00:00
Jim Meyering
6f84766d19 *** empty log message *** 2000-10-16 14:30:39 +00:00
Jim Meyering
fd00df9c4d fix spell-o in comment 2000-10-16 08:10:58 +00:00
Jim Meyering
d15557db96 (rm_option_init): Remove FIXME-maybe comment. 2000-10-16 08:09:57 +00:00
Jim Meyering
b31c11e46b . 2000-10-16 08:09:42 +00:00
Jim Meyering
bdb5516fdd *** empty log message *** 2000-10-16 06:25:55 +00:00
Jim Meyering
c8c93cfefa *** empty log message *** 2000-10-16 06:25:29 +00:00
Jim Meyering
640221896f (hard_locale): Use "", not 0 as 2nd arg to setlocale.
From Jan Fedak.
2000-10-16 06:24:33 +00:00
Jim Meyering
d73ea5f65a . 2000-10-15 11:53:35 +00:00
Jim Meyering
d72623052b . 2000-10-12 02:36:18 +00:00
Jim Meyering
a5b38192d0 (Time directives) [%S]: Range is 0..60, not 0..61. 2000-10-12 02:28:27 +00:00
Jim Meyering
5681a0705f *** empty log message *** 2000-09-30 11:58:17 +00:00
Jim Meyering
04f6bb2648 *** empty log message *** 2000-09-30 09:50:23 +00:00
Jim Meyering
ad09410b04 (main): Rename local symbolic_mode' to specified_mode'. 2000-09-30 09:40:56 +00:00
Jim Meyering
cc4722e802 *** empty log message *** 2000-09-30 09:39:52 +00:00
Jim Meyering
f8e66794d9 (change_file_mode): Perform the chmod even if the
file mode permission bits are the same as those that should be set.
Omitting the chmod call would be alright with minimal 1003.1e DS17
ACLs, but eventually there will be other permissions in addition to
rwx.  E.g., add and delete for directories, and something analogous
to NT's take ownership permission.
2000-09-30 09:39:41 +00:00
Jim Meyering
e2b45cb9fe (main): Don't set the umask to 0 and hand-apply
the previously-set umask unconditionally.  Do that only when a
MODE has been specified.  Otherwise, call mkfifo with the full
creation mask (0777 or 0666) and let the kernel apply the umask.
The difference shows up only on file systems with ACL support
when the containing directory has a default ACL.
Patch by Andreas Gruenbacher.
(main): Rename local `symbolic_mode' to `specified_mode'.
Also, when MODE is specified, call chmod to ensure that the
permission bits are set as specified even when the containing
directory has a default ACL.
2000-09-30 08:56:06 +00:00
Jim Meyering
2170a48956 (main): Rename local symbolic_mode' to specified_mode'. 2000-09-30 08:53:27 +00:00
Jim Meyering
beebc69168 (main): Don't set the umask to 0 and hand-apply
the previously-set umask unconditionally.  Do that only when a
MODE has been specified.  Otherwise, call mknod with the full
creation mask (0777 or 0666) and let the kernel apply the umask.
The difference shows up only on file systems with ACL support
when the containing directory has a default ACL.
Patch by Andreas Gruenbacher.
(main): Rename local `symbolic_mode' to `specified_mode'.
Also, when MODE is specified, call chmod to ensure that the
permission bits are set as specified even when the containing
directory has a default ACL.
2000-09-30 08:53:10 +00:00
Jim Meyering
daf9d41918 (main): Rename local symbolic_mode' to specified_mode'. 2000-09-30 08:49:51 +00:00
Jim Meyering
105cbe3ea3 (main): Don't set the umask to 0 and hand-apply
the previously-set umask unconditionally.  Do that only when a
MODE has been specified.  Otherwise, call mkdir with the full
creation mask (0777 or 0666) and let the kernel apply the umask.
The difference shows up only on file systems with ACL support
when the containing directory has a default ACL.
Patch by Andreas Gruenbacher.
2000-09-30 08:49:17 +00:00
Jim Meyering
f14dbb1710 *** empty log message *** 2000-09-30 08:42:11 +00:00
Jim Meyering
ec8df1d330 *** empty log message *** 2000-09-30 08:35:05 +00:00
Jim Meyering
d7232f8ca7 Update to use newer template. 2000-09-30 08:32:55 +00:00
Jim Meyering
c217428f39 (main): Rename local symbolic_mode' to specified_mode'. 2000-09-30 08:20:23 +00:00
Jim Meyering
41939d7bfe Remove option-describing comment block. 2000-09-30 08:19:34 +00:00
Jim Meyering
e7f9f83fa1 *** empty log message *** 2000-09-30 08:10:36 +00:00
Jim Meyering
77eb8604f1 (TESTS): Add perm. 2000-09-30 08:10:31 +00:00
Jim Meyering
f8d8ad4e94 *** empty log message *** 2000-09-30 08:09:14 +00:00
Jim Meyering
52e7fcc46c *** empty log message *** 2000-09-30 08:08:21 +00:00
Jim Meyering
96cde75480 *** empty log message *** 2000-09-30 08:05:32 +00:00
Jim Meyering
55b181511c (usage): Add a separate usage line, just for `OPTION'. 2000-09-29 21:40:38 +00:00
Jim Meyering
6ce74d5d36 *** empty log message *** 2000-09-29 21:40:33 +00:00
Jim Meyering
588d70c624 *** empty log message *** 2000-09-29 21:39:51 +00:00
Jim Meyering
6a8e993550 Run `diff -c' only if cmp finds a difference.
Clean up.
2000-09-29 10:17:51 +00:00
Jim Meyering
087520e781 . 2000-09-25 22:38:16 +00:00
Jim Meyering
8879e63dee (long_opts): --exact doesn't take an argument. 2000-09-25 22:37:54 +00:00
Jim Meyering
1a37445686 *** empty log message *** 2000-09-25 22:37:17 +00:00
Jim Meyering
d6ce71fb68 *** empty log message *** 2000-09-25 22:36:45 +00:00
Jim Meyering
65e65dbf30 *** empty log message *** 2000-09-25 20:25:04 +00:00
Jim Meyering
ec00767a8e Don't use `diff -u'. It's not portable.
Run `diff -c' only if cmp finds a difference.
2000-09-25 20:23:43 +00:00
Jim Meyering
f443264116 *** empty log message *** 2000-09-25 20:23:11 +00:00
Jim Meyering
6292a2bb96 *** empty log message *** 2000-09-25 19:43:57 +00:00
Jim Meyering
2371d8faaf Use `(exit 1); exit' paradigm also for framework_failure. 2000-09-25 19:41:56 +00:00
Jim Meyering
2dc45ff0c8 *** empty log message *** 2000-09-25 10:52:09 +00:00
Jim Meyering
d2a170a785 (prev_version_file): Define and use. 2000-09-25 10:51:53 +00:00
Jim Meyering
2da0b15537 (PREV_VERSION): Get the value from a file, rather
than trying to derive it from the current version number.
This is much more robust.
(alpha): Record just-released version number in `.version',
and commit (post-tag).
2000-09-25 10:49:35 +00:00
Jim Meyering
9191f089b9 *** empty log message *** 2000-09-25 07:41:45 +00:00
Jim Meyering
5f201a38b6 *** empty log message *** 2000-09-25 07:33:07 +00:00
Jim Meyering
53feb25dd7 *** empty log message *** 2000-09-25 07:17:29 +00:00
Jim Meyering
9726d96742 *** empty log message *** 2000-09-25 00:23:17 +00:00
Jim Meyering
3283bb8b93 (usage): Match revised documentation better. 2000-09-25 00:09:10 +00:00
Jim Meyering
2b9d8efc91 *** empty log message *** 2000-09-25 00:01:22 +00:00
Jim Meyering
c3da9e25ed (rol): Define (from GnuPG). 2000-09-25 00:00:58 +00:00
Jim Meyering
ab367e6b13 Give credit (GnuPG) where due.
(M): Use rol rather than open-coding it.
Add a FIXME comment.
2000-09-24 23:59:39 +00:00
Jim Meyering
8d0687974f *** empty log message *** 2000-09-24 23:05:57 +00:00
Jim Meyering
230bf31c87 . 2000-09-24 18:42:23 +00:00
Jim Meyering
5f7aed5f78 *** empty log message *** 2000-09-24 11:57:41 +00:00
Jim Meyering
65b0c96d46 (main): Tweak a relatively new diagnostic. 2000-09-24 11:57:36 +00:00
Jim Meyering
cb05584160 *** empty log message *** 2000-09-23 19:27:41 +00:00
Jim Meyering
79043436ce Output more information when a test fails. 2000-09-23 19:27:33 +00:00
Jim Meyering
3584f04f59 adjust for change in behavior 2000-09-23 19:24:12 +00:00
Jim Meyering
1f5e4907c2 . 2000-09-23 09:29:54 +00:00
Jim Meyering
a04e5b9dbc (main): When used with --force, each of the --link and
--symbolic-link options now implies --remove-destination.
2000-09-22 20:41:40 +00:00
Jim Meyering
ce8d840e83 *** empty log message *** 2000-09-22 19:30:36 +00:00
Jim Meyering
39da0cbc3b (cp_option_init): Once again make it so install always
unlinks an existing destination before trying to open it for writing.
Otherwise, installing onto a running shared library would make the
running program malfunction.
2000-09-22 19:30:29 +00:00
Jim Meyering
dffa52e11a *** empty log message *** 2000-09-22 19:28:24 +00:00
Jim Meyering
60c672e7ec (TESTS): Add dir-rm-dest. 2000-09-22 19:27:31 +00:00
Jim Meyering
ace3c90796 *** empty log message *** 2000-09-22 18:31:02 +00:00
Jim Meyering
c2c680ad95 (do_move): Moving a directory specified with a trailing
slash from one partition to another, and giving it a different
name at the destination would cause mv to get a failed assertion.
Reported by Michael Stone.
(strip_trailing_slashes_2): Move function definition to precede new first use.
2000-09-22 15:40:43 +00:00
Jim Meyering
e34407ac09 *** empty log message *** 2000-09-22 15:39:03 +00:00
Jim Meyering
bca49a8c12 (TESTS): Add part-rename. 2000-09-22 15:38:37 +00:00
Jim Meyering
483f907eb8 (copy_internal): Don't try to unlink directories when
using --remove-dest with -R.
2000-09-22 14:14:55 +00:00
Jim Meyering
f680954f1f *** empty log message *** 2000-09-22 13:31:14 +00:00
Jim Meyering
e7a17082b4 *** empty log message *** 2000-09-21 14:40:09 +00:00
Jim Meyering
33675b72ce *** empty log message *** 2000-09-21 05:40:34 +00:00
Jim Meyering
7708d86636 (parse_user_spec): Remove debugging printf I'd added.
Argh!
2000-09-21 05:40:28 +00:00
Jim Meyering
ff8d7f3d98 *** empty log message *** 2000-09-20 09:43:37 +00:00
Jim Meyering
39e3db9605 *** empty log message *** 2000-09-20 09:43:07 +00:00
Jim Meyering
8619939503 *** empty log message *** 2000-09-20 08:06:06 +00:00
Jim Meyering
aba49610d9 *** empty log message *** 2000-09-20 08:05:39 +00:00
Jim Meyering
4b5edfea53 (libfetish_a_SOURCES): Add sha.c.
(noinst_HEADERS): Add sha.h.
Based on code from Scott G. Miller and from GnuPG.
2000-09-20 08:05:24 +00:00
Jim Meyering
98daab19b9 . 2000-09-20 07:38:56 +00:00
Jim Meyering
6924fde974 *** empty log message *** 2000-09-18 06:37:15 +00:00
Jim Meyering
cf19019bf9 (AC_FUNC_GETLOADAVG): Restore the initial value of LIBS.
Otherwise, everyone ends up linking with -lelf for some configurations.
Reported by Mike Stone.
2000-09-18 06:37:01 +00:00
Jim Meyering
eccfa6b591 shrink tmp array length from 80 to 16. 2000-09-17 13:02:43 +00:00
Jim Meyering
1778e41773 use gnupg R/M macros 2000-09-17 13:01:02 +00:00
Jim Meyering
2d3aded1bb checkpoint 2000-09-17 12:54:25 +00:00
Jim Meyering
9d524deb2b *** empty log message *** 2000-09-17 11:12:31 +00:00
Jim Meyering
12079963ab remove debug junk 2000-09-17 11:11:26 +00:00
Jim Meyering
30ee9b3006 moving to gnupg's version of sha1.c 2000-09-17 11:11:01 +00:00
Jim Meyering
e87dcda480 snapshot of massaged original 2000-09-17 11:08:06 +00:00
Jim Meyering
3d929fbda2 . 2000-09-16 16:49:23 +00:00
Jim Meyering
c0e5ce613e *** empty log message *** 2000-09-16 16:47:06 +00:00
Jim Meyering
59a8abac57 Update from libc. 2000-09-16 16:46:50 +00:00
Jim Meyering
89aa821b03 *** empty log message *** 2000-09-16 16:26:09 +00:00
Jim Meyering
eaa53735c2 (Changing Special Permissions): Remove this statement:
`a' in the USERS part of a symbolic mode does not cause the special
permissions to be affected...  It doesn't reflect what the code does
and isn't required by POSIX.  Reported by aldomel@ix.netcom.com via
Mike Stone.
2000-09-16 16:26:02 +00:00
Jim Meyering
2dfa2338b8 *** empty log message *** 2000-09-15 06:33:32 +00:00
Jim Meyering
a7f53c72b3 *** empty log message *** 2000-09-12 14:04:20 +00:00
Jim Meyering
f6234990b2 *** empty log message *** 2000-09-10 19:48:05 +00:00
Jim Meyering
9eb2ccc113 (LC_ALL): Set to `C' and export to ensure
that `ls' sorts the same way for everyone.  Reported by Vin Shelton.
2000-09-10 19:47:56 +00:00
Jim Meyering
92ae1c7d2a *** empty log message *** 2000-09-10 19:04:14 +00:00
Jim Meyering
31d9a98e82 (b_host): Use freefriends.org, not tug.org. 2000-09-10 19:04:09 +00:00
Jim Meyering
4df3e0f3b9 *** empty log message *** 2000-09-10 07:31:54 +00:00
Jim Meyering
834c4dbfe1 (_getopt_internal): Update from glibc. 2000-09-10 07:31:44 +00:00
Jim Meyering
3d7a795592 *** empty log message *** 2000-09-09 16:34:17 +00:00
Jim Meyering
1352d5e6ce (usage): Make second `Usage' line more precise
(also making it match the texinfo documentation).
2000-09-09 16:33:59 +00:00
Jim Meyering
327b8f63c0 *** empty log message *** 2000-09-09 16:02:37 +00:00
Jim Meyering
af49390ea7 Rename ISASCII to IN_CTYPE_DOMAIN. 2000-09-09 15:58:57 +00:00
Jim Meyering
ac42c1a725 Rename ISASCII to IN_CTYPE_DOMAIN. 2000-09-09 15:58:03 +00:00
Jim Meyering
5f9e998bca Rename ISASCII to IN_CTYPE_DOMAIN. 2000-09-09 15:56:26 +00:00
Jim Meyering
16bcaae35b (Setting the time): Correct the capitalization of
`HHMM' in the info-rendering of the texinfo documentation.
2000-09-09 14:35:39 +00:00
Jim Meyering
315d948fe2 *** empty log message *** 2000-09-09 14:35:18 +00:00
Jim Meyering
3016c52459 *** empty log message *** 2000-09-09 12:12:28 +00:00
Jim Meyering
a6e3bc0ace (announcement): Use a stricter regexp for the previous version. 2000-09-09 12:12:16 +00:00
Jim Meyering
940dc652a5 *** empty log message *** 2000-09-09 09:58:16 +00:00
Jim Meyering
c0d85f7e45 . 2000-09-09 08:58:58 +00:00
Jim Meyering
fdd7f15c6e *** empty log message *** 2000-09-09 08:58:42 +00:00
Jim Meyering
88fec8763a . 2000-09-09 08:56:38 +00:00
Jim Meyering
80fe6fbd20 *** empty log message *** 2000-09-09 08:55:48 +00:00
Jim Meyering
ca10098c93 *** empty log message *** 2000-09-09 08:53:37 +00:00
Jim Meyering
e336878a5b *** empty log message *** 2000-09-09 08:42:34 +00:00
Jim Meyering
6f98f91fad *** empty log message *** 2000-09-09 08:27:52 +00:00
Jim Meyering
a2e3399aa2 *** empty log message *** 2000-09-09 08:25:33 +00:00
Jim Meyering
f3643f7edd (TESTS_ENVIRONMENT): Propagate $MAKE into environment, for special-bits. 2000-09-09 08:24:41 +00:00
Jim Meyering
108783401d *** empty log message *** 2000-09-09 08:22:54 +00:00
Jim Meyering
88cd90df1e *** empty log message *** 2000-09-09 08:22:19 +00:00
Jim Meyering
f6c0c0ee16 *** empty log message *** 2000-09-09 08:18:10 +00:00
Jim Meyering
bb4904c751 (TESTS): Add special-bits. 2000-09-09 08:17:33 +00:00
Jim Meyering
6fdcba1097 *** empty log message *** 2000-09-09 07:32:43 +00:00
Jim Meyering
7ce4ee180b (copy_internal): Call chmod also if we've made the
preceding chown call and we're supposed to preserve some special
permission bit(s) that would have been reset by chown.
Reported by Greg Louis.
2000-09-09 07:32:36 +00:00
Jim Meyering
84d9e6f35b (SAME_OWNER, SAME_GROUP, SAME_OWNER_AND_GROUP): Define.
(copy_internal): Avoid calling chown if we know it's not necessary.
2000-09-09 07:29:38 +00:00
Jim Meyering
5e333bb8b8 *** empty log message *** 2000-09-09 07:20:54 +00:00
Jim Meyering
7d5c9847aa Don't use atoi.
Include sys/param.h and limits.h.
Include xstrtol.h.
(CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
(UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
(parse_user_spec): Use xstrtoul, not atoi when converting numeric
UID, GID.  Check range.
2000-09-09 07:20:46 +00:00
Jim Meyering
116698bb24 *** empty log message *** 2000-09-08 09:03:05 +00:00
Jim Meyering
93fe4a3b72 (S_IRWXUGO): Define here, instead. 2000-09-08 09:01:32 +00:00
Jim Meyering
3a66ad8dcd (S_IRWXUGO): Remove definition. 2000-09-08 09:01:02 +00:00
Jim Meyering
b12b63eced *** empty log message *** 2000-09-07 13:23:52 +00:00
Jim Meyering
5f44c5626b . 2000-09-07 13:22:26 +00:00
Jim Meyering
829258e77c Update from master repository. 2000-09-07 13:22:14 +00:00
Jim Meyering
d9a1527093 *** empty log message *** 2000-09-07 07:08:50 +00:00
Jim Meyering
bd5a2dc9e1 (cut invocation): Note that when using -f, lines with no delimiters are
also printed.
2000-09-07 07:08:39 +00:00
Jim Meyering
95ed06eb09 (usage): Note that when using -f, lines with no delimiters are also printed. 2000-09-07 07:08:17 +00:00
Jim Meyering
19ee58e090 Remove obsolete comment block. 2000-09-07 07:01:11 +00:00
Jim Meyering
b61f6618aa *** empty log message *** 2000-09-06 20:04:17 +00:00
Jim Meyering
7ed190837a (_getopt_internal): Update from glibc. 2000-09-06 20:04:06 +00:00
Jim Meyering
812dc8da17 *** empty log message *** 2000-09-05 12:15:38 +00:00
Jim Meyering
b150de0a99 Redirect stdout to stderr before trying to
remove the temp directory.  Otherwise, the `rm -rf' would get an
error because the output file wouldn't be closed and the directory
wouldn't be `empty'.
2000-09-05 12:15:30 +00:00
Jim Meyering
2757680bbf . 2000-09-05 12:04:29 +00:00
Jim Meyering
9fecbb3105 Remove the `cp -bdl symlink foo' case.
since it's no longer portable (hard link to a symlink).
2000-09-05 12:02:40 +00:00
Jim Meyering
b0126126d2 Remove the `cp -dl sl1 sl2' case,
since it's no longer portable (hard link to a symlink).
2000-09-05 11:53:03 +00:00
Jim Meyering
3260d507f5 *** empty log message *** 2000-09-05 10:41:18 +00:00
Jim Meyering
537879ee7d . 2000-09-05 10:22:35 +00:00
Jim Meyering
0c483136cf . 2000-09-04 20:51:43 +00:00
Jim Meyering
106eedf2a8 Remove declaration of lstat, now that it's in copy.h. 2000-09-04 20:51:29 +00:00
Jim Meyering
cec4418796 Move declaractions of lstat, stat, and rpl_lstat
as well as the definition of lstat from cp.c to this file.
2000-09-04 20:51:12 +00:00
Jim Meyering
25e0824d28 Move declaractions of lstat, stat, and rpl_lstat
as well as the definition of lstat from here to copy.h.
2000-09-04 20:50:45 +00:00
Jim Meyering
739a268735 *** empty log message *** 2000-09-04 17:01:23 +00:00
Jim Meyering
7c5d2581a0 . 2000-09-04 16:58:38 +00:00
Jim Meyering
9f99fca934 mv's --force (-f) option is no longer needed for
this test, now that all it does is cancel --interactive (-i).
2000-09-04 16:58:25 +00:00
Jim Meyering
d7dfef329f *** empty log message *** 2000-09-04 16:56:17 +00:00
Jim Meyering
daaa56f985 Add new tests using cp's --rem option.
Reflect the fact that cp's -f option no longer causes cp to remove the
destination file before trying to open it.
Reflect the fact that `cp -bdl' now makes a backup when copying a
symlink onto the file it points to (FIXME: look into this, and why
cp -bl does *not* do so).
2000-09-04 16:56:09 +00:00
Jim Meyering
143be7ea2d *** empty log message *** 2000-09-04 15:22:08 +00:00
Jim Meyering
4cb0cadf96 (do_link): Tweak diagnostics. 2000-09-04 15:22:00 +00:00
Jim Meyering
b5545e03db (same_file_ok): Hoist a test. 2000-09-04 14:49:30 +00:00
Jim Meyering
4dfe280c99 *** empty log message *** 2000-09-04 14:46:18 +00:00
Jim Meyering
616d9920c0 factor out backup/same test, put it after if-else. 2000-09-04 14:45:42 +00:00
Jim Meyering
65a185d754 (same_file_ok): factor some more. improve -- now passes all tests.
checkpoint
2000-09-04 14:42:32 +00:00
Jim Meyering
5dcb9b11aa *** empty log message *** 2000-09-04 08:16:16 +00:00
Jim Meyering
fbc1b0b06f *** empty log message *** 2000-09-04 08:03:56 +00:00
Jim Meyering
1f64389cd5 *** empty log message *** 2000-09-04 07:27:49 +00:00
Jim Meyering
e2017655a1 *** empty log message *** 2000-09-04 07:25:10 +00:00
Jim Meyering
09af7ed5f7 *** empty log message *** 2000-09-04 07:09:08 +00:00
Jim Meyering
2c663e070c *** empty log message *** 2000-09-03 18:50:55 +00:00
Jim Meyering
799114aa8c (cp_option_init): Initialize new members. 2000-09-03 18:50:49 +00:00
Jim Meyering
8ed20d830e . 2000-09-03 18:50:14 +00:00
Jim Meyering
a513c6c10e . 2000-09-03 18:49:37 +00:00
Jim Meyering
35640da77d tweak comment 2000-09-03 15:25:11 +00:00
Jim Meyering
b8fbc41536 Remove obsolete comment block.
(cp_option_init): Initialize new members.
(usage): Reflect the fact that --force (-f) relates only to whether
mv prompts.
(main): Remove uses of old `force' option member.
2000-09-03 14:36:50 +00:00
Jim Meyering
475fb2e732 (enum): Add UNLINK_DEST_BEFORE_OPENING.
[long_options]: Add an entry for --remove-destination.
(usage): Describe --remove-destination.
(do_copy): Use unlink_dest_after_failed_open member, not `force.'
(cp_option_init): Initialize new members.
(main): Handle UNLINK_DEST_BEFORE_OPENING (aka --remove-destination).
2000-09-03 14:09:23 +00:00
Jim Meyering
b1bf91b67d correct description of unlink_dest_after_failed_open 2000-09-03 13:56:15 +00:00
Jim Meyering
e2a422b8ef comment 2000-09-03 13:18:22 +00:00
Jim Meyering
81ab1beb52 Use strcoll (not strcmp) when comparing file names. 2000-09-03 13:06:41 +00:00
Jim Meyering
c199939348 (struct cp_options) [force]: Remove member.
[unlink_dest_before_opening]: Add member.
[unlink_dest_after_failed_open]: Add member.
2000-09-03 13:04:44 +00:00
Jim Meyering
76685fb1e9 (same_file_ok): New function, extracted from copy_internal,
and partially rewritten.
(copy_internal): Unlink destination file when unlink_dest_before_opening
option is set, and when the source is neither a regular file nor a directory.
2000-09-03 13:01:49 +00:00
Jim Meyering
3e8dff57b2 *** empty log message *** 2000-09-02 09:44:47 +00:00
Jim Meyering
1207fe6788 *** empty log message *** 2000-09-02 09:32:01 +00:00
Jim Meyering
24946d8604 *** empty log message *** 2000-09-02 09:30:03 +00:00
Jim Meyering
aa8f9f7e67 *** empty log message *** 2000-09-02 09:28:31 +00:00
Jim Meyering
9136c97143 *** empty log message *** 2000-09-02 09:08:31 +00:00
Jim Meyering
976d5c8a3f add basic test 2000-09-02 07:55:32 +00:00
Jim Meyering
3b023926b1 *** empty log message *** 2000-08-30 07:58:05 +00:00
Jim Meyering
048aa98ba8 Merge in changes from GNU libc. 2000-08-30 07:58:01 +00:00
Jim Meyering
3c5e612fce declare __fpending only if necessary 2000-08-28 14:55:18 +00:00
Jim Meyering
92452ed0a0 check for __fpending declaration 2000-08-28 14:53:10 +00:00
Jim Meyering
edc1ebe9e7 include stdio_ext.h 2000-08-28 14:50:37 +00:00
Jim Meyering
96719d7999 *** empty log message *** 2000-08-27 09:50:08 +00:00
Jim Meyering
739185ba74 . 2000-08-27 09:30:11 +00:00
Jim Meyering
6bf3479c9f (copy_reg): New parameters: X and NEW_DST.
Remove the SPARSE_MODE parameter.  Update caller.
Perform POSIX-mandated (for cp) open-with-O_WRONLY|O_TRUNC when
the regular destination file exists;  upon failure, unlink
that existing file, then open again, but with O_WRONLY|O_CREAT.
(copy_internal): `force' in not related to interactive; remove
the conjunct.
Remove the entire `else if (x->force)' block;  justifying
removal of the non-directory part is easy:  POSIX requires we try
to open an existing regular file, so we can't unlink it beforehand.
The part that changes the mode on a directory to allow overwriting
isn't necessary.
2000-08-27 09:30:00 +00:00
Jim Meyering
2c8881fa4e (copy_internal): Set `new_dst' when the move_mode rename fails,
since we then unlink the destination file.
2000-08-27 08:46:21 +00:00
Jim Meyering
a246888987 (copy_reg): Rename two goto labels. 2000-08-27 08:33:35 +00:00
Jim Meyering
5f4e35a42a . 2000-08-26 22:24:50 +00:00
Jim Meyering
004fa32b78 (usage): --force is independent of --interactive. 2000-08-26 22:24:31 +00:00
Jim Meyering
b679f078af . 2000-08-26 15:40:01 +00:00
Jim Meyering
64c38128cb . 2000-08-26 15:39:39 +00:00
Jim Meyering
47ffae51d2 *** empty log message *** 2000-08-26 12:05:55 +00:00
Jim Meyering
dc93e67305 Include "__fpending.h".
(close_stdout_status): Return right away if there's nothing to flush.
2000-08-26 12:05:50 +00:00
Jim Meyering
04b3f8c73f *** empty log message *** 2000-08-26 12:04:46 +00:00
Jim Meyering
15da58e940 *** empty log message *** 2000-08-26 12:04:13 +00:00
Jim Meyering
2c45ec8870 (noinst_HEADERS): Add __fpending.h. 2000-08-26 12:04:01 +00:00
Jim Meyering
b0a76138e8 *** empty log message *** 2000-08-26 11:59:55 +00:00
Jim Meyering
f48d309e1f *** empty log message *** 2000-08-26 11:58:08 +00:00
Jim Meyering
9f29c127ad Use jm_FUNC_FPENDING. 2000-08-26 11:56:54 +00:00
Jim Meyering
4edc4fdd20 *** empty log message *** 2000-08-26 11:56:20 +00:00
Jim Meyering
bf25ff5686 *** empty log message *** 2000-08-26 11:55:12 +00:00
Jim Meyering
5dee541de5 *** empty log message *** 2000-08-26 11:46:21 +00:00
Jim Meyering
9ca4b0ce4c *** empty log message *** 2000-08-26 11:44:00 +00:00
Jim Meyering
86d77d28f6 *** empty log message *** 2000-08-26 11:26:11 +00:00
Jim Meyering
5fec9dcd63 *** empty log message *** 2000-08-26 11:25:48 +00:00
Jim Meyering
5cd332146d *** empty log message *** 2000-08-25 07:43:45 +00:00
Jim Meyering
f35a629b10 *** empty log message *** 2000-08-25 07:39:22 +00:00
Jim Meyering
2115d8b251 *** empty log message *** 2000-08-24 11:39:14 +00:00
Jim Meyering
44256afd61 Put back the kluge. It's necessary after all.
(buggy_lseek_support): New function.
(skip): Use it.
Frank Adler reported that although _llseek returns 0, lseek
erroneously returns an offset suggesting the operation succeeded
even though it fails.
2000-08-24 11:39:08 +00:00
Jim Meyering
078fb9958e *** empty log message *** 2000-08-24 11:36:28 +00:00
Jim Meyering
10d2bd9fe1 . 2000-08-24 08:40:47 +00:00
Jim Meyering
d5f68c636f . 2000-08-24 08:40:08 +00:00
Jim Meyering
fc5b8b497f *** empty log message *** 2000-08-24 08:37:06 +00:00
Jim Meyering
399ca3007b *** empty log message *** 2000-08-24 08:36:47 +00:00
Jim Meyering
69450c7b8e (skip): Assume lseek failed if it returned zero, since a zero return is
impossible and some buggy drivers return zero.

Use SEEK_CUR rather than SEEK_SET; this fixes a bug when the
file descriptor is not currently rewound.
2000-08-24 08:34:33 +00:00
Jim Meyering
2abb1fd55d *** empty log message *** 2000-08-23 16:26:55 +00:00
Jim Meyering
5679351226 Include <config.h> unconditionally, to be consistent
with all the other programs in this directory.
2000-08-23 16:26:39 +00:00
Jim Meyering
52d06428c4 *** empty log message *** 2000-08-23 07:54:41 +00:00
Jim Meyering
9fa18193a8 *** empty log message *** 2000-08-23 07:54:23 +00:00
Jim Meyering
c5a36496a9 longer input 2000-08-23 07:54:06 +00:00
Jim Meyering
89f0eb153f redir dd's stderr 2000-08-23 07:49:05 +00:00
Jim Meyering
0816398823 change PROG from ls to dd 2000-08-23 07:48:11 +00:00
Jim Meyering
2ca0198ba4 (TESTS): Add not-rewound. 2000-08-23 07:47:52 +00:00
Jim Meyering
441d42d262 *** empty log message *** 2000-08-23 07:45:59 +00:00
Jim Meyering
47635579b0 use better trap 2000-08-23 07:38:21 +00:00
Jim Meyering
ed034dc2fb *** empty log message *** 2000-08-23 07:35:22 +00:00
Jim Meyering
d704481d1f back out last change 2000-08-23 07:33:28 +00:00
Jim Meyering
9445f3be05 *** empty log message *** 2000-08-22 11:12:06 +00:00
Jim Meyering
ba9af72e94 Don't even try to use lseek on character devices.
(buggy_lseek_support): New function.
(skip): Use it.
Reported by Martin Gallant via Michael Stone.
2000-08-22 11:12:01 +00:00
Jim Meyering
f2f8c736c9 *** empty log message *** 2000-08-22 11:05:47 +00:00
Jim Meyering
3ee1d2075c Clean up traps. Create files in a subdir. 2000-08-21 09:45:52 +00:00
Jim Meyering
4ff47b028e remove `dir' in trap, too 2000-08-21 09:41:56 +00:00
Jim Meyering
6d622fcb6b use better trap 2000-08-21 09:39:59 +00:00
Jim Meyering
dfdd08e943 *** empty log message *** 2000-08-21 05:29:32 +00:00
Jim Meyering
bcb31e6df5 *** empty log message *** 2000-08-21 05:15:55 +00:00
Jim Meyering
e37426d44c *** empty log message *** 2000-08-20 22:48:42 +00:00
Jim Meyering
5344a40bc2 remove blank line 2000-08-20 22:46:16 +00:00
Jim Meyering
f79086fbd3 *** empty log message *** 2000-08-20 22:46:05 +00:00
Jim Meyering
3944f9acc9 *** empty log message *** 2000-08-20 22:35:52 +00:00
Jim Meyering
5f69a51188 . 2000-08-20 21:16:36 +00:00
Jim Meyering
fc27421c82 New file. From J. David Anglin. 2000-08-20 21:12:36 +00:00
Jim Meyering
3581b3cf77 *** empty log message *** 2000-08-20 21:04:38 +00:00
Jim Meyering
9f425a515b *** empty log message *** 2000-08-20 21:04:26 +00:00
Jim Meyering
b4721f8c6e (TESTS): Add cp-HL. 2000-08-20 21:04:20 +00:00
Jim Meyering
59bf576f46 *** empty log message *** 2000-08-20 21:03:48 +00:00
Jim Meyering
1d0ba16702 *** empty log message *** 2000-08-20 21:03:03 +00:00
Jim Meyering
c4c4106e8b *** empty log message *** 2000-08-20 20:50:26 +00:00
Jim Meyering
d7af479281 *** empty log message *** 2000-08-20 20:49:58 +00:00
Jim Meyering
5b55669c7a (cp_option_init): Initialize to DEREF_ALWAYS, not `1'. 2000-08-20 20:49:44 +00:00
Jim Meyering
94d34806bd (cp_option_init): Initialize to DEREF_NEVER, not `0'. 2000-08-20 20:49:34 +00:00
Jim Meyering
c93a607f05 (long_opts): Add --dereference, -L.
(usage): Describe -L and -H.
(cp_option_init): Initialize to DEREF_UNDEFINED, not `1'.
(main): Add `H' and `-L' to getopt spec string.
[case 'a']: Initialize `dereference' to DEREF_NEVER, not 0.
[case 'd']: Likewise.
[case 'H']: New case.
[case 'L']: New case.
[case 'R']: Don't set dereference to `0' here.
If it's not yet defined, set x.dereference to DEREF_NEVER
if -R was specified, else set it to DEREF_ALWAYS.
Set x.xstat accordingly for -H.
2000-08-20 20:48:57 +00:00
Jim Meyering
7b1d35af90 Declare lstat.
(copy_dir): Set `xstat' member to lstat so that with `-H' we don't
follow symlinks found via recursive traversal.
Update uses of `dereference' to compare against new enum member names.
2000-08-20 20:48:45 +00:00
Jim Meyering
33db1748a0 (enum Dereference_symlink): Define.
(struct cp_options) [dereference]: Change type to Dereference_symlink.
2000-08-20 20:35:25 +00:00
Jim Meyering
9c55b67dd4 . 2000-08-20 16:48:02 +00:00
Jim Meyering
74a00a63a0 . 2000-08-20 15:56:43 +00:00
Jim Meyering
f801837d6c . 2000-08-20 15:56:11 +00:00
Jim Meyering
55692e275e *** empty log message *** 2000-08-20 12:45:35 +00:00
Jim Meyering
5bf6f179da Include utmp.h `#if HAVE_UTMP_H', rather than
`#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
2000-08-20 12:45:31 +00:00
Jim Meyering
f9850882f1 (print_totals): Rename global from opt_combined_arguments. 2000-08-20 09:55:23 +00:00
Jim Meyering
5d0d80fc27 fix my grammar error in last change 2000-08-19 11:09:03 +00:00
Jim Meyering
c055d35869 *** empty log message *** 2000-08-19 11:07:46 +00:00
Jim Meyering
61a8f5b321 *** empty log message *** 2000-08-19 11:07:37 +00:00
Jim Meyering
0dd04df27f (writeline): Correct comments.
From Bruno Haible.
2000-08-19 11:07:32 +00:00
Jim Meyering
dde8f61f1c *** empty log message *** 2000-08-18 07:08:34 +00:00
Jim Meyering
1696188993 (DO_CHOWN): Do not make a special case for non-root.
POSIX.2 requires that cp -p and mv attempt to set the uid of the
destination file, even if you're not root.  This affects behavior
only on hosts that let you give files away via chmod.
2000-08-18 07:08:04 +00:00
Jim Meyering
3804c0288a *** empty log message *** 2000-08-15 13:12:57 +00:00
Jim Meyering
70b951593e Add tests for just-fixed bug. 2000-08-15 13:12:48 +00:00
Jim Meyering
614723b9c1 *** empty log message *** 2000-08-15 13:08:31 +00:00
Jim Meyering
849d512ee9 *** empty log message *** 2000-08-15 13:08:06 +00:00
Jim Meyering
c4e4ba9607 *** empty log message *** 2000-08-15 13:07:40 +00:00
Jim Meyering
5f52473b9c *** empty log message *** 2000-08-15 13:05:21 +00:00
Jim Meyering
f0a4b95c58 (count_entry): Remember the current directory also for `.'
and `..'.  Reported by Stephen Smoogen, based on a patch from H.J. Lu.
2000-08-15 13:05:03 +00:00
Jim Meyering
d5d043c57a *** empty log message *** 2000-08-14 21:42:45 +00:00
Jim Meyering
5f14914c49 remove incorrect FIXME comment. 2000-08-14 21:40:30 +00:00
Jim Meyering
8c446739e7 *** empty log message *** 2000-08-14 09:58:58 +00:00
Jim Meyering
0f8dd3a954 (copy_reg): Move declaration of local, `n_read', into
the scope where it's used.
(copy_internal): In calling copy_reg, pass not the raw `src_mode',
but the possibly-umask-relative mode, `get_dest_mode (x, src_mode)'.
2000-08-14 09:58:25 +00:00
Jim Meyering
d927d60b36 (copy_reg): Add comment. 2000-08-13 13:13:25 +00:00
Jim Meyering
bed2ded78f *** empty log message *** 2000-08-13 13:05:16 +00:00
Jim Meyering
406f1dcb0f *** empty log message *** 2000-08-13 13:04:52 +00:00
Jim Meyering
fc0b4f7672 *** empty log message *** 2000-08-13 13:04:27 +00:00
Jim Meyering
262dbfe2f6 *** empty log message *** 2000-08-13 13:03:41 +00:00
Jim Meyering
27289e8b53 *** empty log message *** 2000-08-13 13:03:13 +00:00
Jim Meyering
8656b00f6d (get_dest_mode): Rename from new_nondir_mode.
Honor the umask for `cp', but not for `mv' or `cp -p'.
(copy_reg): New 4th parameter, dst_mode.  Pass it as 3rd arg. to open.
(copy_internal): Change type of locals `src_mode' and `src_type' from
int to mode_t.
Remove unnecessary local `fix_mode'.
Combine two if-stmts into one.
Pass `src_mode' as 4th arg to copy_reg.
If we've just created a new regular file, return early, skipping the
chmod step.  copy_reg now sets permissions of such files upon creation.
Use get_dest_mode, so there's just one chmod call here.
2000-08-13 13:03:07 +00:00
Jim Meyering
ce9d58029c Use jm_FUNC_UNLINK_BUSY_TEXT. 2000-08-12 13:27:29 +00:00
Jim Meyering
c187c5884b *** empty log message *** 2000-08-12 13:25:33 +00:00
Jim Meyering
ae8efa7087 . 2000-08-12 13:24:44 +00:00
Jim Meyering
13a7e4caf8 (TESTS): Add perm. 2000-08-12 13:24:31 +00:00
Jim Meyering
00874a5dad *** empty log message *** 2000-08-12 13:23:18 +00:00
Jim Meyering
52f1830329 Remove test for the VERSION_CONTROL and/or
SIMPLE_BACKUP_SUFFIX envvars.  Source ../envvar-check instead.
2000-08-12 13:22:59 +00:00
Jim Meyering
af77319c56 Remove test for the VERSION_CONTROL and/or
SIMPLE_BACKUP_SUFFIX envvars.  Source ../envvar-check instead.
2000-08-12 13:22:19 +00:00
Jim Meyering
60d7a8e772 Remove test for the VERSION_CONTROL and/or
SIMPLE_BACKUP_SUFFIX envvars.  Source ../envvar-check instead.
2000-08-12 13:21:47 +00:00
Jim Meyering
e37768067a Remove test for the VERSION_CONTROL and/or
SIMPLE_BACKUP_SUFFIX envvars.  Source ../envvar-check instead.
2000-08-12 13:21:13 +00:00
Jim Meyering
47e19fb368 *** empty log message *** 2000-08-12 13:19:27 +00:00
Jim Meyering
f2893678eb *** empty log message *** 2000-08-12 07:24:27 +00:00
Jim Meyering
1a27d41352 . 2000-08-12 06:17:33 +00:00
Jim Meyering
9099ba78e2 *** empty log message *** 2000-08-12 05:50:21 +00:00
Jim Meyering
017ee79337 *** empty log message *** 2000-08-12 05:16:40 +00:00
Jim Meyering
44d3e01da9 tweak the `whether...' message 2000-08-12 04:59:31 +00:00
Jim Meyering
52d20e4420 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
From J. David Anglin.
2000-08-12 04:57:18 +00:00
Jim Meyering
04d18f430c *** empty log message *** 2000-08-11 20:59:57 +00:00
Jim Meyering
c2177b12b3 Portable shell scripts should specify global options before key fields.
Move global LC_CTYPE remark to each sort option that depends on LC_CTYPE.

sort -g depends on LC_NUMERIC.

Add @vindex where it's missing.

"radix character" -> "decimal-point character", to match Standard C
terminology, which is easier for most people to follow.

"comm" does not consider trailing newlines to be significant.
2000-08-11 20:59:49 +00:00
Jim Meyering
7c032c04b9 *** empty log message *** 2000-08-11 09:20:36 +00:00
Jim Meyering
19d6aed760 Add support for multi-byte locales.
(iswprint, mbrtowc, wcwidth): Provide default definitions.
(total_bytes): New variable.
(print_bytes): New variable.
(longopts): Change abbreviation for --chars from 'c' to 'm'.
(usage): Update.
(write_counts): Add `bytes' argument.
(wc): New variables `bytes', `count_bytes', `count_chars',
`count_complicated'. The old code determines `bytes', not `chars'.
New case for MB_CUR_MAX > 1. A non-printable non-space character does
not increment the line position or start a word. Update `total_bytes'.
(main): Initialize `print_bytes' and `total_bytes' to 0. Accept 'm'
option. Pass `total_bytes' to write_counts.
2000-08-11 09:20:31 +00:00
Jim Meyering
c14f06f708 *** empty log message *** 2000-08-11 09:13:00 +00:00
Jim Meyering
5018ccfb7e (usage): Describe -d and -i in a locale-independent way. 2000-08-11 09:12:47 +00:00
Jim Meyering
d0c8664700 (usage): Don't describe System V syntax, as it doesn't always work. 2000-08-11 09:12:05 +00:00
Jim Meyering
2ed0078725 Recommend against the System V syntax
for tr ranges, and don't use it in examples.  Use POSIX
classes rather than ranges, for portability.
2000-08-11 09:11:20 +00:00
Jim Meyering
f64320db7b (wc invocation): Update accordingly. 2000-08-11 09:10:22 +00:00
Jim Meyering
f253241fa6 *** empty log message *** 2000-08-08 10:53:28 +00:00
Jim Meyering
129ede91ad (movefile): Invoke xalloc_die instead of printing our own message. 2000-08-08 10:53:23 +00:00
Jim Meyering
c5e73d1f4a *** empty log message *** 2000-08-08 07:16:45 +00:00
Jim Meyering
543cd52e60 *** empty log message *** 2000-08-08 07:13:46 +00:00
Jim Meyering
a9a5efd77b (remove_cwd_entries, rm): Invoke xalloc_die instead of printing our own message. 2000-08-08 07:13:36 +00:00
Jim Meyering
b99ee65d9f (main): Invoke xalloc_die instead of printing our own message. 2000-08-08 07:12:24 +00:00
Jim Meyering
b2557211cb (do_link): Invoke xalloc_die instead of printing our own message. 2000-08-08 07:11:46 +00:00
Jim Meyering
6fa66b8414 (main): Invoke xalloc_die instead of printing our own message. 2000-08-08 07:11:30 +00:00
Jim Meyering
13587cf0ec (xstrndup): Invoke xalloc_die instead of printing our own message. 2000-08-08 07:11:12 +00:00
Jim Meyering
deffd164df *** empty log message *** 2000-08-08 07:10:22 +00:00
Jim Meyering
8b6882e5e9 (cut_fields): Invoke xalloc_die instead of printing our own message.
(cut_fields): Check for I/O error as well as end-of-file.
2000-08-08 07:09:31 +00:00
Jim Meyering
1899efe4f6 (copy_dir, copy_internal): Invoke xalloc_die instead of printing our own message. 2000-08-08 07:08:17 +00:00
Jim Meyering
8180fd9209 (main): Invoke xalloc_die instead of printing our own message. 2000-08-08 07:07:55 +00:00
Jim Meyering
d681dd7524 (quotearg_colon, xmalloc): "virtual memory exhausted" -> "memory exhausted" 2000-08-08 07:03:41 +00:00
Jim Meyering
c64d3aaf18 (usage, main): For cp -P messages, mention the new behavior as well as the old. 2000-08-08 06:55:47 +00:00
Jim Meyering
b6bacc5dcf Invoke xalloc_die instead of printing our own message. 2000-08-08 06:53:14 +00:00
Jim Meyering
3424a30611 *** empty log message *** 2000-08-07 17:07:19 +00:00
Jim Meyering
045b33aaef (xalloc_msg_memory_exhausted): Now char const[],
not char *const and pointing to a constant array.
(xrealloc): Comment fix.
2000-08-07 17:06:38 +00:00
Jim Meyering
1fdeee96e2 (print_and_abort): Use "memory exhausted", not "virtual memory exhausted". 2000-08-07 17:05:37 +00:00
Jim Meyering
8d381987d0 comment fix 2000-08-07 17:03:20 +00:00
Jim Meyering
1def0627b7 (xalloc_msg_memory_exhausted): Now char const[],
not char *const and pointing to a constant array.
2000-08-07 17:02:15 +00:00
Jim Meyering
cab29a570d (same_name): Invoke xalloc_die instead of printing our own message.
(parse_user_spec):
Don't translate a message until just before returning,
to avoid unnecessary translation.
2000-08-07 16:56:29 +00:00
Jim Meyering
02edb50e8f (same_name): Invoke xalloc_die instead of printing our own message. 2000-08-07 16:55:57 +00:00
Jim Meyering
3190f18d1c *** empty log message *** 2000-08-07 16:50:27 +00:00
Jim Meyering
d8f02c5c3a (xputenv): Invoke xalloc_die instead of printing our own message. 2000-08-07 16:50:11 +00:00
Jim Meyering
8f8f0254b2 *** empty log message *** 2000-08-07 15:51:08 +00:00
Jim Meyering
51b6b653a2 back out Copyright date changes for files with no changes year 2000-08-07 15:48:18 +00:00
Jim Meyering
90fb34362a *** empty log message *** 2000-08-07 13:27:40 +00:00
Jim Meyering
7299626404 *** empty log message *** 2000-08-07 13:27:33 +00:00
Jim Meyering
0ae67ef6a8 (head): Call write_header here.
(head_file): ... not here.
2000-08-07 13:27:24 +00:00
Jim Meyering
fd5da15041 (closeout_func): Remove variable.
(close_stdout_wrapper): Remove unused function.
(main): Remove assignment to closeout_func.
2000-08-07 13:23:44 +00:00
Jim Meyering
0981ef97c0 (fold_file): Remove ferror(stdout) check, already done in close_stdout. 2000-08-07 13:19:52 +00:00
Jim Meyering
eb6e8b63c6 *** empty log message *** 2000-08-07 08:57:11 +00:00
Jim Meyering
0ef1ebe00e (enum) [PARENTS_OPTION]: New member.
(long_opts): Update "parents" and deprecated "path" entries to use
`PARENTS_OPTION', not `P'.
(usage): Update --help output.
(main): Warn that the meaning of `-P' will soon change.
2000-08-07 08:55:50 +00:00
Jim Meyering
56752ea034 *** empty log message *** 2000-08-07 08:18:32 +00:00
Jim Meyering
568f9e0516 *** empty log message *** 2000-08-07 07:15:31 +00:00
Jim Meyering
497785afe5 (AC_MBSTATE_T): Define mbstate_t to be int,
not char, for compatibility with glibc 2.1.3 strftime.c.
2000-08-07 07:15:25 +00:00
Jim Meyering
43fde4395a (usage): Warn more succintly about the effects of
the locale on sort order.
2000-08-07 07:07:00 +00:00
Jim Meyering
aee6ce52e0 *** empty log message *** 2000-08-06 19:54:55 +00:00
Jim Meyering
a64e651230 . 2000-08-06 19:09:08 +00:00
Jim Meyering
4951b1a4b0 *** empty log message *** 2000-08-06 16:12:42 +00:00
Jim Meyering
3110281aad We know nbytes is 0, so remove it from bail-out test. 2000-08-06 15:08:29 +00:00
Jim Meyering
0d9ee9b50c *** empty log message *** 2000-08-06 09:06:22 +00:00
Jim Meyering
496964cdc3 *** empty log message *** 2000-08-06 09:06:00 +00:00
Jim Meyering
9048856887 *** empty log message *** 2000-08-06 09:03:33 +00:00
Jim Meyering
61b0870c41 (pipe_lines): Declare local `cp' to be const. 2000-08-06 09:03:29 +00:00
Jim Meyering
ae9ce08522 *** empty log message *** 2000-08-06 08:45:47 +00:00
Jim Meyering
95b686e751 (pipe_lines): Add variable `nbytes' so we can free
`tmp' immediately after read loop.  Don't process an empty file.
This fixes a buffer-underrun error -- also thanks to bounded pointers.
2000-08-06 08:44:11 +00:00
Jim Meyering
773a575cd5 (main): Rename local t' to tmp_dir' to avoid shadowing
a previous local by that name.
(usage): Warn that GNU sort is now locale-aware, and suggest
people put LC_ALL=POSIX in their environment.
2000-08-05 20:27:49 +00:00
Jim Meyering
8db7ef9e42 *** empty log message *** 2000-08-05 19:36:37 +00:00
Jim Meyering
6b95201b8d . 2000-08-05 19:36:20 +00:00
Jim Meyering
a8fd3f260a . 2000-08-05 19:35:59 +00:00
Jim Meyering
8b39b39763 *** empty log message *** 2000-08-05 19:31:58 +00:00
Jim Meyering
76211dbaeb . 2000-08-05 11:51:10 +00:00
Jim Meyering
1b57516fe2 *** empty log message *** 2000-08-05 11:50:43 +00:00
Jim Meyering
b3197453ad (init_header): Fix buffer-overrun error.
Allocated buffer was sometimes too small.
Reported by Greg McGary (who found this bug using his
bounded-pointers-enabled gcc).
(init_header): Move declarations of several variables into the
inner scope where they are used.
2000-08-05 10:56:12 +00:00
Jim Meyering
f79bc88685 . 2000-08-05 10:51:58 +00:00
Jim Meyering
81b2c3735e (narrow-1): New test, for the above. 2000-08-05 10:51:39 +00:00
Jim Meyering
e69797a267 *** empty log message *** 2000-08-05 08:34:36 +00:00
Jim Meyering
77a40f148f (MAX): Remove definition (It's in sys2.h). 2000-08-05 08:34:25 +00:00
Jim Meyering
26a7265907 *** empty log message *** 2000-08-04 10:18:09 +00:00
Jim Meyering
4e39b59aba *** empty log message *** 2000-08-04 10:13:36 +00:00
Jim Meyering
90d90ce434 (store_columns): Remove conjunct that would dereference
an out-of-bounds pointer.  Reported by Greg McGary (who found this
bug using his bounded-pointers-enabled gcc).
2000-08-04 10:13:30 +00:00
Jim Meyering
a5b5eb21f9 *** empty log message *** 2000-08-03 23:10:28 +00:00
Jim Meyering
641dabb657 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
(EXTEND_BUFFER): Use them.
2000-08-03 23:10:05 +00:00
Jim Meyering
0037a01cf8 . 2000-08-03 08:00:40 +00:00
Jim Meyering
c60c4a9fdc . 2000-08-03 08:00:00 +00:00
Jim Meyering
1d80882fc0 *** empty log message *** 2000-08-03 07:57:51 +00:00
Jim Meyering
f3e288c470 ($(srcdir)/$x-tests): Use -I$(srcdir), not `-I.'.
(Makefile.am): Likewise.  Reported by Greg McGary.
2000-08-03 07:57:46 +00:00
Jim Meyering
ac4300150a . 2000-08-01 07:52:37 +00:00
Jim Meyering
051a7c856a *** empty log message *** 2000-08-01 07:52:26 +00:00
Jim Meyering
449a130ddb ranges vs ebcdic 2000-08-01 07:39:56 +00:00
Jim Meyering
10798a81c4 *** empty log message *** 2000-08-01 07:11:04 +00:00
Jim Meyering
cf04cc6ec2 (tee): Use SET_BINARY and SET_BINARY2.
From Prashant TR.
2000-08-01 07:10:57 +00:00
Jim Meyering
fe15457dcd *** empty log message *** 2000-08-01 07:10:10 +00:00
Jim Meyering
a55a40b616 (ISSLASH): Define.
(BACKSLASH_IS_PATH_SEPARATOR): Define.
(dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
both `\' and `/' may be use as path separators.
Based on a patch from Prashant TR.
2000-08-01 07:10:05 +00:00
Jim Meyering
d203fb94d2 *** empty log message *** 2000-07-31 18:30:27 +00:00
Jim Meyering
8baafe1f08 (quotearg_n_options): Don't make the initial
slot vector a constant, since it might get modified.
2000-07-31 18:30:21 +00:00
Jim Meyering
07e0171826 Tweak comments, per Bruno's comments. 2000-07-31 12:31:44 +00:00
Jim Meyering
d034a083ab Tweak comments, per Bruno's comments. 2000-07-31 12:30:24 +00:00
Jim Meyering
cbed17e88a *** empty log message *** 2000-07-31 07:48:05 +00:00
Jim Meyering
ef49ee4777 (quotearg_n_options): Preallocate a slot 0
buffer, so that the caller can always quote one small
component of a "memory exhausted" message in slot 0.
From a suggestion by Jim Meyering.
2000-07-31 07:23:01 +00:00
Jim Meyering
a2e30297d1 *** empty log message *** 2000-07-31 06:50:26 +00:00
Jim Meyering
56d6e5a38a (cut_fields): Use virtual memory exhausted', not Memory exhausted'. 2000-07-31 06:48:43 +00:00
Jim Meyering
4e02f20bd3 Use virtual memory exhausted', not Memory exhausted'. 2000-07-31 06:47:33 +00:00
Jim Meyering
216cc77784 *** empty log message *** 2000-07-31 06:46:33 +00:00
Jim Meyering
6fb996fcc5 [!HAVE_CONFIG_H]: Use virtual memory exhausted', not Memory exhausted'. 2000-07-31 06:46:21 +00:00
Jim Meyering
5a95ad0a73 Use virtual memory exhausted', not Memory exhausted'. 2000-07-31 06:44:51 +00:00
Jim Meyering
5dcaccf5be *** empty log message *** 2000-07-30 20:25:31 +00:00
Jim Meyering
beb983dd07 *** empty log message *** 2000-07-30 19:51:03 +00:00
Jim Meyering
e0be88dd59 (ISPRINT): Undef before defining to avoid warning. 2000-07-30 19:50:58 +00:00
Jim Meyering
456a1ea3ea *** empty log message *** 2000-07-30 18:44:58 +00:00
Jim Meyering
c8a15b9edb Add quote marks to match new behavior. 2000-07-30 18:44:43 +00:00
Jim Meyering
0e1dfa9b8b (remove_file): Quote the file names that are displayed with --verbose. 2000-07-30 18:42:07 +00:00
Jim Meyering
7b79dfe695 (copy_internal): Quote the file names that are displayed
with --verbose and --backup.
2000-07-30 18:41:55 +00:00
Jim Meyering
a53a181821 *** empty log message *** 2000-07-30 17:08:10 +00:00
Jim Meyering
614cf2b06b Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 17:08:05 +00:00
Jim Meyering
a73455fc19 *** empty log message *** 2000-07-30 17:06:49 +00:00
Jim Meyering
87ad4e1dbb . 2000-07-30 16:51:16 +00:00
Jim Meyering
56836dca33 . 2000-07-30 16:50:16 +00:00
Jim Meyering
3048ed8790 . 2000-07-30 16:49:47 +00:00
Jim Meyering
a0947ac542 *** empty log message *** 2000-07-30 16:45:35 +00:00
Jim Meyering
a313a8b995 *** empty log message *** 2000-07-30 16:34:56 +00:00
Jim Meyering
c2c1f42b0b Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 16:34:48 +00:00
Jim Meyering
381ba4a26a Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 16:33:08 +00:00
Jim Meyering
8330089910 *** empty log message *** 2000-07-30 16:30:59 +00:00
Jim Meyering
ff6161442d Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 16:30:43 +00:00
Jim Meyering
7373e3149d Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 16:29:15 +00:00
Jim Meyering
608cabf1d4 *** empty log message *** 2000-07-30 16:28:30 +00:00
Jim Meyering
76bc5dc396 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 16:28:25 +00:00
Jim Meyering
fb61cfca00 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 16:26:43 +00:00
Jim Meyering
1f9d1ea959 *** empty log message *** 2000-07-30 16:25:01 +00:00
Jim Meyering
eb128f8a49 (make_path): Quote the other instance, too. 2000-07-30 16:24:51 +00:00
Jim Meyering
395e6c592a include quote.h. 2000-07-30 16:21:57 +00:00
Jim Meyering
4d617153d5 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 16:21:39 +00:00
Jim Meyering
222f736378 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-30 16:19:33 +00:00
Jim Meyering
b53d6da640 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
Add more precise diagnostics.
2000-07-30 16:16:16 +00:00
Jim Meyering
d4365673c5 (remove_cwd_entries): Quote one more file name. 2000-07-30 16:03:37 +00:00
Jim Meyering
493d6182eb tweak diagnostic 2000-07-30 16:01:48 +00:00
Jim Meyering
6986c2b9ad *** empty log message *** 2000-07-30 15:32:15 +00:00
Jim Meyering
e15422c3d3 *** empty log message *** 2000-07-30 15:31:20 +00:00
Jim Meyering
ec739a978b *** empty log message *** 2000-07-30 15:29:27 +00:00
Jim Meyering
b9e891771e *** empty log message *** 2000-07-30 15:28:36 +00:00
Jim Meyering
3b18fcfb6a *** empty log message *** 2000-07-30 15:24:27 +00:00
Jim Meyering
ae3ec5f069 *** empty log message *** 2000-07-30 15:23:55 +00:00
Jim Meyering
02b4fede5b moved from ../src 2000-07-30 15:17:34 +00:00
Jim Meyering
74fe479350 (do_move): Fix typo. 2000-07-30 15:01:11 +00:00
Jim Meyering
048017b39c (dir_name): Use __MSDOS__ in favor of MSDOS. 2000-07-29 17:11:33 +00:00
Jim Meyering
734d411884 *** empty log message *** 2000-07-29 17:06:53 +00:00
Jim Meyering
4524bbcaf8 (diacrit_diac): Use __MSDOS__ in favor of MSDOS. 2000-07-29 17:06:00 +00:00
Jim Meyering
70c58e8192 (base_name): Use ISSLASH rather than comparing against `/'. 2000-07-29 16:45:30 +00:00
Jim Meyering
ce49687fac fix spelling error in comment: s/squirelled/squirreled/. 2000-07-29 14:55:51 +00:00
Jim Meyering
7ddc6c5927 *** empty log message *** 2000-07-29 08:15:37 +00:00
Jim Meyering
043c4958de remove prematurely-added ISSLASH definition 2000-07-29 08:15:01 +00:00
Jim Meyering
3819c2d7cb (dir_name): Assert that there are no trailing slashes. 2000-07-29 08:10:46 +00:00
Jim Meyering
ba8620bf01 *** empty log message *** 2000-07-29 08:00:17 +00:00
Jim Meyering
e32586114e (dir_name) [MSDOS]: Declare `lim' to be const. 2000-07-29 08:00:11 +00:00
Jim Meyering
7102df4dd3 *** empty log message *** 2000-07-29 06:17:27 +00:00
Jim Meyering
586254e713 Include <limits.h>, <stdlib.h>, <wchar.h>, <wctype.h>.
(quote_name): Use mbrtowc to step through the filename string while
replacing nonprintables with question marks. Return the screen width,
not the strlen length. Do no output if the out stream is NULL.
(length_of_file_name_and_frills): Use the quote_name return value.
2000-07-29 06:17:02 +00:00
Jim Meyering
cbcd5929c1 *** empty log message *** 2000-07-29 06:09:43 +00:00
Jim Meyering
e6db9876a0 tweak comments 2000-07-29 06:09:22 +00:00
Jim Meyering
f247c7bd44 (mbswidth): Add a flags argument.
(mbswidth): New declaration.
(MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
2000-07-29 06:02:28 +00:00
Jim Meyering
e7a7601ef4 . 2000-07-29 05:47:42 +00:00
Jim Meyering
3330c7dab7 *** empty log message *** 2000-07-29 05:42:14 +00:00
Jim Meyering
d0f57e1004 (temp_dir): Remove.
(temp_dirs, temp_dir_count, temp_dir_alloc): New vars.
(process_id): New var.
(usage): Describe new use of -T.
(add_temp_dir): New function.
(tempname): Use new temp_dirs array.
Do not discard information from the process-id or sequence
number, unless we have short file names.
(sighandle): Use process_id instead of getpid.
(main): Initialize process_id.
Add support for the new use of -T.
2000-07-29 05:41:55 +00:00
Jim Meyering
9b14de28be sort's -T option can now appear multiple times. 2000-07-29 05:31:44 +00:00
Jim Meyering
9133ae8f15 *** empty log message *** 2000-07-29 05:25:34 +00:00
Jim Meyering
d86f9d40a5 (change_file_owner): Save errno from a possibly failed chown,
and use that later.  Otherwise, errno itself could be clobbered before used.
2000-07-25 22:23:05 +00:00
Jim Meyering
ebd74667bc (change_file_mode): Save errno from a possibly failed chown,
and use that later.  Otherwise, errno itself could be clobbered before used.
2000-07-25 22:22:52 +00:00
Jim Meyering
d3938d3118 (change_file_group): Save errno from a possibly failed chown,
and use that later.  Otherwise, errno itself could be clobbered before used.
2000-07-25 22:22:29 +00:00
Jim Meyering
c0186d3cbb Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
Add more precise diagnostics.
2000-07-25 13:06:31 +00:00
Jim Meyering
289dacfa49 tweak diagnostic 2000-07-25 12:28:33 +00:00
Jim Meyering
1bfc7036c0 *** empty log message *** 2000-07-25 12:27:01 +00:00
Jim Meyering
cb1df652a7 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
Add more precise diagnostics.
2000-07-25 12:26:52 +00:00
Jim Meyering
135a310ca1 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
2000-07-25 12:18:06 +00:00
Jim Meyering
01bd168259 (main): Remove unnecessary "%s" argument. 2000-07-25 12:16:16 +00:00
Jim Meyering
50631d7b81 *** empty log message *** 2000-07-24 16:30:03 +00:00
Jim Meyering
18051fbbb3 (mbswidth): Add a flags argument.
(mbsnwidth): New function.
2000-07-24 16:29:57 +00:00
Jim Meyering
ddc825a0f0 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
Add more precise diagnostics.
2000-07-24 09:32:07 +00:00
Jim Meyering
2071a4054e *** empty log message *** 2000-07-24 06:42:26 +00:00
Jim Meyering
80dbd557de (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration. 2000-07-24 06:42:17 +00:00
Jim Meyering
b083f93482 *** empty log message *** 2000-07-24 06:42:04 +00:00
Jim Meyering
66a0218c1a (_XOPEN_SOURCE): Don't define; this causes problems on Solaris 7.
(wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
2000-07-24 06:41:58 +00:00
Jim Meyering
50c130325e *** empty log message *** 2000-07-24 06:14:32 +00:00
Jim Meyering
1978f56515 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
so that mbstate_t is always defined.

Do not inspect MB_LEN_MAX, since it's incorrectly defined to
be 1 in at least one GCC installation, and this configuration
error is likely to be common.  Ignoring MB_LEN_MAX hurts
performance on hosts that have mbrtowc but have only unibyte
locales, but I assume these hosts are rare.
2000-07-24 06:14:19 +00:00
Jim Meyering
d53f7b9a5d *** empty log message *** 2000-07-23 21:48:28 +00:00
Jim Meyering
d565aeb336 Streamline by invoking multibyte code only if needed.
<wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
(MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
(quotearg_buffer_restyled): If a unibyte locale, don't bother to
invoke multibyte primitives.
2000-07-23 21:48:17 +00:00
Jim Meyering
5294c10e84 *** empty log message *** 2000-07-23 21:06:22 +00:00
Jim Meyering
64eece7c53 fix typos (missing commas) 2000-07-23 18:44:35 +00:00
Jim Meyering
894d51af47 *** empty log message *** 2000-07-23 18:29:44 +00:00
Jim Meyering
6407eda7df *** empty log message *** 2000-07-23 16:27:38 +00:00
Jim Meyering
e67940b416 Include <sys/param.h> if HAVE_SYS_PARAM_H is defined,
rather than if _POSIX_VERSION is defined.  Remove declarations of
getpwuid, getgrgid, and getuid, now that they're in sys2.h.
2000-07-23 16:27:13 +00:00
Jim Meyering
57a16fe8c1 . 2000-07-23 15:36:43 +00:00
Jim Meyering
62ab4baa06 (main): Give a better diagnostic for e.g.,
`dd if=/dev/fd0 seek=100000000000'.
Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
Add many, more precise diagnostics.
2000-07-23 15:36:34 +00:00
Jim Meyering
00652253f7 *** empty log message *** 2000-07-23 15:28:29 +00:00
Jim Meyering
6a3f36dacb [!HAVE_DECL_GETPWUID]: Declare getpwuid.
[!HAVE_DECL_GETGRGID]: Declare getgrgid.
[!HAVE_DECL_GETUID]: Declare getuid.
2000-07-23 15:28:24 +00:00
Jim Meyering
dafbd8d26d *** empty log message *** 2000-07-23 15:27:19 +00:00
Jim Meyering
0c96a22ac7 (jm_CHECK_DECLS): Check for declarations of these, too:
getgrgid, getpwuid, getuid.
2000-07-23 15:27:11 +00:00
Jim Meyering
3091cce80a *** empty log message *** 2000-07-23 13:58:48 +00:00
Jim Meyering
a83726fb4e *** empty log message *** 2000-07-23 11:07:09 +00:00
Jim Meyering
2bfbe02e2f Rename tests (and hence files) to have a short
enough prefix so that they're not truncated on 8+3 file systems.
Reported by Eli Zaretskii.
2000-07-23 11:07:05 +00:00
Jim Meyering
92d2c54ae9 *** empty log message *** 2000-07-23 11:01:19 +00:00
Jim Meyering
ff8e66a907 . 2000-07-23 10:59:53 +00:00
Jim Meyering
ecf44d1a0e *** empty log message *** 2000-07-23 10:58:52 +00:00
Jim Meyering
9993d4141c Fix cp so that `cp -r DIR1/ DIR2' works once again.
(ASSIGN_BASENAME_STRDUPA): New macro.
(do_copy): Use it here (so we always strip trailing slashes before
calling base_name).
2000-07-23 10:54:01 +00:00
Jim Meyering
e66e1f94bb (ASSIGN_STRDUPA): Remove macro definition. 2000-07-23 10:52:05 +00:00
Jim Meyering
418ae892b1 (ASSIGN_STRDUPA): New macro (moved here from remove.c). 2000-07-23 10:49:59 +00:00
Jim Meyering
2eb0dc10c3 *** empty log message *** 2000-07-23 09:25:19 +00:00
Jim Meyering
2546495dab (base_name): Add an assertion. 2000-07-23 09:25:14 +00:00
Jim Meyering
dbca6b183b *** empty log message *** 2000-07-23 09:02:29 +00:00
Jim Meyering
6d26d7c908 *** empty log message *** 2000-07-23 09:00:22 +00:00
Jim Meyering
8038df09a5 (TESTS): Add dir-slash. 2000-07-23 09:00:17 +00:00
Jim Meyering
b03e65037c *** empty log message *** 2000-07-23 08:38:30 +00:00
Jim Meyering
e62f7a5962 When the system forces us to redefine mbstate_t, shadow its mbsinit function. 2000-07-23 08:38:25 +00:00
Jim Meyering
a121532512 *** empty log message *** 2000-07-19 21:01:16 +00:00
Jim Meyering
fde07e7f99 (batch_convert): Free `initial_TZ' only if it was set. 2000-07-19 21:00:20 +00:00
Jim Meyering
6fcabe7b2b *** empty log message *** 2000-07-19 21:00:03 +00:00
Jim Meyering
271249026d . 2000-07-17 20:48:36 +00:00
Jim Meyering
24d24529f4 *** empty log message *** 2000-07-17 20:48:00 +00:00
Jim Meyering
c950ce2982 (WGET): Define.
(ftp-gnu): Define.
(wget-update): New rule, based on the one in autoconf.
2000-07-17 20:47:53 +00:00
Jim Meyering
fd2d83d617 . 2000-07-17 20:46:35 +00:00
Jim Meyering
46fb83f548 *** empty log message *** 2000-07-17 20:45:03 +00:00
Jim Meyering
a9027c8afd (libfetish_a_SOURCES): Add mbswidth.c.
(noinst_HEADERS): Add mbswidth.h.
2000-07-17 20:45:00 +00:00
Jim Meyering
d1316a4669 *** empty log message *** 2000-07-17 20:43:18 +00:00
Jim Meyering
c00612504b from Bruno Haible. 2000-07-17 20:42:46 +00:00
Jim Meyering
d0192db8ac from Bruno Haible. 2000-07-17 20:42:12 +00:00
Jim Meyering
365bcc959c *** empty log message *** 2000-07-17 20:41:10 +00:00
Jim Meyering
8ec106f6b1 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH. 2000-07-17 20:40:39 +00:00
Jim Meyering
ef93322b25 *** empty log message *** 2000-07-17 20:40:18 +00:00
Jim Meyering
27e5b4d0c3 *** empty log message *** 2000-07-17 20:07:49 +00:00
Jim Meyering
5c05881f32 (visible): Don't mark `<undef>' for translation.
The standard requires that exact string.
2000-07-17 20:07:33 +00:00
Jim Meyering
5829e323e8 *** empty log message *** 2000-07-17 20:05:40 +00:00
Jim Meyering
0a3e5544ba Add support for FreeBSD. Improve support for HP-UX and IRIX 6. 2000-07-17 20:05:30 +00:00
Jim Meyering
9ef04e4fa6 . 2000-07-17 19:43:38 +00:00
Jim Meyering
e26b531e3b *** empty log message *** 2000-07-17 19:43:14 +00:00
Jim Meyering
6859252584 (usage): Give a little more info.
Remove FIXME comment.
2000-07-17 19:43:05 +00:00
Jim Meyering
870d8663fb Avoid warnings.
(struct bin_str): Declare `string' member to be `const'.
(put_indicator): Declare local `p' to be `const'.
2000-07-17 08:17:12 +00:00
Jim Meyering
f4758f2165 *** empty log message *** 2000-07-15 13:32:16 +00:00
Jim Meyering
b905d7f0b5 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
Improve a couple diagnostics.
2000-07-15 13:32:02 +00:00
Jim Meyering
015bcbb713 . 2000-07-15 13:29:01 +00:00
Jim Meyering
a23c477555 *** empty log message *** 2000-07-15 13:27:37 +00:00
Jim Meyering
da8dd781de Include quote.h.
(make_path): Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call.
Give better diagnostics.
2000-07-15 13:27:30 +00:00
Jim Meyering
f6cb183112 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call -- if there's only one.
If there are more than one, then use `quote_n (0, ...),
quote_n (1, ...), ...'.
2000-07-15 10:35:27 +00:00
Jim Meyering
f78d8fcd66 Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call -- if there's only one.
If there are more than one, then use `quote_n (0, ...),
quote_n (1, ...), ...'.
2000-07-15 10:11:47 +00:00
Jim Meyering
7f8c02a4fb Convert "`%s'" in format strings to "%s", and wrap each
corresponding argument in a `quote (...)' call -- if there's only one.
If there are more than one, then use `quote_n (0, ...),
quote_n (1, ...), ...'.
2000-07-15 10:11:18 +00:00
Jim Meyering
2b4d177553 *** empty log message *** 2000-07-15 09:58:14 +00:00
Jim Meyering
3e41cabaf2 (libfetish_a_SOURCES): Add quote.c.
(noinst_HEADERS): Add quote.h.
2000-07-15 09:58:10 +00:00
Jim Meyering
48c6c83ef6 *** empty log message *** 2000-07-15 09:57:38 +00:00
Jim Meyering
4ee7d58704 (quote, quote_n): New file. Two functions taken verbatim
from tar's src/misc.c.
2000-07-15 09:57:19 +00:00
Jim Meyering
a956a46792 *** empty log message *** 2000-07-14 21:18:00 +00:00
Jim Meyering
eb25458cd8 (jm_AC_PREREQ_XSTRTOUMAX): Require jm_AC_TYPE_UINTMAX_T. 2000-07-14 21:17:51 +00:00
Jim Meyering
b9e495aafb . 2000-07-14 19:35:13 +00:00
Jim Meyering
84817c5f8c *** empty log message *** 2000-07-14 15:58:39 +00:00
Jim Meyering
1d97735304 (jm_PREREQ_QUOTEARG): s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/. 2000-07-14 15:58:34 +00:00
Jim Meyering
a8d048fb4d *** empty log message *** 2000-07-14 15:57:09 +00:00
Jim Meyering
f53d3a9d28 (AC_MBSTATE_T): Renamed from AC_MBSTATE_T_OBJECT. All uses changed.
Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
and mbstate_t, to a single-part test that simply defines mbstate_t.
2000-07-14 15:56:42 +00:00
Jim Meyering
269ecb09d9 *** empty log message *** 2000-07-14 15:55:13 +00:00
Jim Meyering
e4dac83b0d (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
to decide whether to define the BeOS workaround macro;
this adjusts to the change to AC_MBSTATE_T.
2000-07-14 13:56:07 +00:00
Jim Meyering
288db81c18 *** empty log message *** 2000-07-14 11:32:47 +00:00
Jim Meyering
19920cfb66 *** empty log message *** 2000-07-14 11:27:06 +00:00
Jim Meyering
5ba7e086e5 (enum quoting style): New enum clocale_quoting_style. 2000-07-14 11:27:00 +00:00
Jim Meyering
83fdbce6a7 (quoting_style_args, quoting_style_vals,
quotearg_buffer_restyled): Add support for
clocale_quoting_style.  Undo previous change to
locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
and "{RIGHT QUOTATION MARK}" msgids.
2000-07-14 11:26:28 +00:00
Jim Meyering
109fa3946b *** empty log message *** 2000-07-14 11:23:29 +00:00
Jim Meyering
bfc1dacca8 import 1.022 2000-07-11 22:44:26 +00:00
Jim Meyering
b64a0a7a90 from FSF 2000-07-10 14:54:02 +00:00
Jim Meyering
9d9677bd51 Tweak a comment to make it less negative about BeOS.
From Bruno Haible.
2000-07-10 11:41:50 +00:00
Jim Meyering
144d72edd4 *** empty log message *** 2000-07-10 11:30:54 +00:00
Jim Meyering
3bcb0b1bc2 Mirror the correction made in autoconf. 2000-07-10 11:30:50 +00:00
Jim Meyering
0f061bcb2d *** empty log message *** 2000-07-10 08:26:51 +00:00
Jim Meyering
bbb585d782 Output to confdefs.h directly. 2000-07-10 08:26:36 +00:00
Jim Meyering
a3f96e6b80 *** empty log message *** 2000-07-09 20:14:33 +00:00
Jim Meyering
2bf26f848f . 2000-07-09 17:53:14 +00:00
Jim Meyering
173953c503 *** empty log message *** 2000-07-09 17:49:50 +00:00
Jim Meyering
0efaa6792a *** empty log message *** 2000-07-09 17:46:16 +00:00
Jim Meyering
d2269d5c1b (jm_MACROS): Add a test to see if -lm is required
to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
2000-07-09 17:46:11 +00:00
Jim Meyering
0fe0294290 . 2000-07-09 17:25:35 +00:00
Jim Meyering
13b24a32fa *** empty log message *** 2000-07-09 17:25:03 +00:00
Jim Meyering
a27a4be2d0 (AC__GNU_SOURCE): New file/macro. 2000-07-09 17:24:41 +00:00
Jim Meyering
07cdecb35d (jm_CHECK_ALL_TYPES): Require it. 2000-07-09 17:24:27 +00:00
Jim Meyering
a6ecdec89c *** empty log message *** 2000-07-09 15:48:11 +00:00
Jim Meyering
96b16428cc The old behavior of quoting `like this' doesn't look good with
newer, ISO-style fonts.  See:
http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html

Instead, quote "like this" by default.  Let the translator
tailor the locale-specific quoting behavior by providing
translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.

(N_): New macro.
(gettext_default): New function.
(quotearg_buffer_restyled): Use
gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
2000-07-09 15:46:46 +00:00
Jim Meyering
f5211a209e . 2000-07-09 15:32:47 +00:00
Jim Meyering
17afffee22 *** empty log message *** 2000-07-09 07:26:44 +00:00
Jim Meyering
50751a7eff (ENAMETOOLONG): Define to an unlikely value if not defined.
(xgethostname): Remove now-unnecessary #ifdef.
Move declaration of `err' into loop where it's used.
2000-07-09 07:26:34 +00:00
Jim Meyering
7a993dd16b update copyright date 2000-07-09 07:24:51 +00:00
Jim Meyering
42d1574ad8 *** empty log message *** 2000-07-09 07:23:19 +00:00
Jim Meyering
fde850f7ad update copyright date 2000-07-09 07:22:43 +00:00
Jim Meyering
23c792f18c update copyright date 2000-07-09 07:14:42 +00:00
Jim Meyering
6d16d92a02 update copyright date 2000-07-09 07:11:28 +00:00
Jim Meyering
3f94561e84 (xgethostname): Protect against the SunOS5.5 bug
by allocating a larger buffer. Test the gethostname return value for
being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
returns an error and ENAMETOOLONG isn't defined.
2000-07-08 21:48:07 +00:00
Jim Meyering
c85595bddf *** empty log message *** 2000-07-06 14:41:14 +00:00
Jim Meyering
d3afffe835 *** empty log message *** 2000-07-06 05:32:12 +00:00
Jim Meyering
8fd16e77e5 *** empty log message *** 2000-07-06 05:22:57 +00:00
Jim Meyering
2cab6f81a0 Include <ctype.h> for use of isalpha. 2000-07-06 05:22:55 +00:00
Jim Meyering
3a2ee9a318 *** empty log message *** 2000-07-06 05:20:18 +00:00
Jim Meyering
d148eef81d (AC_FUNC_STRERROR_R): Pass a reasonably large buffer to strerror_r. 2000-07-06 05:20:15 +00:00
Jim Meyering
082c0a9e23 . 2000-07-06 04:48:11 +00:00
Jim Meyering
24e6e33409 (mbrtowc): Declare returned type, since BeOS doesn't. 2000-07-06 04:47:28 +00:00
Jim Meyering
47566a14a9 *** empty log message *** 2000-07-06 04:46:57 +00:00
Jim Meyering
4f23c0f185 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
only if the test for an object-type mbstate_t fails.  This
prevents us from mistakenly reporting that mbstate_t is a
system object type after we "#define mbstate_t int" to work
around its lack.
2000-07-06 04:46:48 +00:00
Jim Meyering
79ab392196 *** empty log message *** 2000-07-06 04:32:11 +00:00
Jim Meyering
98b348bce8 (struct quoting_options): Simplify quote_these_too dimension. 2000-07-06 04:31:59 +00:00
Jim Meyering
78c7d32c2e . 2000-07-04 20:32:51 +00:00
Jim Meyering
a8494c44a3 *** empty log message *** 2000-07-04 17:37:47 +00:00
Jim Meyering
1954ebfb93 [!HAVE_DECL_STRNLEN]: Declare strnlen. 2000-07-04 17:37:43 +00:00
Jim Meyering
1f05833062 . 2000-07-04 17:35:01 +00:00
Jim Meyering
60b5579ba9 *** empty log message *** 2000-07-04 17:32:00 +00:00
Jim Meyering
3b26158445 Make inclusion of <wchar.h> independent of whether
HAVE_MBRTOWC is set.  Required at least for irix-5.6, which lacks mbrtowc.
2000-07-04 17:31:56 +00:00
Jim Meyering
a9f8981529 *** empty log message *** 2000-07-04 17:19:27 +00:00
Jim Meyering
f03b81fd6f *** empty log message *** 2000-07-04 17:17:30 +00:00
Jim Meyering
02ac23c3e2 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead of deprecated AC_CHECKING. 2000-07-04 17:15:45 +00:00
Jim Meyering
673a575a22 *** empty log message *** 2000-07-04 13:07:25 +00:00
Jim Meyering
4bdbf25dee (test_vector): Disable test #2 for all systems,
even though it fails only on SunOS4.
2000-07-04 13:07:21 +00:00
Jim Meyering
030c059d49 (AC_CHECK_DECLS): Add strnlen. 2000-07-04 09:03:26 +00:00
Jim Meyering
286c731efc *** empty log message *** 2000-07-04 09:03:09 +00:00
Jim Meyering
98a94bfb23 *** empty log message *** 2000-07-04 08:44:35 +00:00
Jim Meyering
1358f7c4a8 [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
From Bob Proulx.
2000-07-04 08:44:28 +00:00
Jim Meyering
93262c2f7f *** empty log message *** 2000-07-04 07:11:55 +00:00
Jim Meyering
5ba976c1b1 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
2000-07-04 07:11:28 +00:00
Jim Meyering
266adb5302 *** empty log message *** 2000-07-04 07:03:26 +00:00
Jim Meyering
5a6fe4fd57 (mbrtowc): Assign to *pwc, and return 1 only if result is nonzero.
(iswprint): Use ISPRINT when substituting our own mbrtowc.
2000-07-04 07:03:16 +00:00
Jim Meyering
8d765a5946 . 2000-07-02 20:25:43 +00:00
Jim Meyering
b2a05e768c . 2000-07-02 20:21:44 +00:00
Jim Meyering
1eefb25591 Also define mbstate_t, if necessary. 2000-07-02 20:21:30 +00:00
Jim Meyering
b6ceaf9df1 (mbstate_t): Don't define here. 2000-07-02 18:32:05 +00:00
Jim Meyering
c6d5d9624c *** empty log message *** 2000-07-02 18:23:56 +00:00
Jim Meyering
e1919145a5 (SIGCONT): Define if not already defined. 2000-07-02 18:23:51 +00:00
Jim Meyering
591e461818 *** empty log message *** 2000-07-02 16:05:29 +00:00
Jim Meyering
f0b701359a *** empty log message *** 2000-07-02 15:43:22 +00:00
Jim Meyering
767804657c *** empty log message *** 2000-07-02 15:27:08 +00:00
Jim Meyering
f6b360c61f fix typo in last change 2000-07-02 15:14:04 +00:00
Jim Meyering
9cb651e6a5 *** empty log message *** 2000-07-02 12:59:32 +00:00
Jim Meyering
a8a5b983f1 Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with AC_LIBOBJ([function_name]). 2000-07-02 12:58:27 +00:00
Jim Meyering
5d6bc792ac *** empty log message *** 2000-07-02 11:58:18 +00:00
Jim Meyering
b08f9caae1 *** empty log message *** 2000-07-02 11:57:40 +00:00
Jim Meyering
c3259fabe2 *** empty log message *** 2000-07-02 11:49:20 +00:00
Jim Meyering
a3ff3953fc remove extra space 2000-07-01 16:45:31 +00:00
Jim Meyering
1fe03869c8 *** empty log message *** 2000-07-01 15:41:06 +00:00
Jim Meyering
1237bc6c72 Change type of global, field_1_bufsize, from int to size_t. 2000-07-01 15:41:01 +00:00
Jim Meyering
51155d32a3 *** empty log message *** 2000-07-01 15:36:44 +00:00
Jim Meyering
7dbb61f30e *** empty log message *** 2000-07-01 14:06:55 +00:00
Jim Meyering
73202c14e6 . 2000-07-01 14:03:02 +00:00
Jim Meyering
a784ac670f . 2000-07-01 13:58:19 +00:00
Jim Meyering
1002386cc5 *** empty log message *** 2000-07-01 13:43:51 +00:00
Jim Meyering
9657d66244 Remove a `FIXME' comment and fix the associated problem. 2000-07-01 13:43:46 +00:00
Jim Meyering
9a4135570b . 2000-07-01 13:35:52 +00:00
Jim Meyering
7d25895457 *** empty log message *** 2000-07-01 13:35:33 +00:00
Jim Meyering
1ce3f3cca5 Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
per change in ../m4/ls-mntd-fs.m4.
(read_filesystem_list): Ignore symbolic links.
2000-07-01 13:35:28 +00:00
Jim Meyering
879717eafa (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
2000-07-01 13:31:20 +00:00
Jim Meyering
f00cefa62b *** empty log message *** 2000-07-01 11:01:18 +00:00
Jim Meyering
13133639a4 (TESTS_ENVIRONMENT): Define host_triplet for use in the dangling-symlink test. 2000-07-01 11:01:14 +00:00
Jim Meyering
994724bf67 *** empty log message *** 2000-07-01 11:00:10 +00:00
Jim Meyering
95e3f911e2 Warn about the problem, rather
than failing on some very recent (at least 2.3.99) versions of
the Linux kernel.  Suggestion from Ulrich Drepper.
2000-07-01 10:59:56 +00:00
Jim Meyering
f59a68b49a *** empty log message *** 2000-07-01 09:09:37 +00:00
Jim Meyering
f6d2d9b74c *** empty log message *** 2000-07-01 09:05:13 +00:00
Jim Meyering
c52dea43b7 Put double quotes around use of $cross_compiling. 2000-07-01 09:04:56 +00:00
Jim Meyering
1e4dca2dd1 . 2000-07-01 07:13:53 +00:00
Jim Meyering
7a17620c53 *** empty log message *** 2000-06-30 13:25:12 +00:00
Jim Meyering
1ba4b1a996 *** empty log message *** 2000-06-30 13:25:04 +00:00
Jim Meyering
60cea0e8fe *** empty log message *** 2000-06-29 11:30:16 +00:00
Jim Meyering
d1e34222a8 Include <string.h> or <strings.h>, as appropriate, for declaration of strcmp. 2000-06-29 11:29:55 +00:00
Jim Meyering
13f4d23214 *** empty log message *** 2000-06-29 11:24:14 +00:00
Jim Meyering
2aab0b6a6c Include <stdlib.h>, for declaration of exit. 2000-06-29 11:24:09 +00:00
Jim Meyering
d0ffb1b198 *** empty log message *** 2000-06-29 11:16:29 +00:00
Jim Meyering
81d46d192a (find_bracketed_repeat): Add a cast to suppress a warning. 2000-06-29 11:15:52 +00:00
Jim Meyering
4c27ffdf05 *** empty log message *** 2000-06-29 10:39:57 +00:00
Jim Meyering
86956748b1 (enum): Remove comma from end of enumerator list.
From Gerhard Poul <gpoul@gnu.org
2000-06-29 10:39:41 +00:00
Jim Meyering
ded114511b *** empty log message *** 2000-06-29 10:39:00 +00:00
Jim Meyering
13225e0c76 *** empty log message *** 2000-06-29 08:37:00 +00:00
Jim Meyering
a1fd5e91ff (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
Avoid warning by casting result to `char *' to remove `const'.
2000-06-29 08:30:03 +00:00
Jim Meyering
69b3d52b2a *** empty log message *** 2000-06-28 20:30:59 +00:00
Jim Meyering
27a839a3fa Use stdlib.h, not stdio.h. The latter is not included
by quotearg.c, for which we perform this test.  From Bruno Haible.
2000-06-28 20:29:27 +00:00
Jim Meyering
54b2c4933f *** empty log message *** 2000-06-28 14:06:34 +00:00
Jim Meyering
c93836544c Don't copy `out' into /tmp. 2000-06-28 14:06:30 +00:00
Jim Meyering
457fcbb2ca . 2000-06-27 13:23:13 +00:00
Jim Meyering
0865bd05b4 *** empty log message *** 2000-06-27 13:13:13 +00:00
Jim Meyering
b1b5fb67fc (count_entry): Don't set errno before
invoking savedir, and assume that errno is nonzero if savedir fails.
2000-06-27 13:12:12 +00:00
Jim Meyering
7e2d22e2a6 (copy_dir): Don't set errno before
invoking savedir, and assume that errno is nonzero if savedir fails.
2000-06-27 13:11:36 +00:00
Jim Meyering
e068bafb72 *** empty log message *** 2000-06-27 13:11:00 +00:00
Jim Meyering
53ec884edb (change_dir_mode): Don't set errno before
invoking savedir, and assume that errno is nonzero if savedir fails.
2000-06-27 13:10:50 +00:00
Jim Meyering
7aa50cfb3c (change_dir_owner): Don't set errno before
invoking savedir, and assume that errno is nonzero if savedir fails.
2000-06-27 13:10:24 +00:00
Jim Meyering
db0cd2f7e6 (change_dir_group): Don't set errno before
invoking savedir, and assume that errno is nonzero if savedir fails.
2000-06-27 13:09:57 +00:00
Jim Meyering
3dc875d9bd *** empty log message *** 2000-06-27 11:21:03 +00:00
Jim Meyering
f4e62844cb . 2000-06-27 10:10:13 +00:00
Jim Meyering
738611829c *** empty log message *** 2000-06-27 10:09:54 +00:00
Jim Meyering
4189da9d74 (libfetish_a_SOURCES): Remove readutmp.c. 2000-06-27 10:09:49 +00:00
Jim Meyering
26a158b619 *** empty log message *** 2000-06-27 10:08:15 +00:00
Jim Meyering
f8a79d9a8c (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
<utmpx.h> exists, put readutmp.o into LIBOBJS.
2000-06-27 10:08:09 +00:00
Jim Meyering
ae641fdacf (_jm_DECL_HEADERS): Check for utmp.h as well. 2000-06-27 10:01:30 +00:00
Jim Meyering
0a43597bb8 *** empty log message *** 2000-06-27 07:08:52 +00:00
Jim Meyering
211b5731d7 savedir now sets errno on failure and invokes xmalloc to get memory.
Fix a couple of other minor bugs while we're at it.

(<unistd.h>): Do not include; there's no need.
(NAMLEN): Remove macro.
(malloc, realloc): Remove decls.
(stpcpy): Likewise.
("xalloc.h"): Include.
(NAME_SIZE_DEFAULT): New macro.
(savedir): Use xmalloc / xrealloc to allocate memory.
Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
Skip "" directory entries.
Use strlen to calculate directory entry length, since the old method
is rarely used these days and isn't worth supporting.
Don't use a pointer after freeing it.
Check for integer overflow when calculating allocation size.
Use memcpy to copy entries, instead of stpcpy.
Set errno properly when returning NULL.
Check for readdir error.
2000-06-27 07:08:48 +00:00
Jim Meyering
ae34e4466d *** empty log message *** 2000-06-27 06:33:35 +00:00
Jim Meyering
99c1d22a99 (show_dev): Round disk usage percentage up, not to nearest value.
Use integer arithmetic if it's easy.
Fix bug when converting twos-complement negative values to floating point.
2000-06-27 06:33:31 +00:00
Jim Meyering
b07eb28c60 *** empty log message *** 2000-06-26 13:48:40 +00:00
Jim Meyering
b4fd5c459e *** empty log message *** 2000-06-26 13:30:59 +00:00
Jim Meyering
dfaf03f037 *** empty log message *** 2000-06-26 10:55:57 +00:00
Jim Meyering
204a9ee115 [HAVE_STDLIB_H]: Include stdlib.h. 2000-06-26 10:55:18 +00:00
Jim Meyering
43c77218e4 *** empty log message *** 2000-06-26 06:33:22 +00:00
Jim Meyering
9abfcc500a `id -Gn' (invoked by groups) would fail without giving a diagnostic
on malconfigured systems.
(print_user): Give a diagnostic if number->name lookup fails.
(print_group): Likewise.
2000-06-26 06:32:58 +00:00
Jim Meyering
ac4e995ed3 *** empty log message *** 2000-06-25 21:19:41 +00:00
Jim Meyering
d705cb724b (xmalloc, xrealloc): Remove functions.
Include xalloc.h.
Don't include <stdlib.h>.  Don't declare malloc, realloc.
2000-06-25 21:17:32 +00:00
Jim Meyering
e195cd0425 *** empty log message *** 2000-06-25 21:03:05 +00:00
Jim Meyering
0adbb52608 *** empty log message *** 2000-06-25 20:20:28 +00:00
Jim Meyering
c72f18b2c3 (TESTS): Add fail-perm. 2000-06-25 20:20:23 +00:00
Jim Meyering
0a0e82382c *** empty log message *** 2000-06-25 20:19:52 +00:00
Jim Meyering
34591391d1 *** empty log message *** 2000-06-25 20:15:22 +00:00
Jim Meyering
ab50b6880f *** empty log message *** 2000-06-25 15:58:47 +00:00
Jim Meyering
92ead9886c (copy_internal): Don't return return immediately after a
failed copy_dir call -- otherwise, the failure to read a single file
in a source directory would cause the containing destination directory
not to have owner/perms set properly.  Reported by Piotr Kwapulinski.
2000-06-25 15:50:51 +00:00
Jim Meyering
8a900584f1 *** empty log message *** 2000-06-25 15:50:38 +00:00
Jim Meyering
18252dc7fc *** empty log message *** 2000-06-25 15:50:29 +00:00
Jim Meyering
046110aa3f *** empty log message *** 2000-06-25 15:49:21 +00:00
Jim Meyering
a7109e215e *** empty log message *** 2000-06-25 14:15:22 +00:00
Jim Meyering
125499c09f *** empty log message *** 2000-06-25 08:49:02 +00:00
Jim Meyering
ca8a119779 Include stdio.h before wchar.h to work around
Linux header bug when _XOPEN_SOURCE is defined to 500.
2000-06-25 08:48:58 +00:00
Jim Meyering
484752fa80 *** empty log message *** 2000-06-25 06:54:36 +00:00
Jim Meyering
a9fad38c18 (print_unicode_char): Work around ansi2knr deficiency. 2000-06-25 06:54:32 +00:00
Jim Meyering
0d67b070d4 *** empty log message *** 2000-06-24 21:05:11 +00:00
Jim Meyering
402a8fdd9b If the compile-test says
strerror_r doesn't work, then resort to a `run'-test that works on
BeOS and segfaults on DEC Unix.
2000-06-24 21:04:44 +00:00
Jim Meyering
d488baf54a check for decl unconditionally 2000-06-24 14:03:10 +00:00
Jim Meyering
806c3e7fb8 . 2000-06-24 12:25:39 +00:00
Jim Meyering
102a04f2aa . 2000-06-24 12:21:52 +00:00
Jim Meyering
c66b857850 *** empty log message *** 2000-06-24 12:05:18 +00:00
Jim Meyering
f89094c7de Revive this file -- to try out an experimental
version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
for which strerror does return char*, but which lacks a conveniently
accessible declaration of the function.
2000-06-24 12:05:08 +00:00
Jim Meyering
790705a7c1 *** empty log message *** 2000-06-24 12:01:29 +00:00
Jim Meyering
5061035e88 [!HAVE_DECL_STRERROR_R]: Declare strerror_r. 2000-06-24 12:01:03 +00:00
Jim Meyering
a2d975a44d Lots of minor rewording and grammar correction.
From Brian Youmans.
2000-06-24 11:53:51 +00:00
Jim Meyering
4604a7892b *** empty log message *** 2000-06-24 11:52:38 +00:00
Jim Meyering
4434e513bc *** empty log message *** 2000-06-24 07:38:05 +00:00
Jim Meyering
39f35a55d3 tweak copyright 2000-06-24 07:37:55 +00:00
Jim Meyering
a6e6a1e05b (sysv_sum_file): Avoid overflowing 32-bit accumulator
on files larger than 256 MB.
2000-06-24 07:37:44 +00:00
Jim Meyering
1cc0f0d268 . 2000-06-24 07:36:54 +00:00
Jim Meyering
a674a3c010 *** empty log message *** 2000-06-24 07:36:14 +00:00
Jim Meyering
fad24ae80d *** empty log message *** 2000-06-24 07:18:29 +00:00
Jim Meyering
d7ad628832 *** empty log message *** 2000-06-24 07:13:07 +00:00
Jim Meyering
dc53d8e807 *** empty log message *** 2000-06-24 07:12:56 +00:00
Jim Meyering
fff7bfc374 . 2000-06-23 21:09:12 +00:00
Jim Meyering
957ec50ac0 *** empty log message *** 2000-06-23 21:06:45 +00:00
Jim Meyering
fef29da8fb Include <wctype.h> after <wchar.h>,
for Solaris 2.5.
(mbrtowc, mbstate_t): Define substitutes if
HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
(iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
2000-06-23 21:05:50 +00:00
Jim Meyering
284905fbb9 *** empty log message *** 2000-06-23 21:03:06 +00:00
Jim Meyering
266d043345 *** empty log message *** 2000-06-23 21:02:23 +00:00
Jim Meyering
a78edc50b8 (jm_PREREQ_QUOTEARG): Use AC_MBSTATE_T_OBJECT. Add check for iswprint. 2000-06-23 21:02:15 +00:00
Jim Meyering
f2d46d3970 New file, defining AC_MBSTATE_T_OBJECT. 2000-06-23 21:00:53 +00:00
Jim Meyering
085cdb43ed *** empty log message *** 2000-06-23 14:03:02 +00:00
Jim Meyering
6273f25d7d *** empty log message *** 2000-06-23 13:50:42 +00:00
Jim Meyering
1a5bab10b7 Add missing AC_MSG_RESULT.
Reported by Bruno Haible.
2000-06-23 13:49:17 +00:00
Jim Meyering
4e56a001c6 s/AC_MSG_CHECKING/AC_CHECKING/.
Suggestion from Bruno Haible.
2000-06-23 13:43:41 +00:00
Jim Meyering
cd64b836fc *** empty log message *** 2000-06-22 17:10:56 +00:00
Jim Meyering
62e3f1f1ef (main): Correct a comment. 2000-06-22 17:10:51 +00:00
Jim Meyering
1407c2894a *** empty log message *** 2000-06-21 20:23:21 +00:00
Jim Meyering
5e3ab81b7a (AC_REPLACE_FUNCS): Add getpass. 2000-06-21 20:23:14 +00:00
Jim Meyering
c514878446 ansideclify 2000-06-21 20:21:03 +00:00
Jim Meyering
9f0aa11144 New file, from Bruno Haible. Required for BeOS. 2000-06-21 20:20:27 +00:00
Jim Meyering
50f86c9fe7 *** empty log message *** 2000-06-21 20:16:10 +00:00
Jim Meyering
978bf5f750 (xgetcwd): If the required pathname length is smaller
than 1024, return a memory chunk of least possible size, instead
of size PATH_MAX + 2. In the loop, increment the size proportionally.
Use free/xmalloc instead of xrealloc to avoid copying for very long paths.
2000-06-21 20:16:03 +00:00
Jim Meyering
0c3c6ef55e *** empty log message *** 2000-06-21 14:47:04 +00:00
Jim Meyering
0ce8428a9d *** empty log message *** 2000-06-21 13:00:54 +00:00
Jim Meyering
fc71e28b65 (canon_host): Use malloc and memcpy to copy an
address, not strdup.  Include <stdlib.h> and don't declare free().
2000-06-21 13:00:49 +00:00
Jim Meyering
d32395693a *** empty log message *** 2000-06-21 12:56:40 +00:00
Jim Meyering
bb6ebcc333 (path_concat): Don't access dir[-1] if dir is the empty string. 2000-06-21 12:56:33 +00:00
Jim Meyering
08cd18bc45 include getstr.h 2000-06-21 09:56:42 +00:00
Jim Meyering
c60941056f *** empty log message *** 2000-06-21 09:21:52 +00:00
Jim Meyering
ddcbe0decc (libfetish_a_SOURCES): Add getstr.c.
(noinst_HEADERS): Add getstr.h.
2000-06-21 09:21:22 +00:00
Jim Meyering
6b01706633 (getstr): Remove private (and out of date) version of this function.
(cut_fields): Adjust caller to use the just-extended one in ../lib.
2000-06-21 09:20:40 +00:00
Jim Meyering
791fddaac0 *** empty log message *** 2000-06-21 09:20:23 +00:00
Jim Meyering
468b38dfad *** empty log message *** 2000-06-21 09:16:21 +00:00
Jim Meyering
912179f001 (getstr): Move into a separate file. 2000-06-21 09:12:30 +00:00
Jim Meyering
b41ca587a1 copyright date 2000-06-21 09:10:32 +00:00
Jim Meyering
671fdfa887 *** empty log message *** 2000-06-21 09:09:57 +00:00
Jim Meyering
b865bd0619 New file, extracted from getline.c, with the following
changes: new parameter, delim2; both delim[12] parameters have type
`int', not `char'.  The latter would lose with 8-bit delimiters.
2000-06-21 09:09:22 +00:00
Jim Meyering
7b6e7a7341 *** empty log message *** 2000-06-21 09:02:48 +00:00
Jim Meyering
75d9e7ca5c New test for that. 2000-06-21 09:02:42 +00:00
Jim Meyering
e1e0683c82 (valid_options): Don't segfault on `stty erase -'. 2000-06-21 07:29:03 +00:00
Jim Meyering
4be8db746e *** empty log message *** 2000-06-21 07:28:13 +00:00
Jim Meyering
20deee54fc *** empty log message *** 2000-06-20 06:55:04 +00:00
Jim Meyering
2ed1f74efe *** empty log message *** 2000-06-20 06:46:41 +00:00
Jim Meyering
b1c4d0148a (main): Fix off-by-argc test, so +N-style options are recognized once again.
Reported by Geoff Keunning.
Fix typo in diagnostic: s/compare/skip/.
2000-06-20 06:46:28 +00:00
Jim Meyering
700b4bde5e *** empty log message *** 2000-06-20 06:44:21 +00:00
Jim Meyering
759740c7e2 *** empty log message *** 2000-06-19 09:50:25 +00:00
Jim Meyering
6574dd60d9 (AC_REPLACE_FUNCS): Remove mkdir. 2000-06-19 09:50:20 +00:00
Jim Meyering
f4bfd0cb38 . 2000-06-19 09:48:46 +00:00
Jim Meyering
243036c5fb [HAVE_NLIST_H] (NLIST_STRUCT): Define. 2000-06-19 07:25:01 +00:00
Jim Meyering
5debbcc139 revert last change 2000-06-19 07:19:41 +00:00
Jim Meyering
5b728e9bad *** empty log message *** 2000-06-19 06:55:11 +00:00
Jim Meyering
a49d66ffdf . 2000-06-19 06:51:58 +00:00
Jim Meyering
fa168b1e06 *** empty log message *** 2000-06-18 18:17:03 +00:00
Jim Meyering
570ad2486a Include memory.h, string.h, and/or strings.h as needed.
(this snippet comes from src/system.h).
2000-06-18 18:16:54 +00:00
Jim Meyering
1b63505cf9 *** empty log message *** 2000-06-18 18:08:15 +00:00
Jim Meyering
5a14292fa3 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
`checking whether...' message to be consistent with that of the
lstat test.
2000-06-18 18:07:51 +00:00
Jim Meyering
47f6723289 . 2000-06-18 17:47:39 +00:00
Jim Meyering
890e86b6f9 s/NLIST_STRUCT/HAVE_NLIST_H/. Remove big
multi-platform `#ifndef NLIST_STRUCT' block.
2000-06-18 06:17:54 +00:00
Jim Meyering
24c39da8d3 *** empty log message *** 2000-06-17 19:24:59 +00:00
Jim Meyering
4d8f97fea7 Don't fail (just exit 77) if strip doesn't work.
Add canonical trap/mkdir/cd, plus exit portability cruft.
2000-06-17 19:24:39 +00:00
Jim Meyering
a6ef8dfbab . 2000-06-17 18:47:21 +00:00
Jim Meyering
cb06271257 . 2000-06-17 18:46:57 +00:00
Jim Meyering
bb03de1c1d . 2000-06-17 18:46:16 +00:00
Jim Meyering
005d0a41ea *** empty log message *** 2000-06-17 18:35:44 +00:00
Jim Meyering
b657cf747d s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/ 2000-06-17 18:34:33 +00:00
Jim Meyering
89f447ce9f (AM_FUNC_GETLOADAVG): Replace with AC_FUNC_GETLOADAVG
from autoconf, and tweak the latter to accept an optional argument.
2000-06-17 18:33:50 +00:00
Jim Meyering
e6588db39b *** empty log message *** 2000-06-17 18:31:59 +00:00
Jim Meyering
ad0f6161db (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C. 2000-06-17 18:31:51 +00:00
Jim Meyering
eea83d97cb *** empty log message *** 2000-06-16 12:51:33 +00:00
Jim Meyering
ff5aea354f (adjust_value): New function.
(human_readable_inexact): Apply rounding style even when
printing approximate values.
2000-06-16 12:51:28 +00:00
Jim Meyering
a6b9441450 (print_size): Round disk usage up. 2000-06-16 12:50:27 +00:00
Jim Meyering
78362b9aa4 (print_dir, gobble_file, print_long_format, print_file_name_and_frills):
Round disk usage up.
2000-06-16 12:49:52 +00:00
Jim Meyering
f570d032b4 (df_readable): New arg for rounding style.
Round negative numbers correctly.
(show_dev): Round disk usage up and disk free space down.
2000-06-16 12:49:20 +00:00
Jim Meyering
0e2ebc67e2 *** empty log message *** 2000-06-16 12:48:22 +00:00
Jim Meyering
2795faa36f (copy_reg): Give a slightly better diagnostic. 2000-06-16 12:47:36 +00:00
Jim Meyering
90d6a55246 *** empty log message *** 2000-06-15 19:46:54 +00:00
Jim Meyering
998ec04ca6 . 2000-06-15 13:21:12 +00:00
Jim Meyering
bbf6278831 *** empty log message *** 2000-06-15 12:50:53 +00:00
Jim Meyering
c659fb7125 *** empty log message *** 2000-06-15 12:47:46 +00:00
Jim Meyering
cbb9845165 *** empty log message *** 2000-06-15 12:43:28 +00:00
Jim Meyering
59845523f3 *** empty log message *** 2000-06-15 12:21:20 +00:00
Jim Meyering
fbc3c192c1 (human_readable_inexact): Allow an input block
size that is not a multiple of the output block size, and vice versa.
2000-06-15 12:21:10 +00:00
Jim Meyering
862fc25f11 *** empty log message *** 2000-06-15 12:11:18 +00:00
Jim Meyering
8591cce725 tweak comment 2000-06-15 12:11:14 +00:00
Jim Meyering
e18cb636a8 Add tests for getdate.y fix. 2000-06-15 12:10:15 +00:00
Jim Meyering
474a9f7a56 *** empty log message *** 2000-06-15 07:58:06 +00:00
Jim Meyering
b7aa5f3206 (get_date): Apply relative times after time zone indicator, not before. 2000-06-15 07:57:58 +00:00
Jim Meyering
c787140255 *** empty log message *** 2000-06-14 19:44:39 +00:00
Jim Meyering
94c7b9bcfc *** empty log message *** 2000-06-14 17:06:40 +00:00
Jim Meyering
b8264a299d (framework_failure): Initialize this instead of test_failure. 2000-06-14 16:53:36 +00:00
Jim Meyering
26ceb4bc22 *** empty log message *** 2000-06-14 07:43:46 +00:00
Jim Meyering
80530f9ebf . 2000-06-13 09:19:08 +00:00
Jim Meyering
ab6ddc13f2 (all-local): Depend on lstat.c and stat.c. 2000-06-13 09:18:30 +00:00
Jim Meyering
e784cd8520 *** empty log message *** 2000-06-13 09:08:50 +00:00
Jim Meyering
54e57758aa [!HAVE_DECL_FREE]: Declare free in lstat.c. 2000-06-13 09:08:47 +00:00
Jim Meyering
787e2d6289 *** empty log message *** 2000-06-13 09:06:10 +00:00
Jim Meyering
b198a20555 Include <stdlib.h> in lstat, to declare "free". 2000-06-13 09:05:16 +00:00
Jim Meyering
54ab4a172f *** empty log message *** 2000-06-12 08:42:18 +00:00
Jim Meyering
1af3ad04de Clean up.
Be careful to remove temp directory upon interrupt.
2000-06-12 08:42:08 +00:00
Jim Meyering
0eaacfd00a remove RM 2000-06-12 08:34:00 +00:00
Jim Meyering
5c063f91ff . 2000-06-12 08:20:46 +00:00
Jim Meyering
bf6f52d7f5 . 2000-06-12 08:19:36 +00:00
Jim Meyering
132f9c716e *** empty log message *** 2000-06-12 08:13:10 +00:00
Jim Meyering
b89b71f63e . 2000-06-12 07:42:01 +00:00
Jim Meyering
675538e965 *** empty log message *** 2000-06-12 06:59:30 +00:00
Jim Meyering
14e29d814e *** empty log message *** 2000-06-12 06:10:28 +00:00
Jim Meyering
5bdf244d0d (TESTS): Add diag. 2000-06-12 06:10:23 +00:00
Jim Meyering
3e9e02727b (main): Give the correct diagnostic when using the
--target-dir=DIR option, but no arguments.
Patch from Michael Stone.  Reported by herbert@gondor.apana.org.au.
2000-06-12 06:09:32 +00:00
Jim Meyering
9af1ed39b5 *** empty log message *** 2000-06-12 06:07:42 +00:00
Jim Meyering
32dd0d64b9 *** empty log message *** 2000-06-12 06:01:06 +00:00
Jim Meyering
66fcd6e2eb *** empty log message *** 2000-06-12 05:51:16 +00:00
Jim Meyering
d4f4a5c5f1 *** empty log message *** 2000-06-09 23:59:51 +00:00
Jim Meyering
9a684a5b1f *** empty log message *** 2000-06-09 23:28:57 +00:00
Jim Meyering
9fea42bfd6 . 2000-06-09 23:28:54 +00:00
Jim Meyering
e29c5e38f8 Typo-fixes and some clean-up from Brian Youmans. 2000-06-09 22:59:04 +00:00
Jim Meyering
3c1a0b9db7 tweak references after Brian's changes 2000-06-08 20:17:59 +00:00
Jim Meyering
14a2802aba A few typos and minor formatting fixes. 2000-06-08 17:01:51 +00:00
Jim Meyering
736995d606 (Multiple Changes): Fix typo. 2000-06-08 16:56:30 +00:00
Jim Meyering
5cce6821e1 *** empty log message *** 2000-06-06 21:42:04 +00:00
Jim Meyering
ced45c88d4 . 2000-06-06 21:40:56 +00:00
Jim Meyering
b810bd54a0 *** empty log message *** 2000-06-06 20:30:59 +00:00
Jim Meyering
179f99492b (AC_SYS_LARGEFILE_FLAGS,
AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
(AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
(AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
All uses changed.
Instead of inspecting the output of getconf, try to compile the
test program without and with the macro definition.
(AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
for getconf.  Instead, check for the needed flags by compiling
test programs.
2000-06-06 20:30:34 +00:00
Jim Meyering
a605579011 (alpha_subdir): Factor out `gnu/fetish'. 2000-06-06 20:09:35 +00:00
Jim Meyering
0c0c2d5f40 *** empty log message *** 2000-06-04 21:58:42 +00:00
Jim Meyering
55babc7fe1 *** empty log message *** 2000-06-04 13:28:45 +00:00
Jim Meyering
1f07d34ed2 Include <config.h> if HAVE_CONFIG_H. 2000-06-04 13:20:20 +00:00
Jim Meyering
8e2e012dc9 . 2000-06-04 08:13:25 +00:00
Jim Meyering
3962d775bf Put kludge in if-then...fi block. 2000-06-04 07:30:07 +00:00
Jim Meyering
1faa6a399a *** empty log message *** 2000-06-04 06:53:32 +00:00
Jim Meyering
98a1d5e72a (show_point) [HAVE_REALPATH && !HAVE_RESOLVEPATH]:
Cast undeclared `realpath' to char* to avoid warning.
2000-06-04 06:51:46 +00:00
Jim Meyering
985cf06296 (getugroups): Cast -1 to gid_t, for systems like
SunOS4.1.4 for which gid_t is an unsigned type.
2000-06-04 06:47:31 +00:00
Jim Meyering
377d7cdb85 *** empty log message *** 2000-06-04 06:41:13 +00:00
Jim Meyering
86c8226819 move vmp decl back out to the scope where it belongs 2000-06-03 22:09:03 +00:00
Jim Meyering
e5f1a12c6b *** empty log message *** 2000-06-03 21:47:48 +00:00
Jim Meyering
c588f96c37 [!HAVE_DECL_MEMCHR]: Declare memchr. 2000-06-03 21:47:37 +00:00
Jim Meyering
51cee2cf8d *** empty log message *** 2000-06-03 12:41:19 +00:00
Jim Meyering
b0619089c9 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
now that autoconf requires that.
2000-06-03 12:40:56 +00:00
Jim Meyering
e78fd6ee39 *** empty log message *** 2000-06-03 12:22:37 +00:00
Jim Meyering
2e8629e442 Add a kludge to make autoheader emit the required
#undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
2000-06-03 12:22:33 +00:00
Jim Meyering
111cdb39c3 . 2000-06-03 08:34:45 +00:00
Jim Meyering
1b306b070e (install-exec-local): On systems with glibc-2.1 or
newer, don't install charset.alias.
2000-06-03 08:34:34 +00:00
Jim Meyering
70ac95bbb2 Change the Linux/glibc rules so they become empty on glibc-2.1 or newer. 2000-06-03 08:34:18 +00:00
Jim Meyering
43585ddb5e *** empty log message *** 2000-06-03 08:33:04 +00:00
Jim Meyering
410cb32814 Add comment to AC_DEFINE_UNQUOTED use. 2000-06-03 08:29:33 +00:00
Jim Meyering
ea146bfd07 . 2000-06-03 08:26:05 +00:00
Jim Meyering
534576fad0 Use jm_GLIBC21. 2000-06-03 08:25:33 +00:00
Jim Meyering
6f7ac74eb3 New file. From Bruno Haible. 2000-06-03 08:23:54 +00:00
Jim Meyering
f6639dbe36 *** empty log message *** 2000-06-03 08:19:42 +00:00
Jim Meyering
f29147b4a1 *** empty log message *** 2000-06-03 08:18:18 +00:00
Jim Meyering
757e85d993 *** empty log message *** 2000-06-03 08:15:24 +00:00
Jim Meyering
b662dfc657 Allow -v as synonym for --verbose, to be consistent with other fileutils. 2000-06-03 08:11:08 +00:00
Jim Meyering
8cb9b753c5 Allow -v as synonym for --verbose, to be consistent with other fileutils. 2000-06-03 08:10:37 +00:00
Jim Meyering
2d5e52c70d (usage): Document that -v is a synonym for --verbose. 2000-06-03 08:09:53 +00:00
Jim Meyering
4eb4f8c624 *** empty log message *** 2000-06-02 21:49:50 +00:00
Jim Meyering
59ee5c9f35 *** empty log message *** 2000-06-02 11:54:35 +00:00
Jim Meyering
209099c9d9 Back out last change. Instead, do this...
(read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
member using the same `ignore'-testing code.
2000-06-02 11:20:47 +00:00
Jim Meyering
8f245c6f2c (ME_DUMMY): Add `autofs' to the list of ignored fs_type strings.
From Mark D. Roth.
2000-06-02 11:20:30 +00:00
Jim Meyering
8208033b86 *** empty log message *** 2000-05-29 21:06:20 +00:00
Jim Meyering
afa54698c9 Adapt to fit new semantics of `cp -d'. 2000-05-29 21:05:22 +00:00
Jim Meyering
a4791b30ea *** empty log message *** 2000-05-29 21:05:13 +00:00
Jim Meyering
f06a2374fd Allow `cp -d -u' to copy one symlink onto another that's identical.
(copy_internal): Change the || to ^ in the big sameness
test, so copying one symlink onto another, identical one doesn't fail here.
If the symlink call fails, don't report the failure if the destination
already exists and is a symlink pointing to the proper name.
2000-05-29 21:05:07 +00:00
Jim Meyering
ff9eb12809 . 2000-05-29 20:44:25 +00:00
Jim Meyering
472729831e (TESTS): Add slink-2-slink. 2000-05-29 20:44:03 +00:00
Jim Meyering
4fc0af40aa *** empty log message *** 2000-05-29 20:41:10 +00:00
Jim Meyering
11c6d21d52 (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
with the `ignore' attribute.  Based on a patch from Mark D. Roth.
2000-05-29 16:23:45 +00:00
Jim Meyering
ab2c79328e *** empty log message *** 2000-05-29 16:23:04 +00:00
Jim Meyering
40acdda1b3 . 2000-05-29 16:22:03 +00:00
Jim Meyering
ad435461eb *** empty log message *** 2000-05-29 16:20:07 +00:00
Jim Meyering
8b59f3a9e5 *** empty log message *** 2000-05-29 15:43:12 +00:00
Jim Meyering
1a0017092d . 2000-05-28 21:29:14 +00:00
Jim Meyering
769aaffc24 bump serial number 2000-05-28 21:28:05 +00:00
Jim Meyering
2981d74992 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
2000-05-28 21:27:04 +00:00
Jim Meyering
5ccb8ddd83 *** empty log message *** 2000-05-28 21:24:54 +00:00
Jim Meyering
6aff8653fe (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
2000-05-28 21:24:42 +00:00
Jim Meyering
42cfd00757 . 2000-05-28 21:21:42 +00:00
Jim Meyering
3cec0fda7b *** empty log message *** 2000-05-28 17:36:36 +00:00
Jim Meyering
4957557813 s/jm_FUNC_STRERROR_R/AC_FUNC_STRERROR_R/. 2000-05-28 16:49:22 +00:00
Jim Meyering
619bbd4ce6 . 2000-05-28 16:48:25 +00:00
Jim Meyering
15a9b83bdd . 2000-05-27 21:26:50 +00:00
Jim Meyering
d73513786d Arrange to call close_stdout upon exit.
Don't close stdout explicitly.
(usage): Add missing backslash at end of line.
(write_header): Remove now-unused COMMENT parameter.
Update all callers.
2000-05-27 21:17:39 +00:00
Jim Meyering
8ccf29f7fe Arrange to call close_stdout upon exit.
Don't close stdout explicitly.  Replace uses of global constant,
output_desc, with uses of STDOUT_FILENO.
2000-05-27 21:14:26 +00:00
Jim Meyering
c8afcbe2e7 *** empty log message *** 2000-05-26 21:39:19 +00:00
Jim Meyering
37cbfc8c6b Use $cross_compiling', not $ac_cv_prog_cc_cross'. 2000-05-26 21:39:16 +00:00
Jim Meyering
40b91250bc *** empty log message *** 2000-05-25 07:14:22 +00:00
Jim Meyering
87da84ba81 (close_stdout_wrapper): Don't dereference NULL pointer.
From Bob Proulx.
2000-05-25 07:14:13 +00:00
Jim Meyering
8b45419759 *** empty log message *** 2000-05-24 07:50:18 +00:00
Jim Meyering
9ca281e5b3 Use []-quoted list in AC_CHECK_MEMBERS, now that autoconf requires that. 2000-05-24 07:50:05 +00:00
Jim Meyering
d2586a214a Use []-quoted list in AC_CHECK_MEMBERS, now that autoconf requires that. 2000-05-24 07:49:38 +00:00
Jim Meyering
429093f9ad (jm_LIB_CHECK): Use []-quoted list in
AC_CHECK_MEMBERS, now that autoconf requires that.
2000-05-24 07:49:09 +00:00
Jim Meyering
35aaf0b09d (jm_PREREQ_READUTMP): Use []-quoted list in
AC_CHECK_MEMBERS, now that autoconf requires that.
2000-05-24 07:48:04 +00:00
Jim Meyering
3ed09573d7 (jm_CHECK_DECLS): Use []-quoted list in AC_CHECK_DECLS,
now that autoconf requires that.
2000-05-24 07:46:55 +00:00
Jim Meyering
449fa131d6 (head_file): Use STDIN_FILENO in place of `0'.
(main): Likewise.
2000-05-24 07:10:12 +00:00
Jim Meyering
0de83d1d81 *** empty log message *** 2000-05-23 21:14:40 +00:00
Jim Meyering
2aeb21d67a Add traps to clean up.
Correct broken running-as-root test.
2000-05-23 21:14:33 +00:00
Jim Meyering
dfdfbc22b3 Exit 77 when run as root. Reported by Andreas Schwab. 2000-05-23 21:13:28 +00:00
Jim Meyering
5f3b8f3038 . 2000-05-23 08:42:18 +00:00
Jim Meyering
f29de82520 . 2000-05-22 22:08:15 +00:00
Jim Meyering
1117d0586a *** empty log message *** 2000-05-22 22:07:29 +00:00
Jim Meyering
36595ef3f7 Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. 2000-05-22 08:35:36 +00:00
Jim Meyering
b8c130d091 Remove old, now-unnecessary `#ifdef __MSDOS__' block. 2000-05-22 06:24:50 +00:00
Jim Meyering
b5431fdfdf *** empty log message *** 2000-05-21 07:14:41 +00:00
Jim Meyering
24f2bd8c9f Arrange to call close_stdout upon exit. Don't close stdout explicitly. 2000-05-20 22:06:38 +00:00
Jim Meyering
ac81803363 Arrange to call close_stdout upon exit. Don't close stdout explicitly. 2000-05-20 22:04:40 +00:00
Jim Meyering
b2c7c6055d Arrange to call close_stdout upon exit. Don't close stdout explicitly. 2000-05-20 22:04:16 +00:00
Jim Meyering
c75dc9689e Arrange to call close_stdout upon exit. Don't close stdout explicitly. 2000-05-20 22:03:55 +00:00
Jim Meyering
02f7878928 Arrange to call close_stdout upon exit. Don't close stdout explicitly.
(but set exit status and file name, too)
2000-05-20 22:03:12 +00:00
Jim Meyering
a311f0eac5 . 2000-05-20 21:48:55 +00:00
Jim Meyering
482aa7fc64 *** empty log message *** 2000-05-20 15:49:03 +00:00
Jim Meyering
8985201718 *** empty log message *** 2000-05-20 15:46:52 +00:00
Jim Meyering
7de6407b72 *** empty log message *** 2000-05-20 15:45:10 +00:00
Jim Meyering
579105347d *** empty log message *** 2000-05-20 15:43:44 +00:00
Jim Meyering
039c76fc63 *** empty log message *** 2000-05-20 15:39:13 +00:00
Jim Meyering
8f8938e366 add format args to match new %lu directives 2000-05-20 15:37:26 +00:00
Jim Meyering
15ecc0f435 tweak warning diagnostic 2000-05-20 12:41:13 +00:00
Jim Meyering
b34c9d22e4 *** empty log message *** 2000-05-20 09:46:19 +00:00
Jim Meyering
97b943feb3 (jm_PREREQ_HUMAN): New macro.
(jm_PREREQ): Use it.
2000-05-20 09:46:14 +00:00
Jim Meyering
836e28186c (TESTS): Add i-2. 2000-05-20 09:45:08 +00:00
Jim Meyering
91d525cd50 *** empty log message *** 2000-05-20 09:44:46 +00:00
Jim Meyering
586b7bf510 *** empty log message *** 2000-05-20 09:44:20 +00:00
Jim Meyering
d0cc040dd8 *** empty log message *** 2000-05-20 09:43:40 +00:00
Jim Meyering
358c9c706a *** empty log message *** 2000-05-20 09:35:13 +00:00
Jim Meyering
dd19256dcd . 2000-05-20 09:31:14 +00:00
Jim Meyering
8fad3eb9e0 . 2000-05-20 09:30:01 +00:00
Jim Meyering
1adc899668 . 2000-05-20 09:24:29 +00:00
Jim Meyering
de4a1fe053 *** empty log message *** 2000-05-20 09:23:48 +00:00
Jim Meyering
5c34a06b45 (struct File_spec) [have_device, st_dev]: New members 2000-05-20 09:23:41 +00:00
Jim Meyering
f5fb72e12c Save device number as well as inode number for each directory.
(struct active_dir_ent) [st_dev]: New member.
[st_ino]: Rename from `inum'.
(make_active_dir_ent) [device]: New parameter.
(hash_compare_active_dir_ents): Compare using SAME_INODE macro.
(fspec_init_common): New function, factored out.
(fspec_init_file): Initialize have_device member.
(fspec_get_full_mode): Remove parameter.  Update caller.
Set have_device and st_dev members.
2000-05-20 09:23:27 +00:00
Jim Meyering
8fd90d4b2b add RUN_EXPENSIVE_TESTS junk 2000-05-20 09:09:18 +00:00
Jim Meyering
d402b210ea don't use $test 2000-05-20 08:52:03 +00:00
Jim Meyering
619ffb2bff fail if final rm fails 2000-05-20 08:48:39 +00:00
Jim Meyering
abd2b295f2 Clean up. 2000-05-20 08:42:44 +00:00
Jim Meyering
396069fce5 reorder so as not to use `head -c N' 2000-05-20 08:11:51 +00:00
Jim Meyering
a5c0da5365 (LC_ALL): Set it unconditionally. 2000-05-19 22:37:45 +00:00
Jim Meyering
bc009f5b5f warn the user it will take a while 2000-05-19 07:12:09 +00:00
Jim Meyering
5c136d939e put hash at the end of the list 2000-05-19 07:10:09 +00:00
Jim Meyering
b55a5cc86c (rm): Combine adjacent fputc and fprintf. 2000-05-18 21:10:55 +00:00
Jim Meyering
4d453f5691 remove some parens from some cpp lines 2000-05-18 14:56:42 +00:00
Jim Meyering
9d67112156 (remove_dir): Detect (and fail upon) attempt to subvert a running `rm -r'.
Reported by Morten Welinder.
2000-05-18 14:49:34 +00:00
Jim Meyering
c880f6f9e0 . 2000-05-18 14:28:09 +00:00
Jim Meyering
8469888ca2 *** empty log message *** 2000-05-18 14:26:19 +00:00
Jim Meyering
83616b114e (TESTS): Add hash. 2000-05-18 14:26:00 +00:00
Jim Meyering
f01f28a92a *** empty log message *** 2000-05-18 14:24:58 +00:00
Jim Meyering
ba798c5998 *** empty log message *** 2000-05-18 11:12:39 +00:00
Jim Meyering
aa78add2de (hash_rehash): Fix a nasty bug: copy the free entry list
back, too, since it may have been modified by allocate_entry.
(hash_delete): Rewrite not to use both(!) the assignment operator
and the comma operator in an if-expression.
2000-05-18 11:06:39 +00:00
Jim Meyering
3cf14979b7 *** empty log message *** 2000-05-17 12:21:02 +00:00
Jim Meyering
1ca5f870b6 tweak comment 2000-05-17 12:19:39 +00:00
Jim Meyering
1cd58148cd *** empty log message *** 2000-05-16 14:42:22 +00:00
Jim Meyering
a4f0b7b42e <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
Remove; no longer needed.
"quotearg.h": Add include.
(file_name): Do not bother to explicitly initialize to NULL; it's less
efficient on some hosts.
(close_stdout_status): Remove test as to whether stdout was already
closed; it breaks for the case "echo x | sort >&-".
Quote file name colons.
Do not assume that _("write error") lacks format strings.
2000-05-16 14:36:55 +00:00
Jim Meyering
71f60a998c *** empty log message *** 2000-05-15 20:42:08 +00:00
Jim Meyering
f13c5ee9ce (do_link): Use complete strings in diagnostics so they
are easier to translate.  Reported by Michel Robitaille.
(main): Drop support for the case in which S_ISLNK wasn't defined.
It was broken in any case.
2000-05-15 20:41:52 +00:00
Jim Meyering
6385fbd99a *** empty log message *** 2000-05-15 10:22:01 +00:00
Jim Meyering
73417841eb (close_stdout_set_file_name): Declare. 2000-05-15 10:21:56 +00:00
Jim Meyering
dba50eec49 (close_stdout_set_file_name): New function.
(close_stdout_status): Use new file-scoped global.
Return right away if fstat says the stdout file descriptor is invalid.
2000-05-15 10:21:25 +00:00
Jim Meyering
3400cc7f78 . 2000-05-15 08:00:19 +00:00
Jim Meyering
3c5405d298 *** empty log message *** 2000-05-15 07:18:44 +00:00
Jim Meyering
be72ac078c Set LC_ALL to `C' to avoid failure when the
current locale is not C (POSIX).  From Matthew Clarke.
2000-05-15 07:18:38 +00:00
Jim Meyering
6d38725e21 *** empty log message *** 2000-05-15 07:18:17 +00:00
Jim Meyering
4e5d2ac6d2 *** empty log message *** 2000-05-15 07:11:30 +00:00
Jim Meyering
cbd2839f1d (version_etc_copyright): Update the copyright string
that goes into all --version output.
2000-05-15 07:11:16 +00:00
Jim Meyering
a3ac01b48d (test_vector): Skip the %c test on SunOS4 systems.
Suggested by Paul Eggert.  Reported by Volker Borchert.
2000-05-15 07:08:38 +00:00
Jim Meyering
00df9725bb *** empty log message *** 2000-05-13 06:51:51 +00:00
Jim Meyering
81b16373ae Arrange to call close_stdout only upon exit. 2000-05-13 06:49:53 +00:00
Jim Meyering
47827e2ec2 Include closeout.h.
(usage): Don't call close_stdout here.
(close_stdout_wrapper): New, kludgey, function and file-scoped global.
(main): Register it with atexit.
2000-05-13 06:46:55 +00:00
Jim Meyering
68c6a5d828 *** empty log message *** 2000-05-12 22:39:10 +00:00
Jim Meyering
30c412049f Detect and report write failure of --help/--version. 2000-05-12 22:38:58 +00:00
Jim Meyering
f2d53500ae *** empty log message *** 2000-05-12 20:40:47 +00:00
Jim Meyering
fc64ba37d4 (copy_internal): Fix force and interactive tests. 2000-05-12 20:40:39 +00:00
Jim Meyering
a5c02a198b Unlike for mv, -i doesn't cancel the effect of -f
and -f doesn't cancel the effect of -i.
(main) ['f']: Don't reset `x.interactive'.
['i']: Don't reset `x.force'.
2000-05-12 20:39:34 +00:00
Jim Meyering
12bf65f915 Interpret as decimal, even if number starts with 0. 2000-05-12 20:31:39 +00:00
Jim Meyering
48ebc7d0b7 *** empty log message *** 2000-05-12 20:30:28 +00:00
Jim Meyering
b0fd0aa567 (string_to_integer): Restrict base to 10. 2000-05-12 20:30:22 +00:00
Jim Meyering
a1eab797d0 test new option 2000-05-12 08:56:03 +00:00
Jim Meyering
7f0b022e0d *** empty log message *** 2000-05-12 08:55:43 +00:00
Jim Meyering
1224b48d7f New option: --first-only
(anonymous enum) [CONVERT_FIRST_ONLY_OPTION]: Define.
(long_options): Add `first-only'.
(main): Handle new option.
2000-05-12 08:55:13 +00:00
Jim Meyering
3b8a52ccbe *** empty log message *** 2000-05-11 09:19:40 +00:00
Jim Meyering
605768d957 make the new tests a little smaller 2000-05-11 08:30:09 +00:00
Jim Meyering
45dcf53e6e New tests. 2000-05-11 08:28:51 +00:00
Jim Meyering
3f0c7988cf *** empty log message *** 2000-05-11 08:24:49 +00:00
Jim Meyering
51dbb91fdd *** empty log message *** 2000-05-11 07:24:35 +00:00
Jim Meyering
9590fbf43c (usage): Don't call close_stdout_status directly,
since that didn't cover --version output.
(main): Instead, call close_stdout_set_status and arrange to
call close_stdout via atexit.
2000-05-11 07:24:05 +00:00
Jim Meyering
5a3d9df9a1 (usage): Don't call close_stdout_status directly,
since that didn't cover --version output.
(main): Instead, call close_stdout_set_status and arrange to
call close_stdout via atexit.
2000-05-11 07:23:42 +00:00
Jim Meyering
70e5178bde (usage): Don't call close_stdout directly, since that
didn't cover --version output.
(main):  Arrange to call close_stdout via atexit, instead.
2000-05-11 07:21:33 +00:00
Jim Meyering
c693c5940b . 2000-05-11 07:17:36 +00:00
Jim Meyering
8c8e4286b5 append in subshell so we don't see this diagnostic:
./remove: t-shred.11626/file: Permission denied
2000-05-10 22:33:06 +00:00
Jim Meyering
ce8cf50e0a . 2000-05-10 16:40:30 +00:00
Jim Meyering
4071f9dcd5 (close_stdout_set_status): Declare. 2000-05-10 16:39:53 +00:00
Jim Meyering
ebd41d46d8 [default_exit_status]: New file-scoped variable.
(close_stdout_set_status): New function.
2000-05-10 16:39:35 +00:00
Jim Meyering
a210d7d35c Include sys/types.h in shred.c before including
sys/stat.h or system.h.  From John David Anglin.
2000-05-09 20:27:54 +00:00
Jim Meyering
b9c210715c back out last change -- the two should be separate 2000-05-09 20:27:11 +00:00
Jim Meyering
101160bdf9 *** empty log message *** 2000-05-09 20:26:04 +00:00
Jim Meyering
5c4406f731 Include sys/types.h in shred.c before including
sys/stat.h or system.h.  From John David Anglin.
2000-05-09 20:25:58 +00:00
Jim Meyering
721557bb21 *** empty log message *** 2000-05-09 12:37:47 +00:00
Jim Meyering
d7f56af947 *** empty log message *** 2000-05-09 11:00:13 +00:00
Jim Meyering
17bd8fb7fa *** empty log message *** 2000-05-09 06:32:31 +00:00
Jim Meyering
babf9bb7ac (case_GETOPT_VERSION_CHAR): Don't call close_stdout. 2000-05-09 06:32:24 +00:00
Jim Meyering
28ee33a9d8 *** empty log message *** 2000-05-09 05:50:09 +00:00
Jim Meyering
e90fed0bf7 renamed to libintl.m4 2000-05-09 05:44:51 +00:00
Jim Meyering
41a1348544 renamed from gettext.m4 2000-05-09 05:44:51 +00:00
Jim Meyering
2f925e9403 *** empty log message *** 2000-05-08 16:54:55 +00:00
Jim Meyering
1068a0005a Don't use touch in root test. Instead, append to
the test file, since now touch operates even on files which deny owner
write access.
2000-05-08 16:53:36 +00:00
Jim Meyering
cf197bb14a *** empty log message *** 2000-05-08 12:16:11 +00:00
Jim Meyering
34b63c88da *** empty log message *** 2000-05-08 12:01:46 +00:00
Jim Meyering
2fd73df635 . 2000-05-08 11:59:34 +00:00
Jim Meyering
31f5c39ace . 2000-05-08 10:10:26 +00:00
Jim Meyering
aa1ddd2e7d Don't include closeout.h.
(parse_long_options): Don't call close_stdout for --version.
2000-05-08 10:09:28 +00:00
Jim Meyering
fca7b20092 . 2000-05-07 21:11:59 +00:00
Jim Meyering
a90650cd3a *** empty log message *** 2000-05-07 21:03:19 +00:00
Jim Meyering
03faf39b22 Use UTC0, not just UTC, required for alphaev56-dec-osf4.0f. 2000-05-07 21:02:56 +00:00
Jim Meyering
acd3390874 *** empty log message *** 2000-05-07 15:02:30 +00:00
Jim Meyering
c263f45884 . 2000-05-07 15:00:48 +00:00
Jim Meyering
a41b145094 *** empty log message *** 2000-05-07 15:00:20 +00:00
Jim Meyering
661f74698e Include "closeout.h".
(usage): Call close_stdout just before exit.
2000-05-07 15:00:12 +00:00
Jim Meyering
c6b0fefde1 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:57:52 +00:00
Jim Meyering
2d4fd1ab6e Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:57:24 +00:00
Jim Meyering
c4d7de4d1c (usage): Call close_stdout_status. 2000-05-07 14:57:03 +00:00
Jim Meyering
7942b60d47 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:56:12 +00:00
Jim Meyering
c6bd79ad34 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:55:15 +00:00
Jim Meyering
52150ef51d Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:54:43 +00:00
Jim Meyering
071e5e3b25 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:53:15 +00:00
Jim Meyering
21f7f8fb60 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:52:54 +00:00
Jim Meyering
1a898f0449 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:52:16 +00:00
Jim Meyering
ab241ac3be Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:51:49 +00:00
Jim Meyering
d3683509b3 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:51:07 +00:00
Jim Meyering
ddb8aa8b9f (usage): Call close_stdout_status. 2000-05-07 14:50:39 +00:00
Jim Meyering
73ed5ed51e Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:49:06 +00:00
Jim Meyering
a3d40a9447 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:48:25 +00:00
Jim Meyering
309c1c3e47 Include "closeout.h".
(usage): Call close_stdout just before exit.
2000-05-07 14:47:44 +00:00
Jim Meyering
72bdac7271 Include "closeout.h".
(main): Call atexit with close_stdout.
2000-05-07 14:46:33 +00:00
Jim Meyering
f1013a1535 Include "closeout.h".
(main): Call atexit with close_stdout.
Remove explicit close_stdout.
2000-05-07 14:46:11 +00:00
Jim Meyering
e1133c7a28 Include "closeout.h".
(usage): Call close_stdout just before exit.
2000-05-07 14:41:19 +00:00
Jim Meyering
011b92f1c9 *** empty log message *** 2000-05-07 07:17:22 +00:00
Jim Meyering
5aa90a9946 ($Test::env{'rfc822-1'}): Add TZ=UTC. 2000-05-07 07:17:17 +00:00
Jim Meyering
c610f47650 . 2000-05-06 15:51:29 +00:00
Jim Meyering
d9e1e1dbd2 *** empty log message *** 2000-05-06 15:51:15 +00:00
Jim Meyering
b700e5cdfe *** empty log message *** 2000-05-06 15:45:33 +00:00
Jim Meyering
a83332dcd2 Undefine __strnlen and strnlen.
[!weak_alias]: Define __strnlen to strnlen.
2000-05-06 15:45:30 +00:00
Jim Meyering
20d55109b5 *** empty log message *** 2000-05-06 14:38:04 +00:00
Jim Meyering
95fad10ba3 (AC_REPLACE_FUNCS): Add strnlen. 2000-05-06 14:37:59 +00:00
Jim Meyering
e580f2a576 *** empty log message *** 2000-05-06 14:36:00 +00:00
Jim Meyering
0a63562cfa AC_REPLACE_FUNCS(atexit). 2000-05-06 14:35:16 +00:00
Jim Meyering
55b7281ec2 *** empty log message *** 2000-05-06 14:33:56 +00:00
Jim Meyering
b00705596d remove ifdef 2000-05-06 14:33:46 +00:00
Jim Meyering
6507fa63ce New file, from libiberty. 2000-05-06 14:33:22 +00:00
Jim Meyering
e074cde09b *** empty log message *** 2000-05-06 14:31:38 +00:00
Jim Meyering
9b6eb98d41 (EEXIST): Remove now-unused definition.
(ENOTEMPTY): Likewise.
(errno_rmdir_non_empty): Rewrite to use RMDIR_ERRNO_NOT_EMPTY,
which is determined by the autoconf test in m4/rmdir-errno.m4..
2000-05-06 14:31:32 +00:00
Jim Meyering
72efca1195 *** empty log message *** 2000-05-06 14:25:40 +00:00
Jim Meyering
884af44da8 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file. 2000-05-06 14:25:18 +00:00
Jim Meyering
c2a761780e Require fetish_FUNC_RMDIR_NOTEMPTY. 2000-05-06 14:25:07 +00:00
Jim Meyering
2c1ae1f436 . 2000-05-06 14:14:14 +00:00
Jim Meyering
ed0f130ea1 *** empty log message *** 2000-05-06 14:03:27 +00:00
Jim Meyering
a23b2bb948 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
AC_SEARCH_LIBS call for nanosleep.
(LIB_NANOSLEEP): Set and AC_SUBST.
2000-05-06 14:03:19 +00:00
Jim Meyering
669034433d *** empty log message *** 2000-05-06 14:01:46 +00:00
Jim Meyering
97df7c4729 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
be 500, instead of _GNU_SOURCE to be 1, to work around glibc
2.1.3 bug.  This avoids a clash when files like regex.c define
_GNU_SOURCE.
2000-05-06 14:01:39 +00:00
Jim Meyering
6206ee75ea *** empty log message *** 2000-05-06 13:47:44 +00:00
Jim Meyering
6b54234726 (get_charset_aliases): Use malloc, realloc and memcpy
instead of xmalloc, xrealloc, path_concat.
(locale_charset): Treat empty environment variables as absent.
(DIRECTORY_SEPARATOR, ISSLASH): New macros.
2000-05-06 13:47:38 +00:00
Jim Meyering
c141f3a34e (main): Warn about arguments, don't fail.
(usage): Call close_stdout_status from here as well as from main.
2000-05-06 13:18:00 +00:00
Jim Meyering
3140984fab Include "closeout.h".
(main): Call close_stdout.
2000-05-05 21:55:32 +00:00
Jim Meyering
19c397acdc Include "closeout.h".
(main): Call close_stdout.
2000-05-05 21:53:41 +00:00
Jim Meyering
80b5341cb8 Include "closeout.h".
(main): Call close_stdout.
2000-05-05 21:52:22 +00:00
Jim Meyering
f2fde491db Include "closeout.h".
(main): Call close_stdout.
2000-05-05 21:51:02 +00:00
Jim Meyering
e1c98ab3fb Include "closeout.h".
(main): Call close_stdout.
2000-05-05 21:49:44 +00:00
Jim Meyering
be9e62c6e0 *** empty log message *** 2000-05-05 21:42:20 +00:00
Jim Meyering
df9a764cbd *** empty log message *** 2000-05-05 21:41:53 +00:00
Jim Meyering
3684b16708 Exit nonzero upon write failure.
Include "closeout.h".
(main): Call close_stdout.
Reported by Ian Jackson via Michael Stone.
2000-05-05 21:41:29 +00:00
Jim Meyering
7dad7fd5c6 *** empty log message *** 2000-05-05 21:41:11 +00:00
Jim Meyering
856071f1da *** empty log message *** 2000-05-05 21:41:03 +00:00
Jim Meyering
ff1e216579 *** empty log message *** 2000-05-05 16:33:33 +00:00
Jim Meyering
554b19b9d1 (jm_MACROS): Save and restore LIBS around AC_SEARCH_LIBS call for clock_gettime.
(LIB_CLOCK_GETTIME): Set and AC_SUBST.
2000-05-05 16:33:26 +00:00
Jim Meyering
98e69d378e *** empty log message *** 2000-05-05 16:10:41 +00:00
Jim Meyering
00c483746f remove commented-out m4_default clause 2000-05-05 16:10:22 +00:00
Jim Meyering
7d4bd8f671 Update from autoconf. 2000-05-05 16:10:03 +00:00
Jim Meyering
46b48d2e0e *** empty log message *** 2000-05-05 15:05:09 +00:00
Jim Meyering
87a766e71a *** empty log message *** 2000-05-05 11:39:31 +00:00
Jim Meyering
5d65fd5e99 su doesn't work on Solaris2.6.
When checking for struct spwd.sp_pwdp, also include
<shadow.h>.  Reported by Dragos Harabor.
2000-05-05 11:39:25 +00:00
Jim Meyering
6a4a7cfe00 *** empty log message *** 2000-05-05 11:38:34 +00:00
Jim Meyering
2961a41dc3 (my-distcheck): Remove spurious blank line.
Remove $(DEPDIR) *after* making distclean, not before.
2000-05-04 09:33:34 +00:00
Jim Meyering
a0f78c6a82 *** empty log message *** 2000-05-04 07:19:34 +00:00
Jim Meyering
3e5e4aa3ac update from glibc -- solely white space changes 2000-05-04 07:19:24 +00:00
Jim Meyering
f4d3d21b14 *** empty log message *** 2000-05-04 07:13:40 +00:00
Jim Meyering
6a0899b4b6 filter through cppi 2000-05-04 07:12:59 +00:00
Jim Meyering
3d21ae4853 Update from glibc. 2000-05-04 07:12:43 +00:00
Jim Meyering
6405a85879 *** empty log message *** 2000-05-04 07:06:49 +00:00
Jim Meyering
91aee8ad4d Update from glibc. 2000-05-04 07:06:42 +00:00
Jim Meyering
3c13ac6c36 Update from glibc. 2000-05-04 06:41:26 +00:00
Jim Meyering
0605601f99 *** empty log message *** 2000-05-04 06:36:10 +00:00
Jim Meyering
c8fa96131e update from glibc 2000-05-04 06:35:49 +00:00
Jim Meyering
cea745beaa New file, from glibc. 2000-05-04 06:34:23 +00:00
Jim Meyering
647d5e6a70 *** empty log message *** 2000-05-04 05:35:04 +00:00
Jim Meyering
b53fe736bc Update from glibc. 2000-05-04 05:34:55 +00:00
Jim Meyering
f7fcc8c622 *** empty log message *** 2000-05-03 11:12:54 +00:00
Jim Meyering
be579a52e7 During ls, set LANGUAGE (for GNU gettext)
and LC_ALL (for systems which look at LC_MESSAGES).
2000-05-03 11:10:32 +00:00
Jim Meyering
c2262fcd90 use rm, not $RM 2000-05-03 11:09:07 +00:00
Jim Meyering
93e3e3a5a8 Define LC_ALL instead of LANG, in case the user has
LC_CTYPE or LC_ALL set. Define it and LANGUAGE before the first "sort" call.
2000-05-03 11:07:51 +00:00
Jim Meyering
92d235c21a Remove declaration of strndup. 2000-05-03 08:40:33 +00:00
Jim Meyering
900011c7de *** empty log message *** 2000-05-03 08:39:29 +00:00
Jim Meyering
0cb358268d *** empty log message *** 2000-05-03 08:37:57 +00:00
Jim Meyering
e6d69926e6 (!HAVE_DECL_STRNDUP): Declare strndup. 2000-05-03 08:37:40 +00:00
Jim Meyering
7e3bd1d897 *** empty log message *** 2000-05-03 08:37:11 +00:00
Jim Meyering
cd8042a77c (AC_CHECK_DECLS): Add strndup. 2000-05-03 08:37:03 +00:00
Jim Meyering
44bdb2f05a *** empty log message *** 2000-05-03 08:30:24 +00:00
Jim Meyering
38a059bf64 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
compile-time test, rather than inspecting host and OS, to
decide whether to define _LARGEFILE_SOURCE.
2000-05-03 08:30:18 +00:00
Jim Meyering
950eba9ba0 . 2000-05-02 14:07:39 +00:00
Jim Meyering
5fdc4f4666 *** empty log message *** 2000-05-02 06:57:00 +00:00
Jim Meyering
4c69db64f2 don't hard-code `rm' 2000-05-02 06:56:31 +00:00
Jim Meyering
acd9c429c0 (usage): Add the answer to `How do I remove a file named -f?' 2000-05-02 06:55:49 +00:00
Jim Meyering
e0263e15f1 *** empty log message *** 2000-05-01 14:59:21 +00:00
Jim Meyering
cb58624cef (full_write): Remove `FIXME' part of comment. 2000-05-01 14:40:08 +00:00
Jim Meyering
c488f85c66 *** empty log message *** 2000-05-01 14:15:17 +00:00
Jim Meyering
aa435d9982 *** empty log message *** 2000-05-01 14:10:38 +00:00
Jim Meyering
624dd54796 (change_attributes): Don't remove the destination file upon failure. 2000-05-01 14:09:19 +00:00
Jim Meyering
ef34c8704c [checked in with intention to back out...]
(change_attributes): Unlink the destination file
if either of the chown or the chmod calls fails.  Don't even attempt
the chmod if the chown fails.
Suggestion from Marc Olzheim.
2000-05-01 13:55:09 +00:00
Jim Meyering
b0d42f0a5c . 2000-05-01 11:40:52 +00:00
Jim Meyering
3491fe9797 *** empty log message *** 2000-05-01 08:36:29 +00:00
Jim Meyering
951abbe274 Use AC_MSG_CHECKING instead of obsolete AC_CHECKING. 2000-05-01 08:36:13 +00:00
Jim Meyering
392dd7af09 fix typos 2000-05-01 08:32:35 +00:00
Jim Meyering
9561e02b6a *** empty log message *** 2000-05-01 08:29:38 +00:00
Jim Meyering
e6bf5ecaf8 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
Based on a patch from Bruno Haible.
2000-05-01 08:29:28 +00:00
Jim Meyering
e511c84abe (read_filesystem_list): Add BeOS support. 2000-05-01 08:03:33 +00:00
Jim Meyering
cc5b8b2e79 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support. 2000-05-01 07:58:34 +00:00
Jim Meyering
56b16d84df *** empty log message *** 2000-04-30 21:48:27 +00:00
Jim Meyering
034fbbd8ac (O_NOCTTY): Define if not defined already.
(touch): Add O_NOCTTY to the flags passed to open.
2000-04-30 21:48:23 +00:00
Jim Meyering
a65db32955 . 2000-04-30 16:25:54 +00:00
Jim Meyering
72d2131b0e . 2000-04-30 16:25:30 +00:00
Jim Meyering
2edc7371bc *** empty log message *** 2000-04-30 16:25:24 +00:00
Jim Meyering
5e7a7d23f5 . 2000-04-30 16:24:00 +00:00
Jim Meyering
d0e30069c0 *** empty log message *** 2000-04-30 16:20:57 +00:00
Jim Meyering
9a7f0b1542 tweak comment 2000-04-30 16:19:57 +00:00
Jim Meyering
9a909400ba Detect and terminate upon write failure. 2000-04-30 16:19:06 +00:00
Jim Meyering
9e60f6cc06 alphabetize 2000-04-30 11:19:35 +00:00
Jim Meyering
721b2cb881 *** empty log message *** 2000-04-29 10:18:29 +00:00
Jim Meyering
b958bd6f2b [LSTAT_FOLLOWS_SLASHED_SYMLINK] (lstat): Define to rpl_lstat. 2000-04-29 10:17:42 +00:00
Jim Meyering
8e3be9e25c use an all-symbolic mode string 2000-04-29 09:37:44 +00:00
Jim Meyering
d6254a86bf *** empty log message *** 2000-04-29 09:25:58 +00:00
Jim Meyering
cf251ff75b Declare strdup only if it's not defined. 2000-04-29 09:25:09 +00:00
Jim Meyering
f79c0f977e *** empty log message *** 2000-04-29 08:44:40 +00:00
Jim Meyering
16d019fb86 *** empty log message *** 2000-04-29 08:44:11 +00:00
Jim Meyering
8d8135769a *** empty log message *** 2000-04-28 16:50:24 +00:00
Jim Meyering
8b37ad9c5b [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
redefinition warning on some systems (HPUX).  Otherwise, regex.h is
included first, then limits.h is included by locale.h by libintl.h.
From John David Anglin.
2000-04-28 16:49:38 +00:00
Jim Meyering
c249f854de *** empty log message *** 2000-04-27 12:27:08 +00:00
Jim Meyering
4954d34c14 (pop_dir): Remove through_symlink arg; use null cwd
for that purpose instead.
(count_entry): Also save the directory if we're saving more
than one level.
Fix file descriptor and memory leak when chdir fails.
2000-04-27 12:23:59 +00:00
Jim Meyering
e9c9e0f9e5 . 2000-04-27 12:19:38 +00:00
Jim Meyering
01a1964a1c *** empty log message *** 2000-04-27 12:17:43 +00:00
Jim Meyering
063bdf481b *** empty log message *** 2000-04-27 12:15:23 +00:00
Jim Meyering
cc9a042dfd . 2000-04-27 12:13:20 +00:00
Jim Meyering
a105fb3c17 *** empty log message *** 2000-04-27 12:13:11 +00:00
Jim Meyering
c0e74f9b48 *** empty log message *** 2000-04-27 12:12:42 +00:00
Jim Meyering
f5e968f6cd fix typo 2000-04-27 12:10:38 +00:00
Jim Meyering
fa3bb4033b *** empty log message *** 2000-04-27 12:09:44 +00:00
Jim Meyering
455d9ad4ed Use mkdir, not $MKDIR. 2000-04-27 12:08:59 +00:00
Jim Meyering
375abb3590 (TESTS_ENVIRONMENT): Set PATH, not MKDIR. 2000-04-27 12:08:19 +00:00
Jim Meyering
a3e7716e04 *** empty log message *** 2000-04-27 08:31:18 +00:00
Jim Meyering
c500f8c996 *** empty log message *** 2000-04-27 06:47:05 +00:00
Jim Meyering
a3029aba6b tweak comment 2000-04-27 06:46:13 +00:00
Jim Meyering
56b185d9b3 *** empty log message *** 2000-04-27 06:44:20 +00:00
Jim Meyering
5bb0a21123 *** empty log message *** 2000-04-27 06:36:05 +00:00
Jim Meyering
8a6dd8bf13 *** empty log message *** 2000-04-27 06:34:07 +00:00
Jim Meyering
758eab108f *** empty log message *** 2000-04-27 06:30:59 +00:00
Jim Meyering
862b31c48a (TESTS): Add special-1. 2000-04-27 06:30:26 +00:00
Jim Meyering
30eb4cf648 *** empty log message *** 2000-04-26 21:59:34 +00:00
Jim Meyering
29f4f9a5ac *** empty log message *** 2000-04-26 21:59:01 +00:00
Jim Meyering
d3057155d5 *** empty log message *** 2000-04-26 12:55:48 +00:00
Jim Meyering
8735a6823f *** empty log message *** 2000-04-26 12:54:26 +00:00
Jim Meyering
d89bb4e01a *** empty log message *** 2000-04-26 12:52:54 +00:00
Jim Meyering
0cd61ad840 *** empty log message *** 2000-04-26 12:43:19 +00:00
Jim Meyering
5aeb94aeb4 Rename global: s/path_mode/create_parents/.
(main): No longer perform explicit chmod when creating
parent directories, since make_path now does the chmod.
2000-04-26 12:43:12 +00:00
Jim Meyering
2f4177fa6b . 2000-04-26 12:36:49 +00:00
Jim Meyering
eddd846acb (S_IRWXUGO): Define.
(make_path): Always perform explicit chmod if MODE specifies any
of the `special' permission bits.
2000-04-26 12:36:43 +00:00
Jim Meyering
84013f9573 *** empty log message *** 2000-04-19 15:36:15 +00:00
Jim Meyering
98f5206a61 [__BEOS__]: Ignore O_BINARY and O_TEXT. 2000-04-19 15:36:05 +00:00
Jim Meyering
58be6ceff4 *** empty log message *** 2000-04-18 17:28:34 +00:00
Jim Meyering
97a6cf3999 add comment 2000-04-18 13:41:26 +00:00
Jim Meyering
40f30dc54b *** empty log message *** 2000-04-18 13:40:29 +00:00
Jim Meyering
833f309376 [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define getpagesize.
For BeOS.  Based on a patch from Bruno Haible.
2000-04-18 13:40:25 +00:00
Jim Meyering
72b3b743fe *** empty log message *** 2000-04-18 13:35:22 +00:00
Jim Meyering
0952a8a7bc (jm_PREREQ_GETPAGESIZE): New macro.
(jm_PREREQ): Use it.
2000-04-18 13:35:18 +00:00
Jim Meyering
be7efadaf2 *** empty log message *** 2000-04-17 11:39:36 +00:00
Jim Meyering
d2caf6a98c (my_strftime) [strftime]: Declare strftime here, since the definition
of it to rpl_strftime also defined-away the system's declaration.
2000-04-17 11:39:26 +00:00
Jim Meyering
c2981f6507 . 2000-04-17 11:26:33 +00:00
Jim Meyering
14aece6661 *** empty log message *** 2000-04-17 09:56:02 +00:00
Jim Meyering
eddd7f971f Get it right :-)
(jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
Suggestion from Akim Demaille.
2000-04-17 09:55:53 +00:00
Jim Meyering
df85b33ee3 Accept new option: --from=CURRENT_OWNER:CURRENT_GROUP.
(enum) [FROM_OPTION]: New member.
(long_options): New getopt spec.
(change_file_owner): Add old_user, old_group parameters.  Use them.
(change_dir_owner): Likewise.
(usage): Describe.
(main): New case.
2000-04-17 08:19:52 +00:00
Jim Meyering
d37e7835f9 Don't remove support for --max-consecutive-size-changes just yet... 2000-04-17 06:49:07 +00:00
Jim Meyering
d6df2d8561 *** empty log message *** 2000-04-16 16:28:46 +00:00
Jim Meyering
db01eaed39 (tail invocation): Remove description. 2000-04-16 16:03:44 +00:00
Jim Meyering
a423a1374f Remove option: --max-consecutive-size-changes=N.
Doesn't seem useful.
(usage): Remove description.
2000-04-16 16:03:34 +00:00
Jim Meyering
56dc5651a4 *** empty log message *** 2000-04-16 13:51:27 +00:00
Jim Meyering
c559eefb84 New option: --strip-trailing-slashes.
(enum) [STRIP_TRAILING_SLASHES_OPTION]: New member.
(remove_trailing_slashes): New global.
(long_opts): New getopt spec.
(usage): Describe.
(do_copy): Strip trailing slashes on SOURCE names only if the new
option has been specified.
(main): New case.
2000-04-16 13:51:22 +00:00
Jim Meyering
517e8a6bc2 (TESTS): Add symlink-slash. 2000-04-16 13:49:22 +00:00
Jim Meyering
88a6b99b8d *** empty log message *** 2000-04-16 13:48:38 +00:00
Jim Meyering
125de05913 add comment 2000-04-16 12:16:03 +00:00
Jim Meyering
496e09185a . 2000-04-15 22:04:06 +00:00
Jim Meyering
757de7fe90 *** empty log message *** 2000-04-15 21:58:37 +00:00
Jim Meyering
bb53ccc5e9 Use C' to denote so-called contiguous' files, the same way that tar does.
* filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
(ftypelet): Use S_ISCTG.
2000-04-15 21:54:46 +00:00
Jim Meyering
9fc7c63a5a *** empty log message *** 2000-04-15 21:48:58 +00:00
Jim Meyering
10acebe2cb tweak copyright date 2000-04-14 16:12:16 +00:00
Jim Meyering
d02b8ea082 *** empty log message *** 2000-04-14 15:42:02 +00:00
Jim Meyering
a71d7cdd14 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg form
of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets clobbered.
2000-04-14 15:41:06 +00:00
Jim Meyering
2e469b088b Shorten #ifdef HAVE_...' to #if HAVE_...' and
remove unnecessary uses of `defined' (aesthetics).
2000-04-14 12:41:05 +00:00
Jim Meyering
d5066f22eb *** empty log message *** 2000-04-13 08:37:57 +00:00
Jim Meyering
9ac210f6a7 . 2000-04-13 08:34:47 +00:00
Jim Meyering
a3c2775889 . 2000-04-13 08:16:13 +00:00
Jim Meyering
7ae95c0ff8 *** empty log message *** 2000-04-13 08:15:07 +00:00
Jim Meyering
12ec89c0e3 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new AH_VERBATIM
to insert required #ifndef into config.h.in.
Suggestion from Akim Demaille.
2000-04-13 08:15:01 +00:00
Jim Meyering
6157486144 *** empty log message *** 2000-04-12 16:03:53 +00:00
Jim Meyering
4add54834d (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
`AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
Christian Krackowizer.
2000-04-12 16:03:20 +00:00
Jim Meyering
f03b3e48ea (usage): Tweak --help output. Suggestions from Karl Berry. 2000-04-12 09:50:20 +00:00
Jim Meyering
50a68130a3 *** empty log message *** 2000-04-12 06:21:06 +00:00
Jim Meyering
088ab165c7 *** empty log message *** 2000-04-12 06:19:55 +00:00
Jim Meyering
b08487e513 (_GNU_SOURCE): Define.
(AC_SYS_LARGEFILE): Require.
(AM_C_PROTOTYPES): Require.
2000-04-12 06:19:45 +00:00
Jim Meyering
29d6a0aa75 *** empty log message *** 2000-04-11 09:27:38 +00:00
Jim Meyering
85846c1ba1 use bc in example, not dc 2000-04-10 09:20:49 +00:00
Jim Meyering
42b1404b54 . 2000-04-10 07:09:24 +00:00
Jim Meyering
9516237211 *** empty log message *** 2000-04-09 18:15:46 +00:00
Jim Meyering
b518fdab61 *** empty log message *** 2000-04-09 09:14:05 +00:00
Jim Meyering
290fd86565 Include constants.texi.
(tail invocation): Use `@value's instead of referring to the
output of `tail --help'.
2000-04-09 09:13:42 +00:00
Jim Meyering
b6d1fca450 (usage): Clarify descriptions of the --max-* options.
From Karl Berry.
2000-04-09 09:10:36 +00:00
Jim Meyering
844f0224f0 *** empty log message *** 2000-04-09 07:41:18 +00:00
Jim Meyering
e3d82c6734 *** empty log message *** 2000-04-09 07:35:39 +00:00
Jim Meyering
d219e87e72 . 2000-04-09 07:33:52 +00:00
Jim Meyering
545a2cbc66 *** empty log message *** 2000-04-09 07:33:30 +00:00
Jim Meyering
e6701bae6d Use the "C" locale when using --rfc-822 (-R), as
required by rfc822.  Before, in the de_DE locale, date would
print the German weekday and month abbreviations.
2000-04-09 07:33:25 +00:00
Jim Meyering
0145667581 Add test for rfc822 format and foreign locale settings. 2000-04-08 21:45:25 +00:00
Jim Meyering
a641eab06a *** empty log message *** 2000-04-08 19:36:46 +00:00
Jim Meyering
7beb8ac8aa *** empty log message *** 2000-04-08 19:35:38 +00:00
Jim Meyering
8debb843b6 (factor): Use a better example 2000-04-08 19:28:49 +00:00
Jim Meyering
c908124639 Document the ln=target directive. 2000-04-08 19:04:00 +00:00
Jim Meyering
5c7059a33a Add support for "ln=target" in the LS_COLORS variable,
to colorize links as for the file/directory pointed to.
2000-04-08 19:03:29 +00:00
Jim Meyering
6c60fb0a7a *** empty log message *** 2000-04-08 06:46:32 +00:00
Jim Meyering
650ea2e0b4 Document that while the --backup option takes an
optional argument, the -b option accepts none.
(main): Use `backup type' in call to xget_version, not the
now-deprecated `--version-control'.
2000-04-08 06:46:20 +00:00
Jim Meyering
ca59fb27c2 Document that while the --backup option takes an
optional argument, the -b option accepts none.
(main): Use `backup type' in call to xget_version, not the
now-deprecated `--version-control'.
2000-04-08 06:45:48 +00:00
Jim Meyering
19aa1f8a25 . 2000-04-08 06:44:35 +00:00
Jim Meyering
4cfab8f932 *** empty log message *** 2000-04-08 06:34:06 +00:00
Jim Meyering
edcc5eb997 (charset.alias): Use t-$@, not $@-t so the DOS 8.3
names don't conflict.  Reported by Eli Zaretskii.
2000-04-08 06:34:02 +00:00
Jim Meyering
437a783072 . 2000-04-08 06:31:38 +00:00
Jim Meyering
9a16820c87 *** empty log message *** 2000-04-07 09:41:51 +00:00
Jim Meyering
6b0a7a91d4 (print_unicode_char): Avoid triggering Solaris iconv bug.
Deal with the different error behaviour of Irix iconv.
2000-04-07 09:41:38 +00:00
Jim Meyering
4259b70042 Move inclusion of errno.h so it follows that of sys/types.h,
to work around system header problems on AIX 3.2.5.  From Bruno Haible.
2000-04-07 09:24:18 +00:00
Jim Meyering
5cb8c8c0a0 . 2000-04-07 08:45:27 +00:00
Jim Meyering
043d1c865c add a node for hostid 2000-04-06 19:27:04 +00:00
Jim Meyering
9394a8280f . 2000-04-06 13:39:07 +00:00
Jim Meyering
c846dbf402 *** empty log message *** 2000-04-06 06:56:05 +00:00
Jim Meyering
826dcda9c4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
IRIX if the installer said otherwise.
2000-04-06 06:55:14 +00:00
Jim Meyering
31ecd03e51 fix two typos. Duh 2000-04-05 15:22:04 +00:00
Jim Meyering
0fcc2606dd *** empty log message *** 2000-04-05 15:16:27 +00:00
Jim Meyering
bea19ce09c [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
(jm_CHECK_DECLS): Add getutent to the list of functions.
(_jm_DECL_HEADERS): Add utmpx.h.
2000-04-05 15:14:28 +00:00
Jim Meyering
4208ee3490 Declare strdup. 2000-04-05 15:08:11 +00:00
Jim Meyering
f7cfce8952 [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent. 2000-04-05 15:05:54 +00:00
Jim Meyering
ff9b9b202c Include sys/types.h before sys/stat.h.
Required for ultrix4.3.
2000-04-05 15:00:11 +00:00
Jim Meyering
594b06988b (canon_host): Declare strdup. Required for ultrix4.3. 2000-04-05 14:57:36 +00:00
Jim Meyering
faf92299a0 *** empty log message *** 2000-04-05 14:57:07 +00:00
Jim Meyering
98dd4a3867 . 2000-04-05 12:44:02 +00:00
Jim Meyering
8661f4d615 *** empty log message *** 2000-04-05 12:25:13 +00:00
Jim Meyering
7354c6077f Back out the 2000-04-02 change.
Instead of that change, simply undefine putenv in the test program.
2000-04-05 12:13:59 +00:00
Jim Meyering
48c6dffe80 Back out the 2000-04-02 change. 2000-04-05 11:50:48 +00:00
Jim Meyering
cc7186a919 *** empty log message *** 2000-04-04 20:18:42 +00:00
Jim Meyering
5c1001fdc5 *** empty log message *** 2000-04-04 20:15:42 +00:00
Jim Meyering
6803a71d89 *** empty log message *** 2000-04-04 20:14:16 +00:00
Jim Meyering
534deab287 *** empty log message *** 2000-04-04 12:58:57 +00:00
Jim Meyering
b9db9921b8 Be more DOS 8.3-friendly.
* ref-add.sin: Renamed from ref-add.sed.in.
* ref-del.sin: Renamed from ref-del.sed.in.
* Makefile.am: Reflect renaming.
2000-04-04 12:58:49 +00:00
Jim Meyering
c36284c505 renamed to ref-del.sin 2000-04-04 12:50:59 +00:00
Jim Meyering
a1eb481256 renamed from ref-del.sed.in 2000-04-04 12:50:59 +00:00
Jim Meyering
26bcc7757c renamed to ref-add.sin 2000-04-04 12:50:44 +00:00
Jim Meyering
6dd8936868 renamed from ref-add.sed.in 2000-04-04 12:50:44 +00:00
Jim Meyering
32ff553652 Use a temporary file name that won't clash with `charset.alias'
in the DOS 8.3 name space.

(charset_tmp): Define.
(install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
(uninstall-local): Likewise.
Reported by Eli Zaretskii.
2000-04-04 12:47:19 +00:00
Jim Meyering
7fc37fe5ec Split a long line and tweak for font-lock mode. 2000-04-04 07:59:24 +00:00
Jim Meyering
655b4e6409 *** empty log message *** 2000-04-04 07:59:08 +00:00
Jim Meyering
0fe3b0fe41 Split a long line and tweak for font-lock mode. 2000-04-04 07:58:21 +00:00
Jim Meyering
92f6a5cd8e Split a long line and tweak for font-lock mode. 2000-04-04 07:55:37 +00:00
Jim Meyering
dfddef17ac *** empty log message *** 2000-04-03 19:35:28 +00:00
Jim Meyering
d10be8f4db Fix typo in comment. 2000-04-03 19:35:24 +00:00
Jim Meyering
1461770971 . 2000-04-03 12:56:15 +00:00
Jim Meyering
1f665cff54 *** empty log message *** 2000-04-03 12:18:37 +00:00
Jim Meyering
e287f40259 *** empty log message *** 2000-04-03 08:06:02 +00:00
Jim Meyering
af404ff8ce *** empty log message *** 2000-04-03 07:48:11 +00:00
Jim Meyering
1ce828da28 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
textutils/configure.in).  Suggestion from Paul Eggert.
(AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
2000-04-03 07:48:06 +00:00
Jim Meyering
073977f69f (AC_CHECK_HEADERS): Remove langinfo.h -- put it in codeset instead.
(AC_CHECK_FUNCS): Likewise for nl_langinfo.
2000-04-03 07:46:51 +00:00
Jim Meyering
5ca6863e97 Include <langinfo.h> if it exists.
(DATE_FMT_LANGINFO): New macro.
(show_date): Use it to get the locale-specific default format for
"date" if it exists.
2000-04-03 07:38:41 +00:00
Jim Meyering
afe1e8e126 *** empty log message *** 2000-04-03 07:32:07 +00:00
Jim Meyering
5641f6257f (_jm_STRFTIME_PREREQS): Check for strftime,
since strftime.c uses HAVE_STRFTIME to decide whether to use
the underlying strftime.
2000-04-03 07:31:59 +00:00
Jim Meyering
ce3986e75a *** empty log message *** 2000-04-03 07:26:43 +00:00
Jim Meyering
f4d87ce11c (AC_CHECK_FUNCS): Add nl_langinfo. (also from textutils/configure.in) 2000-04-03 07:26:38 +00:00
Jim Meyering
8ecf5893e6 *** empty log message *** 2000-04-03 07:25:23 +00:00
Jim Meyering
321402c5a8 *** empty log message *** 2000-04-03 07:20:44 +00:00
Jim Meyering
3ce4615d65 (AC_CHECK_HEADERS): Add langinfo.h (moved here from textutils/configure.in). 2000-04-03 07:20:38 +00:00
Jim Meyering
0d5a8f6bb7 *** empty log message *** 2000-04-03 07:10:21 +00:00
Jim Meyering
dda6851673 (my_strftime): Make sure we call the system
strftime, not ourselves, when invoking the underlying strftime.
2000-04-03 07:09:38 +00:00
Jim Meyering
3feb52cde7 *** empty log message *** 2000-04-03 06:24:31 +00:00
Jim Meyering
096f314e1d (jm_FUNC_GNU_STRFTIME): Set TZ environment
variable in the shell rather than using putenv, which isn't
portable.  This avoids the configure-time inter-test dependency
on the potentially-renamed putenv function.
2000-04-03 06:24:20 +00:00
Jim Meyering
f22bce320b *** empty log message *** 2000-04-02 21:00:30 +00:00
Jim Meyering
527fd8d7d2 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
before checking struct stat.st_blksize, so that
HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
2000-04-02 21:00:24 +00:00
Jim Meyering
f016b20824 *** empty log message *** 2000-03-25 21:18:57 +00:00
Jim Meyering
251caade33 . 2000-03-25 18:33:17 +00:00
Jim Meyering
7d06f9cd1e back out last change 2000-03-25 18:26:47 +00:00
Jim Meyering
e23fcf2db0 *** empty log message *** 2000-03-24 09:07:18 +00:00
Jim Meyering
b217f05541 (jm_MACROS): Invoke `AC_CONFIG_AUX_DIR(.)' to work
around bug that made cvs-automake complain it couldn't find lib/depcomp.
2000-03-24 09:07:12 +00:00
Jim Meyering
8c0a8b888f . 2000-03-24 08:50:13 +00:00
Jim Meyering
b896219d87 . 2000-03-24 06:40:29 +00:00
Jim Meyering
eb42da51bb Output a line containing "Packages using this file". 2000-03-24 06:40:23 +00:00
Jim Meyering
d808469d48 *** empty log message *** 2000-03-24 06:39:31 +00:00
Jim Meyering
a0fc5566dd *** empty log message *** 2000-03-24 06:39:01 +00:00
Jim Meyering
e0ca9372fc (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
(charset_alias): Define.
(install-exec-local): Factor out common code.
(uninstall-local): Split lines longer than 80.
(ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
(SUFFIXES): Define.
(.sed.in.sed): New rule.  Don't redirect directly to $@.
(CLEANFILES): Add ref-add.sed and ref-del.sed.
2000-03-24 05:54:46 +00:00
Jim Meyering
a8bc6aee1c (install-exec-local, uninstall-local, ref-add.sed, ref-del.sed): New rules.
From Bruno.
2000-03-24 05:46:01 +00:00
Jim Meyering
355fad3e85 *** empty log message *** 2000-03-22 21:46:50 +00:00
Jim Meyering
b1a90bfff4 tiny tweak 2000-03-19 19:01:23 +00:00
Jim Meyering
100cfd502c *** empty log message *** 2000-03-19 19:00:17 +00:00
Jim Meyering
fc6d3b5995 a little more chroot help 2000-03-19 18:59:24 +00:00
Jim Meyering
5cb40b6726 add simple chroot example 2000-03-19 17:57:16 +00:00
Jim Meyering
784f0940b8 *** empty log message *** 2000-03-19 17:44:47 +00:00
Jim Meyering
3cb1bf80e0 *** empty log message *** 2000-03-19 17:44:23 +00:00
Jim Meyering
137c01c9a8 fix typos (dates not the same) 2000-03-19 17:43:30 +00:00
Jim Meyering
4433751d7a fix typos from
ceder@lysator.liu.se (Per Cederqvist)
2000-03-19 17:43:01 +00:00
Jim Meyering
a13954f7a6 *** empty log message *** 2000-03-19 16:25:47 +00:00
Jim Meyering
98b6b3780b *** empty log message *** 2000-03-18 16:55:05 +00:00
Jim Meyering
11f11947b5 (print_uptime): Use `buf' only if fgets succeeds. 2000-03-18 16:54:18 +00:00
Jim Meyering
01c42af175 . 2000-03-17 21:26:31 +00:00
Jim Meyering
00a6ef7e2e (<string.h>): Include only #if HAVE_STRING_H.
Otherwise, include <strings.h>
2000-03-17 19:34:16 +00:00
Jim Meyering
03bc0dd04d (utf8_wctomb): New function.
(print_unicode_char): Pass the Unicode character to iconv in UTF-8
format instead of in UCS-4 with platform dependent endianness.
2000-03-17 19:32:27 +00:00
Jim Meyering
4587e728aa *** empty log message *** 2000-03-17 15:23:06 +00:00
Jim Meyering
40847a559f *** empty log message *** 2000-03-12 20:09:53 +00:00
Jim Meyering
4c1d48cbfc *** empty log message *** 2000-03-12 20:08:01 +00:00
Jim Meyering
2b195e22bd *** empty log message *** 2000-03-12 20:07:39 +00:00
Jim Meyering
eb31b32e80 Merge from textutils.
(O_BINARY, O_TEXT): Define if necessary.
(SET_BINARY, SET_BINARY2): Define.
(DEV_BSIZE): Define to BBSIZE if appropriate.
2000-03-12 20:07:17 +00:00
Jim Meyering
83a446e62a *** empty log message *** 2000-03-12 20:04:35 +00:00
Jim Meyering
fb190362cc describe seq gotcha re FP arith 2000-03-12 17:54:52 +00:00
Jim Meyering
d21d0a4c04 *** empty log message *** 2000-03-12 17:31:57 +00:00
Jim Meyering
5e62fc320b (usage): Correct --help output. 2000-03-12 17:31:52 +00:00
Jim Meyering
7386ed8bd1 *** empty log message *** 2000-03-12 17:31:33 +00:00
Jim Meyering
ff9b51c885 . 2000-03-12 06:39:40 +00:00
Jim Meyering
85f656db4c . 2000-03-11 22:06:31 +00:00
Jim Meyering
63229c0a0d . 2000-03-11 16:30:59 +00:00
Jim Meyering
10cec9669d *** empty log message *** 2000-03-11 16:18:05 +00:00
Jim Meyering
9370e7d2a8 Set the default TZ value to UTC0, not UTC.
The latter didn't have any effect on alphaev56-dec-osf4.0f.
2000-03-11 16:17:25 +00:00
Jim Meyering
3b89449b19 *** empty log message *** 2000-03-11 11:21:41 +00:00
Jim Meyering
010641f8b7 Make the message more like that in the similar touch and shred tests. 2000-03-10 11:56:25 +00:00
Jim Meyering
527dcb236a *** empty log message *** 2000-03-10 11:53:29 +00:00
Jim Meyering
55746a425e Accommodate SunOS-NFS-mounting-OpenBSD mkfifo
bug and `exit 77' if the fifo cannot be created.
Report and suggestion from Volker Borchert.
2000-03-10 11:53:22 +00:00
Jim Meyering
41d063607c *** empty log message *** 2000-03-10 11:40:29 +00:00
Jim Meyering
113a192da5 *** empty log message *** 2000-03-10 09:09:34 +00:00
Jim Meyering
293d7ffa73 *** empty log message *** 2000-03-10 09:09:08 +00:00
Jim Meyering
a63b8f03f4 Look for getspnam in -lgen, too. 2000-03-10 09:08:53 +00:00
Jim Meyering
ff1b77a70a *** empty log message *** 2000-03-08 14:50:11 +00:00
Jim Meyering
7157c29ee8 (savedir): Work even if directory size is
negative; this can happen with some screwy NFS configurations.
2000-03-08 14:50:05 +00:00
Jim Meyering
45b3b0a96d . 2000-03-08 10:41:04 +00:00
Jim Meyering
b65f84bf94 tweak indentation 2000-03-07 20:06:03 +00:00
Jim Meyering
9ebf9199a4 (get_charset_aliases): Don't try to free file_name
if it's NULL (because we ran out of memory).  From Bruno Haible.
2000-03-06 11:19:23 +00:00
Jim Meyering
a688ad3b57 *** empty log message *** 2000-03-06 06:21:08 +00:00
Jim Meyering
57bb2e656e (struct buffer.newline_free): New member.
(initbuf, findlines): Set it.
(fillbuf): Do not double the size of a full buffer to append a newline
unless the buffer is known to be newline free.
2000-03-06 06:20:59 +00:00
Jim Meyering
12ad88f5c1 *** empty log message *** 2000-03-05 10:39:50 +00:00
Jim Meyering
8f717f92aa *** empty log message *** 2000-03-05 10:39:33 +00:00
Jim Meyering
fac78c4d0c *** empty log message *** 2000-03-05 10:37:53 +00:00
Jim Meyering
0d672bf048 *** empty log message *** 2000-03-05 10:27:29 +00:00
Jim Meyering
b7d59be6a4 ("path-concat.h"): Include.
(get_charset_aliases): Use path_concat instead of ANSI string
concatenation.
2000-03-05 10:27:22 +00:00
Jim Meyering
7206cd3b01 *** empty log message *** 2000-03-05 10:22:03 +00:00
Jim Meyering
aca3853e18 (PARAMS): Define.
Use it to guard prototype.
2000-03-05 10:21:58 +00:00
Jim Meyering
93be9a66d7 . 2000-03-05 06:53:08 +00:00
Jim Meyering
edaeb62db6 *** empty log message *** 2000-03-05 06:52:33 +00:00
Jim Meyering
e89ea03496 . 2000-03-04 21:14:51 +00:00
Jim Meyering
cd740223b3 (uninstall-local): Uncomment this rule so `make distcheck' works once again. 2000-03-04 21:10:21 +00:00
Jim Meyering
a82d3db454 *** empty log message *** 2000-03-04 20:15:07 +00:00
Jim Meyering
cea52734ee (install-exec-local): Create $(libdir) before installing into it. 2000-03-04 20:15:03 +00:00
Jim Meyering
b52c000d3b *** empty log message *** 2000-03-04 18:17:12 +00:00
Jim Meyering
31d214cd3a *** empty log message *** 2000-03-04 18:16:39 +00:00
Jim Meyering
54d12f7edd Once we encounter a file that is not of IS_TAILABLE_FILE_TYPE,
marke it as such and ignore it forever after.
(struct File_spec): New member.
(recheck): Initialize new member.
(tail_file): Likewise.
(tail_forever): Skip the file if it's marked as ignorable.
2000-03-04 18:16:21 +00:00
Jim Meyering
f600c4d144 *** empty log message *** 2000-03-04 14:31:34 +00:00
Jim Meyering
049ca98c74 Don't get failed assertion for `tail -f directory'.
Revert most of 1999-10-20 change.  Instead, ...
(IS_TAILABLE_FILE_TYPE): Define to produce similar result.
(recheck): Use it here.
(tail_file): Use it here.
2000-03-04 14:31:29 +00:00
Jim Meyering
7b2d50e3af . 2000-03-04 12:53:49 +00:00
Jim Meyering
e099a4b5ed . 2000-03-04 12:53:29 +00:00
Jim Meyering
29d3ba4a7b Include "unicodeio.h".
(usage): Mention \u and \U directives. \x outputs a byte, not a
character.
(print_esc): Implement \u and \U.
2000-03-04 12:52:35 +00:00
Jim Meyering
28334dafe4 (<errno.h>): Include it.
(errno): Declare if not defined.
2000-03-04 12:35:47 +00:00
Jim Meyering
45758bf193 . 2000-03-04 12:23:14 +00:00
Jim Meyering
8cad33941c . 2000-03-04 12:22:47 +00:00
Jim Meyering
fd6c956d13 *** empty log message *** 2000-03-04 12:22:45 +00:00
Jim Meyering
bb72a58753 *** empty log message *** 2000-03-04 12:22:14 +00:00
Jim Meyering
be7c99efe2 *** empty log message *** 2000-03-04 12:19:57 +00:00
Jim Meyering
1999eb9197 copyright 2000-03-04 12:14:57 +00:00
Jim Meyering
8221bfd7cc *** empty log message *** 2000-03-04 08:11:22 +00:00
Jim Meyering
1a8f8ca40c (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE, for lib/localcharset.c. 2000-03-04 08:11:18 +00:00
Jim Meyering
634dad84ba Add Bruno's comment justifying use of volatile. 2000-03-04 07:57:35 +00:00
Jim Meyering
871812bcec New version, incorporating remarks from a linux
i18n mailing list.  From Bruno Haible.
2000-03-04 07:53:33 +00:00
Jim Meyering
14b2e25723 *** empty log message *** 2000-03-03 21:48:23 +00:00
Jim Meyering
2f8ecdbb34 *** empty log message *** 2000-03-03 21:48:02 +00:00
Jim Meyering
26963dfc15 Make it so stty's rprnt attribute works on HPUX 10.20.
[CREPRINT && !CRPRNT] (CRPRNT): Define.
(control_info): Recognize HPUX's CREPRINT.
2000-03-03 21:47:59 +00:00
Jim Meyering
449de5e30c . 2000-03-03 12:28:28 +00:00
Jim Meyering
aa077d5438 *** empty log message *** 2000-03-03 12:24:11 +00:00
Jim Meyering
1a371e5119 Make sure re_compile_pattern accepts patterns like `{1'. 2000-03-03 12:23:47 +00:00
Jim Meyering
c1fcde2307 *** empty log message *** 2000-03-03 12:21:32 +00:00
Jim Meyering
e219c94cdf *** empty log message *** 2000-03-03 08:25:29 +00:00
Jim Meyering
fdd07a7508 . 2000-03-03 08:25:13 +00:00
Jim Meyering
2c43f8c612 (fillbuf): Move declaration of local, cc, into scope of
`while' loop where it's used.
2000-03-03 08:24:16 +00:00
Jim Meyering
8e1e6d357a Big performance improvement when sorting many small files,
building on a suggestion by Charles Randall.

(fillbuf): Skip memmove if it would be a no-op,
as many memmove implementations are slow in that case.
Don't examine leftover bytes for eolchar, since they may be left
over from a previous file, and we want to read from this file.

(sort): At end of file, if there is more input and buffer room,
concatenate the next input file.
2000-03-03 08:18:48 +00:00
Jim Meyering
8b8685ef31 *** empty log message *** 2000-03-03 08:12:51 +00:00
Jim Meyering
326489aecd *** empty log message *** 2000-03-03 08:05:27 +00:00
Jim Meyering
d2b51acd38 (EXTRA_DIST): Add config.charset. 2000-03-02 15:28:23 +00:00
Jim Meyering
b9a2465910 wrap lines and reformat @examples a little to avoid
`Overfull \hbox ... too wide' warnings
2000-03-02 12:33:06 +00:00
Jim Meyering
c82129a317 make example narrower to avoid `Overfull \hbox ... too wide' warning 2000-03-02 12:30:39 +00:00
Jim Meyering
68773fe3f1 *** empty log message *** 2000-03-02 12:24:21 +00:00
Jim Meyering
b1307f5aff (printf invocation): Describe new unicode syntax.
From Bruno Haible.
2000-03-02 12:24:00 +00:00
Jim Meyering
3af9591bb8 *** empty log message *** 2000-03-02 09:44:56 +00:00
Jim Meyering
169f13cd05 Require AC_HEADER_TIME before the cache check so
the messages come out on separate lines.
2000-03-02 09:44:43 +00:00
Jim Meyering
18341ac6a9 *** empty log message *** 2000-03-02 09:09:08 +00:00
Jim Meyering
b79b91615f . 2000-03-02 09:09:02 +00:00
Jim Meyering
cae99570f4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS, rather than jm_CHECK_DECLARATIONS. 2000-03-02 09:08:32 +00:00
Jim Meyering
00ede118ac *** empty log message *** 2000-03-02 09:05:33 +00:00
Jim Meyering
62bef312ad (AC_CHECK_DECLS): Add getlogin, ttyname, and geteuid. 2000-03-02 09:05:28 +00:00
Jim Meyering
e1bf326a99 (getlogin, ttyname, geteuid): Declare them here, if needed. 2000-03-02 09:04:06 +00:00
Jim Meyering
ddfcfb0da3 . 2000-03-02 07:38:57 +00:00
Jim Meyering
5624900715 (show_point): Ignore shortcuts based on path
prefixes that are loop file system mount points, since they
yield undesirable output.
2000-03-02 07:30:36 +00:00
Jim Meyering
de85b5f902 (DEFS): Add -DLIBDIR=...
(libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
(noinst_HEADERS): Add unicodeio.h.
(all-local, install-exec-local, charset.alias): New targets.
2000-03-01 13:26:04 +00:00
Jim Meyering
d38bf8ccf7 *** empty log message *** 2000-03-01 13:23:53 +00:00
Jim Meyering
b451be06d5 *** empty log message *** 2000-03-01 13:23:47 +00:00
Jim Meyering
8d1e103424 New file from Bruno. 2000-03-01 13:23:41 +00:00
Jim Meyering
77ec117299 New file from Bruno.
filter through cppi
2000-03-01 13:22:57 +00:00
Jim Meyering
ce4a63537c New file from Bruno.
One portability tweak:
guard inclusion of stddef.h.
2000-03-01 13:22:35 +00:00
Jim Meyering
578156186d Guard some #includes with `#if HAVE_...'. 2000-03-01 13:21:23 +00:00
Jim Meyering
e2915cc17d new file, from Bruno 2000-03-01 13:11:05 +00:00
Jim Meyering
edd988b3cc Describe eq-wid-2 failure conditions. 2000-03-01 12:53:37 +00:00
Jim Meyering
296fe5d782 . 2000-03-01 12:51:07 +00:00
Jim Meyering
13b113c1f3 *** empty log message *** 2000-03-01 12:50:28 +00:00
Jim Meyering
883cd6c62d . 2000-03-01 12:49:12 +00:00
Jim Meyering
172290c201 (get_width_format): Fix portability problem with -0' vs. 0'. 2000-03-01 12:31:16 +00:00
Jim Meyering
1679d72fee . 2000-03-01 12:29:00 +00:00
Jim Meyering
317732f3d9 . 2000-03-01 12:27:54 +00:00
Jim Meyering
fc1d2abff1 (decode_switches): Remove `e' from getopt_long's list of
option characters.  Reported by John Summerfield.
2000-02-29 15:22:16 +00:00
Jim Meyering
8078034c5b *** empty log message *** 2000-02-29 07:32:27 +00:00
Jim Meyering
747c6d4b60 (make_blank): Add an explicit cast to `unsigned char *'
to placate HPUX's C compiler.  Reported by Bob Proulx.
2000-02-29 07:32:23 +00:00
Jim Meyering
d29f838428 split a long line 2000-02-29 06:34:25 +00:00
Jim Meyering
464232e6bb *** empty log message *** 2000-02-28 20:45:33 +00:00
Jim Meyering
76d10c457c (ALERT_CHAR): New macro.
(quotearg_buffer_restyled): Use it.
2000-02-28 20:45:28 +00:00
Jim Meyering
6631abaa8b *** empty log message *** 2000-02-28 07:23:06 +00:00
Jim Meyering
4507236cbe Use ginstall, not install. 2000-02-28 07:23:00 +00:00
Jim Meyering
2b8209bca8 . 2000-02-27 19:05:50 +00:00
Jim Meyering
a98c656b54 *** empty log message *** 2000-02-27 18:53:50 +00:00
Jim Meyering
e43759db0c Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'. 2000-02-27 18:50:31 +00:00
Jim Meyering
507d0aa278 Fix typo in decl of strtoul: s/long long/long/.
Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
2000-02-27 18:49:10 +00:00
Jim Meyering
86845e9bfe Fix typo in decl of strtoul: s/long long/long/. 2000-02-27 18:45:29 +00:00
Jim Meyering
633c0745b9 *** empty log message *** 2000-02-27 18:04:10 +00:00
Jim Meyering
5bea77e1af Guard inclusion of stdlib.h with #if HAVE_STDLIB_H', not #if STDC_HEADERS'.
Declare malloc if needed.
2000-02-27 18:04:00 +00:00
Jim Meyering
4fef810c37 use double quotes, not single quotes around syntax-error-evoking string 2000-02-27 17:54:25 +00:00
Jim Meyering
7717354351 *** empty log message *** 2000-02-27 17:53:36 +00:00
Jim Meyering
07ab5fec9a Add getenv to the list. 2000-02-27 17:53:31 +00:00
Jim Meyering
8cf07d2253 *** empty log message *** 2000-02-27 17:42:26 +00:00
Jim Meyering
aadde40206 Use #if !HAVE_DECL...' instead of #ifndef HAVE_DECL..'
now that autoconf always defines the HAVE_DECL_ symbols.

Arrange for cpp to fail if the configure-time
declaration check was not run.
2000-02-27 17:41:20 +00:00
Jim Meyering
aee6c49887 Arrange for cpp to fail if the configure-time
declaration check was not run.
2000-02-27 17:40:53 +00:00
Jim Meyering
8041fd5301 Use #if !HAVE_DECL...' instead of #ifndef HAVE_DECL..'
now that autoconf always defines the HAVE_DECL_ symbols.

Arrange for cpp to fail if the configure-time
declaration check was not run.
2000-02-27 17:40:24 +00:00
Jim Meyering
7a80c0cacc Use #if !HAVE_DECL...' instead of #ifndef HAVE_DECL..'
now that autoconf always defines the HAVE_DECL_ symbols.

Arrange for cpp to fail if the configure-time
declaration check was not run.
2000-02-27 17:39:52 +00:00
Jim Meyering
c2f3af37bb Use #if !HAVE_DECL...' instead of #ifndef HAVE_DECL...'
now that autoconf always defines the HAVE_DECL_ symbols.
2000-02-27 17:26:39 +00:00
Jim Meyering
fe56d629d1 . 2000-02-27 15:43:43 +00:00
Jim Meyering
6c5f00186d *** empty log message *** 2000-02-27 15:06:19 +00:00
Jim Meyering
27acd938a1 *** empty log message *** 2000-02-27 15:01:34 +00:00
Jim Meyering
dda6c3fdc4 (install_file_to_path): Always use install_file_in_file.
Based on a patch from Adam Klein via Michael Stone.
2000-02-27 15:01:21 +00:00
Jim Meyering
9d343b0852 *** empty log message *** 2000-02-27 15:00:31 +00:00
Jim Meyering
36aea8162f *** empty log message *** 2000-02-27 14:52:45 +00:00
Jim Meyering
fb0afad994 *** empty log message *** 2000-02-27 14:39:48 +00:00
Jim Meyering
847ee5a3bd (TESTS): Add create-leading. 2000-02-27 14:39:19 +00:00
Jim Meyering
649349a300 *** empty log message *** 2000-02-27 14:35:07 +00:00
Jim Meyering
759591ae51 *** empty log message *** 2000-02-27 14:27:13 +00:00
Jim Meyering
bb8bb211a1 Put cedilla on `c' in author's name. 2000-02-27 13:58:12 +00:00
Jim Meyering
47322c2a8e (TESTS_ENVIRONMENT): Add PATH. Remove cruft. 2000-02-27 13:18:24 +00:00
Jim Meyering
e86141f400 Clean up. 2000-02-27 13:17:12 +00:00
Jim Meyering
8ebde9b0bb *** empty log message *** 2000-02-27 11:29:13 +00:00
Jim Meyering
47eed28390 *** empty log message *** 2000-02-27 11:28:47 +00:00
Jim Meyering
72bd5150fd *** empty log message *** 2000-02-27 11:27:38 +00:00
Jim Meyering
a8223df329 . 2000-02-27 11:26:07 +00:00
Jim Meyering
7c0e2db49b . 2000-02-27 11:23:22 +00:00
Jim Meyering
1f6347114a *** empty log message *** 2000-02-27 11:23:11 +00:00
Jim Meyering
9c1810823d *** empty log message *** 2000-02-27 11:19:40 +00:00
Jim Meyering
f25e10f24d (parse_user_spec): If there is no :' but there is a .',
then first look up the entire `.'-containing string as a login name.
2000-02-27 11:13:16 +00:00
Jim Meyering
9bb4588551 *** empty log message *** 2000-02-26 22:19:54 +00:00
Jim Meyering
678d98c083 . 2000-02-26 21:34:58 +00:00
Jim Meyering
b0952dd045 Don't make the success of the test depend on the
order in which directory entries are processed.
Reported by Andreas Schwab.
2000-02-26 21:34:41 +00:00
Jim Meyering
20552b01be whoops. Add commas in parenthesized list of functions in call
to AC_CHECK_DECLS.
2000-02-26 21:28:10 +00:00
Jim Meyering
1b136ab2e9 *** empty log message *** 2000-02-23 15:24:57 +00:00
Jim Meyering
d682521386 Now that we have the new AC_CHECK_DECLS, use it in place of my hack. 2000-02-23 15:24:51 +00:00
Jim Meyering
fb50c4895a Handle two-digit years with leading zeros correctly.
(textint): New typedef.
(parser_control): Member year changed from int to textint.
All uses changed.
(YYSTYPE): Removed; replaced by %union with int and textint members.
(tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
(tSNUMBER, tUNUMBER): Now of type <textintval>.
(date, number, to_year): Use width of number in digits, not its value,
to determine whether it's a 2-digit year, or a 2-digit time.
(yylex): Store number of digits of numeric tokens.
Reported by John Kendall.

(parser_control): Changed from struct parser_control to typedef (for
consistency).  All uses changed.

(tID): Removed; not used.
(yylex): Return '?' for unknown identifiers, rather than (unused) tID.
2000-02-22 20:16:07 +00:00
Jim Meyering
29e2ec8676 *** empty log message *** 2000-02-22 20:14:57 +00:00
Jim Meyering
f8845967cf *** empty log message *** 2000-02-22 20:14:37 +00:00
Jim Meyering
a849cac5b5 fix typo 2000-02-22 20:13:38 +00:00
Jim Meyering
d63f6d17dd (datevtime-1): New test. 2000-02-22 20:12:08 +00:00
Jim Meyering
979ea98a3e *** empty log message *** 2000-02-15 21:04:09 +00:00
Jim Meyering
4dbf0a39a6 *** empty log message *** 2000-02-15 13:18:05 +00:00
Jim Meyering
6a7e32b137 (pop_dir): New function.
(count_entry): Factor out common code (pop_dir), and call the new
function instead.
Move declaration of global, `stat_buf' into this function.
(du_files): Don't stat `.' or call save_cwd, since count_entry
never returns with a changed working directory.
2000-02-15 13:17:36 +00:00
Jim Meyering
63444750ac *** empty log message *** 2000-02-15 13:08:08 +00:00
Jim Meyering
4c1158bac0 merge fileutils, textutils, sh-utils 2000-02-15 13:06:07 +00:00
Jim Meyering
43b2179550 *** empty log message *** 2000-02-15 07:58:20 +00:00
Jim Meyering
ec940f653c . 2000-02-14 23:27:25 +00:00
Jim Meyering
7c270275fe adapted from changes to grep getpagesize.h
by Martin P.J. Zinser <zinser@decus.de>.
2000-02-14 20:15:32 +00:00
Jim Meyering
09ce6f34a1 *** empty log message *** 2000-02-13 09:07:08 +00:00
Jim Meyering
999a14a6a5 . 2000-02-13 08:47:09 +00:00
Jim Meyering
64a7649926 *** empty log message *** 2000-02-13 08:24:10 +00:00
Jim Meyering
0d96fcf423 (run_tests): Discard stderr.
Reverse diff args, so `expected' is last, as in mk-script.
2000-02-13 08:23:58 +00:00
Jim Meyering
658207b433 . 2000-02-12 17:08:06 +00:00
Jim Meyering
1f1f9fe885 . 2000-02-12 17:07:21 +00:00
Jim Meyering
40e6e7a44e *** empty log message *** 2000-02-12 17:06:52 +00:00
Jim Meyering
77dfc82293 (run_tests): Invoke `diff' when differences are found. 2000-02-12 17:06:04 +00:00
Jim Meyering
5813e98ace *** empty log message *** 2000-02-12 10:42:19 +00:00
Jim Meyering
b8cf92fee6 *** empty log message *** 2000-02-12 10:41:48 +00:00
Jim Meyering
31ef40d60b <libintl.h>: Include.
(_ and N_): Define.
(parse_user_spec): Mark translatable strings.
2000-02-12 10:41:37 +00:00
Jim Meyering
66a4b0e7a3 add FIXME comments for use of atoi 2000-02-12 10:11:54 +00:00
Jim Meyering
3d9c2a6c35 (ISDIGIT): Define it.
(isdigit): Remove definition.
(is_number): Use ISDIGIT, not isdigit.
2000-02-12 10:10:40 +00:00
Jim Meyering
282fa27b51 *** empty log message *** 2000-02-12 08:58:36 +00:00
Jim Meyering
04d0388df4 (usage): Mention only :', and not .' as the separator. 2000-02-12 08:57:50 +00:00
Jim Meyering
d89210720b (main): Count the stat'able arguments.
Print the header line only if there is at least one valid argument.
Reported by Andy Longton <alongton@metamark.com>
2000-02-11 10:08:28 +00:00
Jim Meyering
1347ab3fa2 *** empty log message *** 2000-02-11 10:08:00 +00:00
Jim Meyering
35d44548fb Invoke `diff' when differences are found. 2000-02-10 17:45:12 +00:00
Jim Meyering
269c31af34 *** empty log message *** 2000-02-10 09:38:52 +00:00
Jim Meyering
afc2960851 #undef nanosleep.
(rpl_nanosleep): Rename from nanosleep.
2000-02-10 09:38:43 +00:00
Jim Meyering
d9aece69b3 Don't include config.h.
Remove prototype from declaration of nanosleep.
(PARAMS): Remove now-unneeded definition.
2000-02-10 09:38:31 +00:00
Jim Meyering
d31f3e34a6 *** empty log message *** 2000-02-10 09:34:03 +00:00
Jim Meyering
260ff68425 (jm_FUNC_NANOSLEEP): Rename replacement function from
gnu_nanosleep to rpl_nanosleep.
2000-02-10 09:33:52 +00:00
Jim Meyering
ddee3f420c *** empty log message *** 2000-02-09 19:41:28 +00:00
Jim Meyering
8b7a023ff1 Exit 77 if we can't set up the framework (Volker Borchert reported
that this test would fail because mknod failed when run on SunOS4.1.4
using NFS-mounted disk from an OpenBSD system).
2000-02-09 19:41:15 +00:00
Jim Meyering
31c3ae1545 (framework_failure): Use $null and $dir in place of literals in `here' script. 2000-02-09 19:36:13 +00:00
Jim Meyering
55e5a84fed *** empty log message *** 2000-02-09 12:00:16 +00:00
Jim Meyering
35d017aa1d *** empty log message *** 2000-02-09 11:58:17 +00:00
Jim Meyering
99c95d35e9 *** empty log message *** 2000-02-09 11:58:05 +00:00
Jim Meyering
40a4ab97fe (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
struct spwd, rather than in struct passwd.  Reported by G. Queri.
2000-02-09 11:57:55 +00:00
Jim Meyering
03062f0904 *** empty log message *** 2000-02-09 11:57:15 +00:00
Jim Meyering
d6181296dd (correct_password): Correct HAVE_STRUCT_* name in #if guard
to go along with corrected autoconf test:  Reported by G Queri.
2000-02-09 11:57:01 +00:00
Jim Meyering
e2cc35f086 bump serial number 2000-02-08 15:37:44 +00:00
Jim Meyering
5e3d1430e3 *** empty log message *** 2000-02-08 15:33:45 +00:00
Jim Meyering
9951c9f723 *** empty log message *** 2000-02-08 15:33:32 +00:00
Jim Meyering
2781381e83 (AM_FUNC_GETLOADAVG): Remove now-unnecessary use of changequote. 2000-02-08 15:32:39 +00:00
Jim Meyering
035e61e595 bump #serial to 108 2000-02-08 15:30:47 +00:00
Jim Meyering
345ed2f0c4 (AM_GNU_GETTEXT): Quote square brackets with [' and ]'
and remove uses of `changequote'.
2000-02-08 15:29:26 +00:00
Jim Meyering
c52336c440 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with [' and ]'
and remove uses of `changequote'.
2000-02-08 15:21:11 +00:00
Jim Meyering
9936c270a7 (jm_AC_FUNC_MEMCMP): Remove now-unnecessary use of changequote.
Add `int' for main.
2000-02-08 15:16:42 +00:00
Jim Meyering
0c0a8f7180 (jm_FUNC_READDIR): Remove now-unnecessary uses of changequote. 2000-02-08 15:11:36 +00:00
Jim Meyering
dfd37e9e59 (jm_INCLUDED_REGEX): Remove now-unnecessary uses of changequote. 2000-02-08 15:08:26 +00:00
Jim Meyering
58d3cbbc5c (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary uses of changequote. 2000-02-08 15:07:10 +00:00
Jim Meyering
6b239bb039 *** empty log message *** 2000-02-05 15:54:27 +00:00
Jim Meyering
2e18b62d99 *** empty log message *** 2000-02-05 09:54:33 +00:00
Jim Meyering
7392a5fd49 . 2000-02-05 09:53:35 +00:00
Jim Meyering
e413127dd4 *** empty log message *** 2000-02-05 09:49:06 +00:00
Jim Meyering
fa183ca836 . 2000-02-05 09:48:31 +00:00
Jim Meyering
ab4923e01e *** empty log message *** 2000-02-05 09:25:45 +00:00
Jim Meyering
2ffef0cd25 *** empty log message *** 2000-02-05 09:17:15 +00:00
Jim Meyering
80862b8fb4 *** empty log message *** 2000-02-05 08:49:08 +00:00
Jim Meyering
6cf7855da7 Use UT_USER in place of hard-coded `->ut_name' here, too. 2000-02-05 08:48:55 +00:00
Jim Meyering
5d716e440a bump serial number 2000-02-05 08:16:53 +00:00
Jim Meyering
05073cdf67 *** empty log message *** 2000-02-05 08:16:26 +00:00
Jim Meyering
a6ac5e555f (jm_CHECK_ALL_TYPES): Require most macros.
Remove explicit use of AC_HEADER_TIME.  It is required by
jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
`AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
in autoconf whereby the expansion of the latter ended up preceding
the expansion of its prerequisite, AC_HEADER_TIME.
Reported by Volker Borchert.
2000-02-05 08:16:13 +00:00
Jim Meyering
5c67c91bb1 . 2000-02-05 08:10:05 +00:00
Jim Meyering
70bf2ee07d *** empty log message *** 2000-02-05 06:07:46 +00:00
Jim Meyering
e40b2aea74 (copy_internal): Don't allow mv to move a directory onto
a non-directory.  Reported by Brian Kimball via Michael Stone.
2000-02-05 06:02:23 +00:00
Jim Meyering
980db8d94b *** empty log message *** 2000-02-05 06:01:34 +00:00
Jim Meyering
3f4d9d2baf *** empty log message *** 2000-02-03 16:52:01 +00:00
Jim Meyering
2e35cf88d4 *** empty log message *** 2000-02-03 16:51:37 +00:00
Jim Meyering
3b85a5c102 Remove MV/RM-setting code, now that those vars aren't used. 2000-02-03 16:48:37 +00:00
Jim Meyering
03885c59b5 (TESTS): Add dir-file. 2000-02-03 16:47:05 +00:00
Jim Meyering
47fe4e2b81 *** empty log message *** 2000-02-03 16:46:16 +00:00
Jim Meyering
afed58448d *** empty log message *** 2000-02-03 16:44:05 +00:00
Jim Meyering
83b7332303 *** empty log message *** 2000-02-03 16:40:42 +00:00
Jim Meyering
b1a7c1d3f6 *** empty log message *** 2000-02-03 12:21:15 +00:00
Jim Meyering
07730c119b (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
rather than with `#if HAVE_UTMPNAME'.
2000-02-03 12:20:59 +00:00
Jim Meyering
ce286ec9da *** empty log message *** 2000-02-03 12:19:41 +00:00
Jim Meyering
40f2b94df5 (jm_PREREQ_READUTMP): Check for utmpxname. 2000-02-03 12:19:05 +00:00
Jim Meyering
e03663fafd (O_NDELAY): Define to 0 if not defined.
(O_NONBLOCK): Define to O_NDELAY if not defined.
(touch): Open with O_NONBLOCK, so one can touch a fifo without hanging.
Reported by Eric G. Miller via Michael Stone.
2000-02-03 12:16:47 +00:00
Jim Meyering
6d94f760a2 *** empty log message *** 2000-02-02 22:17:51 +00:00
Jim Meyering
10ababf6b2 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
2000-02-02 22:17:35 +00:00
Jim Meyering
faae41a3ef tell user that we're about to sleep 2000-02-02 14:04:40 +00:00
Jim Meyering
177daedd5e sheesh 2000-02-02 14:03:56 +00:00
Jim Meyering
aeedb315dd *** empty log message *** 2000-02-02 14:00:14 +00:00
Jim Meyering
93d0c6c472 *** empty log message *** 2000-02-02 13:59:43 +00:00
Jim Meyering
7138e43074 (TESTS): Add fifo. 2000-02-02 13:59:30 +00:00
Jim Meyering
84b2bdcb3a (UT_USER): Add parens. From Andreas Schwab. 2000-02-01 16:23:30 +00:00
Jim Meyering
787ee99d38 *** empty log message *** 2000-02-01 13:29:57 +00:00
Jim Meyering
b8293a0364 *** empty log message *** 2000-02-01 12:05:41 +00:00
Jim Meyering
5e8af70e24 *** empty log message *** 2000-02-01 10:52:32 +00:00
Jim Meyering
d8c942fdef change ." to .\" 2000-02-01 10:34:35 +00:00
Jim Meyering
715f1c67f9 *** empty log message *** 2000-01-31 22:42:59 +00:00
Jim Meyering
ffb0e90647 *** empty log message *** 2000-01-31 22:42:34 +00:00
Jim Meyering
cf4a419332 (jm_CHECK_DECLS): Add nanosleep to the list of
functions.  Add the time.h and sys/time.h headers along with the
AC_REQUIRE'ment of AC_HEADER_TIME.
2000-01-31 22:39:54 +00:00
Jim Meyering
490bf3d6e9 (nanosleep): Guard declaration with `#if ! HAVE_DECL_NANOSLEEP'. 2000-01-31 22:38:04 +00:00
Jim Meyering
6ce0ab6d40 *** empty log message *** 2000-01-31 19:38:05 +00:00
Jim Meyering
70ac08368a fix typo. sheesh 2000-01-31 08:42:45 +00:00
Jim Meyering
26310e4984 *** empty log message *** 2000-01-31 08:38:18 +00:00
Jim Meyering
6b43446a33 Use UT_USER in place of hard-coded `->ut_name' here, too. 2000-01-31 08:38:07 +00:00
Jim Meyering
c3a1a2a912 *** empty log message *** 2000-01-31 08:36:51 +00:00
Jim Meyering
348f0efabe *** empty log message *** 2000-01-31 08:27:58 +00:00
Jim Meyering
5b2acd8d30 (ISASCII): Add #undef and move definition to follow
inclusion of wctype.h to work around solaris2.6 namespace pollution.
(ISPRINT): Likewise.
2000-01-31 08:27:51 +00:00
Jim Meyering
488aef7301 *** empty log message *** 2000-01-30 22:24:11 +00:00
Jim Meyering
be1784cf31 (correct_password): Guard with `HAVE_GETSPNAM && HAVE_STRUCT_PASSWD_SP_PWDP',
rather than just `#ifdef HAVE_SHADOW_H'.
2000-01-30 22:23:58 +00:00
Jim Meyering
c453666c3a use double parens on AC_CHECK_MEMBERS 2000-01-30 21:19:00 +00:00
Jim Meyering
cbe550de62 (writable-files): Check $(xd-delta), too. 2000-01-30 21:10:24 +00:00
Jim Meyering
333d061276 *** empty log message *** 2000-01-30 20:56:57 +00:00
Jim Meyering
b0be1bfab9 do it right 2000-01-30 18:33:17 +00:00
Jim Meyering
c58c8f5fcf (writable-files): New target.
(my-distcheck): Depend on it.
(alpha): Likewise.
2000-01-30 18:27:51 +00:00
Jim Meyering
9733e004ef *** empty log message *** 2000-01-30 16:48:25 +00:00
Jim Meyering
fd3817b9dc Clean up some kludgy old shadow password tests. 2000-01-30 16:48:19 +00:00
Jim Meyering
744efcce69 (utmp_includes): Define.
Check for ut_user and ut_name members in both struct utmpx
and struct utmp.
2000-01-30 16:47:31 +00:00
Jim Meyering
3d64706c7e redo it on per-header basis 2000-01-30 16:45:17 +00:00
Jim Meyering
774786b0cd *** empty log message *** 2000-01-30 16:41:30 +00:00
Jim Meyering
22cb099f3c (extract_trimmed_name): Use UT_USER instead of hard-coding
uses of ->ut_name.  The latter doesn't work with new Linux header files
where only utmpx.ut_user is declared.
2000-01-30 16:41:25 +00:00
Jim Meyering
b737ed325a (UT_USER): Define. Accessor macro for the member named ut_user or ut_name. 2000-01-30 16:39:08 +00:00
Jim Meyering
fedbe363a9 *** empty log message *** 2000-01-30 15:02:56 +00:00
Jim Meyering
5df431d118 *** empty log message *** 2000-01-30 15:01:02 +00:00
Jim Meyering
b43184c5e5 (my-distcheck): Depend on po-check, so I'll be warned
about any required changes at `make distcheck' time rather than at
`make alpha' time.
2000-01-30 15:00:57 +00:00
Jim Meyering
ab365a8297 *** empty log message *** 2000-01-30 12:21:37 +00:00
Jim Meyering
f573721b82 *** empty log message *** 2000-01-30 12:17:37 +00:00
Jim Meyering
1c1efebc1d *** empty log message *** 2000-01-30 12:17:07 +00:00
Jim Meyering
be27aed1ec . 2000-01-30 12:13:26 +00:00
Jim Meyering
cf16d34a4d . 2000-01-30 12:12:36 +00:00
Jim Meyering
8d6ec015de *** empty log message *** 2000-01-30 12:12:00 +00:00
Jim Meyering
5c4b305870 *** empty log message *** 2000-01-30 12:09:42 +00:00
Jim Meyering
62ec3fd688 (ST_NBLOCKS): Use st_size only for regular files and
for directories.  From H. J. Lu.
2000-01-30 12:09:30 +00:00
Jim Meyering
eda468af14 *** empty log message *** 2000-01-30 12:08:36 +00:00
Jim Meyering
8775803a9d (main): Exit with nonzero status if ftruncate fails. 2000-01-30 12:01:39 +00:00
Jim Meyering
8c6fe7ba06 *** empty log message *** 2000-01-30 12:00:14 +00:00
Jim Meyering
2e962bb26f *** empty log message *** 2000-01-30 11:59:50 +00:00
Jim Meyering
3f8032ddc9 *** empty log message *** 2000-01-30 11:57:08 +00:00
Jim Meyering
7a4fca9d77 whoops: s/jm_MACROS/jm_LIB_CHECK/ 2000-01-29 17:05:03 +00:00
Jim Meyering
c1aaa6492f *** empty log message *** 2000-01-29 17:00:03 +00:00
Jim Meyering
f8f48d0023 . 2000-01-29 16:59:09 +00:00
Jim Meyering
e446ebf6c3 New file containing library-related checks from
fileutils and sh-utils (textutils had none).
2000-01-29 14:11:35 +00:00
Jim Meyering
273d5d4925 *** empty log message *** 2000-01-29 14:10:51 +00:00
Jim Meyering
bd8333c63d *** empty log message *** 2000-01-29 11:07:24 +00:00
Jim Meyering
d176b68faa add lots of seq examples 2000-01-29 11:06:42 +00:00
Jim Meyering
f6b673d543 patch from Bruno demonstrating how to use seq to produce integer
output or output in non-decimal
2000-01-29 10:09:40 +00:00
Jim Meyering
bb84498a89 back out bruno's %d, %u, etc. changes 2000-01-29 10:06:12 +00:00
Jim Meyering
90eddc5478 *** empty log message *** 2000-01-29 10:05:42 +00:00
Jim Meyering
e3fa0cb53b Back out most of the 2000-01-21 and 01-22 changes.
[Instead, merely give examples showing how to accomplish the same
task with fewer limitations using existing tools. ]
Suggestion from Bruno Haible.
(valid_format): Rename from check_format.
2000-01-29 10:05:35 +00:00
Jim Meyering
62205d8c7e Back out the 2000-01-21 change.
Remove associated tests and add two equal-width ones.
2000-01-29 09:57:31 +00:00
Jim Meyering
6cac32ec7f *** empty log message *** 2000-01-29 09:56:32 +00:00
Jim Meyering
4db6224838 Set COLUMNS envvar, just to be safe. 2000-01-29 09:50:49 +00:00
Jim Meyering
ba088349be (screen_columns): Change #if-0 (test code, mistakenly committed in last delta)
back to #ifdef TIOCGWINSZ.
2000-01-29 09:50:14 +00:00
Jim Meyering
bbcd510bc5 *** empty log message *** 2000-01-28 22:04:47 +00:00
Jim Meyering
489f1925be Change format of warning message to look more like that
from the missing script.  Suggestion from Franois Pinard.
2000-01-28 22:04:41 +00:00
Jim Meyering
d813adbf1f *** empty log message *** 2000-01-28 08:32:14 +00:00
Jim Meyering
13707ac76a (wrapf): Emit a newline only if 0 < current_col.
(screen_columns): Use xstrtol, not atoi.
If get_win_size fails and $COLUMNS == 0, then return 80, not `0'.
2000-01-28 08:32:01 +00:00
Jim Meyering
b631b5c3ac (detect_loop): Update incomplete comment.
From Mark Kettenis.
2000-01-26 21:47:06 +00:00
Jim Meyering
06b0be15bb *** empty log message *** 2000-01-25 12:07:14 +00:00
Jim Meyering
1f18465289 Change expected output for cycle-1 and cycle-2 tests. 2000-01-25 12:07:02 +00:00
Jim Meyering
a8b0898ba5 tsort now works more like the traditional UNIX tsort. Before it would
exit when it found a loop.  Now it continues and outputs all items.

(exit_status): New variable.
(loop): New varibale.
(count_items, scan_zeroes): Change return type to int.
(detect_loop): Complete rewrite to correctly implement detection
of loops.  Also change return type to int.
(recurse_tree): Stop if ACTION returns non-zero.  This involves
changing the return type of this function and ACTION to int.
(walk_tree): Change return type of ACTION to int.
(tsort): Continue sort after a loop has been detected (and
broken).  Set exit_status to 1 if a loop was detected.
(main): Use exit_status to determine exit code.
2000-01-25 12:03:15 +00:00
Jim Meyering
9a2ff5e31c *** empty log message *** 2000-01-25 12:02:16 +00:00
Jim Meyering
03caa431a0 *** empty log message *** 2000-01-25 07:26:20 +00:00
Jim Meyering
231f8fc887 Require AC_HEADER_TIME, and include sys/time.h as well
as time.h in the compile check.
2000-01-25 07:26:14 +00:00
Jim Meyering
15ee939c3c bump serial 2000-01-25 07:25:49 +00:00
Jim Meyering
893fdf84e8 Fix typo in cross-compiling case: s/yes/no/. 2000-01-25 07:25:38 +00:00
Jim Meyering
f57f26e36a Require AC_HEADER_TIME rather than simply using it. 2000-01-25 07:21:57 +00:00
Jim Meyering
7d31261496 . 2000-01-25 07:20:58 +00:00
Jim Meyering
b67de020d9 *** empty log message *** 2000-01-24 13:58:45 +00:00
Jim Meyering
06eee4e253 (usage): Describe behavior when LINK_NAME is omitted.
From Michael Stone.
2000-01-24 13:58:38 +00:00
Jim Meyering
efa9563f3d (main): Don't expect array index `n_files - 1' to evaluate
to `-1' for unsigned int n_files == 0.  Doing so lead to a segfault on
alpha.  From Michael Stone.
2000-01-24 13:48:12 +00:00
Jim Meyering
ae5c430364 *** empty log message *** 2000-01-23 16:25:35 +00:00
Jim Meyering
fe3a834b9f Move df-related tests here from fileutils/configure.in 2000-01-23 16:23:50 +00:00
Jim Meyering
d32cf4d872 . 2000-01-23 16:20:48 +00:00
Jim Meyering
9e30aaca79 *** empty log message *** 2000-01-23 16:20:34 +00:00
Jim Meyering
26c96331b2 s/list_mounted_fs/ac_list_mounted_fs/
(jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
2000-01-23 16:20:21 +00:00
Jim Meyering
81df043fdd (jm_FILE_SYSTEM_USAGE): Take two parameters. 2000-01-23 14:49:09 +00:00
Jim Meyering
d495aaf3e7 s/space/ac_fsusage_space/. 2000-01-23 14:12:45 +00:00
Jim Meyering
3705d57846 Extracted from fileutils/configure.in. 2000-01-23 14:08:35 +00:00
Jim Meyering
d5eb5821c6 . 2000-01-23 14:01:32 +00:00
Jim Meyering
48efd1644d (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT. 2000-01-23 10:55:10 +00:00
Jim Meyering
a9d4aadb5e *** empty log message *** 2000-01-23 10:55:00 +00:00
Jim Meyering
ce0262560b *** empty log message *** 2000-01-23 10:35:49 +00:00
Jim Meyering
505805856e (jm_FUNC_FTRUNCATE): AC_REQUIRE it. 2000-01-23 10:34:42 +00:00
Jim Meyering
aef5ff97f7 *** empty log message *** 2000-01-23 10:34:04 +00:00
Jim Meyering
7d7c104722 *** empty log message *** 2000-01-23 10:23:26 +00:00
Jim Meyering
d0a520d367 (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in. 2000-01-23 10:23:23 +00:00
Jim Meyering
4d5960cf1f *** empty log message *** 2000-01-23 10:19:30 +00:00
Jim Meyering
5adc8fd591 (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
(AC_SUBST(POW_LIBM)): Likewise.
2000-01-23 10:19:26 +00:00
Jim Meyering
47b4e7f1aa *** empty log message *** 2000-01-23 10:18:15 +00:00
Jim Meyering
46980c56e0 (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils. 2000-01-23 10:13:25 +00:00
Jim Meyering
86f00ce878 *** empty log message *** 2000-01-23 10:09:22 +00:00
Jim Meyering
2c702c93fe *** empty log message *** 2000-01-23 09:53:53 +00:00
Jim Meyering
c91b47d64f (libfetish_a_SOURCES): Remove explicit mention of obstack.c. 2000-01-23 09:53:48 +00:00
Jim Meyering
9e4428a605 (AM_FUNC_OBSTACK): Add (from fileutils/configure.in). 2000-01-23 09:52:35 +00:00
Jim Meyering
b76b69c8a2 *** empty log message *** 2000-01-23 09:52:02 +00:00
Jim Meyering
4f0cb8adcb *** empty log message *** 2000-01-23 09:31:09 +00:00
Jim Meyering
cbe1109277 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
AC_SUBST these here, rather than just in sh-util/configure.in, so
that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
all the same.
2000-01-23 09:31:06 +00:00
Jim Meyering
08e09e9ab4 version-control: never 2000-01-23 09:19:33 +00:00
Jim Meyering
f3f4a60164 . 2000-01-23 09:08:39 +00:00
Jim Meyering
dce8ba11dd . 2000-01-22 22:55:11 +00:00
Jim Meyering
45d534215a (keycompare): Use global, hard_LC_COLLATE in place of
local that is sometimes undeclared.
2000-01-22 22:54:51 +00:00
Jim Meyering
1a50efcd03 *** empty log message *** 2000-01-22 22:43:37 +00:00
Jim Meyering
86a839108c [! HAVE_DECL_STRTOUL]: Declare strtoul.
[! HAVE_DECL_STRTOULL]: Declare strtoull.
Required for some AIX systems.  Reported by Christian Krackowizer.
[TESTING] (main): New function.
2000-01-22 22:43:31 +00:00
Jim Meyering
aebba9cd1d [! HAVE_DECL_STRTOUL]: Declare strtoul.
[! HAVE_DECL_STRTOULL]: Declare strtoull.
Required for some AIX systems.  Reported by Christian Krackowizer.
2000-01-22 22:41:02 +00:00
Jim Meyering
42e962a284 *** empty log message *** 2000-01-22 22:26:17 +00:00
Jim Meyering
0de00b9e6a Call AC_PROG_CC_STDC just before AC_C_CONST. 2000-01-22 22:25:25 +00:00
Jim Meyering
f23d5119d8 *** empty log message *** 2000-01-22 22:21:32 +00:00
Jim Meyering
0d9735fbb4 *** empty log message *** 2000-01-22 22:20:08 +00:00
Jim Meyering
0b7e06d203 [HAVE_WCTYPE_H]: Include <wctype.h>. 2000-01-22 22:19:48 +00:00
Jim Meyering
968d5b2bbf (jm_PREREQ_QUOTEARG): Add wctype.h. 2000-01-22 22:19:12 +00:00
Jim Meyering
abab15deb9 *** empty log message *** 2000-01-22 22:08:50 +00:00
Jim Meyering
570080ef25 Merge the three lists of headers. 2000-01-22 22:08:08 +00:00
Jim Meyering
595bfc8a83 *** empty log message *** 2000-01-22 22:05:13 +00:00
Jim Meyering
dfb0540bb1 (AC_CHECK_HEADERS): Add checks from textutils' configure.in 2000-01-22 22:04:33 +00:00
Jim Meyering
c099a14fac *** empty log message *** 2000-01-22 22:03:12 +00:00
Jim Meyering
c219eb2daf (AC_CHECK_HEADERS): Add checks from sh-utils' configure.in 2000-01-22 22:03:01 +00:00
Jim Meyering
c9c2cdda8b *** empty log message *** 2000-01-22 22:00:31 +00:00
Jim Meyering
58da7aa5b3 (AC_CHECK_HEADERS): Add checks from fileutils' configure.in 2000-01-22 22:00:17 +00:00
Jim Meyering
7bce838dab *** empty log message *** 2000-01-22 21:52:02 +00:00
Jim Meyering
24c45a756e (jm_PREREQ_ADDEXT): New macro. Parts moved here from fileutils' configure.in. 2000-01-22 21:51:57 +00:00
Jim Meyering
d4db66a0fb *** empty log message *** 2000-01-22 21:29:10 +00:00
Jim Meyering
09f1b5f940 (dir_name): Support for DOS-style file names with drive letters. 2000-01-22 21:29:02 +00:00
Jim Meyering
a2e435c395 tack on the one from fileutils/lib 2000-01-22 18:03:21 +00:00
Jim Meyering
e1cc8122af . 2000-01-22 14:27:13 +00:00
Jim Meyering
8ce9f19835 Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)' code.
Moved tests into their own function (_jm_DECL_HEADERS) in check-decl.m4.
2000-01-22 14:24:50 +00:00
Jim Meyering
f5ff12fcbc (_jm_DECL_HEADERS): Define new function.
(jm_CHECK_DECLARATIONS): Require it.
2000-01-22 14:22:42 +00:00
Jim Meyering
c7bd32731e Revert to using #if HAVE_STDLIB_H
to guard inclusion of <stdlib.h>.
2000-01-22 14:07:23 +00:00
Jim Meyering
0f9105c7be Guard inclusion of <stdlib.h> with `#if STDC_HEADERS',
not `#if HAVE_STDLIB_H'.  The former wasn't defined.
Use #if rather than #ifdef.

Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
(jm_CHECK_DECLARATIONS): Add strtoul strtoull.
2000-01-22 13:53:10 +00:00
Jim Meyering
c4a0e46616 *** empty log message *** 2000-01-22 13:15:39 +00:00
Jim Meyering
a33ca24833 *** empty log message *** 2000-01-22 13:14:17 +00:00
Jim Meyering
465e3422e8 (seq --format): Mention that integer formats are accepted, too. 2000-01-22 13:13:45 +00:00
Jim Meyering
1a8bedfeb7 *** empty log message *** 2000-01-22 13:07:25 +00:00
Jim Meyering
88e049caf5 *** empty log message *** 2000-01-22 13:06:59 +00:00
Jim Meyering
8ecfdb48a9 *** empty log message *** 2000-01-22 12:37:01 +00:00
Jim Meyering
c88a1e4466 Topologically sort the functions and remove fwd declarations. 2000-01-22 12:36:35 +00:00
Jim Meyering
4186d5762f (enum Format_type): Declare.
(format_type): New global to take place of intconv.
(DO_printf): New macro.
(main): Use it.
2000-01-22 11:14:22 +00:00
Jim Meyering
c951e3f2c9 Add new tests for the new functionality. 2000-01-22 11:10:40 +00:00
Jim Meyering
e48c320244 Add support for octal and hexadecimal output.
(intconv): New variable.
(usage): Update.
(main): Call scan_arg instead of scan_double_arg. Call check_format
before scan_arg.
(scan_int_arg, scan_arg): New functions.
(check_format): Add intconv argument. Accept %d, %u, %o, %x, %X.
(print_numbers): If intconv is true, pass an int argument to printf.
2000-01-22 10:09:29 +00:00
Jim Meyering
625a560403 . 2000-01-22 09:44:23 +00:00
Jim Meyering
f3a2399998 *** empty log message *** 2000-01-22 09:43:37 +00:00
Jim Meyering
fc32116042 (ISDIGIT): Define.
(strverscmp): Use ISDIGIT, not isdigit.
2000-01-22 09:43:23 +00:00
Jim Meyering
1a779705e8 . 2000-01-22 09:42:33 +00:00
Jim Meyering
6df5aa20d7 (o-rep-1, o-rep-2): New tests. 2000-01-22 09:42:14 +00:00
Jim Meyering
d29115d80f ("xstrtol.h"): Include.
(Filter): Rename from PFL.
(non_neg_strtol): Remove function.
(find_bracketed_repeat): Use xstrtoul instead of non_neg_strtol.
(squeeze_filter, set_initialize, main): Use size_t and ssize_t in
place of long and int in several decls.
(read_and_delete, read_and_xlate): Likewise, and remove assertion.
2000-01-22 09:31:19 +00:00
Jim Meyering
89d8c4e859 *** empty log message *** 2000-01-21 15:08:14 +00:00
Jim Meyering
4ba6864c31 Correct copying notice to use GPL, per author's request.
(AUTHORS): Add djm.
2000-01-21 15:08:08 +00:00
Jim Meyering
dc6a5317bc Correct copying notice to use GPL, per author's request. 2000-01-21 15:07:53 +00:00
Jim Meyering
98379bfc4f *** empty log message *** 2000-01-21 14:39:07 +00:00
Jim Meyering
cfa079e41d *** empty log message *** 2000-01-21 07:33:33 +00:00
Jim Meyering
553fe00983 (PFI): Return long', not int'.
(PFL): Rename from PFI now that it returns long.
(squeeze_filter): Declare as `long': i, nr, out_len.
2000-01-21 07:33:25 +00:00
Jim Meyering
c4acbcc996 Tweak sort performance.
(hard_LC_CTYPE): Remove.
(keylist): Renamed from keyhead.  Now a pointer, not a
mostly-unused struct.  All uses changed.
(findlines, keycompare, CMP_WITH_IGNORE, compare, checkfp, mergefps,
sort): Tune and use a more consistent style for reallocation.
(keycompare, main): Don't worry about LC_CTYPE;
it's buggy with multibyte chars anyway.
(compare): Invoke alloca (0) after each call to keycompare,
not just the ones that return nonzero.  This avoids a memory
leak on architectures without builtin alloca that occurs
sometimes when a file contains all duplicate lines.
2000-01-19 22:43:33 +00:00
Jim Meyering
e8611c5714 *** empty log message *** 2000-01-19 20:41:06 +00:00
Jim Meyering
9393315a06 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
defines `struct timespec' in <sys/time.h>
2000-01-19 20:40:51 +00:00
Jim Meyering
7990f92f15 *** empty log message *** 2000-01-19 14:01:03 +00:00
Jim Meyering
2435963a1f *** empty log message *** 2000-01-19 13:57:51 +00:00
Jim Meyering
469d21a9d3 Remove uses of changequote altogether. 2000-01-19 13:57:42 +00:00
Jim Meyering
ddcb373abc . 2000-01-19 08:17:47 +00:00
Jim Meyering
e0a66a6600 . 2000-01-19 08:17:16 +00:00
Jim Meyering
d448da43d6 . 2000-01-19 07:56:52 +00:00
Jim Meyering
870858ccad (interrupt_handler, main):
Don't use SA_INTERRUPT to decide whether to call sigaction, as
POSIX.1 doesn't require SA_INTERRUPT and some systems
(e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
it's been part of POSIX.1 since day 1 (in 1988).
2000-01-18 07:37:57 +00:00
Jim Meyering
fa25e451f9 *** empty log message *** 2000-01-18 07:37:17 +00:00
Jim Meyering
3e115cf2b5 (sighandler, main):
Don't use SA_INTERRUPT to decide whether to call sigaction, as
POSIX.1 doesn't require SA_INTERRUPT and some systems
(e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
it's been part of POSIX.1 since day 1 (in 1988).
2000-01-18 07:36:53 +00:00
Jim Meyering
41a7e7c193 *** empty log message *** 2000-01-18 07:28:59 +00:00
Jim Meyering
8024f33e45 (interrupt_handler):
Don't use SA_INTERRUPT to decide whether to call sigaction, as
POSIX.1 doesn't require SA_INTERRUPT and some systems
(e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
it's been part of POSIX.1 since day 1 (in 1988).
(install_handler): Use SA_NOCLDSTOP, not _POSIX_VERSION,
to decide whether to call sigaction; this fixes an old typo.
2000-01-18 07:28:47 +00:00
Jim Meyering
1fe0bff2f4 *** empty log message *** 2000-01-18 07:26:07 +00:00
Jim Meyering
c829e00d78 (nanosleep):
Don't use SA_INTERRUPT to decide whether to call sigaction, as
POSIX.1 doesn't require SA_INTERRUPT and some systems
(e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
it's been part of POSIX.1 since day 1 (in 1988).
2000-01-18 07:25:53 +00:00
Jim Meyering
95b4ba5e0d *** empty log message *** 2000-01-17 22:37:32 +00:00
Jim Meyering
f106184dd2 . 2000-01-17 22:36:01 +00:00
Jim Meyering
93a834533b *** empty log message *** 2000-01-17 10:00:37 +00:00
Jim Meyering
2c3cad16b2 fix typo 2000-01-17 10:00:30 +00:00
Jim Meyering
7f54d0b6b7 Revert this change (they're not the same):
Use new AC_C_PROTOTYPES instead of AM_C_PROTOTYPES.
2000-01-17 10:00:19 +00:00
Jim Meyering
751d1a1888 *** empty log message *** 2000-01-17 08:03:25 +00:00
Jim Meyering
47be9d6b2f revert last change, now that quotearg.c is fixed 2000-01-17 08:03:12 +00:00
Jim Meyering
4d034357da (quotearg_buffer_restyled): Do not quote
alert, backslash, formfeed, and vertical tab unnecessarily in
shell quoting style.
2000-01-17 08:01:40 +00:00
Jim Meyering
ea51a6cbaa *** empty log message *** 2000-01-17 08:01:30 +00:00
Jim Meyering
065c2a2cda *** empty log message *** 2000-01-16 22:15:50 +00:00
Jim Meyering
e9296ad49f Sync with sh-utils/lib/Makefile.am. 2000-01-16 22:15:32 +00:00
Jim Meyering
588bb7b9e2 *** empty log message *** 2000-01-16 20:42:46 +00:00
Jim Meyering
53000596a9 (usage): Correct error in %V description.
From Wolfram Kleff.
2000-01-16 20:41:29 +00:00
Jim Meyering
ccd763bee2 alphabetize a little 2000-01-16 20:15:58 +00:00
Jim Meyering
0c4d4d0081 *** empty log message *** 2000-01-16 17:01:26 +00:00
Jim Meyering
ac9b999873 . 2000-01-16 17:00:22 +00:00
Jim Meyering
7a8e14b287 Remove these for now (they're with related code in sh-utils' configure.in)
AM_SYS_POSIX_TERMIOS
  jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
2000-01-16 16:48:57 +00:00
Jim Meyering
38b49a265f Require AM_FUNC_GETLOADAVG, jm_SYS_PROC_UPTIME, AM_SYS_POSIX_TERMIOS, and
jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL.
2000-01-16 16:42:24 +00:00
Jim Meyering
fb6ad846b4 Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, and AC_FUNC_ALLOCA.
2000-01-16 16:39:20 +00:00
Jim Meyering
67cf2e1e2e *** empty log message *** 2000-01-16 16:36:58 +00:00
Jim Meyering
2b47bcaca6 . 2000-01-16 13:09:25 +00:00
Jim Meyering
11d24c8713 . 2000-01-16 13:08:07 +00:00
Jim Meyering
7c99efe376 *** empty log message *** 2000-01-16 12:59:09 +00:00
Jim Meyering
6bcc673201 Use changequote(<<,>>)', rather than changequote(, )'
because the latter didn't work.
2000-01-16 12:59:00 +00:00
Jim Meyering
337515e1ed *** empty log message *** 2000-01-16 12:47:42 +00:00
Jim Meyering
fda148fb1b Adapt to work with recently updated quotearg.c. 2000-01-16 12:47:34 +00:00
Jim Meyering
e7d71e0725 . 2000-01-16 12:40:26 +00:00
Jim Meyering
110b79479d Use new AC_C_PROTOTYPES instead of AM_C_PROTOTYPES. 2000-01-16 12:39:31 +00:00
Jim Meyering
e64e8130b1 *** empty log message *** 2000-01-16 12:36:53 +00:00
Jim Meyering
5fae922bab Sync with the version from emacs-20.5.
(<string.h>): Include if HAVE_STRING_H.
(<stdlib.h>): Include if HAVE_STDLIB_H.
(alloca): Abort if malloc fails.
2000-01-16 12:35:49 +00:00
Jim Meyering
840aee01de . 2000-01-15 16:09:56 +00:00
Jim Meyering
dfc6a234b0 . 2000-01-15 15:58:54 +00:00
Jim Meyering
b07aaa6cd0 sheesh: fix it right this time: gethostname getusershell 2000-01-15 13:57:04 +00:00
Jim Meyering
9e8497dd61 Fix typo
s/stpbrk/strpbrk
2000-01-15 12:13:13 +00:00
Jim Meyering
6a483c24a8 (AC_REPLACE_FUNCS):
Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
2000-01-15 12:07:53 +00:00
Jim Meyering
590f2decc5 *** empty log message *** 2000-01-15 12:06:03 +00:00
Jim Meyering
489dafa7bc (AC_REPLACE_FUNCS): Add strpbrk. 2000-01-15 12:02:58 +00:00
Jim Meyering
8ee46f4bf8 *** empty log message *** 2000-01-15 12:00:16 +00:00
Jim Meyering
b6040be40a (AC_REPLACE_FUNCS):
Add these, too: stime strcspn stpcpy strstr strtol strtoul.
2000-01-15 11:59:15 +00:00
Jim Meyering
116bfa584d *** empty log message *** 2000-01-15 11:57:46 +00:00
Jim Meyering
c3f357adf5 Quote multibyte characters correctly.
(ISGRAPH): Remove.
(ISPRINT): New macro.
(<wchar.h>): Include if HAVE_MBRTOWC && HAVE_WCHAR_H.
(isprint, mbrtowc, mbsinit, mbstate_t): New macros,
defined if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
(quotearg_buffer_restyled): New function, with most of the old
quotearg_buffer's contents.
Major rewrite to support multibyte characters.
(quotearg_buffer): Now just calls quotearg_buffer_restyled.
2000-01-15 11:57:11 +00:00
Jim Meyering
78992ab94f fix typo in last change 2000-01-15 11:48:10 +00:00
Jim Meyering
48bbfe2e71 (AC_REPLACE_FUNCS): Add memcpy and memset. 2000-01-15 11:47:12 +00:00
Jim Meyering
f02fa3aa3e *** empty log message *** 2000-01-15 11:45:52 +00:00
Jim Meyering
616361c4f6 *** empty log message *** 2000-01-15 11:44:11 +00:00
Jim Meyering
48e3ed52ee (AC_REPLACE_FUNCS): Add gethostname and getusershell 2000-01-15 11:41:08 +00:00
Jim Meyering
46d6db5426 *** empty log message *** 2000-01-15 11:14:42 +00:00
Jim Meyering
4841119c1a (TAB_STOP_SENTINEL): Define.
(unexpand): Use it instead of INT_MAX.
Declare column and pending to be `unsigned'.
Increment pending and column counters only if column is smaller
than TAB_STOP_SENTINEL.
2000-01-15 11:13:44 +00:00
Jim Meyering
8c0c6b0468 *** empty log message *** 2000-01-15 10:24:53 +00:00
Jim Meyering
5159046f88 *** empty log message *** 2000-01-15 10:24:10 +00:00
Jim Meyering
0d5f220029 *** empty log message *** 2000-01-15 09:51:23 +00:00
Jim Meyering
afd24c5869 *** empty log message *** 2000-01-15 09:08:07 +00:00
Jim Meyering
9bb0428a59 tweak comment 2000-01-15 07:07:41 +00:00
Jim Meyering
cf0a18b69d *** empty log message *** 2000-01-14 10:32:13 +00:00
Jim Meyering
6c7d8fd5b5 *** empty log message *** 2000-01-14 10:31:48 +00:00
Jim Meyering
3eb8c1fea4 *** empty log message *** 2000-01-14 07:05:58 +00:00
Jim Meyering
3ee8530a1e *** empty log message *** 2000-01-13 23:04:41 +00:00
Jim Meyering
66cbf09569 remove md5sum residue 2000-01-13 23:03:08 +00:00
Jim Meyering
3152cf6f82 *** empty log message *** 2000-01-13 23:02:32 +00:00
Jim Meyering
0567a5d9c8 *** empty log message *** 2000-01-13 23:01:14 +00:00
Jim Meyering
a69a2d6856 (fillbuf): Avoid quadratic behavior with long lines.
Also, stop worrying about ancient memchr bug (misbehavior when
size is zero), since other code doesn't worry either.
2000-01-13 07:34:44 +00:00
Jim Meyering
35ed98cc06 *** empty log message *** 2000-01-12 14:00:50 +00:00
Jim Meyering
ff626bd3c0 Make the warning that this shred test may not
be run as root more prominent.  Suggestion from Volker Borchert.
2000-01-12 14:00:22 +00:00
Jim Meyering
b52f383a7f *** empty log message *** 2000-01-12 08:17:41 +00:00
Jim Meyering
b14089f76b (jm_PREREQ_READUTMP): New macro.
(jm_PREREQ): Use it.
2000-01-12 08:17:30 +00:00
Jim Meyering
3df9479ab4 *** empty log message *** 2000-01-12 08:07:29 +00:00
Jim Meyering
bbe32e1637 (jm_PREREQ_CANON_HOST): Move code from su/configure.in. 2000-01-12 08:06:27 +00:00
Jim Meyering
79732f800d (jm_PREREQ_CANON_HOST): New macro.
(jm_PREREQ): Use it.
2000-01-12 07:58:22 +00:00
Jim Meyering
c186123316 *** empty log message *** 2000-01-12 07:27:34 +00:00
Jim Meyering
e50dab4ad9 *** empty log message *** 2000-01-12 06:58:30 +00:00
Jim Meyering
5d0f90dff7 *** empty log message *** 2000-01-12 06:56:54 +00:00
Jim Meyering
f3b0ab5eba (jm_PREREQ_QUOTEARG): New macro.
(jm_PREREQ): Use it.
2000-01-12 06:53:32 +00:00
Jim Meyering
551ab8474b (mode_compile): Use uintmax_t, not unsigned
long, to parse numeric modes.  Check for any unknown bits, not
just unknown bits left of the leftmost known bit.
2000-01-12 06:49:59 +00:00
Jim Meyering
12d6e4b1cd Update copyright notice. 2000-01-12 06:46:46 +00:00
Jim Meyering
a5ab3d9aac Sync with latest FSF version (fixing a minor Y2k problem). 2000-01-12 06:41:36 +00:00
Jim Meyering
fbe7dca27f Port to autoconf 2.13. 2000-01-12 06:40:10 +00:00
Jim Meyering
0d47b4be52 Sync to the slightly more general version of GNU tar. 2000-01-12 06:37:30 +00:00
Jim Meyering
59457bee16 (count_entry): Adjust to new calling convention for excluded_filename.
(main): Likewise, for add_exclude_file.
2000-01-12 06:36:56 +00:00
Jim Meyering
a3b2c5389c *** empty log message *** 2000-01-11 14:06:07 +00:00
Jim Meyering
1c4c285999 (memcpy): Protoize. 2000-01-11 14:05:28 +00:00
Jim Meyering
1b84791bc8 s/fu/fetish/ 2000-01-11 08:43:16 +00:00
Jim Meyering
126e14b161 (hash_initialize): Fix typo in comment. 2000-01-11 07:48:23 +00:00
Jim Meyering
80fd95a91d . 2000-01-11 07:28:22 +00:00
Jim Meyering
ca974b3755 *** empty log message *** 2000-01-10 12:52:18 +00:00
Jim Meyering
9f5307f1d3 *** empty log message *** 2000-01-10 11:53:22 +00:00
Jim Meyering
97085c8df7 *** empty log message *** 2000-01-10 11:53:16 +00:00
Jim Meyering
de1cb33196 *** empty log message *** 2000-01-10 11:36:05 +00:00
Jim Meyering
741c7303a5 (alpha): Use scp, not ncftp. 2000-01-10 11:35:44 +00:00
Jim Meyering
f23b3eb47a *** empty log message *** 2000-01-10 09:37:50 +00:00
Jim Meyering
f488edddf7 . 2000-01-10 09:21:14 +00:00
Jim Meyering
60dabf5cd1 . 2000-01-10 09:20:49 +00:00
Jim Meyering
44381ed288 *** empty log message *** 2000-01-10 08:11:56 +00:00
Jim Meyering
4717bb93f2 (announcement): Include URLs for xdelta files. 2000-01-10 08:11:41 +00:00
Jim Meyering
9442b6050b *** empty log message *** 2000-01-10 07:31:52 +00:00
Jim Meyering
6adb0e4d56 *** empty log message *** 2000-01-10 07:31:31 +00:00
Jim Meyering
6f06aad852 (noinst_HEADERS): Add nanosleep.h. 2000-01-10 07:31:14 +00:00
Jim Meyering
baf8720297 *** empty log message *** 2000-01-10 07:27:52 +00:00
Jim Meyering
94966b9515 *** empty log message *** 2000-01-09 16:21:39 +00:00
Jim Meyering
55d80ad41a *** empty log message *** 2000-01-09 16:20:44 +00:00
Jim Meyering
7b9c964fde *** empty log message *** 2000-01-09 16:17:52 +00:00
Jim Meyering
c4b800d7b6 *** empty log message *** 2000-01-09 16:17:26 +00:00
Jim Meyering
913e134b2d *** empty log message *** 2000-01-09 08:26:42 +00:00
Jim Meyering
5f2d0e3d6c *** empty log message *** 2000-01-09 08:26:15 +00:00
Jim Meyering
58cba22668 (do_link): Produce the same sort of one-line output for
`--backup --verbose' as cp, mv, install.  Before this, the backup
file name wasn't printed at all.
2000-01-09 08:23:51 +00:00
Jim Meyering
efe3229edb This affects cp, install, and mv.
(copy_internal): When making backup files in verbose
mode, print the backup file name on the same line as the rest of the
information, e.g., `a -> b (backup: b.~13~)' rather than on a line
by itself.
2000-01-09 08:20:45 +00:00
Jim Meyering
1279be6f8a *** empty log message *** 2000-01-08 18:03:08 +00:00
Jim Meyering
c852bc40d3 *** empty log message *** 2000-01-08 18:02:47 +00:00
Jim Meyering
e02fd60260 (PAGES_OPTION, COLUMNS_OPTION): Define these and use them instead of
`CHAR_MAX + n'.
2000-01-08 18:02:42 +00:00
Jim Meyering
299882b8a4 (OUTPUT_DELIMITER_OPTION): Define this and use it instead of `CHAR_MAX + n'. 2000-01-08 18:02:09 +00:00
Jim Meyering
fee7991cbc remove stray define before _LIBC 2000-01-08 17:53:35 +00:00
Jim Meyering
d486a2e744 *** empty log message *** 2000-01-08 17:53:21 +00:00
Jim Meyering
6752f5570a *** empty log message *** 2000-01-08 17:23:22 +00:00
Jim Meyering
00c9ad3937 . 2000-01-08 16:48:29 +00:00
Jim Meyering
9a0a8e29b0 *** empty log message *** 2000-01-08 16:46:20 +00:00
Jim Meyering
e5f283604b (TESTS_ENVIRONMENT): Add pwd/ prefix
to exported PATH value (though not strictly necessary, here).
2000-01-08 16:46:11 +00:00
Jim Meyering
1650a9459a *** empty log message *** 2000-01-08 16:44:27 +00:00
Jim Meyering
58edea6508 (error): Use __strerror_r's return value only if HAVE_WORKING_STRERROR_R.
(error_at_line): Likewise.
2000-01-08 16:44:19 +00:00
Jim Meyering
d15ab2c1be (null_AM_MAKEFLAGS): Define.
(my-distcheck): Use it to avoid distributing out of date files
whose derivation would require a maintainer tool.
2000-01-08 16:38:13 +00:00
Jim Meyering
cabbdf7bbf . 2000-01-08 16:35:26 +00:00
Jim Meyering
92999d559c . 2000-01-08 16:34:24 +00:00
Jim Meyering
625ce6a036 . 2000-01-08 16:32:02 +00:00
Jim Meyering
dfbeb59dc0 *** empty log message *** 2000-01-08 16:31:29 +00:00
Jim Meyering
b8342a9a20 (jm_FUNC_STRERROR_R): New file/macro. 2000-01-08 16:30:49 +00:00
Jim Meyering
2170503967 (jm_FUNC_STRERROR_R): Require it. 2000-01-08 16:25:57 +00:00
Jim Meyering
5693e5c586 Sync with the GNU C library. 2000-01-07 14:29:26 +00:00
Jim Meyering
b830d441bb . 2000-01-07 12:27:31 +00:00
Jim Meyering
923a32a0a8 tweak comment 2000-01-07 09:18:15 +00:00
Jim Meyering
a86b522044 *** empty log message *** 2000-01-07 08:56:48 +00:00
Jim Meyering
11eebed20f (TESTS_ENVIRONMENT): Add pwd/ prefix to exported PATH value (though not strictly necessary, here). 2000-01-07 08:56:38 +00:00
Jim Meyering
9bcff27f18 *** empty log message *** 2000-01-07 08:26:13 +00:00
Jim Meyering
858254d559 (TESTS_ENVIRONMENT): Add pwd/ prefix
to exported PATH value (though not strictly necessary, here).
2000-01-07 08:25:47 +00:00
Jim Meyering
f90f8cea87 (TESTS_ENVIRONMENT): Add pwd/ prefix
to exported PATH value (though not strictly necessary, here).
2000-01-07 08:25:26 +00:00
Jim Meyering
30a1c917c7 (TESTS_ENVIRONMENT): Add pwd/ prefix
to exported PATH value (though not strictly necessary, here).
2000-01-07 08:24:38 +00:00
Jim Meyering
36a3a59284 (TESTS_ENVIRONMENT): Add pwd/ prefix
to exported PATH value (though not strictly necessary, here).
2000-01-07 08:24:16 +00:00
Jim Meyering
aac32d403c add copyright/no-warranty comment 2000-01-07 07:33:19 +00:00
Jim Meyering
8606b093e4 *** empty log message *** 2000-01-07 07:31:03 +00:00
Jim Meyering
4e4c0e24d5 tweak copyright line 2000-01-07 07:03:01 +00:00
Jim Meyering
76bc7db5e2 (strpbrk): Ansideclify.
Use `#if' instead of `#ifdef' for `HAVE_CONFIG_H'.
2000-01-07 07:01:45 +00:00
Jim Meyering
fd3e041f5b Use #if' instead of #ifdef' for `HAVE_CONFIG_H'.
Capitalize all macro parameters.
(memcasecmp): Ansideclify.
Don't cast away `const'ness of parameters.
Suggestions from Franois Pinard.
2000-01-07 06:59:36 +00:00
Jim Meyering
ce2bd26821 . 2000-01-06 23:13:49 +00:00
Jim Meyering
1b470586fd . 2000-01-06 23:11:55 +00:00
Jim Meyering
198bd22923 . 2000-01-06 23:10:51 +00:00
Jim Meyering
8c5a80b069 . 2000-01-06 23:10:22 +00:00
Jim Meyering
a2e08f3047 *** empty log message *** 2000-01-06 22:58:02 +00:00
Jim Meyering
eff6393e39 Import version 1.020. 2000-01-06 22:49:01 +00:00
Jim Meyering
bbe0894eb2 . 2000-01-06 22:40:59 +00:00
Jim Meyering
c2d329d6c8 *** empty log message *** 2000-01-06 21:39:58 +00:00
Jim Meyering
136a8efd10 Use jm_CHECK_TYPE_STRUCT_UTIMBUF, renamed from jm_STRUCT_UTIMBUF. 2000-01-06 21:39:28 +00:00
Jim Meyering
567dae8b9c *** empty log message *** 2000-01-06 21:32:03 +00:00
Jim Meyering
f8c6ea241d Sync with the GNU C Library. 2000-01-06 21:31:48 +00:00
Jim Meyering
6784d83a62 Add #pragma STDC FENV_ACCESS ON if C99. 2000-01-06 21:01:06 +00:00
Jim Meyering
2f8c0d5542 Sync tm_diff with the GNU C Library.
(TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN.  All uses changed.
(tm_diff): Renamed from difftm.  All uses changed.
Replace body with that taken from GNU C Library 2.1.3pre1.
(get_date): Prefer tm_gmtoff to tm_diff if available.
2000-01-06 18:25:03 +00:00
Jim Meyering
1150e89832 *** empty log message *** 2000-01-06 18:24:51 +00:00
Jim Meyering
dd282c588b . 2000-01-06 17:13:39 +00:00
Jim Meyering
8301c1310b *** empty log message *** 2000-01-06 16:01:57 +00:00
Jim Meyering
8c0752d9be Tell the user just before sleeping for 7 seconds. 2000-01-06 16:01:43 +00:00
Jim Meyering
d9b2187a8c *** empty log message *** 2000-01-06 15:59:06 +00:00
Jim Meyering
d50599ae1a *** empty log message *** 2000-01-06 15:58:55 +00:00
Jim Meyering
6cb491d9df (TESTS): Remove fflush. It didn't
test the losing behavior, and left a stray tail process to boot.
2000-01-06 15:58:47 +00:00
Jim Meyering
21b43e0fe9 add blank line 2000-01-06 08:35:45 +00:00
Jim Meyering
2315cbdeaa (apply_suffix): Comment. 2000-01-06 08:35:21 +00:00
Jim Meyering
eee26242bb fix typo in comment 2000-01-06 08:29:10 +00:00
Jim Meyering
757861331e Minor code cleanup.
(clock_get_realtime): Return argument, for convenience.
(main): Use this to simplify main sleep loop.
2000-01-06 08:28:39 +00:00
Jim Meyering
e1cc2ace3c *** empty log message *** 2000-01-05 14:08:05 +00:00
Jim Meyering
f8d2a3f723 *** empty log message *** 2000-01-05 12:19:48 +00:00
Jim Meyering
3a673ed728 . 2000-01-05 12:19:04 +00:00
Jim Meyering
fd0797a4e4 Include nanosleep.h.
(AUTHORS): Add Paul Eggert.
2000-01-05 12:17:59 +00:00
Jim Meyering
3b979cf095 Add #pragma STDC FENV_ACCESS ON if C99.
(<fenv.h>): Include if available.
(main): Always round floating-point interval calculations upwards,
as we must sleep for at least the specified time.
Do the right thing with NaNs.
2000-01-05 12:17:19 +00:00
Jim Meyering
7f1c659ce3 whoops. fix typos 2000-01-05 12:06:39 +00:00
Jim Meyering
ec266f43d5 Include nanosleep.h.
Don't include time.h or sys/time.h here.
2000-01-05 12:03:53 +00:00
Jim Meyering
1885aeaaa4 *** empty log message *** 2000-01-05 12:03:06 +00:00
Jim Meyering
a2bee2bc6f (savedir): Don't store past the end of an array if
name_size is zero and the directory is empty.
2000-01-04 22:54:54 +00:00
Jim Meyering
1e01103713 *** empty log message *** 2000-01-04 17:18:15 +00:00
Jim Meyering
ce17dc2e94 Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/ renamings. 2000-01-04 17:18:05 +00:00
Jim Meyering
6ed0893953 bump serial # 2000-01-04 17:16:48 +00:00
Jim Meyering
483ed4cbfd *** empty log message *** 2000-01-04 17:16:34 +00:00
Jim Meyering
b75698cf72 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from jm_STRUCT_DIRENT_D_TYPE. 2000-01-04 17:16:26 +00:00
Jim Meyering
c26299c3d2 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from jm_STRUCT_DIRENT_D_INO. 2000-01-04 17:15:32 +00:00
Jim Meyering
82ca413ae4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from jm_STRUCT_UTIMBUF. 2000-01-04 17:13:58 +00:00
Jim Meyering
0d30a49178 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it. 2000-01-04 17:12:45 +00:00
Jim Meyering
cdff473cd3 *** empty log message *** 2000-01-04 17:12:12 +00:00
Jim Meyering
9a74f64d12 . 2000-01-04 15:11:03 +00:00
Jim Meyering
8714cce36a (PREV_VERSION): Tweak so it handles e.g., 2.0a -> 2.0.
(alpha): Create xdelta diffs.
2000-01-04 13:20:15 +00:00
Jim Meyering
1a7010a87f (PREV_VERSION): Tweak so it handles e.g., 2.0a -> 2.0. 2000-01-04 12:24:49 +00:00
Jim Meyering
556a7ac657 *** empty log message *** 2000-01-03 19:59:04 +00:00
Jim Meyering
eed8a2f5e1 tweak comment 2000-01-03 19:58:56 +00:00
Jim Meyering
2ff3485a8d (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
(for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
2000-01-03 19:58:09 +00:00
Jim Meyering
3206a63225 *** empty log message *** 2000-01-02 16:00:44 +00:00
Jim Meyering
ef4c445a55 . 2000-01-02 15:59:32 +00:00
Jim Meyering
20ca1d8601 *** empty log message *** 2000-01-02 15:57:02 +00:00
Jim Meyering
60ff88e110 *** empty log message *** 2000-01-02 09:59:01 +00:00
Jim Meyering
6e5a32d58f Escape `$' in $3 of dnl comment. I no longer remember if this is necessary. 2000-01-02 09:58:53 +00:00
Jim Meyering
5f55b410a6 *** empty log message *** 2000-01-02 09:53:03 +00:00
Jim Meyering
27f7343bf6 *** empty log message *** 2000-01-02 09:52:32 +00:00
Jim Meyering
141036e2ea sleep accepts arbitrary floating point numbers. 2000-01-02 09:50:15 +00:00
Jim Meyering
34c324d786 update usage 2000-01-02 09:31:15 +00:00
Jim Meyering
9df5f7720b *** empty log message *** 2000-01-02 09:13:17 +00:00
Jim Meyering
f2de5d5212 *** empty log message *** 2000-01-02 09:12:55 +00:00
Jim Meyering
c5ed5e05ea . 2000-01-02 09:11:55 +00:00
Jim Meyering
7092835d3b *** empty log message *** 2000-01-02 08:57:49 +00:00
Jim Meyering
af6d4ad6ca Remove non-POSIX warning about trailing-slashed symlink-to-directory. 2000-01-02 08:53:30 +00:00
Jim Meyering
70cc369588 New option: --strip-trailing-slashes. 2000-01-02 08:51:39 +00:00
Jim Meyering
b3faf79a75 *** empty log message *** 2000-01-02 08:45:43 +00:00
Jim Meyering
50de4d0751 *** empty log message *** 2000-01-02 07:41:02 +00:00
Jim Meyering
60f3f576c7 (#pragma alloca): Add if _AIX is defined.
(path-concat.h): Include.
(show_point): If HAVE_REALPATH or HAVE_RESOLVEPATH is defined,
find the real absolute path for PATH, and use that to find the
mount point.

(show_point): Prefer non-dummy entries in shortcuts, too.
Disable bogus mount dirs instead of restatting them each time.
2000-01-02 07:40:24 +00:00
Jim Meyering
05fcf7df27 (my_strftime): Some old compilers object to
'\a', so don't bother optimizing for it.
2000-01-02 07:09:54 +00:00
Jim Meyering
d5d6d965ed *** empty log message *** 2000-01-01 20:00:28 +00:00
Jim Meyering
d9fd3ba617 . 2000-01-01 19:56:56 +00:00
Jim Meyering
8c3df2e678 *** empty log message *** 2000-01-01 09:43:40 +00:00
Jim Meyering
847d050688 *** empty log message *** 1999-12-30 09:09:38 +00:00
Jim Meyering
18f381afea *** empty log message *** 1999-12-30 09:09:03 +00:00
Jim Meyering
1128d1dffb *** empty log message *** 1999-12-30 09:07:31 +00:00
Jim Meyering
1d54f66fd0 (remove_parents, main): Don't pass errno to error
when printing "removing directory" message.  Failure of rmdir is
handled elsewhere.
1999-12-30 09:07:13 +00:00
Jim Meyering
84226463b1 . 1999-12-27 16:31:56 +00:00
Jim Meyering
b32cecce88 . 1999-12-27 16:30:45 +00:00
Jim Meyering
99c51ad97e minor var. renamings 1999-12-27 16:30:20 +00:00
Jim Meyering
4c746d7a4c tweak --help 1999-12-27 15:57:26 +00:00
Jim Meyering
dc33452012 *** empty log message *** 1999-12-27 14:17:39 +00:00
Jim Meyering
f71e656070 *** empty log message *** 1999-12-26 10:19:40 +00:00
Jim Meyering
34c6851c4a *** empty log message *** 1999-12-26 10:16:18 +00:00
Jim Meyering
b1dee02eb1 *** empty log message *** 1999-12-26 10:03:46 +00:00
Jim Meyering
0335111c76 (jm_FUNC_NANOSLEEP): New file/macro. 1999-12-26 10:02:31 +00:00
Jim Meyering
2dc33d421e *** empty log message *** 1999-12-26 09:40:16 +00:00
Jim Meyering
0ac76a646b *** empty log message *** 1999-12-25 22:15:23 +00:00
Jim Meyering
64003d937b Use < rather than >.
(main): Normalize ts_stop.
1999-12-25 20:00:21 +00:00
Jim Meyering
936a26728a . 1999-12-23 15:28:02 +00:00
Jim Meyering
5f22e8234b *** empty log message *** 1999-12-23 15:09:17 +00:00
Jim Meyering
0ecbb73025 (USE_CLOCK_GETTIME): Define.
[USE_CLOCK_GETTIME]: Include sys/time.h.
(timespec_subtract): New function.
(clock_get_realtime): New function.
(sighandler): Remove function.
(main): Reimplement again, using nanosleep and clock_gettime.
1999-12-23 14:34:38 +00:00
Jim Meyering
fc7ceba21b *** empty log message *** 1999-12-23 14:25:17 +00:00
Jim Meyering
c5494ca49a *** empty log message *** 1999-12-23 11:56:32 +00:00
Jim Meyering
c94e214238 Check for clock_gettime (moved from fileutils/configure.in)
Check for gettimeofday.
1999-12-23 11:55:58 +00:00
Jim Meyering
5db04594ae *** empty log message *** 1999-12-23 11:54:36 +00:00
Jim Meyering
eb19369c84 *** empty log message *** 1999-12-23 09:56:01 +00:00
Jim Meyering
1c49904e91 *** empty log message *** 1999-12-23 09:51:50 +00:00
Jim Meyering
d134d00bb4 . 1999-12-23 09:50:31 +00:00
Jim Meyering
9cd6962a4a . 1999-12-23 09:49:59 +00:00
Jim Meyering
21039f0b39 *** empty log message *** 1999-12-23 09:34:57 +00:00
Jim Meyering
ff9eed5ff5 (usage): Correct typos.
List new --target-directory=... usage.
Reported by Gran Uddeborg
1999-12-23 09:34:48 +00:00
Jim Meyering
176efa5092 (usage): List new --target-directory=... usage. 1999-12-23 09:34:25 +00:00
Jim Meyering
1206a834dd rewrite expression (equivalently) at request of Paul Eggert 1999-12-22 20:49:19 +00:00
Jim Meyering
bda1bae801 *** empty log message *** 1999-12-22 16:51:48 +00:00
Jim Meyering
67e3d46292 *** empty log message *** 1999-12-22 16:32:24 +00:00
Jim Meyering
3551f63a62 (ceil_percent): Remove.
(show_dev): Avoid overflow problems when calculating percent.
Do not display negative percents.
1999-12-22 16:32:07 +00:00
Jim Meyering
38d48aa7e9 *** empty log message *** 1999-12-22 14:30:45 +00:00
Jim Meyering
94aebe4774 Use $file, not $tmp/file. Exit 77 if run as root. 1999-12-22 14:30:23 +00:00
Jim Meyering
759da836f6 *** empty log message *** 1999-12-22 11:18:06 +00:00
Jim Meyering
222389a6d0 *** empty log message *** 1999-12-22 11:15:26 +00:00
Jim Meyering
621a5a5d61 (regress-1): New test for the above. 1999-12-22 11:15:15 +00:00
Jim Meyering
1796cbe0c6 *** empty log message *** 1999-12-22 11:14:30 +00:00
Jim Meyering
aa07786952 (get_date): Fix typo in time_t overflow test.
From Michael Stone.
1999-12-22 11:14:05 +00:00
Jim Meyering
771ec09cd4 . 1999-12-20 10:42:32 +00:00
Jim Meyering
f9dd65cfc8 Remove kludge, now that I'm using the fixed autoconf-2.14a-1999-12-20. 1999-12-20 10:37:27 +00:00
Jim Meyering
372ce8d3ce *** empty log message *** 1999-12-20 10:11:28 +00:00
Jim Meyering
7769c416ef tweak comment 1999-12-19 15:51:32 +00:00
Jim Meyering
c077ecf83c tweak comment 1999-12-19 15:21:19 +00:00
Jim Meyering
50075bf532 *** empty log message *** 1999-12-19 10:49:15 +00:00
Jim Meyering
b04f00f3d4 (lstat.c): Adapt rule to handle new parts of xstat.in.
(lstat.c): Likewise.
1999-12-19 10:46:19 +00:00
Jim Meyering
036b3bdae7 (slash_aware_lstat): New function.
(rpl_@xstat@): Use it.
1999-12-19 10:45:50 +00:00
Jim Meyering
f802f28675 *** empty log message *** 1999-12-19 10:43:18 +00:00
Jim Meyering
4a1f449cbe *** empty log message *** 1999-12-19 10:42:51 +00:00
Jim Meyering
0d9e008da2 . 1999-12-19 10:25:06 +00:00
Jim Meyering
7902c47089 *** empty log message *** 1999-12-19 10:23:58 +00:00
Jim Meyering
566fb840b3 *** empty log message *** 1999-12-19 10:23:47 +00:00
Jim Meyering
3d58863d57 [! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Use lstat wrapper.
[Notice the new test in m4/lstat-slash.m4. ]
(main): Back out change from 1999-02-19 that made ls remove
trailing slashes from command line arguments to accommodate early
versions of Linux.  Now, `ls symlink-to-dir/' acts like
`ls symlink-to-dir/.' thus following the symbolic link, as POSIX says
it should.  Suggestion from Bruno Haible and Andreas Schwab.
1999-12-19 10:23:26 +00:00
Jim Meyering
a595998975 . 1999-12-19 10:22:47 +00:00
Jim Meyering
c8707dcc2f . 1999-12-19 10:21:51 +00:00
Jim Meyering
4d8a95eff3 (TESTS): Add symlink-slash. 1999-12-19 10:21:34 +00:00
Jim Meyering
fa468393ae remove unused test= stmt 1999-12-19 09:41:08 +00:00
Jim Meyering
dd1a7723a6 *** empty log message *** 1999-12-19 09:37:22 +00:00
Jim Meyering
0c578407e0 bump serial number 1999-12-19 09:37:06 +00:00
Jim Meyering
bce84b024a Use the new macro: jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. 1999-12-19 09:36:55 +00:00
Jim Meyering
a260bc04c8 *** empty log message *** 1999-12-19 09:34:29 +00:00
Jim Meyering
68a35b96ce *** empty log message *** 1999-12-19 09:33:18 +00:00
Jim Meyering
a9afc5a7d0 *** empty log message *** 1999-12-18 23:00:58 +00:00
Jim Meyering
96c183f34f *** empty log message *** 1999-12-18 22:41:36 +00:00
Jim Meyering
b9aa56bec4 *** empty log message *** 1999-12-18 16:04:47 +00:00
Jim Meyering
04aa739146 (wipename): When repeatedly renaming a file, making the name shorter
and shorter, skip to the next shorter length length if a rename fails (e.g. due to
permission denied).  Otherwise, this loop would iterate for so long that shred would
appear to be stuck in an infinite loop for any but the shortest file names.
1999-12-18 16:00:49 +00:00
Jim Meyering
ac31ad442b *** empty log message *** 1999-12-18 11:48:43 +00:00
Jim Meyering
a47deedda7 (print_entry): Correct do_lookup test so that who
prints whatever host information it has, even without --lookup.
1999-12-18 11:48:37 +00:00
Jim Meyering
a9c3d9197f *** empty log message *** 1999-12-15 10:15:36 +00:00
Jim Meyering
4d90b0efc9 (decode_switches): If -c or -u is specified and not -l (or any other
option that implies -l), and no sort-type was specified,
then sort by the ctime (-c) or atime (-u).  Part of this change reverts
the 1998-01-10 delta.
(usage): Update to reflect this change.
Reported by Paul Slootman via Michael Stone.
1999-12-15 08:38:54 +00:00
Jim Meyering
c8ad493e6b . 1999-12-14 09:00:08 +00:00
Jim Meyering
99aa95f945 *** empty log message *** 1999-12-13 22:37:15 +00:00
Jim Meyering
927b1d42fb *** empty log message *** 1999-12-13 15:08:21 +00:00
Jim Meyering
b5123778b7 *** empty log message *** 1999-12-13 15:04:27 +00:00
Jim Meyering
5c2322aacc *** empty log message *** 1999-12-13 15:03:51 +00:00
Jim Meyering
0c7c8c2992 *** empty log message *** 1999-12-13 07:33:13 +00:00
Jim Meyering
c8d452098b (make_path): Consistently use error to output
the verbose, `created directory ...' messages.
Reported by Bernhard Rosenkraenzer.
1999-12-13 07:30:57 +00:00
Jim Meyering
3182653495 *** empty log message *** 1999-12-13 07:29:13 +00:00
Jim Meyering
7efcffd2e6 *** empty log message *** 1999-12-13 06:45:13 +00:00
Jim Meyering
63324e5e7e Move 120+ lines of stat.h-related macros from system.h (not shared)
to sys2.h, which is shared between fileutils, sh-utils, textutils.
* src/system.h: Move them from here...
* src/sys2.h: ... to here.
1999-12-12 21:49:25 +00:00
Jim Meyering
488028199d (S_IRUSR, S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH): Define
if not defined.  This was necessary on a NeXT Turbostation running
Mach 3.3.  Reported by Nelson H. F. Beebe.
1999-12-12 21:45:34 +00:00
Jim Meyering
c71815ac7b *** empty log message *** 1999-12-12 20:26:48 +00:00
Jim Meyering
6ff905699a . 1999-12-10 16:30:28 +00:00
Jim Meyering
d3d701080b . 1999-12-10 16:29:54 +00:00
Jim Meyering
c6025b9d1e . 1999-12-10 15:22:55 +00:00
Jim Meyering
b026aa85d0 (_jm_STRFTIME_PREREQS): Use 3-arg form of AC_DEFINE for HAVE_TM_GMTOFF. 1999-12-10 14:35:38 +00:00
Jim Meyering
4c0b11a8e7 *** empty log message *** 1999-12-09 16:53:41 +00:00
Jim Meyering
5ac2b8e39b . 1999-12-09 16:42:00 +00:00
Jim Meyering
5214179c29 . 1999-12-09 16:38:32 +00:00
Jim Meyering
e8ff25dd70 *** empty log message *** 1999-12-09 15:55:11 +00:00
Jim Meyering
fc8e7363d2 Require that File::Compare be available, too.
Too many systems seem to lack it.
1999-12-09 15:54:59 +00:00
Jim Meyering
022194de49 Add checks for most of the cpp macros tested in GNU's strftime.c.
Prompted by a patch from Paul Eggert.
1999-12-09 15:54:20 +00:00
Jim Meyering
eb06f705a1 Use 1>&2 rather than `1<&-'.
Suggestion from Volker Borchert.
1999-12-09 15:52:49 +00:00
Jim Meyering
aeabe74421 (IGNORE_FAIL_ON_NON_EMPTY_OPTION): Likewise. 1999-12-09 15:52:09 +00:00
Jim Meyering
46b6c26e4f (BLOCK_SIZE_OPTION, EXCLUDE_OPTION, MAX_DEPTH_OPTION):
Define these and use them instead of `CHAR_MAX + n'.
1999-12-09 15:46:39 +00:00
Jim Meyering
919f2ce3da (BLOCK_SIZE_OPTION, SYNC_OPTION, NO_SYNC_OPTION): Define
these and use them instead of `CHAR_MAX + n'.
1999-12-09 15:43:41 +00:00
Jim Meyering
6cbabe63d4 (anonymous enum): Define TIME_OPTION, and ...
(longopts): ...use it here instead of `CHAR_MAX + 1'.
(main): Likewise.
1999-12-09 15:39:38 +00:00
Jim Meyering
1aa50fd72e (enum): Remove useless CHAR_MAX + 2 1999-12-09 15:35:41 +00:00
Jim Meyering
6845fc7c96 Test more of the framework (touch's -a and -m
options) before running the actual ls test.
1999-12-08 17:05:59 +00:00
Jim Meyering
84339c827f s/test_failure/framework_failure/g 1999-12-08 16:50:22 +00:00
Jim Meyering
be3748ddad (TESTS): Add fflush. 1999-12-05 23:31:34 +00:00
Jim Meyering
392a965229 Remove ftp.enst.fr. 1999-12-05 22:59:30 +00:00
Jim Meyering
5cb18377bc *** empty log message *** 1999-12-05 22:36:11 +00:00
Jim Meyering
93c2c18a80 (main): Flush stdout before switching to unbuffered mode
and calling tail_forever.  Required only on Solaris2.7 -- on other
systems, using setvbuf to switch to unbufferd mode does the flush.
1999-12-05 22:36:02 +00:00
Jim Meyering
dd002c22fd *** empty log message *** 1999-12-05 16:45:27 +00:00
Jim Meyering
f447e97462 . 1999-12-05 16:39:39 +00:00
737 changed files with 74688 additions and 43560 deletions

300
ABOUT-NLS
View File

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

View File

@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
Copyright (C) <year> <name of author>
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
@@ -313,7 +313,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

View File

@@ -15,6 +15,7 @@ have-Makefile := $(shell test -f Makefile && echo yes)
ifeq ($(have-Makefile),yes)
include Makefile
include $(srcdir)/Makefile.cfg
include $(srcdir)/Makefile.maint
else
@@ -25,3 +26,8 @@ all:
@exit 1
endif
# Tell version 3.79 and up of GNU make to not build goals in this
# directory in parallel. This is necessary in case someone tries to
# build multiple targets on one command line.
.NOTPARALLEL:

116
INSTALL
View File

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

46
Makefile.cfg Normal file
View File

@@ -0,0 +1,46 @@
# -*- makefile -*-
## Customize Makefile.maint.
# List the hosts to which test releases are copied.
# `a' and `b' are merely placeholders, and correspond to the
# `a_' and `b_' prefixes of the following variables.
hosts = a b
a_host = alpha.gnu.org
b_host = freefriends.org
alpha_subdir = gnu/fetish
a_url_dir = $(alpha_subdir)
b_url_dir = $(alpha_subdir)
# Files that `make wget-update' should update.
wget_files = \
$(srcdir)/config.guess \
$(srcdir)/config.sub \
$(srcdir)/doc/texinfo.tex
# $(srcdir)/src/ansi2knr.c
###############################################
# FIXME: CAUTION this list is a duplicate of one in lib/Makefile.am.
io_functions = \
clearerr feof ferror fflush fgets fputc fputs \
fread fwrite getc getchar putc putchar
unlocked_io_functions = $(patsubst %,%_unlocked,$(io_functions))
comma_separated = $(shell echo $(unlocked_io_functions)|tr -s ' ' ,)
# This temp file may not be e.g., $@t, since that may be in a read-only
# directory. Instead, use a file in the current directory.
t_io = $(notdir $@)t
# This rule requires GNU make.
$(srcdir)/m4/jm-glibc-io.m4: $(srcdir)/m4/jm-glibc-io.m4n Makefile.cfg
echo dnl This file is automatically generated from $(notdir $<). \
> $(t_io)
echo >> $(t_io)
sed \
-e 's/@space_separated@/$(unlocked_io_functions)/g' \
-e 's/@comma_separated@/$(comma_separated)/g' \
$< >> $(t_io)
mv $(t_io) $@

View File

@@ -1,56 +1,173 @@
# -*-Makefile-*-
# This Makefile fragment is shared between fileutils, sh-utils, textutils.
# This Makefile fragment is shared between fileutils, sh-utils, textutils,
# CPPI, Bison, and Autoconf.
maintainer-check:
if head ChangeLog| grep 'Version $(VERSION)' > /dev/null; then \
:; \
else \
echo "$(VERSION) not in ChangeLog; not tagging" 1>&2; \
exit 1; \
fi
$(MAKE) distcheck
$(MAKE) my-distcheck
## Copyright 2001 Free Software Foundation, Inc.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2, or (at your option)
## any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
prev-version := $(shell echo $(VERSION)|tr a-z Xa-y)
tag-package = $(shell echo "$(PACKAGE)" | tr a-z A-Z)
# Do not save the original name or timestamp in the .tar.gz file.
GZIP_ENV = '--no-name --best'
# Automake 1.4 does not define AMTAR.
AMTAR ?= $(TAR)
CVS = cvs
prev_version_file ?= .prev-version
THIS_VERSION_REGEXP = $(subst .,\.,$(VERSION))
PREV_VERSION := $(shell cat $(prev_version_file))
PREV_VERSION_REGEXP := $(shell echo $(PREV_VERSION)|sed 's/\./\\./g')
tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
tag-this-version = $(subst .,_,$(VERSION))
tag-prev-version = $(subst .,_,$(prev-version))
tag-prev-version = $(subst .,_,$(PREV_VERSION))
this-cvs-tag = $(tag-package)-$(tag-this-version)
prev-cvs-tag = $(tag-package)-$(tag-prev-version)
my_distdir = $(PACKAGE)-$(VERSION)
# Old releases are stored here.
# Used for diffs and xdeltas.
release_archive_dir ?= ../release
## --------------- ##
## Sanity checks. ##
## --------------- ##
# Checks that don't require cvs.
# Run `changelog-check' last, as previous test may reveal problems requiring
# new ChangeLog entries.
local-check: po-check copyright-check writable-files \
m4-check author_mark_check \
changelog-check
changelog-check:
if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
:; \
else \
echo "$(VERSION) not in ChangeLog" 1>&2; \
exit 1; \
fi
m4-check:
@grep 'AC_DEFUN([^[]' m4/*.m4 \
&& { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \
exit 1; } || :
# Verify that all source files using _() are listed in po/POTFILES.in.
po-check:
grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1
grep -E -l '\b_\(' lib/*.c src/*.c | sort > $@-2
diff -u $@-1 $@-2
rm -f $@-1 $@-2
if test -f po/POTFILES.in; then \
grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \
grep -E -l '\b_\(' lib/*.[ch] src/*.[ch] | sort > $@-2; \
diff -u $@-1 $@-2 || exit 1; \
rm -f $@-1 $@-2; \
fi
# In a definition of #define AUTHORS "... and ..." where the RHS contains
# the English word `and', the string must be marked with `N_ (...)' so that
# gettext recognizes it as a string requiring translation.
author_mark_check:
@grep '^# *define AUTHORS "[^"]* and ' src/*.c |grep -v ' N_ (' && \
{ echo 'Makefile.maint: enclose the above strings in N_ (...)' 1>&2; \
exit 1; } || :
# Check that `make alpha' will not fail at the end of the process.
writable-files:
if test -d $(release_archive_dir); then :; else \
mkdir $(release_archive_dir); \
fi
for file in $(distdir).tar.gz $(xd-delta) \
$(release_archive_dir)/$(distdir).tar.gz \
$(release_archive_dir)/$(xd-delta); do \
test -e $$file || continue; \
test -w $$file \
|| { echo ERROR: $$file is not writable; fail=1; }; \
done; \
test "$$fail" && exit 1 || :
v_etc_file = lib/version-etc.c
# Make sure that the copyright date in $(v_etc_file) is up to date.
copyright-check:
@if test -f $(v_etc_file); then \
grep '"Copyright (C) $(shell date +%Y) Free' $(v_etc_file) \
>/dev/null \
|| { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
exit 1; }; \
fi
# Sanity checks with the CVS repository.
cvs-tag-check:
echo $(this-cvs-tag); \
if $(CVS) -n log -h README | grep -e $(this-cvs-tag): >/dev/null; then \
echo "$(this-cvs-tag) as already been used; not tagging" 1>&2; \
exit 1; \
else :; fi
cvs-diff-check:
if $(CVS) diff >cvs-diffs; then \
rm cvs-diffs; \
else \
echo "Some files are locally modified:" 1>&2; \
cat cvs-diffs; \
exit 1; \
fi
cvs-check: cvs-diff-check cvs-tag-check
maintainer-distcheck: changelog-check
$(MAKE) distcheck
$(MAKE) my-distcheck
# Tag before making distribution. Also, don't make a distribution if
# checks fail. Also, make sure the NEWS file is up-to-date.
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
cvs-dist: maintainer-check
echo $(this-cvs-tag); \
if cvs -n log -h README| grep -e $(this-cvs-tag): > /dev/null; then \
echo "VERSION not new; not tagging" 1>&2; \
exit 1; \
fi; \
cvs update po; \
cvs tag -c $(this-cvs-tag)
cvs-dist: local-check cvs-check maintainer-distcheck
$(CVS) update po
$(CVS) tag -c $(this-cvs-tag)
$(MAKE) dist
# Use this to make sure we don't run these programs when building
# from a virgin tgz file, below.
null_AM_MAKEFLAGS = \
ACLOCAL=false \
AUTOCONF=false \
AUTOMAKE=false \
AUTOHEADER=false \
MAKEINFO=false
# Detect format-string/arg-list mismatches that would normally be obscured
# by the use of _(). The --disable-nls effectively defines away that macro,
# and building with CFLAGS='-Wformat -Werror' causes any format warning to be
# treated as a failure.
t=./=test
my-distcheck:
my-distcheck: local-check
-rm -rf $(t)
mkdir $(t)
GZIP=$(GZIP) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
# Removing $(DEPDIR) like this is a gross kludge to work around a bug
# in automake. Remove that line once it's fixed.
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
cd $(t)/$(distdir) \
&& ./configure --disable-nls \
&& $(MAKE) CFLAGS='-Wformat -Werror' \
AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \
&& $(MAKE) dvi \
&& $(MAKE) check \
&& rm -rf $(DEPDIR) \
&& $(MAKE) distclean
cd $(t) && mv $(distdir) $(distdir).old \
&& $(AMTAR) -zxf ../$(distdir).tar.gz
@@ -60,28 +177,21 @@ my-distcheck:
echo "$(distdir).tar.gz is ready for distribution"; \
echo "========================"
THIS_VERSION_REGEXP = $(subst .,\.,$(VERSION))
# FIXME: this works only for Gnits-style test releases.
PREV_VERSION := $(shell echo $(VERSION)|tr a-z Xa-y)
PREV_VERSION_REGEXP := $(shell echo $(PREV_VERSION)|sed 's/\./\\./g')
v = Version
# This must be the same name on both hosts.
# Make it a symlink that points to the right place.
real_dir = fetish-ftp
a_host=alpha.gnu.org
b_host=tug.org
c_host=ftp.enst.fr
url_dir_list = $(foreach x,$(hosts),ftp://$($(x)_host)/$($(x)_url_dir))
a_url_dir=gnu/fetish
b_url_dir=gnu/fetish
c_url_dir=pub/gnu/gnits/fetish
a_real_dir=/fs/share/ftp/gnu/fetish
b_real_dir=/home/ftp/pub/gnu/fetish
c_real_dir=/pub/gnu/gnits/fetish
url_dir_list = $(foreach x,a b c,ftp://$($(x)_host)/$($(x)_url_dir))
real_dir_list = $(foreach x,a b c,ftp://$($(x)_host)$($(x)_real_dir))
md5 = $(shell md5sum < $(distdir).tar.gz|sed 's/ -//')
tgz-md5 = $(shell md5sum < $(my_distdir).tar.gz|sed 's/ -//')
tgz-sha1 = $(shell sha1sum < $(my_distdir).tar.gz|sed 's/ -//')
bz2-md5 = $(shell md5sum < $(my_distdir).tar.bz2|sed 's/ -//')
bz2-sha1 = $(shell sha1sum < $(my_distdir).tar.bz2|sed 's/ -//')
xdelta-md5 = $(shell md5sum < $(xd-delta)|sed 's/ -//')
xdelta-sha1 = $(shell sha1sum < $(xd-delta)|sed 's/ -//')
tgz-size = $(shell du --human $(my_distdir).tar.gz|sed 's/\([Mk]\).*/ \1B/')
bz2-size = $(shell du --human $(my_distdir).tar.bz2|sed 's/\([Mk]\).*/ \1B/')
xd-size = $(shell du --human $(xd-delta)|sed 's/\([Mk]\).*/ \1B/')
rel-check:
tarz=/tmp/rel-check-tarz-$$$$; \
@@ -92,40 +202,115 @@ rel-check:
echo "$(md5) -" > $$md5_tmp; \
md5sum -c $$md5_tmp < $$tarz
announcement: NEWS ChangeLog $(distdir).tar.gz
prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
GZIP = gzip
BZIP2 = bzip2
$(my_distdir).tar.bz2: $(my_distdir).tar.gz
$(GZIP) -dc $< > $(my_distdir).tar
rm -f $@
$(BZIP2) -9 $(my_distdir).tar
rel-files = $(xd-delta) $(distdir).tar.bz2 $(distdir).tar.gz
announcement: NEWS ChangeLog $(rel-files)
@( \
echo Subject: $(distdir) released; \
echo Subject: $(my_distdir) released; \
echo; \
echo FIXME: put comments here; \
echo; \
for url in $(url_dir_list); do \
echo " $$url/$(distdir).tar.gz"; \
echo " $$url/$(my_distdir).tar.gz ($(tgz-size))"; \
echo " $$url/$(my_distdir).tar.bz2 ($(bz2-size))"; \
done; \
echo; \
echo "$(md5) $(distdir).tar.gz"; \
echo And here are xdelta-style diffs; \
echo; \
for url in $(url_dir_list); do \
echo " $$url/$(xd-delta) ($(xd-size))"; \
done; \
echo; \
echo "Here are the MD5 and SHA1 signatures:"; \
echo; \
echo "$(tgz-md5) $(my_distdir).tar.gz"; \
echo "$(bz2-md5) $(my_distdir).tar.bz2"; \
echo "$(xdelta-md5) $(xd-delta)"; \
echo "$(tgz-sha1) $(my_distdir).tar.gz"; \
echo "$(bz2-sha1) $(my_distdir).tar.bz2"; \
echo "$(xdelta-sha1) $(xd-delta)"; \
echo; \
echo NEWS:; \
sed -n "/$(THIS_VERSION_REGEXP)/,/$(PREV_VERSION_REGEXP)/p" NEWS \
sed -n "/$(THIS_VERSION_REGEXP)[]:]/,/$(PREV_VERSION_REGEXP)[]:]/p" NEWS \
| grep -v '^\['; \
echo; \
echo ChangeLog entries:; \
find . -name ChangeLog \
| xargs cvs diff -up -r$(prev-cvs-tag) -rHEAD \
find . -name ChangeLog -maxdepth 2 \
| xargs $(CVS) diff -up -r$(prev-cvs-tag) -rHEAD \
| sed -n 's/^+//p' \
| perl -ne 'm!^\+\+ (\./)?! or print,next;' \
| perl -ne 'm!^\+\+ (\./)?! or print,next;' \
-e 'print "\n"."*"x70 ."\n"; s///; print; print "*"x70 ."\n"'; \
)
alpha:
$(MAKE) po-check
$(MAKE) cvs-dist
$(MAKE) -s announcement > /tmp/announce-$(distdir)
ln $(distdir).tar.gz ../release
chmod a-w $(distdir).tar.gz
@echo =====================================
@for url in $(real_dir_list); do \
echo "ncftp -u $$url/"; \
WGET = wget
ftp-gnu = ftp://ftp.gnu.org/gnu
# Use mv, if you don't have/want move-if-change.
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 \
$(srcdir)/src/ansi2knr.c \
$(srcdir)/doc/texinfo.tex
get-targets = $(patsubst %, get-%, $(wget_files))
config.guess-url_prefix = $(ftp-gnu)/config/
config.sub-url_prefix = $(ftp-gnu)/config/
ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/
texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/
standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/
make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/
target = $(patsubst get-%, %, $@)
url = $($(notdir $(target))-url_prefix)$(notdir $(target))
.PHONY: $(get-targets)
$(get-targets):
$(WGET) $(url) -O $(target).t \
&& $(move_if_change) $(target).t $(target)
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; \
done
@echo '# put $(distdir).tar.gz'
@echo '# send the /tmp/announcement e-mail'
@echo =====================================
define emit-upload-commands
echo =====================================
echo =====================================
echo upload $(PACKAGE) $(PREV_VERSION) $(VERSION)
echo '# send the /tmp/announcement e-mail'
echo =====================================
echo =====================================
endef
$(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
xdelta delta -9 $^ $@ || :
alpha: local-check
$(MAKE) cvs-dist
$(MAKE) $(xd-delta)
$(MAKE) -s announcement > /tmp/announce-$(my_distdir)
ln $(rel-files) $(release_archive_dir)
chmod a-w $(rel-files)
echo $(VERSION) > $(prev_version_file)
$(CVS) ci -m. $(prev_version_file)
@$(emit-upload-commands)

436
THANKS
View File

@@ -1,102 +1,336 @@
This is just a start at listing e-mail addresses of contributors.
The rest of the addresses are still in the ChangeLog.
These people have contributed to the GNU fileutils, textutils,
and/or sh-utils packages. Some have reported problems, others have
contributed improvements to the documentation, actual code, and even
complete programs. Those contributions are described in the ChangeLog
files. If your name has been left out, if you'd rather not be listed,
or if you'd prefer a different address be used, please let me know.
Some old names and addresses are still in the ChangeLog.
Achim Blumensath: blume@corona.oche.de
aldomel: aldomel@ix.netcom.com
Alen Muzinic: zveki@fly.cc.fer.hr
Akim Demaille: demaille@inf.enst.fr
Alain Magloire: alain@qnx.com
Alexey Solovyov: alekso@math.uu.se
Andreas Jaeger: jaeger@gnu.org
Andreas Schwab: schwab@suse.de
Andres Soolo: andres@soolo.matti.ee
Andrew Dalke: dalke@bioreason.com
Andrew Tridgell: tridge@samba.org
Andries Brouwer: Andries.Brouwer@cwi.nl
Arne Henrik Juul: arnej@imf.unit.no
Bauke Jan Douma: bjdouma@xs4all.nl
Bengt Martensson: bengt@mathematik.uni-Bremen.de
Bernd Leibing: bernd.leibing@rz.uni-ulm.de
Bjorn Helgaas: helgaas@rsn.hp.com
Bob McCracken: kerouac@ravenet.com
Bob Proulx: rwp@fc.hp.com
Brendan O'Dea: bod@compusol.com.au
Charles Karney: karney@pppl.gov
Chip Salzenberg: chip@valinux.com
Chris Yeo: cyeo@biking.org
Christian von Roques: roques@pond.sub.org
Colin Plumb: colin@nyx.net
David Godfrey: dave@delta.demon.co.uk
Dirk Lattermann: dlatt@t-online.de
Don Parsons: dparsons@synapse.kent.edu
Eirik Fuller: eirik@netcom.com
Eli Zaretskii: eliz@is.elta.co.il
Emile LeBlanc: leblanc@math.toronto.edu
François Pinard: pinard@iro.umontreal.ca
Galen Hazelwood: galenh@micron.net
Germano Leichsenring: germano@jedi.cs.kobe-u.ac.jp
Göran Uddeborg: goeran@uddeborg.pp.se
Greg McGary: gkm@eng.ascend.com
Gabor Z. Papp: gzp@gzp.org.hu
Holger Berger: hberger@ess.nec.de
Hugh Daniel: hugh@xanadu.com
James: james@albion.glarp.com
James Antill: jmanti%essex.ac.uk@seralph21.essex.ac.uk
James Sneeringer: jvs@ocslink.com
James Tanis: jtt@soscorp.com
Jamie Lokier: jamie@imbolc.ucc.ie
Janos Farkas: chexum@shadow.banki.hu
Jesse Thilo: jgt2@eecs.lehigh.edu
Joakim Rosqvist: dvljrt@cs.umu.se
Johan Danielsson: joda@pdc.kth.se
John Bley: jbb6@acpub.duke.edu
John Gatewood Ham: zappaman@alphabox.compsci.buu.ac.th
John Gotts: jgotts@umich.edu
Jürgen Fluk: louis@dachau.marco.de
jvogel: jvogel@linkny.com
Karl Heuer: kwzh@gnu.org
Kjetil Torgrim Homme: kjetilho@ifi.uio.no
Larry McVoy: lm@sgi.com
Lars Hecking: lhecking@nmrc.ucc.ie
Lorne Baker: lbaker@nitro.avint.net
Marcus Daniels: marcus@sysc.pdx.edu
Mark A. Thomas: thommark@access.digex.net
Mark Harris: mark@monitor.designacc.com
Mark Kettenis: kettenis@phys.uva.nl
Martin Mitchell: martin@debian.org
Marty Leisner: leisner@sdsp.mc.xerox.com
Masami Takikawa: takikawm@CS.ORST.EDU
Matthew S. Levine: mslevine@theory.lcs.mit.edu
Matthew Swift: swift@alum.mit.edu
Matthias Urlichs: smurf@noris.de
Michiel Bacchiani: bacchian@raven.bu.edu
Michael ???:michael@roka.net
Michael Veksler: mveksler@techunix.technion.ac.il
Michael Stone: mstone@debian.org
Miles Bader: miles@gnu.ai.mit.edu
Noel Cragg: noel@red-bean.com
Olav Morkrid: olav@funcom.com
Per Kristian Hove: perhov@math.ntnu.no
Peter Eriksson: peter@ifm.liu.se
Peter Moulder: reiter@netspace.net.au
Peter Samuelson: psamuels@sampo.creighton.edu
Paul Eggert: eggert@twinsun.com
Philippe De Muyter: phdm@macqel.be
Rainer Orth: ro@TechFak.Uni-Bielefeld.DE
Richard Braakman: dark@xs4all.nl
Ross Ridge: rridge@calum.csclub.uwaterloo.ca
Sami Farin: sfarin@ratol.fi
Santiago Vila Doncel: sanvila@unex.es
Scott Lurndal: slurn@griffin.engr.sgi.com
Stuart Kemp: skemp@peter.bmc.com
Thomas Bushnell, n/BSG: thomas@gnu.ai.mit.edu
Ton Hospel: thospel@mail.dma.be
Torbjorn Lindgren: tl@funcom.no
Torsten Landschoff: torsten@pclab.ifg.uni-kiel.de
Tony Leneis: tony@plaza.ds.adp.com
Ulrich Drepper: drepper@cygnus.com
Vin Shelton: acs@alumni.princeton.edu
Volker Borchert: bt@teknon.de
Wayne Stewart: wstewa@atl.com
Wichert Akkerman: wichert@cistron.nl
William Bader: william@nscs.fast.net
Achim Blumensath blume@corona.oche.de
Adam Klein aklein@debian.org
Akim Demaille demaille@inf.enst.fr
Alain Magloire alain@qnx.com
Alan Iwi iwi@atm.ox.ac.uk
Albert 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
Andre Novaes Cunha Andre.Cunha@br.global-one.net
Andreas Gruenbacher ag@bestbits.at
Andreas Jaeger jaeger@gnu.org
Andreas Luik luik@isa.de
Andreas Schwab schwab@suse.de
Andreas Stolcke stolcke@ICSI.Berkeley.EDU
Andres Soolo andres@soolo.matti.ee
Andrew Burgess aab@cichlid.com
Andrew Dalke dalke@bioreason.com
Andrew Pham andpha@us.ibm.com
Andrew Tridgell tridge@samba.org
Andries Brouwer Andries.Brouwer@cwi.nl
Andy Longton alongton@metamark.com
Antonio Rendas ajrendas@yahoo.com
Ariel Faigon ariel@cthulhu.engr.sgi.com
Arne H. Juul arnej@solan.unit.no
Arne Henrik Juul arnej@imf.unit.no
Arthur Pool pool@commerce.uq.edu.au
Austin Donnelly Austin.Donnelly@cl.cam.ac.uk
Axel Kittenberger Anshil@gmx.net
Bauke Jan Douma bjdouma@xs4all.nl
Bengt Martensson bengt@mathematik.uni-Bremen.de
Bernd Leibing bernd.leibing@rz.uni-ulm.de
Bernhard Baehr bernhard.baehr@gmx.de
Bernhard Rosenkraenzer bero@redhat.de
Bill Peters peters@gaffel.as.arizona.edu
Bjorn Helgaas helgaas@rsn.hp.com
Bob McCracken kerouac@ravenet.com
Bob Proulx rwp@fc.hp.com
Branden Robinson branden@necrotic.deadbeast.net
Brendan O'Dea bod@compusol.com.au
Brian Kimball bfk@footbag.org
Brian Youmans 3diff@gnu.org
Bruno Haible haible@clisp.cons.org
Carl Johnson carlj@cjlinux.home.org
Carl Lowenstein cdl@mpl.UCSD.EDU
Carlos Canau Carlos.Canau@relay.puug.pt
Charles Karney karney@pppl.gov
Charles Randall crandall@matchlogic.com
Chip Salzenberg chip@valinux.com
Chris Faylor cgf@cygnus.com
Chris Sylvain csylvain@umm.edu
Chris Yeo cyeo@biking.org
Christi Alice Scarborough christi@chiark.greenend.org.uk
Christian Krackowizer ckrackowiz@std.schuler-ag.com
Christian Rose menthos@menthos.com
Christian von Roques roques@pond.sub.org
Chuck Hedrick hedrick@klinzhai.rutgers.edu
Clark Morgan cmorgan@aracnet.com
Colin Plumb colin@nyx.net
Colin Watson cjw44@riva.ucam.org
Collin Rogowski collin@rogowski.de
Dale Scheetz dwarf@polaris.net
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
David Dyck dcd@tc.fluke.COM
David Godfrey dave@delta.demon.co.uk
David Luyer david_luyer@pacific.net.au
Dennis Henriksen opus@flamingo.osrl.dk
Derek Clegg dclegg@next.com
Dick Streefland dick_streefland@tasking.com
Dirk Lattermann dlatt@t-online.de
Dirk-Jan Faber djfaber@snow.nl
Dan Jacobson http://www.geocities.com/jidani
Don Parsons dparsons@synapse.kent.edu
Donni Erpel donald@appc11.gsi.de
Doug McLaren dougmc@comco.com
Dragos Harabor dharabor@us.oracle.com
Ed Avis epa98@doc.ic.ac.uk
Edzer Pebesma Edzer.Pebesma@rivm.nl
Eirik Fuller eirik@hackrat.com
Eivind eivindt@multinet.no
Eli Zaretskii eliz@is.elta.co.il
Emile LeBlanc leblanc@math.toronto.edu
Eric Backus ericb@lsid.hp.com
Eric G. Miller egm2@jps.net
Eric Pemente pemente@northpark.edu
Eric S. Raymond esr@snark.thyrsus.com
Erik Bennett bennett@cvo.oneworld.com
Erik Corry erik@kroete2.freinet.de
Felix Lee flee@teleport.com
Fletcher Mattox fletcher@cs.utexas.edu
Florin Iucha fiucha@hsys.mic.ro
Frank Adler fadler@allesklar.de
Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU
François Pinard pinard@iro.umontreal.ca
Fred Fish fnf@ninemoons.com
Frederik Eaton frederik@caltech.edu
Frédéric L. W. Meunier 0@pervalidus.net
Gabor Z. Papp gzp@gzp.org.hu
Galen Hazelwood galenh@micron.net
Gary Anderson ganderson@clark.net
Gaël Quéri gqueri@mail.dotcom.fr
Geoff Kuenning geoff@cs.hmc.edu
Geoff Odhner geoff@franklin.com
Geoff Whale geoffw@cse.unsw.EDU.AU
Gerhard Poul gpoul@gnu.org
Germano Leichsenring germano@jedi.cs.kobe-u.ac.jp
GOTO Masanori gotom@debian.or.jp
Greg Louis glouis@dynamicro.on.ca
Greg McGary gkm@gnu.org
Greg Troxel gdt@bbn.com
Greg Wooledge gawooledge@sherwin.com
Gregory Leblanc gleblanc@cu-portland.edu
Göran Uddeborg goeran@uddeborg.pp.se
H. J. Lu hjl@valinux.com
Hans Verkuil hans@wyst.hobby.nl
Harry Liu rliu@lek.ugcs.caltech.edu
Herbert Xu herbert@gondor.apana.org.au
Holger Berger hberger@ess.nec.de
Hon-Yin Kok hkok@yoda.unl.edu
Hugh Daniel hugh@xanadu.com
Ian Bruce ian.bruce@myrealbox.com
Ian Jackson ijackson@chiark.greenend.org.uk
Ian Lance Taylor ian@cygnus.com
Ian Turner vectro@pipeline.com
James james@albion.glarp.com
James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk
James Sneeringer jvs@ocslink.com
James Tanis jtt@soscorp.com
James Youngman james+usenet@free-lunch.demon.co.uk
Jamie Lokier jamie@imbolc.ucc.ie
Jan Fedak J.Fedak@sh.cvut.cz
Jan Nieuwenhuizen janneke@gnu.org
Janos Farkas chexum@shadow.banki.hu
Jarkko Hietaniemi jhi@epsilon.hut.fi
Jeff Moore jbm@mordor.com
Jeff Sheinberg jeffsh@erols.com
Jens Schmidt jms@jsds.hamburg.com
Jerome Abela abela@hsc.fr
Jesse Thilo jgt2@eecs.lehigh.edu
Jie Xu xuj@iag.net
Jim Blandy jimb@cyclic.com
Jim Dennis jimd@starshine.org
Joakim Rosqvist dvljrt@cs.umu.se
Jochen Hein jochen@jochen.org
Joe Orton joe@orton.demon.co.uk
Johan Danielsson joda@pdc.kth.se
John Bley jbb6@acpub.duke.edu
John David Anglin dave.anglin@nrc.ca
John Gatewood Ham zappaman@alphabox.compsci.buu.ac.th
John Gotts jgotts@umich.edu
John Kendall kendall@capps.com
John Kodis kodis@acm.org
John Murphy jam@philabs.research.philips.com
John Roll john@panic.harvard.edu
John Salmon johns@mullet.anu.edu.au
John Summerfield summer@OS2.ami.com.au
Joost van Baal joostvb@xs4all.nl
Jorge Stolfi stolfi@ic.unicamp.br
Joseph S. Myers jsm28@cam.ac.uk
Juan F. Codagnone juam@arnet.com.ar
Jungshik Shin jshin@pantheon.yale.edu
Jürgen Fluk louis@dachau.marco.de
jvogel jvogel@linkny.com
Kai-Uwe Rommel rommel@informatik.tu-muenchen.de
Kai Henningsen kai@debian.org
Kalle Olavi Niemitalo tosi@stekt.oulu.fi
Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu
Karl Eichwalder keichwa@gmx.net
Karl Heuer kwzh@gnu.org
Karl-Michael Schneider schneide@phil.uni-passau.de
Karsten Thygesen karthy@kom.auc.dk
Kaveh R. Ghazi ghazi@caip.rutgers.edu
Keith Owens kaos@audio.apana.org.au
Keith Thompson kst@sdsc.edu
Ken Pizzini kenp@halcyon.com
Kjetil Torgrim Homme kjetilho@ifi.uio.no
Kristoffer Rose kris@diku.dk
??? kytek@cybercomm.net
Larry McVoy lm@sgi.com
Lars Hecking lhecking@nmrc.ucc.ie
Lehti Rami rammer@cs.tut.fi
Leonard N. Zubkoff lnz@dandelion.com
Lorne Baker lbaker@nitro.avint.net
M. P. Suzuki mpsuzuki@hiroshima-u.ac.jp
Maciej Kwapulinski pikpok@univ.gda.pl
Manas Garg manas@cygsoft.com
Manfred Hollstein manfred@s-direktnet.de
Marc Boucher marc@mbsi.ca
Marc Olzheim marcolz@stack.nl
Marco Franzen Marco.Franzen@Thyron.com
Marcus Daniels marcus@ee.pdx.edu
Mark A. Thomas thommark@access.digex.net
Mark D. Roth roth@uiuc.edu
Mark Harris mark@monitor.designacc.com
Mark Hewitt mhewitt@armature.com
Mark Hounschell markh@compro.net
Mark Kettenis kettenis@phys.uva.nl
Mark Nudelman marknu@flash.net
Mark W. Eichin eichin@cygnus.com
Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de
Martin martin@dresden.nacamar.de
Martin Gallant martyg@goodbit.net
Martin Hippe martin.hippe@schlund.de
Martin Mitchell martin@debian.org
Martin P.J. Zinser zinser@decus.de
Marty Leisner leisner@sdsp.mc.xerox.com
Masami Takikawa takikawm@CS.ORST.EDU
Mate Wierdl mw@moni.msci.memphis.edu
Matej Vela mvela@public.srce.hr
Matt Perry matt@primefactor.com
Matt Schalit mschalit@pacbell.net
Matthew Braun matthew@ans.net
Matthew Clarke Matthew_Clarke@mindlink.bc.ca
Matthew S. Levine mslevine@theory.lcs.mit.edu
Matthew Smith matts@bluesguitar.org
Matthew Swift swift@alum.mit.edu
Mattias Wadenstein maswan@acc.umu.se
Matthias Urlichs smurf@noris.de
Meelis Roos mroos@tartu.cyber.ee
Michael ??? michael@roka.net
Michael Deutschmann michael@talamasca.ocis.net
Michael Hasselberg mikelh@zonta.ping.de
Michael Hohn hohn@math.utah.edu
Michael J. Croghan mcroghan@usatoday.com
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
Miles Bader miles@gnu.ai.mit.edu
Minh Tran-Le tranle@intellicorp.com
Morten Welinder terra@diku.dk
Neal H Walfield neal@cs.uml.edu
Nelson H. F. Beebe beebe@math.utah.edu
Nick Lawes nlawes@silverplatter.com
Niklas Edmundsson nikke@acc.umu.se
Noah Friedman friedman@splode.com
Noel Cragg noel@red-bean.com
Olav Morkrid olav@funcom.com
Ole Laursen olau@hardworking.dk
Oskar Liljeblad osk@hem.passagen.se
Ørn E. Hansen oehansen@daimi.aau.dk
Paul Eggert eggert@twinsun.com
Paul Nevai nevai@ops.mps.ohio-state.edu
Paul Sauer paul@alexa.com
Paul Slootman paul@debian.org
Per Cederqvist ceder@lysator.liu.se
Per Kristian Hove perhov@math.ntnu.no
Peter Eriksson peter@ifm.liu.se
Peter Moulder reiter@netspace.net.au
Peter Samuelson psamuels@sampo.creighton.edu
Peter Seebach seebs@taniemarie.solon.com
Petter Reinholdtsen pere@hungry.com
Phelippe Neveu pneveu@pcigeomatics.com
Phil Richards phil.richards@vf.vodafone.co.uk
Philippe De Muyter phdm@macqel.be
Philippe Schnoebelen Philippe.Schnoebelen@imag.fr
Piergiorgio Sartor sartor@sony.de
Piotr Kwapulinski kwap@univ.gda.pl
Prashant TR tr@eth.net
Rainer Orth ro@TechFak.Uni-Bielefeld.DE
Ralf W. Stephan stephan@tmt.de
Ralph Loader loader@maths.ox.ac.uk
Raul Miller moth@magenta.com
Richard Braakman dark@xs4all.nl
Richard Dawe richdawe@bigfoot.com
Richard J. Rauenzahn rrauenza@hairball.cup.hp.com
Richard Sharman rsharman@magmacom.com
Rick Sladkey jrs@world.std.com
Rik Faith faith@cs.unc.edu
Risto Kankkunen kankkune@lingsoft.fi
Robert H. de Vries robert@and.nl
Rogier Wolff R.E.Wolff@BitWizard.nl
Roland Huebner ro-huebner@gmx.de
Ronald F. Guilmette rfg@netcom.com
Ross Alexander r.alexander@auckland.ac.nz
Ross Paterson rap@doc.ic.ac.uk
Ross Ridge rridge@calum.csclub.uwaterloo.ca
Sami Farin sfarin@ratol.fi
Samuli Karkkainen Samuli.Karkkainen@hut.fi
Sander van Malssen svm@kozmix.ow.nl
Santiago Vila Doncel sanvila@unex.es
Savochkin Andrey Vladimirovich saw@msu.ru
Scott Lurndal slurn@griffin.engr.sgi.com
Soeren Sonnenburg sonnenburg@informatik.hu-berlin.de
Stéphane Chazelas Stephane_CHAZELAS@yahoo.fr
Stephen Eglen eglen@pcg.wustl.edu
Stephen Gildea gildea@stop.mail-abuse.org
Stephen Smoogen ??????????
Steve McConnel steve@acadcomp.sil.org
Stuart Kemp skemp@peter.bmc.com
Tadayoshi Funaba tadf@kt.rim.or.jp
Theodore Ts'o tytso@rsts-11.mit.edu
Thomas Bushnell thomas@gnu.ai.mit.edu
Thomas Quinot thomas@Cuivre.FR.EU.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 Leneis tony@plaza.ds.adp.com
Tony Robinson ajr@eng.cam.ac.uk
Torbjorn Granlund tege@nada.kth.se
Torbjorn Lindgren tl@funcom.no
Torsten Landschoff torsten@pclab.ifg.uni-kiel.de
Ulrich Drepper drepper@gnu.org
Urs Thuermann urs@isnogud.escape.de
Uwe H. Steinfeld usteinfeld@gmx.net
Vesselin Atanasov vesselin@bgnet.bg
Vin Shelton acs@alumni.princeton.edu
Volker Borchert bt@teknon.de
Wayne Stewart wstewa@atl.com
Wenjun Zheng zwj@yahoo.com
Werner Almesberger Werner.Almesberger@epfl.ch
Wichert Akkerman wichert@cistron.nl
Will Edgington wedgingt@acm.org
William Bader william@nscs.fast.net
William Dowling will@franklin.com
William Lewis wiml@omnigroup.com
Wolfram Kleff kleff@cs.uni-bonn.de
Won-kyu Park wkpark@chem.skku.ac.kr
Zvi Har'El rl@math.technion.ac.il

View File

@@ -1,19 +1,19 @@
Makefile
fileutils.aux
fileutils.cm
fileutils.cp
fileutils.cps
fileutils.dvi
fileutils.fl
fileutils.fn
fileutils.info
fileutils.info*
fileutils.ky
fileutils.log
fileutils.op
fileutils.pg
fileutils.toc
fileutils.tp
fileutils.vr
coreutils.aux
coreutils.cm
coreutils.cp
coreutils.cps
coreutils.dvi
coreutils.fl
coreutils.fn
coreutils.info
coreutils.info*
coreutils.ky
coreutils.log
coreutils.op
coreutils.pg
coreutils.toc
coreutils.tp
coreutils.vr
stamp-vti
version.texi

116
doc/ChangeLog Normal file
View File

@@ -0,0 +1,116 @@
2001-11-10 Jim Meyering <meyering@lucent.com>
* coreutils.texi (Date directives): Document %u.
2001-11-07 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (paste invocation): Give examples.
Thanks to Dan Jacobson for suggesting the examples.
2001-11-05 Jim Meyering <meyering@lucent.com>
* coreutils.texi (sort invocation): Recommend setting LC_ALL=C,
not LC_COLLATE=C. Explain how the latter can cause problems.
Based on a message from Paul Eggert.
(ls invocation): Recommend setting LC_ALL=C, not LC_COLLATE=C.
2001-10-21 Jim Meyering <meyering@lucent.com>
* coreutils.texi (cp invocation): Describe --reply=...
2001-10-17 Jim Meyering <meyering@lucent.com>
* coreutils.texi (cp invocation): `cp --no-dereference' is
no longer equivalent to `cp -d'.
`cp -d' is equivalent to `--no-dereference --preserve=links'.
cp's -P option means --no-dereference, not --parents.
Describe new optional argument to --preserve.
Describe new option: --no-preserve=ATTRIBUTE_LIST.
2001-09-23 Jim Meyering <meyering@lucent.com>
* Makefile.am (check-texinfo): Redirect stderr of `grep -w' to
/dev/null, so people with old versions of grep don't see the failure.
2001-09-16 Jim Meyering <meyering@lucent.com>
* coreutils.texi (mv invocation): Describe new option:
--reply={yes,no,query}. Fix a few typos.
2001-09-15 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (uniq invocation): The input need not
be sorted. Try to clarify -d versus -D versus -u.
2001-09-12 Jim Meyering <meyering@lucent.com>
* coreutils.texi (tail invocation): Document new option: -F.
From Herbert Xu.
2001-09-04 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (join invocation): Describe the GNU
extension to join, which does not require sorted input when
the input contains no unpairable lines.
2001-09-03 Paul Eggert <eggert@twinsun.com>
* coreutils.texi:
New 'uname' options -i or --hardware-platform,
and -o or --operating-system.
'uname -a' now outputs -i and -o information at the end.
New uname option --kernel-version is an alias for -v.
Uname option --release has been renamed to --kernel-release,
and --sysname has been renamed to --kernel-name;
the old options will work for a while, but are no longer documented.
2001-08-24 Herbert Xu <herbert@gondor.apana.org.au>
* coreutils.texi (cut invocation): Document how cut treats lines
with no separators.
2001-06-19 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: expr now uses LC_COLLATE for string comparison,
as per POSIX.
2001-08-25 Jim Meyering <meyering@lucent.com>
* coreutils.texi: Use @option, rather than @samp everywhere.
2001-06-21 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: 'expr' now requires '+' rather than 'quote'
to quote tokens.
2001-07-14 Jim Meyering <meyering@lucent.com>
* coreutils.texi (cp invocation): Reflect 2001-07-08 change to
cp (via copy.c).
2001-06-16 Jim Meyering <meyering@lucent.com>
* Makefile.am (info_TEXINFOS): Reflect renaming: s/omni-/core/.
* coreutils.texi: Likewise.
* coreutils.texi: New, renamed from omni-utils.texi.
* omni-utils.texi: Removed, renamed to coreutils.texi.
* omni-utils.texi (ls invocation): Mention the effect of locale.
Reported by Keith Thompson.
2001-05-24 Jim Meyering <meyering@lucent.com>
* texinfo.tex: Update from master source.
* omni-utils.texi (ls invocation): Document more clearly what ls
does when given no arguments.
2001-05-21 Jim Meyering <meyering@lucent.com>
* textutils.texi: Remove file.
* Makefile.am ($(DVIS), $(INFO_DEPS)): Depend on $(EXTRA_DIST).
(DISABLED_constants.texi): New rule -- disabled for now.
This directory is now shared by fileutils, textutils, and sh-utils.

View File

@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
info_TEXINFOS = fileutils.texi
info_TEXINFOS = coreutils.texi
EXTRA_DIST = perm.texi getdate.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
# 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,
@@ -12,3 +12,25 @@ EXTRA_DIST = perm.texi getdate.texi
# and those names all map to one 14-byte name (<package>.info-) on some crufty
# old systems.
MAKEINFO = makeinfo --no-split
# Remove `DISABLED_' when fileutils, textutils, and sh-utils have
# all been merged into one package.
DISABLED_constants.texi: $(top_srcdir)/src/tail.c
LC_ALL=C \
sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \
$(top_srcdir)/src/tail.c > t-$@
mv t-$@ $@
# Uncomment this when fileutils, textutils, and sh-utils have
# all been merged into one package.
# MAINTAINERCLEANFILES = constants.texi
$(DVIS): $(EXTRA_DIST)
$(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 || :
check: check-texinfo

View File

@@ -1,6 +1,8 @@
# Makefile.in generated automatically by automake 1.4a from Makefile.am
# Makefile.in generated by automake 1.5a from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# 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.
@@ -10,6 +12,8 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
@@ -30,13 +34,9 @@ infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
@@ -44,13 +44,14 @@ 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_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_FLAG =
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
@@ -59,50 +60,64 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMDEP = @AMDEP@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
CXX = @CXX@
CXXCPP = @CXXCPP@
DATADIRNAME = @DATADIRNAME@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
FESETROUND_LIBM = @FESETROUND_LIBM@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
HELP2MAN = @HELP2MAN@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LIBOBJS = @LIBOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
KMEM_GROUP = @KMEM_GROUP@
LIBICONV = @LIBICONV@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NEED_SETGID = @NEED_SETGID@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SQRT_LIBM = @SQRT_LIBM@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
YACC = @YACC@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
l = @l@
info_TEXINFOS = coreutils.texi
info_TEXINFOS = fileutils.texi
EXTRA_DIST = perm.texi getdate.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
# 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,
@@ -115,38 +130,32 @@ EXTRA_DIST = perm.texi getdate.texi
MAKEINFO = makeinfo --no-split
subdir = doc
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
TEXI2DVI = texi2dvi
INFO_DEPS = fileutils.info
DVIS = fileutils.dvi
TEXINFOS = fileutils.texi
DIST_COMMON = Makefile.am Makefile.in mdate-sh stamp-vti texinfo.tex \
version.texi
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
INFO_DEPS = coreutils.info
DVIS = coreutils.dvi
TEXINFOS = coreutils.texi
DIST_COMMON = ChangeLog Makefile.am Makefile.in mdate-sh stamp-vti \
texinfo.tex version.texi
all: all-am
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
.SUFFIXES: .dvi .info .ps .texi .texinfo .txi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile
.SUFFIXES: .dvi .info .ps .texi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(srcdir)/version.texi: stamp-vti
$(srcdir)/version.texi: $(srcdir)/stamp-vti
@:
$(srcdir)/stamp-vti: fileutils.texi $(top_srcdir)/configure.in
@echo "@set UPDATED `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/fileutils.texi`" > vti.tmp
@echo "@set EDITION $(VERSION)" >> vti.tmp
@echo "@set VERSION $(VERSION)" >> vti.tmp
$(srcdir)/stamp-vti: coreutils.texi $(top_srcdir)/configure.ac
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/coreutils.texi`; \
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
echo "@set VERSION $(VERSION)") > vti.tmp
@cmp -s vti.tmp $(srcdir)/version.texi \
|| (echo "Updating $(srcdir)/version.texi"; \
cp vti.tmp $(srcdir)/version.texi)
@@ -156,88 +165,37 @@ $(srcdir)/stamp-vti: fileutils.texi $(top_srcdir)/configure.in
mostlyclean-vti:
-rm -f vti.tmp
clean-vti:
distclean-vti:
maintainer-clean-vti:
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
fileutils.info: fileutils.texi version.texi
fileutils.dvi: fileutils.texi version.texi
DVIPS = dvips
coreutils.info: coreutils.texi $(srcdir)/version.texi
coreutils.dvi: coreutils.texi $(srcdir)/version.texi
.texi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
`echo $< | sed 's,.*/,,'`
.texi.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) $<
.texi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.txi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.txi.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.txi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
`echo $< | sed 's,.*/,,'`
TEXI2DVI = texi2dvi
DVIPS = dvips
.dvi.ps:
$(DVIPS) $< -o $@
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@list='$(INFO_DEPS)'; \
for file in $$list; do \
d=$(srcdir); \
for ifile in `CDPATH=: && cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
if test -f $$d/$$ifile; then \
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
else : ; fi; \
done; \
done
@$(POST_INSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
done; \
else : ; fi
uninstall-info:
uninstall-info-am:
$(PRE_UNINSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
@if (install-info --version && \
install-info --version | fgrep -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"; \
@@ -257,27 +215,22 @@ dist-info: $(INFO_DEPS)
list='$(INFO_DEPS)'; \
for base in $$list; do \
d=$(srcdir); \
for file in `CDPATH=: && cd $$d && eval echo $$base*`; do \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
for file in $$d/$$base*; do \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
test -f $(distdir)/$$relfile || \
cp -p $$file $(distdir)/$$relfile; \
done; \
done
mostlyclean-aminfo:
-rm -f fileutils.aux fileutils.cp fileutils.cps fileutils.dvi \
fileutils.fn fileutils.fns fileutils.pgs fileutils.ky \
fileutils.kys fileutils.ps fileutils.log fileutils.pg \
fileutils.toc fileutils.tp fileutils.tps fileutils.vr \
fileutils.vrs fileutils.op fileutils.tr fileutils.cv \
fileutils.cn fileutils.cm fileutils.ov
clean-aminfo:
distclean-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
maintainer-clean-aminfo:
cd $(srcdir) && for i in $(INFO_DEPS); do \
cd $(srcdir) && \
for i in $(INFO_DEPS); do \
rm -f $$i; \
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
rm -f $$i-[0-9]*; \
@@ -286,88 +239,152 @@ maintainer-clean-aminfo:
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir); \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
info-am: $(INFO_DEPS)
info: info-am
dvi-am: $(DVIS)
dvi: dvi-am
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="${top_distdir}" distdir="$(distdir)" \
dist-info
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
all-am: Makefile $(INFO_DEPS)
install-data-am: install-info-am
installdirs:
$(mkinstalldirs) $(DESTDIR)$(infodir)
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
install: install-am
uninstall-am: uninstall-info
uninstall: uninstall-am
all-am: Makefile $(INFO_DEPS)
all-redirect: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(infodir)
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
-rm -f Makefile.in
mostlyclean-am: mostlyclean-vti mostlyclean-aminfo mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-vti clean-aminfo clean-generic mostlyclean-am
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
distclean-am: distclean-vti distclean-aminfo distclean-generic clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-vti maintainer-clean-aminfo \
maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am: $(DVIS)
info: info-am
info-am: $(INFO_DEPS)
install-data-am: install-info-am
install-exec-am:
install-info: install-info-am
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@list='$(INFO_DEPS)'; \
for file in $$list; do \
d=$(srcdir); \
for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
if test -f $$ifile; then \
relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
else : ; fi; \
done; \
done
@$(POST_INSTALL)
@if (install-info --version && \
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
done; \
else : ; fi
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-vti distclean-vti clean-vti maintainer-clean-vti \
install-info-am uninstall-info mostlyclean-aminfo distclean-aminfo \
clean-aminfo maintainer-clean-aminfo tags distdir info-am info dvi-am \
dvi check check-am installcheck-am installcheck install-exec-am \
install-exec install-data-am install-data install-am install \
uninstall-am uninstall all-redirect all-am all install-strip \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic dist-info \
distclean distclean-generic distdir dvi dvi-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti mostlyclean \
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti \
uninstall uninstall-am uninstall-info-am
# Remove `DISABLED_' when fileutils, textutils, and sh-utils have
# all been merged into one package.
DISABLED_constants.texi: $(top_srcdir)/src/tail.c
LC_ALL=C \
sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \
$(top_srcdir)/src/tail.c > t-$@
mv t-$@ $@
# Uncomment this when fileutils, textutils, and sh-utils have
# all been merged into one package.
# MAINTAINERCLEANFILES = constants.texi
$(DVIS): $(EXTRA_DIST)
$(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 || :
check: check-texinfo
# 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:

2
doc/constants.texi Normal file
View File

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

11461
doc/coreutils.texi Normal file

File diff suppressed because it is too large Load Diff

395
doc/doclicense.texi Normal file
View File

@@ -0,0 +1,395 @@
@c -*-texinfo-*-
@node GNU Free Documentation License
@appendix GNU Free Documentation License
@center Version 1.1, March 2000
@ifnottex
@menu
* How to use this License for your documents::
@end menu
@end ifnottex
@display
Copyright (C) 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@end display
@iftex
@sp1
@end iftex
@enumerate 0
@item
PREAMBLE
The purpose of this License is to make a manual, textbook, or other
written document ``free'' in the sense of freedom: to assure everyone
the effective freedom to copy and redistribute it, with or without
modifying it, either commercially or noncommercially. Secondarily,
this License preserves for the author and publisher a way to get
credit for their work, while not being considered responsible for
modifications made by others.
This License is a kind of ``copyleft'', which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
@iftex
@sp1
@end iftex
@item
APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work that contains a
notice placed by the copyright holder saying it can be distributed
under the terms of this License. The ``Document'', below, refers to any
such manual or work. Any member of the public is a licensee, and is
addressed as ``you''.
A ``Modified Version'' of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A ``Secondary Section'' is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject. (For example, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The ``Invariant Sections'' are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License.
The ``Cover Texts'' are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License.
A ``Transparent'' copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, whose contents can be viewed and edited directly and
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup has been designed to thwart or discourage
subsequent modification by readers is not Transparent. A copy that is
not ``Transparent'' is called ``Opaque''.
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML designed for human modification. Opaque formats include
PostScript, PDF, proprietary formats that can be read and edited only
by proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML produced by some word processors for output
purposes only.
The ``Title Page'' means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, ``Title Page'' means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
@iftex
@sp1
@end iftex
@item
VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
@iftex
@sp1
@end iftex
@item
COPYING IN QUANTITY
If you publish printed copies of the Document numbering more than 100,
and the Document's license notice requires Cover Texts, you must enclose
the copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a publicly-accessible computer-network location containing a complete
Transparent copy of the Document, free of added material, which the
general network-using public has access to download anonymously at no
charge using public-standard network protocols. If you use the latter
option, you must take reasonably prudent steps, when you begin
distribution of Opaque copies in quantity, to ensure that this
Transparent copy will remain thus accessible at the stated location
until at least one year after the last time you distribute an Opaque
copy (directly or through your agents or retailers) of that edition to
the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
@iftex
@sp1
@end iftex
@item
MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.@*
B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has less than five).@*
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.@*
D. Preserve all the copyright notices of the Document.@*
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.@*
F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.@*
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.@*
H. Include an unaltered copy of this License.@*
I. Preserve the section entitled ``History'', and its title, and add to
it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section entitled ``History'' in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.@*
J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the ``History'' section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.@*
K. In any section entitled ``Acknowledgements'' or ``Dedications'',
preserve the section's title, and preserve in the section all the
substance and tone of each of the contributor acknowledgements
and/or dedications given therein.@*
L. Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.@*
M. Delete any section entitled ``Endorsements''. Such a section
may not be included in the Modified Version.@*
N. Do not retitle any existing section as ``Endorsements''
or to conflict in title with any Invariant Section.@*
@iftex
@sp1
@end iftex
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section entitled ``Endorsements'', provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
@iftex
@sp1
@end iftex
@item
COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections entitled ``History''
in the various original documents, forming one section entitled
``History''; likewise combine any sections entitled ``Acknowledgements'',
and any sections entitled ``Dedications''. You must delete all sections
entitled ``Endorsements.''
@iftex
@sp1
@end iftex
@item
COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
@iftex
@sp1
@end iftex
@item
AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, does not as a whole count as a Modified Version
of the Document, provided no compilation copyright is claimed for the
compilation. Such a compilation is called an ``aggregate'', and this
License does not apply to the other self-contained works thus compiled
with the Document, on account of their being thus compiled, if they
are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one quarter
of the entire aggregate, the Document's Cover Texts may be placed on
covers that surround only the Document within the aggregate.
Otherwise they must appear on covers around the whole aggregate.
@iftex
@sp1
@end iftex
@item
TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License provided that you also include the
original English version of this License. In case of a disagreement
between the translation and the original English version of this
License, the original English version will prevail.
@iftex
@sp1
@end iftex
@item
TERMINATION
You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.
@iftex
@sp1
@end iftex
@item
FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License ``or any later version'' applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
@end enumerate
@node How to use this License for your documents
@unnumberedsec ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
@smallexample
@group
Copyright (C) @var{year} @var{your name}.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with the Invariant Sections being @var{list their titles}, with the
Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
@end group
@end smallexample
If you have no Invariant Sections, write ``with no Invariant Sections''
instead of saying which ones are invariant. If you have no
Front-Cover Texts, write ``no Front-Cover Texts'' instead of
``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.

View File

@@ -30,27 +30,32 @@ or a week from Sunday, with feelings of helpless confusion. @dots{}
--- Robert Grudin, @cite{Time and the Art of Living}.
@end quotation
This section describes the textual date representations that GNU
This section describes the textual date representations that @sc{gnu}
programs accept. These are the strings you, as a user, can supply as
arguments to the various programs. The C interface (via the
@code{getdate} function) is not described here.
@cindex beginning of time, for Unix
@cindex epoch, for Unix
Although the date syntax here can represent any possible time since zero
A.D., computer integers are not big enough for such a (comparatively)
long time. The earliest date semantically allowed on Unix systems is
midnight, 1 January 1970 UCT.
@cindex beginning of time, for @sc{posix}
@cindex epoch, for @sc{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
have 32-bit signed @code{time_t} and can represent times from 1901-12-13
20:45:52 through 2038-01-19 03:14:07 @sc{utc}. Systems with 64-bit
signed @code{time_t} can represent all the times in the known
lifetime of the universe.
@menu
* General date syntax:: Common rules.
* Calendar date item:: 19 Dec 1994.
* Time of day item:: 9:20pm.
* Time zone item:: EST, DST, BST, UTC, ...
* Day of week item:: Monday and others.
* Relative item in date strings:: next tuesday, 2 years ago.
* Calendar date items:: 19 Dec 1994.
* Time of day items:: 9:20pm.
* Time zone items:: @sc{est}, @sc{pdt}, @sc{gmt}, ...
* Day of week items:: Monday and others.
* Relative items in date strings:: next tuesday, 2 years ago.
* Pure numbers in date strings:: 19931219, 1440.
* Authors of getdate:: Bellovin, Salz, Berets, et al.
* Authors of getdate:: Bellovin, Eggert, Salz, Berets, et al.
@end menu
@@ -95,6 +100,34 @@ When a month is written this way, it is still considered to be written
numerically, instead of being ``spelled in full''; this changes the
allowed strings.
@cindex language, in dates
In the current implementation, only English is supported for words and
abbreviations like @samp{AM}, @samp{DST}, @samp{EST}, @samp{first},
@samp{January}, @samp{Sunday}, @samp{tomorrow}, and @samp{year}.
@cindex language, in dates
@cindex time zone item
The output of @command{date} is not always acceptable as a date string,
not only because of the language problem, but also because there is no
standard meaning for time zone items like @samp{IST}. When using
@command{date} to generate a date string intended to be parsed later,
specify a date format that is independent of language and that does not
use time zone items other than @samp{UTC} and @samp{Z}. Here are some
ways to do this:
@example
$ LC_ALL=C TZ=UTC0 date
Fri Dec 15 19:48:05 UTC 2000
$ TZ=UTC0 date +"%Y-%m-%d %H:%M:%SZ"
2000-12-15 19:48:05Z
$ date --iso-8601=seconds # a GNU extension
2000-12-15T11:48:05-0800
$ date --rfc-822 # a GNU extension
Fri, 15 Dec 2000 11:48:05 -0800
$ date +"%Y-%m-%d %H:%M:%S %z" # %z is a GNU extension.
2000-12-15 11:48:05 -0800
@end example
@cindex case, ignored in dates
@cindex comments, in dates
Alphabetic case is completely ignored in dates. Comments may be introduced
@@ -103,8 +136,8 @@ nested. Hyphens not followed by a digit are currently ignored. Leading
zeros on numbers are ignored.
@node Calendar date item
@section Calendar date item
@node Calendar date items
@section Calendar date items
@cindex calendar date item
@@ -113,13 +146,14 @@ specified differently, depending on whether the month is specified
numerically or literally. All these strings specify the same calendar date:
@example
1970-09-17 # ISO 8601.
70-9-17 # Assume 19xx for 69 through 99, 20xx for 00 through 68.
70-09-17 # Leading zeros are ignored.
9/17/72 # Common U.S. writing.
1972-09-24 # @sc{iso} 8601.
72-9-24 # Assume 19xx for 69 through 99,
# 20xx for 00 through 68.
72-09-24 # Leading zeros are ignored.
9/24/72 # Common U.S. writing.
24 September 1972
24 Sept 72 # September has a special abbreviation.
24 Sep 72 # Three-letter abbreviations always allowed.
24 Sept 72 # September has a special abbreviation.
24 Sep 72 # Three-letter abbreviations always allowed.
Sep 24, 1972
24-sep-72
24sep72
@@ -129,15 +163,15 @@ The year can also be omitted. In this case, the last specified year is
used, or the current year if none. For example:
@example
9/17
sep 17
9/24
sep 24
@end example
Here are the rules.
@cindex ISO 8601 date format
@cindex date format, ISO 8601
For numeric months, the ISO 8601 format
@cindex @sc{iso} 8601 date format
@cindex date format, @sc{iso} 8601
For numeric months, the @sc{iso} 8601 format
@samp{@var{year}-@var{month}-@var{day}} is allowed, where @var{year} is
any positive number, @var{month} is a number between 01 and 12, and
@var{day} is a number between 01 and 31. A leading zero must be present
@@ -173,8 +207,8 @@ Or, omitting the year:
@end example
@node Time of day item
@section Time of day item
@node Time of day items
@section Time of day items
@cindex time of day item
@@ -185,7 +219,7 @@ day. Here are some examples, all of which represent the same time:
20:02:0
20:02
8:02pm
20:02-0500 # In EST (Eastern U.S. Standard Time).
20:02-0500 # In @sc{est} (U.S. Eastern Standard Time).
@end example
More generally, the time of the day may be given as
@@ -205,6 +239,9 @@ or @samp{p.m.}), @var{hour} is restricted to run from 1 to 12, and
indicates the first half of the day, @samp{pm} indicates the second
half of the day. In this notation, 12 is the predecessor of 1:
midnight is @samp{12am} while noon is @samp{12pm}.
(This is the zero-oriented interpretation of @samp{12am} and @samp{12pm},
as opposed to the old tradition derived from Latin
which uses @samp{12m} for noon and @samp{12pm} for midnight.)
@cindex time zone correction
@cindex minutes, time zone correction by
@@ -213,138 +250,39 @@ expressed as @samp{@var{s}@var{hh}@var{mm}}, where @var{s} is @samp{+}
or @samp{-}, @var{hh} is a number of zone hours and @var{mm} is a number
of zone minutes. When a time zone correction is given this way, it
forces interpretation of the time relative to
Coordinated Universal Time (UTC), overriding any previous
Coordinated Universal Time (@sc{utc}), overriding any previous
specification for the time zone or the local time zone. The @var{minute}
part of the time of the day may not be elided when a time zone correction
is used. This is the only way to specify a time zone correction by
is used. This is the best way to specify a time zone correction by
fractional parts of an hour.
Either @samp{am}/@samp{pm} or a time zone correction may be specified,
but not both.
@node Time zone item
@section Time zone item
@node Time zone items
@section Time zone items
@cindex time zone item
A @dfn{time zone item} specifies an international time zone, indicated by
a small set of letters. They are supported for backward compatibility reasons,
but they are not recommended because they are ambiguous in practice:
for example, the abbreviation @samp{EST} has different meanings in
Australia and the United States. Any included period is ignored. Military
time zone designations use a single letter. Currently, only integral
zone hours may be represented in a time zone item. See the previous
section for a finer control over the time zone correction.
A @dfn{time zone item} specifies an international time zone, indicated
by a small set of letters, e.g., @samp{UTC} or @samp{Z}
for Coordinated Universal
Time. Any included periods are ignored. By following a
non-daylight-saving time zone by the string @samp{DST} in a separate
word (that is, separated by some white space), the corresponding
daylight saving time zone may be specified.
Here are many non-daylight-saving-time time zones, indexed by the zone
hour value.
@table @asis
@item -1200
@samp{Y} for militaries.
@item -1100
@samp{X} for militaries.
@item -1000
@samp{W} for militaries.
@item -0900
@samp{V} for militaries.
@item -0800
@samp{PST} for Pacific Standard, and
@samp{U} for militaries.
@item -0700
@samp{MST} for Mountain Standard, and
@samp{T} for militaries.
@item -0600
@samp{CST} for Central Standard, and
@samp{S} for militaries.
@item -0500
@samp{EST} for Eastern Standard, and
@samp{R} for militaries.
@item -0400
@samp{AST} for Atlantic Standard, and
@samp{Q} for militaries.
@item -0300
@samp{P} for militaries.
@item -0200
@samp{O} for militaries.
@item -0100
@samp{N} for militaries.
@item +0000
@cindex Greenwich Mean Time
@cindex Coordinated Universal Time
@cindex Universal Coordinated Time
@cindex Universal Time (Coordinated)
@samp{GMT} for Greenwich Mean,
@samp{UT} for Universal,
@samp{UTC} for Coordinated Universal,
@samp{WET} for Western European, and
@samp{Z} for ISO 8601 and militaries.
@item +0100
@samp{A} for militaries,
@samp{CET} for Central European,
@samp{MET} for Midden Europesche Tijd (Dutch), and
@samp{MEZ} for Mittel-Europ@"aische Zeit (German).
@item +0200
@samp{B} for militaries, and
@samp{EET} for Eastern European.
@item +0300
@samp{C} for militaries.
@item +0400
@samp{D} for militaries.
@item +0500
@samp{E} for militaries.
@item +0600
@samp{F} for militaries.
@item +0700
@samp{G} for militaries.
@item +0800
@samp{H} for militaries.
@item +0900
@samp{I} for militaries, and
@samp{JST} for Japan Standard.
@item +1000
@samp{GST} for Guam Standard, and
@samp{K} for militaries.
@item +1100
@samp{L} for militaries.
@item +1200
@samp{M} for militaries, and
@samp{NZST} for New Zealand Standard.
@end table
@cindex daylight-saving time
Here are many daylight-saving time (DST) time zones,
indexed by the zone hour value. Also, by
following a non-DST time zone by the string @samp{DST} in a separate word
(that is, separated by some whitespace), the corresponding DST time zone
may be specified.
@table @asis
@item -0700
@samp{PDT} for Pacific Daylight.
@item -0600
@samp{MDT} for Mountain Daylight.
@item -0500
@samp{CDT} for Central Daylight.
@item -0400
@samp{EDT} for Eastern Daylight.
@item -0300
@samp{ADT} for Atlantic Daylight.
@item +0100
@samp{BST} for British Summer, and
@samp{WEST} for Western European Summer.
@item +0200
@samp{CEST} for Central European Summer,
@samp{MEST} for Midden Europesche S. Tijd (Dutch), and
@samp{MESZ} for Mittel-Europ@"aische Sommerzeit (German).
@item +1300
@samp{NZDT} for New Zealand Daylight.
@end table
Time zone items other than @samp{UTC} and @samp{Z}
are obsolescent and are not recommended, because they
are ambiguous; for example, @samp{EST} has a different meaning in
Australia than in the United States. Instead, it's better to use
unambiguous numeric time zone corrections like @samp{-0500}, as
described in the previous section.
@node Day of week item
@section Day of week item
@node Day of week items
@section Day of week items
@cindex day of week item
@@ -370,8 +308,8 @@ the day that @var{day} by itself would represent.
A comma following a day of the week item is ignored.
@node Relative item in date strings
@section Relative item in date strings
@node Relative items in date strings
@section Relative items in date strings
@cindex relative items in date strings
@cindex displacement of dates
@@ -408,7 +346,7 @@ The unit of time may be preceded by a multiplier, given as an optionally
signed number. Unsigned numbers are taken as positively signed. No
number at all implies 1 for a multiplier. Following a relative item by
the string @samp{ago} is equivalent to preceding the unit by a
multiplicator with value @math{-1}.
multiplier with value @math{-1}.
@findex day @r{in date strings}
@findex tomorrow @r{in date strings}
@@ -423,14 +361,14 @@ one day in the past (equivalent to @samp{day ago}).
The strings @samp{now} or @samp{today} are relative items corresponding
to zero-valued time displacement, these strings come from the fact
a zero-valued time displacement represents the current time when not
otherwise change by previous items. They may be used to stress other
otherwise changed by previous items. They may be used to stress other
items, like in @samp{12:00 today}. The string @samp{this} also has
the meaning of a zero-valued time displacement, but is preferred in
date strings like @samp{this thursday}.
When a relative item makes the resulting date to cross the boundary
between DST and non-DST (or vice-versa), the hour is adjusted according
to the local time.
When a relative item causes the resulting date to cross a boundary
where the clocks were adjusted, typically for daylight-saving time,
the resulting date and time are adjusted accordingly.
@node Pure numbers in date strings
@@ -438,11 +376,11 @@ to the local time.
@cindex pure numbers in date strings
The precise intepretation of a pure decimal number is dependent of
the context in the date string.
The precise interpretation of a pure decimal number depends
on the context in the date string.
If the decimal number is of the form @var{yyyy}@var{mm}@var{dd} and no
other calendar date item (@pxref{Calendar date item}) appears before it
other calendar date item (@pxref{Calendar date items}) appears before it
in the date string, then @var{yyyy} is read as the year, @var{mm} as the
month number and @var{dd} as the day of the month, for the specified
calendar date.
@@ -467,13 +405,14 @@ year.
@cindex Berets, Jim
@cindex MacKenzie, David
@cindex Meyering, Jim
@cindex Eggert, Paul
@code{getdate} was originally implemented by Steven M. Bellovin
(@email{smb@@research.att.com}) while at the University of North Carolina
at Chapel Hill. The code was later tweaked by a couple of people on
Usenet, then completely overhauled by Rich $alz (@email{rsalz@@bbn.com})
and Jim Berets (@email{jberets@@bbn.com}) in August, 1990. Various
revisions for the GNU system were made by David MacKenzie, Jim Meyering,
and others.
revisions for the @sc{gnu} system were made by David MacKenzie, Jim Meyering,
Paul Eggert and others.
@cindex Pinard, F.
@cindex Berry, K.

View File

@@ -69,11 +69,12 @@ matter what group the user who creates them is in.
@cindex sticky
@cindex swap space, saving text image in
@cindex text image, saving in swap space
@cindex append-only directories
@cindex restricted deletion flag
save the program's text image on the swap device so it will load more
quickly when run (called the @dfn{sticky bit}). For directories on some
systems, prevent users from removing files that they do not own in the
directory; this is called making the directory @dfn{append-only}.
systems, prevent users from removing or renaming a file in a directory
unless they own the file or the directory; this is called the
@dfn{restricted deletion flag} for the directory.
@end enumerate
@node Symbolic Modes
@@ -118,7 +119,7 @@ format:
@noindent
The spaces between the three parts above are shown for readability only;
symbolic modes can not contain spaces.
symbolic modes cannot contain spaces.
The @var{users} part tells which users' access to the file is changed.
It consists of one or more of the following letters (or it can be empty;
@@ -276,18 +277,8 @@ o+t
Remember that the special permissions only affect files that are
executable, plus, on some systems, directories (on which they have
different meanings; @pxref{Mode Structure}). Using @samp{a}
in the @var{users} part of a symbolic mode does not cause the special
permissions to be affected; thus,
@example
a+s
@end example
@noindent
has @emph{no effect}. You must use @samp{u}, @samp{g}, and @samp{o}
explicitly to affect the special permissions. Also, the
combinations @samp{u+t}, @samp{g+t}, and @samp{o+s} have no effect.
different meanings; @pxref{Mode Structure}).
Also, the combinations @samp{u+t}, @samp{g+t}, and @samp{o+s} have no effect.
The @samp{=} operator is not very useful with special permissions; for
example, the mode:
@@ -342,7 +333,7 @@ og+rX-w
gives users other than the owner of the file read permission and, if
it is a directory or if someone already had execute permission
to it, gives them execute permission; and it also denies them write
permission to it file. It does not affect the permission that the
permission to the file. It does not affect the permission that the
owner of the file has for it. The above mode is equivalent to
the two modes:
@@ -437,7 +428,7 @@ This number is always interpreted in octal; you do not have to add a
leading 0, as you do in C. Mode 0055 is the same as mode 55.
A numeric mode is usually shorter than the corresponding symbolic
mode, but it is limited in that it can not take into account a file's
mode, but it is limited in that it cannot take into account a file's
previous permissions; it can only set them absolutely.
On most systems, the permissions granted to the user,

File diff suppressed because it is too large Load Diff

View File

@@ -3,10 +3,10 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{1999-09-25.10}
\def\texinfoversion{2001-07-25.07}
%
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
% Free Software Foundation, Inc.
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
% 2000, 01 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software; you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -170,6 +170,16 @@
}%
\fi
% add check for \lastpenalty to plain's definitions. If the last thing
% we did was a \nobreak, we don't want to insert more space.
%
\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
\removelastskip\penalty-50\smallskip\fi\fi}
\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
\removelastskip\penalty-100\medskip\fi\fi}
\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
\removelastskip\penalty-200\bigskip\fi\fi}
% For @cropmarks command.
% Do @cropmarks to get crop marks.
%
@@ -214,6 +224,9 @@
\normalturnoffactive % \ in index entries must not stay \, e.g., if
% the page break happens to be in the middle of an example.
\shipout\vbox{%
% Do this early so pdf references go to the beginning of the page.
\ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
%
\ifcropmarks \vbox to \outervsize\bgroup
\hsize = \outerhsize
\vskip-\topandbottommargin
@@ -243,8 +256,6 @@
\unvbox\footlinebox
\fi
%
\ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
%
\ifcropmarks
\egroup % end of \vbox\bgroup
\hfil\egroup % end of (centering) \line\bgroup
@@ -430,7 +441,7 @@
% environments. --karl, 6may93
%{\advance \baselineskip by -\singlespaceskip
%\kern \baselineskip}%
\setleading \singlespaceskip
\setleading\singlespaceskip
}
%% Simple single-character @ commands
@@ -687,16 +698,54 @@ where each line of input produces a line of output.}
\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
\leftline{\hskip\leftskip{\rm#1}}}}
% @inmargin{TEXT} puts TEXT in the margin next to the current paragraph.
\def\inmargin#1{%
\strut\vadjust{\nobreak\kern-\strutdepth
\vtop to \strutdepth{\baselineskip\strutdepth\vss
\llap{\rightskip=\inmarginspacing \vbox{\noindent #1}}\null}}}
% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
% paragraph. For more general purposes, use the \margin insertion
% class. WHICH is `l' or `r'.
%
\newskip\inmarginspacing \inmarginspacing=1cm
\def\strutdepth{\dp\strutbox}
%\hbox{{\rm#1}}\hfil\break}}
%
\def\doinmargin#1#2{\strut\vadjust{%
\nobreak
\kern-\strutdepth
\vtop to \strutdepth{%
\baselineskip=\strutdepth
\vss
% if you have multiple lines of stuff to put here, you'll need to
% make the vbox yourself of the appropriate size.
\ifx#1l%
\llap{\ignorespaces #2\hskip\inmarginspacing}%
\else
\rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
\fi
\null
}%
}}
\def\inleftmargin{\doinmargin l}
\def\inrightmargin{\doinmargin r}
%
% @inmargin{TEXT [, RIGHT-TEXT]}
% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
% else use TEXT for both).
%
\def\inmargin#1{\parseinmargin #1,,\finish}
\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
\setbox0 = \hbox{\ignorespaces #2}%
\ifdim\wd0 > 0pt
\def\lefttext{#1}% have both texts
\def\righttext{#2}%
\else
\def\lefttext{#1}% have only one text
\def\righttext{#1}%
\fi
%
\ifodd\pageno
\def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
\else
\def\temp{\inleftmargin\lefttext}%
\fi
\temp
}
% @include file insert text of that file as input.
% Allow normal characters that we make active in the argument (a file name).
@@ -885,13 +934,17 @@ where each line of input produces a line of output.}
\fi
\ifx\empty\imagewidth\else width \imagewidth \fi
\ifx\empty\imageheight\else height \imageheight \fi
{#1.pdf}%
\ifnum\pdftexversion<13
#1.pdf%
\else
{#1.pdf}%
\fi
\ifnum\pdftexversion < 14 \else
\pdfrefximage \pdflastximage
\fi}
\def\pdfmkdest#1{\pdfdest name{#1@} xyz}
\def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}}
\def\pdfmkpgn#1{#1@}
\let\linkcolor = \Cyan
\let\linkcolor = \Blue % was Cyan, but that seems light?
\def\endlink{\Black\pdfendlink}
% Adding outlines to PDF; macros for calculating structure of outlines
% come from Petr Olsak
@@ -906,7 +959,8 @@ where each line of input produces a line of output.}
\closein 1
\indexnofonts
\def\tt{}
% thanh's hack / proper braces in bookmarks
\let\_ = \normalunderscore
% Thanh's hack / proper braces in bookmarks
\edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
\edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
%
@@ -986,6 +1040,7 @@ where each line of input produces a line of output.}
\def\pdfurl#1{%
\begingroup
\normalturnoffactive\def\@{@}%
\let\value=\expandablevalue
\leavevmode\Red
\startlink attr{/Border [0 0 0]}%
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
@@ -1013,9 +1068,8 @@ where each line of input produces a line of output.}
\def\makelink{\addtokens{\toksB}%
{\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
\def\pdflink#1{%
\startlink attr{/Border [0 0 0]} goto name{\mkpgn{#1}}
\startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
\linkcolor #1\endlink}
\def\mkpgn#1{#1@}
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
\fi % \ifx\pdfoutput
@@ -1032,9 +1086,29 @@ where each line of input produces a line of output.}
% We don't need math for this one.
\def\ttsl{\tenttsl}
% Default leading.
\newdimen\textleading \textleading = 13.2pt
% Set the baselineskip to #1, and the lineskip and strut size
% correspondingly. There is no deep meaning behind these magic numbers
% used as factors; they just match (closely enough) what Knuth defined.
%
\def\lineskipfactor{.08333}
\def\strutheightpercent{.70833}
\def\strutdepthpercent {.29167}
%
\def\setleading#1{%
\normalbaselineskip = #1\relax
\normallineskip = \lineskipfactor\normalbaselineskip
\normalbaselines
\setbox\strutbox =\hbox{%
\vrule width0pt height\strutheightpercent\baselineskip
depth \strutdepthpercent \baselineskip
}%
}
% Use Computer Modern fonts at \magstephalf (11pt).
\newcount\mainmagstep
\mainmagstep=\magstephalf
\newcount\mainmagstep \mainmagstep=\magstephalf
% Set the font macro #1 to the font named #2, adding on the
% specified font prefix (normally `cm').
@@ -1101,6 +1175,18 @@ where each line of input produces a line of output.}
\font\smalli=cmmi9
\font\smallsy=cmsy9
% Fonts for small examples (8pt).
\setfont\smallerrm\rmshape{8}{1000}
\setfont\smallertt\ttshape{8}{1000}
\setfont\smallerbf\bfshape{10}{800}
\setfont\smallerit\itshape{8}{1000}
\setfont\smallersl\slshape{8}{1000}
\setfont\smallersf\sfshape{8}{1000}
\setfont\smallersc\scshape{10}{800}
\setfont\smallerttsl\ttslshape{10}{800}
\font\smalleri=cmmi8
\font\smallersy=cmsy8
% Fonts for title page:
\setfont\titlerm\rmbshape{12}{\magstep3}
\setfont\titleit\itbshape{10}{\magstep4}
@@ -1189,7 +1275,7 @@ where each line of input produces a line of output.}
\let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
\let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
\let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl
\resetmathfonts}
\resetmathfonts \setleading{\textleading}}
\def\titlefonts{%
\let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
\let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
@@ -1218,7 +1304,14 @@ where each line of input produces a line of output.}
\let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
\let\tenttsl=\smallttsl
\resetmathfonts \setleading{11pt}}
\resetmathfonts \setleading{10.5pt}}
\def\smallerfonts{%
\let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
\let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
\let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
\let\tenttsl=\smallerttsl
\resetmathfonts \setleading{9.5pt}}
\let\smallexamplefonts = \smallerfonts
% Set up the default fonts, so we can use them for creating boxes.
%
@@ -1521,6 +1614,10 @@ where each line of input produces a line of output.}
\oldpage
\endgroup
%
% Need this before the \...aftertitlepage checks so that if they are
% in effect the toc pages will come out with page numbers.
\HEADINGSon
%
% If they want short, they certainly want long too.
\ifsetshortcontentsaftertitlepage
\shortcontents
@@ -1536,8 +1633,6 @@ where each line of input produces a line of output.}
\fi
%
\ifpdf \pdfmakepagedesttrue \fi
%
\HEADINGSon
}
\def\finishtitlepage{%
@@ -1670,7 +1765,10 @@ where each line of input produces a line of output.}
}
% Subroutines used in generating headings
% Produces Day Month Year style of output.
% This produces Day Month Year style of output.
% Only define if not already defined, in case a txi-??.tex file has set
% up a different format (e.g., txi-cs.tex does this).
\ifx\today\undefined
\def\today{%
\number\day\space
\ifcase\month
@@ -1679,6 +1777,7 @@ where each line of input produces a line of output.}
\or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
\fi
\space\number\year}
\fi
% @settitle line... specifies the title of the document, for headings.
% It generates no output of its own.
@@ -2295,13 +2394,15 @@ width0pt\relax} \fi
%
\def\ignore{\doignore{ignore}}
% Ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu, and @direntry text.
% Also ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu,
% @documentdescription, and @direntry text.
%
\def\ifinfo{\doignore{ifinfo}}
\def\ifhtml{\doignore{ifhtml}}
\def\ifnottex{\doignore{ifnottex}}
\def\html{\doignore{html}}
\def\menu{\doignore{menu}}
\def\documentdescription{\doignore{documentdescription}}
\def\direntry{\doignore{direntry}}
% @dircategory CATEGORY -- specify a category of the dir file
@@ -2408,10 +2509,14 @@ width0pt\relax} \fi
\let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont
\let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont
\let\tensf=\nullfont
% Similarly for index fonts (mostly for their use in smallexample).
% Similarly for index fonts.
\let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont
\let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont
\let\smallsf=\nullfont
% Similarly for smallexample fonts.
\let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont
\let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont
\let\smallersf=\nullfont
%
% Don't complain when characters are missing from the fonts.
\tracinglostchars = 0
@@ -2587,42 +2692,48 @@ width0pt\relax} \fi
}
% @defindex foo == \newindex{foo}
%
\def\defindex{\parsearg\newindex}
% Define @defcodeindex, like @defindex except put all entries in @code.
%
\def\defcodeindex{\parsearg\newcodeindex}
%
\def\newcodeindex#1{%
\iflinks
\expandafter\newwrite \csname#1indfile\endcsname
\openout \csname#1indfile\endcsname \jobname.#1
\fi
\expandafter\xdef\csname#1index\endcsname{%
\noexpand\docodeindex{#1}}
\noexpand\docodeindex{#1}}%
}
\def\defcodeindex{\parsearg\newcodeindex}
% @synindex foo bar makes index foo feed into index bar.
% Do this instead of @defindex foo if you don't want it as a separate index.
% The \closeout helps reduce unnecessary open files; the limit on the
% Acorn RISC OS is a mere 16 files.
\def\synindex#1 #2 {%
\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
\expandafter\closeout\csname#1indfile\endcsname
\expandafter\let\csname#1indfile\endcsname=\synindexfoo
\expandafter\xdef\csname#1index\endcsname{% define \xxxindex
\noexpand\doindex{#2}}%
}
%
% @syncodeindex foo bar similar, but put all entries made for index foo
% inside @code.
\def\syncodeindex#1 #2 {%
\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
\expandafter\closeout\csname#1indfile\endcsname
\expandafter\let\csname#1indfile\endcsname=\synindexfoo
\expandafter\xdef\csname#1index\endcsname{% define \xxxindex
\noexpand\docodeindex{#2}}%
%
\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
% #3 the target index (bar).
\def\dosynindex#1#2#3{%
% Only do \closeout if we haven't already done it, else we'll end up
% closing the target index.
\expandafter \ifx\csname donesynindex#2\endcsname \undefined
% The \closeout helps reduce unnecessary open files; the limit on the
% Acorn RISC OS is a mere 16 files.
\expandafter\closeout\csname#2indfile\endcsname
\expandafter\let\csname\donesynindex#2\endcsname = 1
\fi
% redefine \fooindfile:
\expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
\expandafter\let\csname#2indfile\endcsname=\temp
% redefine \fooindex:
\expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
}
% Define \doindex, the driver for all \fooindex macros.
@@ -2854,16 +2965,17 @@ width0pt\relax} \fi
% Now the real index entry with the fonts.
\toks0 = {#2}%
%
% If third (subentry) arg is present, add it to the index
% string. And include a space.
% If the third (subentry) arg is present, add it to the index
% line to write.
\ifx\thirdarg\emptymacro \else
\toks0 = \expandafter{\the\toks0 \space #3}%
\toks0 = \expandafter{\the\toks0{#3}}%
\fi
%
% Set up the complete index entry, with both the sort key
% and the original text, including any font commands. We write
% three arguments to \entry to the .?? file, texindex reduces to
% two when writing the .??s sorted result.
% Set up the complete index entry, with both the sort key and
% the original text, including any font commands. We write
% three arguments to \entry to the .?? file (four in the
% subentry case), texindex reduces to two when writing the .??s
% sorted result.
\edef\temp{%
\write\csname#1indfile\endcsname{%
\realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
@@ -3085,11 +3197,18 @@ width0pt\relax} \fi
\def\primary #1{\line{#1\hfil}}
\newskip\secondaryindent \secondaryindent=0.5cm
\def\secondary #1#2{
{\parfillskip=0in \parskip=0in
\hangindent =1in \hangafter=1
\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par
\def\secondary#1#2{{%
\parfillskip=0in
\parskip=0in
\hangindent=1in
\hangafter=1
\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
\ifpdf
\pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
\else
#2
\fi
\par
}}
% Define two-column mode, which we use to typeset indexes.
@@ -3149,7 +3268,6 @@ width0pt\relax} \fi
%
% Double the \vsize as well. (We don't need a separate register here,
% since nobody clobbers \vsize.)
\advance\vsize by -\ht\partialpage
\vsize = 2\vsize
}
@@ -3163,6 +3281,7 @@ width0pt\relax} \fi
% previous page.
\dimen@ = \vsize
\divide\dimen@ by 2
\advance\dimen@ by -\ht\partialpage
%
% box0 will be the left-hand column, box2 the right.
\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
@@ -3170,15 +3289,18 @@ width0pt\relax} \fi
\unvbox255
\penalty\outputpenalty
}
%
% Re-output the contents of the output page -- any previous material,
% followed by the two boxes we just split, in box0 and box2.
\def\pagesofar{%
% Re-output the contents of the output page -- any previous material,
% followed by the two boxes we just split, in box0 and box2.
\unvbox\partialpage
%
\hsize = \doublecolumnhsize
\wd0=\hsize \wd2=\hsize
\hbox to\pagewidth{\box0\hfil\box2}%
}
%
% All done with double columns.
\def\enddoublecolumns{%
\output = {%
% Split the last of the double-column material. Leave it on the
@@ -3203,8 +3325,9 @@ width0pt\relax} \fi
% \endgroup where \vsize got restored).
\pagegoal = \vsize
}
%
% Called at the end of the double column material.
\def\balancecolumns{%
% Called at the end of the double column material.
\setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
\dimen@ = \ht0
\advance\dimen@ by \topskip
@@ -4080,9 +4203,17 @@ width0pt\relax} \fi
% is reset to zero; thus the \afterenvbreak inserts no space -- but the
% start of the next paragraph will insert \parskip
%
\def\aboveenvbreak{{\advance\envskipamount by \parskip
\endgraf \ifdim\lastskip<\envskipamount
\removelastskip \penalty-50 \vskip\envskipamount \fi}}
\def\aboveenvbreak{{%
\ifnum\lastpenalty < 10000
\advance\envskipamount by \parskip
\endgraf
\ifdim\lastskip<\envskipamount
\removelastskip
\penalty-50
\vskip\envskipamount
\fi
\fi
}}
\let\afterenvbreak = \aboveenvbreak
@@ -4214,7 +4345,7 @@ width0pt\relax} \fi
\def\smalllispx{\begingroup
\def\Esmalllisp{\nonfillfinish\endgroup}%
\def\Esmallexample{\nonfillfinish\endgroup}%
\smallfonts
\smallexamplefonts
\lisp
}
@@ -4225,12 +4356,12 @@ width0pt\relax} \fi
\let\Edisplay = \nonfillfinish
\gobble
}
%
% @smalldisplay (when @smallbook): @display plus smaller fonts.
%
\def\smalldisplayx{\begingroup
\def\Esmalldisplay{\nonfillfinish\endgroup}%
\smallfonts \rm
\smallexamplefonts \rm
\display
}
@@ -4242,12 +4373,12 @@ width0pt\relax} \fi
\let\Eformat = \nonfillfinish
\gobble
}
%
% @smallformat (when @smallbook): @format plus smaller fonts.
%
\def\smallformatx{\begingroup
\def\Esmallformat{\nonfillfinish\endgroup}%
\smallfonts \rm
\smallexamplefonts \rm
\format
}
@@ -4265,6 +4396,7 @@ width0pt\relax} \fi
\gobble
}
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
% and narrows the margins.
%
@@ -4287,6 +4419,158 @@ width0pt\relax} \fi
}
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
% If we want to allow any <char> as delimiter,
% we need the curly braces so that makeinfo sees the @verb command, eg:
% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org
%
% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook.
%
% [Knuth] p. 344; only we need to do '@' too
\def\dospecials{%
\do\ \do\\\do\@\do\{\do\}\do\$\do\&%
\do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
%
% [Knuth] p. 380
\def\uncatcodespecials{%
\def\do##1{\catcode`##1=12}\dospecials}
%
% [Knuth] pp. 380,381,391
% Disable Spanish ligatures ?` and !` of \tt font
\begingroup
\catcode`\`=\active\gdef`{\relax\lq}
\endgroup
%
% Setup for the @verb command.
%
% Eight spaces for a tab
\begingroup
\catcode`\^^I=\active
\gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
\endgroup
%
\def\setupverb{%
\tt % easiest (and conventionally used) font for verbatim
\def\par{\leavevmode\endgraf}%
\catcode`\`=\active
\tabeightspaces
% Respect line breaks,
% print special symbols as themselves, and
% make each space count
% must do in this order:
\obeylines \uncatcodespecials \sepspaces
}
% Setup for the @verbatim environment
%
% Real tab expansion
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
%
\def\starttabbox{\setbox0=\hbox\bgroup}
\begingroup
\catcode`\^^I=\active
\gdef\tabexpand{%
\catcode`\^^I=\active
\def^^I{\leavevmode\egroup
\dimen0=\wd0 % the width so far, or since the previous tab
\divide\dimen0 by\tabw
\multiply\dimen0 by\tabw % compute previous multiple of \tabw
\advance\dimen0 by\tabw % advance to next multiple of \tabw
\wd0=\dimen0 \box0 \starttabbox
}%
}
\endgroup
\def\setupverbatim{%
% Easiest (and conventionally used) font for verbatim
\tt
\def\par{\leavevmode\egroup\box0\endgraf}%
\catcode`\`=\active
\tabexpand
% Respect line breaks,
% print special symbols as themselves, and
% make each space count
% must do in this order:
\obeylines \uncatcodespecials \sepspaces
\everypar{\starttabbox}%
}
% Do the @verb magic: verbatim text is quoted by unique
% delimiter characters. Before first delimiter expect a
% right brace, after last delimiter expect closing brace:
%
% \def\doverb'{'<char>#1<char>'}'{#1}
%
% [Knuth] p. 382; only eat outer {}
\begingroup
\catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12
\gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
\endgroup
%
\def\verb{\begingroup\setupverb\doverb}
%
%
% Do the @verbatim magic: define the macro \doverbatim so that
% the (first) argument ends when '@end verbatim' is reached, ie:
%
% \def\doverbatim#1@end verbatim{#1}
%
% For Texinfo it's a lot easier than for LaTeX,
% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
% we need not redefine '\', '{' and '}'
%
% Inspired by LaTeX's verbatim command set [latex.ltx]
%% Include LaTeX hack for completeness -- never know
%% \begingroup
%% \catcode`|=0 \catcode`[=1
%% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active
%% \catcode`\\=12|gdef|doverbatim#1@end verbatim[
%% #1|endgroup|def|Everbatim[]|end[verbatim]]
%% |endgroup
\begingroup
\catcode`\ =\active
\gdef\doverbatim#1@end verbatim{#1\end{verbatim}}
\endgroup
%
\def\verbatim{%
\def\Everbatim{\nonfillfinish\endgroup}%
\begingroup
\nonfillstart
\advance\leftskip by -\defbodyindent
\begingroup\setupverbatim\doverbatim
}
% @verbatiminclude FILE - insert text of file in verbatim environment.
%
% Allow normal characters that we make active in the argument (a file name).
\def\verbatiminclude{%
\begingroup
\catcode`\\=12
\catcode`~=12
\catcode`^=12
\catcode`_=12
\catcode`|=12
\catcode`<=12
\catcode`>=12
\catcode`+=12
\parsearg\doverbatiminclude
}
\def\setupverbatiminclude{%
\begingroup
\nonfillstart
\advance\leftskip by -\defbodyindent
\begingroup\setupverbatim
}
%
\def\doverbatiminclude#1{%
% Restore active chars for included file.
\endgroup
\begingroup
\def\thisfile{#1}%
\expandafter\expandafter\setupverbatiminclude\input\thisfile
\endgroup\nonfillfinish\endgroup
}
\message{defuns,}
% @defun etc.
@@ -4710,7 +4994,8 @@ width0pt\relax} \fi
\def\deftypeivarheader#1#2#3{%
\dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index
\begingroup
\defname{#3}{\putwordInstanceVariableof\ \code{#1}}%
\defname{\defheaderxcond#2\relax$$$#3}
{\putwordInstanceVariableof\ \code{#1}}%
\defvarargs{#3}%
\endgroup
}
@@ -5244,13 +5529,15 @@ width0pt\relax} \fi
\ifpdf
\leavevmode
\getfilename{#4}%
\ifnum\filenamelength>0
\startlink attr{/Border [0 0 0]}%
goto file{\the\filename.pdf} name{#1@}%
\else
\startlink attr{/Border [0 0 0]}%
goto name{#1@}%
\fi
{\normalturnoffactive
\ifnum\filenamelength>0
\startlink attr{/Border [0 0 0]}%
goto file{\the\filename.pdf} name{#1}%
\else
\startlink attr{/Border [0 0 0]}%
goto name{#1}%
\fi
}%
\linkcolor
\fi
%
@@ -5530,24 +5817,6 @@ width0pt\relax} \fi
}%end \catcode `\@=11
% Set the baselineskip to #1, and the lineskip and strut size
% correspondingly. There is no deep meaning behind these magic numbers
% used as factors; they just match (closely enough) what Knuth defined.
%
\def\lineskipfactor{.08333}
\def\strutheightpercent{.70833}
\def\strutdepthpercent {.29167}
%
\def\setleading#1{%
\normalbaselineskip = #1\relax
\normallineskip = \lineskipfactor\normalbaselineskip
\normalbaselines
\setbox\strutbox =\hbox{%
\vrule width0pt height\strutheightpercent\baselineskip
depth \strutdepthpercent \baselineskip
}%
}
% @| inserts a changebar to the left of the current line. It should
% surround any changed text. This approach does *not* work if the
% change spans more than two lines of output. To handle that, we would
@@ -5619,8 +5888,10 @@ width0pt\relax} \fi
% Arguments to @image:
% #1 is (mandatory) image filename; we tack on .eps extension.
% #2 is (optional) width, #3 is (optional) height.
% #4 is just the usual extra ignored arg for parsing this stuff.
\def\imagexxx#1,#2,#3,#4\finish{%
% #4 is (ignored optional) html alt text.
% #5 is (ignored optional) extension.
% #6 is just the usual extra ignored arg for parsing this stuff.
\def\imagexxx#1,#2,#3,#4,#5,#6\finish{%
\ifpdf
\centerline{\dopdfimage{#1}{#2}{#3}}%
\else
@@ -5628,7 +5899,8 @@ width0pt\relax} \fi
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
\begingroup
\catcode`\^^M = 5 % in case we're inside an example
\catcode`\^^M = 5 % in case we're inside an example
\normalturnoffactive % allow _ et al. in names
% If the image is by itself, center it.
\ifvmode
\nobreak\bigskip
@@ -5714,8 +5986,9 @@ should work if nowhere else does.}
}
% Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
% 4) hoffset; 5) binding offset; 6) topskip. Then whoever calls us can
% set \parskip and call \setleading for \baselineskip.
% 4) hoffset; 5) binding offset; 6) topskip. We also call
% \setleading{\textleading}, so the caller should define \textleading.
% The caller should also set \parskip.
%
\def\internalpagesizes#1#2#3#4#5#6{%
\voffset = #3\relax
@@ -5736,14 +6009,25 @@ should work if nowhere else does.}
\normaloffset = #4\relax
\bindingoffset = #5\relax
%
\setleading{\textleading}
%
\parindent = \defaultparindent
\setemergencystretch
}
% Use `small' versions.
%
\def\smallenvironments{%
\let\smalldisplay = \smalldisplayx
\let\smallexample = \smalllispx
\let\smallformat = \smallformatx
\let\smalllisp = \smalllispx
}
% @letterpaper (the default).
\def\letterpaper{{\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt
\setleading{13.2pt}%
\textleading = 13.2pt
%
% If page is nothing but text, make it come out even.
\internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}%
@@ -5752,7 +6036,7 @@ should work if nowhere else does.}
% Use @smallbook to reset parameters for 7x9.5 (or so) format.
\def\smallbook{{\globaldefs = 1
\parskip = 2pt plus 1pt
\setleading{12pt}%
\textleading = 12pt
%
\internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}%
%
@@ -5762,17 +6046,13 @@ should work if nowhere else does.}
\contentsrightmargin = 0pt
\deftypemargin = 0pt
\defbodyindent = .5cm
%
\let\smalldisplay = \smalldisplayx
\let\smallexample = \smalllispx
\let\smallformat = \smallformatx
\let\smalllisp = \smalllispx
\smallenvironments
}}
% Use @afourpaper to print on European A4 paper.
\def\afourpaper{{\globaldefs = 1
\setleading{12pt}%
\parskip = 3pt plus 2pt minus 1pt
\textleading = 12pt
%
\internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}%
%
@@ -5780,23 +6060,39 @@ should work if nowhere else does.}
\hfuzz = 1pt
}}
% Use @afivepaper to print on European A5 paper.
% From romildo@urano.iceb.ufop.br, 2 July 2000.
% He also recommends making @example and @lisp be small.
\def\afivepaper{{\globaldefs = 1
\parskip = 2pt plus 1pt minus 0.1pt
\textleading = 12.5pt
%
\internalpagesizes{166mm}{120mm}{\voffset}{-8mm}{\bindingoffset}{8pt}%
%
\lispnarrowing = 0.2in
\tolerance = 800
\hfuzz = 1.2pt
\contentsrightmargin = 0mm
\deftypemargin = 0pt
\defbodyindent = 2mm
\tableindent = 12mm
%
\smallenvironments
}}
% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin
% 29mm, hence bottom margin 28mm, nominal side margin 3cm.
\def\afourlatex{{\globaldefs = 1
\setleading{13.6pt}%
\textleading = 13.6pt
%
\afourpaper
\internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
%
\globaldefs = 0
}}
% Use @afourwide to print on European A4 paper in wide format.
\def\afourwide{%
\afourpaper
\internalpagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
%
\globaldefs = 0
\internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
}
% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
@@ -5810,7 +6106,7 @@ should work if nowhere else does.}
\globaldefs = 1
%
\parskip = 3pt plus 2pt minus 1pt
\setleading{13.2pt}%
\setleading{\textleading}%
%
\internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}%
}}

File diff suppressed because it is too large Load Diff

View File

@@ -6,4 +6,5 @@ getopt1.c
md5.h
obstack.h
regex.h
regex.c
getpagesize.h

View File

@@ -1,10 +1,14 @@
.deps
Makefile
charset.alias
getdate.c
getdate.tab.c
lstat.c
ref-add.sed
ref-del.sed
safe-lstat.c
safe-lstat.h
safe-stat.c
safe-stat.h
stat.c
unlocked-io.h

View File

@@ -19,3 +19,211 @@ n
p (he->h_addrtype)
n
q
r a:b
b main
r a:b
n
s
n
p separator
n
l 128
c
q
r meyering:store
p *username
p *username[separator - name]
p separator - name
p username[separator - name]
r ''
l
q
r ''
l
q
r meyering
b main
r meyering
n
r
n
s
n
p u
n
n
q
r ''
r meyering
up
l
q
b main
b a.out 1
r a.out 1
n
s
fin
s
n
p uid
p gid
p euid
p egid
n
p mode
p path
fin
r -v -c 10 -n 20 -x 80 < in-2
up
up
p &dummy
p *ovp
p *(int*)*ovp
p ((struct item*)*ovp)->key
p old_vec@10
r -v -c 10 -n 20 -x 80 < in-3
p *(int*)*ovp
up
dow
p *(int*)*ovp
up
p *(int*)*ovp
i loca
dow
p key
p dummy
p &dummy
up
p old_vec
p *ovp
p ovp
p ovp - old_vec
p *old_vec@10
p *old_vec@13
b hash_insert_item
r
b hash_insert_item_at
r
n
p fail
p *(ht->vec)@13
p *(ht->ht_vec)@13
p ((struct item*)(ht->ht_vec)[10])->key
b hash_delete_item
b hash_delete_item_at
c
n
p slot
p item
n
n
p *(ht->ht_vec)@13
p &dummy
p dummy
n
s
n
n
p *(ht->ht_vec)@13
n
p new_size
n
p *old_vec@13
p old_vec@13
n
p *old_vec@13
n
p *old_vec@13
n
l
n
p ovp - old_vec
n
p ovp - old_vec
n
p ovp - old_vec
p *old_vec@13
p &dummy
q
r 444444444444 44444444444
b human_readable
r
n
q
b main
r 444444444444 44444444444
n
p a
p b
r 34343434 3434343434
c
r
n
n
p a
p b
r 343434343 343434343
c
q
b posixtime
r
n
s
n
p len
n
p pair
p len
n
b year
y
c
c
p n
up
p len
q
complete b user
complete b user
complete b pars
b parse_user_spec
r a.b
n
n
p u
n
p u
n
r -r .aa > k
pwd
q
b main
r
b get_date
c
n
p tm
n
p tm
n
p pc
n
p tm
n
p tm
n
p delta
n
p Start
q
b dir_name
r
n
p slash
n
n
n
p slash
p slash - path + 1
q

1977
lib/ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,40 +2,179 @@
AUTOMAKE_OPTIONS = ../src/ansi2knr
noinst_LIBRARIES = libfu.a
noinst_LIBRARIES = libfetish.a
INCLUDES = -I.. -I$(srcdir) -I../intl
DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
libfu_a_SOURCES = getdate.y posixtm.c getopt.c getopt1.c \
addext.c argmatch.c backupfile.c basename.c \
closeout.c dirname.c exclude.c filemode.c \
full-write.c human.c idcache.c \
isdir.c long-options.c makepath.c modechange.c hash.c path-concat.c \
quotearg.c safe-read.c same.c save-cwd.c savedir.c stripslash.c userspec.c \
version-etc.c xgetcwd.c xmalloc.c xstrdup.c \
xstrtol.c xstrtoul.c xstrtoumax.c yesno.c
## Put relatively complex files at the beginning of the list so
## that parallel compiles finish a tiny bit sooner. I don't see
## a way to make regex.c appear earlier in the list, since it's
## added by automake, but on systems with an up to date GNU libc,
## regex.c isn't even compiled.
libfetish_a_SOURCES = \
getdate.h getdate.y \
posixtm.c posixtm.h \
strftime.c \
getopt.c getopt.h getopt1.c \
hash.c hash.h \
hash-pjw.c hash-pjw.h \
__fpending.h \
addext.c \
argmatch.c argmatch.h \
backupfile.c backupfile.h \
basename.c \
bumpalloc.h \
canon-host.c \
closeout.c closeout.h \
diacrit.c diacrit.h \
dirname.c dirname.h \
dirfd.h \
dup-safer.c \
exclude.c exclude.h \
filemode.c filemode.h \
fnmatch.h \
fopen-safer.c \
fsusage.h \
full-write.c full-write.h \
getline.h \
getpagesize.h \
getstr.c getstr.h \
getugroups.c \
group-member.h \
hard-locale.c hard-locale.h \
human.c human.h \
idcache.c \
isdir.c \
lchown.h \
linebuffer.c linebuffer.h \
localcharset.c \
long-options.c long-options.h \
makepath.c makepath.h \
mbswidth.c mbswidth.h \
md5.c md5.h \
memcasecmp.c memcasecmp.h \
memcoll.c memcoll.h \
modechange.c modechange.h \
mountlist.h \
nanosleep.h \
path-concat.c path-concat.h \
pathmax.h \
physmem.c physmem.h \
quote.c quote.h \
quotearg.c quotearg.h \
readtokens.c readtokens.h \
readutmp.h \
regex.h \
safe-read.c safe-read.h \
same.c same.h \
save-cwd.c save-cwd.h \
savedir.c savedir.h \
sha.c sha.h \
stdio-safer.h \
stripslash.c \
strverscmp.h \
unicodeio.c unicodeio.h \
unistd-safer.h \
userspec.c \
version-etc.c version-etc.h \
xalloc.h \
xgetcwd.c \
xgethostname.c \
xmalloc.c \
xreadlink.c xreadlink.h \
xstrdup.c \
xstrtod.c xstrtod.h \
xstrtol.c xstrtol.h \
xstrtoul.c \
xstrtoimax.c \
xstrtoumax.c \
yesno.c
libfu_a_LIBADD = @LIBOBJS@ @ALLOCA@
libfu_a_DEPENDENCIES = $(libfu_a_LIBADD)
libfetish_a_LIBADD = @LIBOBJS@ @ALLOCA@
libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD)
noinst_HEADERS = argmatch.h backupfile.h closeout.h \
dirname.h error.h exclude.h filemode.h fnmatch.h fsusage.h \
getdate.h getline.h getopt.h getpagesize.h \
group-member.h human.h lchown.h long-options.h \
makepath.h modechange.h mountlist.h hash.h path-concat.h pathmax.h \
posixtm.h quotearg.h regex.h safe-read.h same.h save-cwd.h \
savedir.h strverscmp.h \
version-etc.h xalloc.h xstrtol.h
BUILT_SOURCES = getdate.c lstat.c stat.c
BUILT_SOURCES = getdate.c lstat.c stat.c unlocked-io.h
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
DISTCLEANFILES = lstat.c stat.c
DISTCLEANFILES = lstat.c stat.c unlocked-io.h
EXTRA_DIST = xstat.in
EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin gen-uio
lstat.c: xstat.in
sed -e '/@IGNORE@/d' -e 's/@xstat@/lstat/g' $(srcdir)/xstat.in > $@-t
sed \
-e '/@IGNORE@/d' \
-e 's/@xstat@/lstat/g' \
-e '/_LSTAT_ONLY@/d' \
-e '/@BEGIN_STAT_ONLY@/,/@END_STAT_ONLY@/d' \
$(srcdir)/xstat.in > $@-t
mv $@-t $@
stat.c: xstat.in
sed -e '/@IGNORE@/d' -e 's/@xstat@/stat/g' $(srcdir)/xstat.in > $@-t
sed \
-e '/@IGNORE@/d' \
-e 's/@xstat@/stat/g' \
-e '/_STAT_ONLY@/d' \
-e '/@BEGIN_LSTAT_ONLY@/,/@END_LSTAT_ONLY@/d' \
$(srcdir)/xstat.in > $@-t
mv $@-t $@
Makefile: $(BUILT_SOURCES)
# 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
# packages so that "make uninstall" will remove the file if and only if it
# is not used by another installed package.
# On systems with glibc-2.1 or newer, the file is redundant, therefore we
# avoid installing it.
all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c unlocked-io.h
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
install-exec-local: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
if test -f $(charset_alias); then \
sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
else \
if test @GLIBC21@ = no; then \
sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
fi ; \
fi
uninstall-local: all-local
if test -f $(charset_alias); then \
sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
if grep '^# Packages using this file: $$' $(charset_tmp) \
> /dev/null; then \
rm -f $(charset_alias); \
else \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
fi; \
rm -f $(charset_tmp); \
fi
charset.alias: config.charset
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
mv t-$@ $@
SUFFIXES = .sed .sin
.sin.sed:
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t
mv $@-t $@
CLEANFILES = charset.alias ref-add.sed ref-del.sed
###############################################
# FIXME: CAUTION this list is a duplicate of one in ../Makefile.cfg.
io_functions = \
clearerr feof ferror fflush fgets fputc fputs \
fread fwrite getc getchar putc putchar
unlocked-io.h: $(srcdir)/gen-uio Makefile.am
srcdir=$(srcdir) $(SHELL) $(srcdir)/gen-uio $(io_functions) > $@t
mv $@t $@

File diff suppressed because it is too large Load Diff

6
lib/README Normal file
View File

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

30
lib/__fpending.c Normal file
View File

@@ -0,0 +1,30 @@
/* __fpending.c -- return the number of pending output bytes on a stream
Copyright (C) 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Jim Meyering. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include "__fpending.h"
size_t
__fpending (FILE *fp)
{
return PENDING_OUTPUT_N_BYTES;
}

18
lib/__fpending.h Normal file
View File

@@ -0,0 +1,18 @@
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#if HAVE_STDIO_EXT_H
# include <stdio_ext.h>
#endif
#include <sys/types.h>
#ifndef HAVE_DECL___FPENDING
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL___FPENDING
size_t __fpending (FILE *);
#endif

View File

@@ -1,5 +1,5 @@
/* addext.c -- add an extension to a file name
Copyright (C) 1990, 1997, 1998, 1999 Free Software Foundation, Inc.
Copyright 1990, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,8 +29,6 @@
# define HAVE_LONG_FILE_NAMES 0
#endif
#include <backupfile.h>
#if HAVE_LIMITS_H
# include <limits.h>
#endif
@@ -49,7 +47,13 @@
# include <unistd.h>
#endif
char *base_name PARAMS ((char const *));
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include "backupfile.h"
#include "dirname.h"
/* Append to FILENAME the extension EXT, unless the result would be too long,
in which case just append the character E. */
@@ -58,25 +62,30 @@ void
addext (char *filename, char const *ext, int e)
{
char *s = base_name (filename);
size_t slen = strlen (s), extlen = strlen (ext);
long slen_max = -1;
size_t slen = base_len (s);
size_t extlen = strlen (ext);
size_t slen_max = HAVE_LONG_FILE_NAMES ? 255 : _POSIX_NAME_MAX;
#if HAVE_PATHCONF && defined _PC_NAME_MAX
if (slen + extlen <= _POSIX_NAME_MAX && ! HAVE_DOS_FILE_NAMES)
/* The file name is so short there's no need to call pathconf. */
slen_max = _POSIX_NAME_MAX;
else if (s == filename)
slen_max = pathconf (".", _PC_NAME_MAX);
else
if (_POSIX_NAME_MAX < slen + extlen || HAVE_DOS_FILE_NAMES)
{
char c = *s;
*s = 0;
slen_max = pathconf (filename, _PC_NAME_MAX);
*s = c;
/* The new base name is long enough to require a pathconf check. */
long name_max;
errno = 0;
if (s == filename)
name_max = pathconf (".", _PC_NAME_MAX);
else
{
char c = *s;
if (! ISSLASH (c))
*s = 0;
name_max = pathconf (filename, _PC_NAME_MAX);
*s = c;
}
if (0 <= name_max || errno == 0)
slen_max = name_max == (size_t) name_max ? name_max : -1;
}
#endif
if (slen_max < 0)
slen_max = HAVE_LONG_FILE_NAMES ? 255 : 14;
if (HAVE_DOS_FILE_NAMES && slen_max <= 12)
{

View File

@@ -25,6 +25,13 @@
# include <config.h>
#endif
#if HAVE_STRING_H
# include <string.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef emacs
# include "blockinput.h"
#endif
@@ -81,6 +88,7 @@ typedef char *pointer;
Callers below should use malloc. */
# ifndef emacs
# undef malloc
# define malloc xmalloc
# endif
extern pointer malloc ();
@@ -161,7 +169,7 @@ static header *last_alloca_header = NULL; /* -> last alloca header. */
implementations of C, for example under Gould's UTX/32. */
pointer
alloca (unsigned size)
alloca (size_t size)
{
auto char probe; /* Probes stack depth: */
register char *depth = ADDRESS_FUNCTION (probe);
@@ -210,6 +218,9 @@ alloca (unsigned size)
register pointer new = malloc (sizeof (header) + size);
/* Address of header. */
if (new == 0)
abort();
((header *) new)->h.next = last_alloca_header;
((header *) new)->h.deep = depth;

View File

@@ -1,5 +1,5 @@
/* argmatch.c -- find a match for a string in an array
Copyright (C) 1990, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,6 +38,8 @@
#include "error.h"
#include "quotearg.h"
#include "quote.h"
#include "unlocked-io.h"
/* When reporting an invalid argument, show nonprinting characters
by using the quoting style ARGMATCH_QUOTING_STYLE. Do not use
@@ -156,10 +158,11 @@ void
argmatch_invalid (const char *context, const char *value, int problem)
{
char const *format = (problem == -1
? _("invalid argument %s for `%s'")
: _("ambiguous argument %s for `%s'"));
? _("invalid argument %s for %s")
: _("ambiguous argument %s for %s"));
error (0, 0, format, quotearg_style (ARGMATCH_QUOTING_STYLE, value), context);
error (0, 0, format, quotearg_n_style (0, ARGMATCH_QUOTING_STYLE, value),
quote_n (1, context));
}
/* List the valid arguments for argmatch.

View File

@@ -1,5 +1,5 @@
/* argmatch.h -- definitions and prototypes for argmatch.c
Copyright (C) 1990, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001 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
@@ -123,7 +123,7 @@ const char *argmatch_to_argument
const char *vallist, size_t valsize));
# define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \
argmatch_to_argument ((char const *) &(Value), (Arglist), \
argmatch_to_argument ((Value), (Arglist), \
(const char *) (Vallist), sizeof (*(Vallist)))
#endif /* ARGMATCH_H_ */

14
lib/atexit.c Normal file
View File

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

View File

@@ -1,5 +1,6 @@
/* backupfile.c -- make Emacs style backup file names
Copyright (C) 1990-1997, 1998, 1999 Free Software Foundation, Inc.
Copyright 1990,91,92,93,94,95,96,97,98,99,2000, 2001 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,9 +24,6 @@
# include <config.h>
#endif
#include <argmatch.h>
#include <backupfile.h>
#include <stdio.h>
#include <sys/types.h>
#if HAVE_STRING_H
@@ -58,17 +56,23 @@
# define CLOSEDIR(d) closedir (d)
#endif
#if STDC_HEADERS
#if HAVE_STDLIB_H
# include <stdlib.h>
#else
char *malloc ();
#endif
#ifndef HAVE_DECL_GETENV
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_GETENV
char *getenv ();
#endif
char *base_name PARAMS ((char const *));
#ifndef HAVE_DECL_MALLOC
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_MALLOC
char *malloc ();
#endif
#if HAVE_DIRENT_H || HAVE_NDIR_H || HAVE_SYS_DIR_H || HAVE_SYS_NDIR_H
# define HAVE_DIR 1
@@ -103,6 +107,10 @@ char *base_name PARAMS ((char const *));
# define REAL_DIR_ENTRY(dp) 1
#endif
#include "argmatch.h"
#include "backupfile.h"
#include "dirname.h"
/* The extension added to file names to produce a simple (as opposed
to numbered) backup file name. */
const char *simple_backup_suffix = "~";
@@ -129,29 +137,31 @@ find_backup_file_name (const char *file, enum backup_type backup_type)
if (HAVE_DIR && backup_suffix_size_max < numbered_suffix_size_max)
backup_suffix_size_max = numbered_suffix_size_max;
s = malloc (file_len + backup_suffix_size_max + numbered_suffix_size_max);
s = malloc (file_len + 1
+ backup_suffix_size_max + numbered_suffix_size_max);
if (s)
{
strcpy (s, file);
#if HAVE_DIR
if (backup_type != simple)
{
int highest_backup;
size_t dir_len = base_name (s) - s;
size_t dirlen = dir_len (file);
strcpy (s + dir_len, ".");
highest_backup = max_backup_version (file + dir_len, s);
memcpy (s, file, dirlen);
if (dirlen == FILESYSTEM_PREFIX_LEN (file))
s[dirlen++] = '.';
s[dirlen] = '\0';
highest_backup = max_backup_version (base_name (file), s);
if (! (backup_type == numbered_existing && highest_backup == 0))
{
char *numbered_suffix = s + (file_len + backup_suffix_size_max);
sprintf (numbered_suffix, ".~%d~", highest_backup + 1);
suffix = numbered_suffix;
}
strcpy (s, file);
}
#endif /* HAVE_DIR */
strcpy (s, file);
addext (s, suffix, '~');
}
return s;
@@ -178,7 +188,7 @@ max_backup_version (const char *file, const char *dir)
return 0;
highest_version = 0;
file_name_length = strlen (file);
file_name_length = base_len (file);
while ((dp = readdir (dirp)) != 0)
{

View File

@@ -1,5 +1,5 @@
/* basename.c -- return the last element in a path
Copyright (C) 1990, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,47 +19,61 @@
# include <config.h>
#endif
#ifndef FILESYSTEM_PREFIX_LEN
# define FILESYSTEM_PREFIX_LEN(Filename) 0
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#endif
#ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
#ifndef ISSLASH
# define ISSLASH(C) ((C) == '/')
#endif
char *base_name PARAMS ((char const *name));
#include "dirname.h"
/* In general, we can't use the builtin `basename' function if available,
since it has different meanings in different environments.
In some environments the builtin `basename' modifies its argument.
If NAME is all slashes, be sure to return `/'. */
Return the address of the last file name component of NAME. If
NAME has no file name components because it is all slashes, return
NAME if it is empty, the address of its last slash otherwise. */
char *
base_name (char const *name)
{
char const *base = name += FILESYSTEM_PREFIX_LEN (name);
int all_slashes = 1;
char const *base = name + FILESYSTEM_PREFIX_LEN (name);
char const *p;
for (p = name; *p; p++)
for (p = base; *p; p++)
{
if (ISSLASH (*p))
base = p + 1;
else
all_slashes = 0;
}
{
/* Treat multiple adjacent slashes like a single slash. */
do p++;
while (ISSLASH (*p));
/* If NAME is all slashes, arrange to return `/'. */
if (*base == '\0' && ISSLASH (*name) && all_slashes)
--base;
/* If the file name ends in slash, use the trailing slash as
the basename if no non-slashes have been found. */
if (! *p)
{
if (ISSLASH (*base))
base = p - 1;
break;
}
/* *P is a non-slash preceded by a slash. */
base = p;
}
}
return (char *) base;
}
/* Return the length of of the basename NAME. Typically NAME is the
value returned by base_name. Act like strlen (NAME), except omit
redundant trailing slashes. */
size_t
base_len (char const *name)
{
size_t len;
for (len = strlen (name); 1 < len && ISSLASH (name[len - 1]); len--)
continue;
return len;
}

View File

@@ -1,5 +1,5 @@
/* BUMP_ALLOC macro - increase table allocation by one element.
Copyright (C) 1990, 1991, 1993, 1998 Free Software Foundation, Inc.
Copyright (C) 1990, 1991, 1993, 1998, 2000 Free Software Foundation, Inc.
François Pinard <pinard@iro.umontreal.ca>, 1990.
This program is free software; you can redistribute it and/or modify
@@ -25,8 +25,8 @@
`-------------------------------------------------------------------------*/
/* Routines `xmalloc' and `xrealloc' are called to do the actual memory
management. This implies that the program will abort with an `Memory
exhausted!' error if any problem arise.
management. This implies that the program will abort with a "memory
exhausted" error if any problem arise.
To work correctly, at least EXPONENT and TYPE should always be the
same for all uses of this macro for any given TABLE. A secure way to

View File

@@ -1,6 +1,6 @@
/* Host name canonicalization
Copyright (C) 1995, 1999 Free Software Foundation, Inc.
Copyright (C) 1995, 1999, 2000 Free Software Foundation, Inc.
Written by Miles Bader <miles@gnu.ai.mit.edu>
@@ -26,6 +26,9 @@
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
# include <string.h>
#endif
@@ -43,7 +46,9 @@
# include <arpa/inet.h>
#endif
void free ();
#ifndef strdup
char *strdup ();
#endif
/* Returns the canonical hostname associated with HOST (allocated in a static
buffer), or 0 if it can't be determined. */
@@ -77,11 +82,12 @@ canon_host (const char *host)
directly to gethostbyaddr because on some systems he->h_addr
is located in a static library buffer that is reused in the
gethostbyaddr call. Make a copy and use that instead. */
char *h_addr_copy = strdup (he->h_addr);
char *h_addr_copy = (char *) malloc (he->h_length);
if (h_addr_copy == NULL)
he = NULL;
else
{
memcpy (h_addr_copy, he->h_addr, he->h_length);
he = gethostbyaddr (h_addr_copy, he->h_length, he->h_addrtype);
free (h_addr_copy);
}

View File

@@ -1,5 +1,5 @@
/* closeout.c - close standard output
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,14 +33,38 @@
# define EXIT_FAILURE 1
#endif
#include <stdio.h>
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include <stdio.h>
#include "closeout.h"
#include "error.h"
#include "quotearg.h"
#include "unlocked-io.h"
#include "__fpending.h"
static int default_exit_status = EXIT_FAILURE;
static const char *file_name;
/* Set the value to be used for the exit status when close_stdout is called.
This is useful when it is not convenient to call close_stdout_status,
e.g., when close_stdout is called via atexit. */
void
close_stdout_set_status (int status)
{
default_exit_status = status;
}
/* Set the file name to be reported in the event an error is detected
by close_stdout_status. */
void
close_stdout_set_file_name (const char *file)
{
file_name = file;
}
/* Close standard output, exiting with status STATUS on failure.
If a program writes *anything* to stdout, that program should `fflush'
@@ -64,18 +88,31 @@ extern int errno;
It's important to detect such failures and exit nonzero because many
tools (most notably `make' and other build-management systems) depend
on being able to detect failure in other tools via their exit status. */
void
close_stdout_status (int status)
{
if (ferror (stdout))
error (status, 0, _("write error"));
int e = ferror (stdout) ? 0 : -1;
if (__fpending (stdout) == 0)
return;
if (fclose (stdout) != 0)
error (status, errno, _("write error"));
e = errno;
if (0 <= e)
{
char const *write_error = _("write error");
if (file_name)
error (status, e, "%s: %s", quotearg_colon (file_name), write_error);
else
error (status, e, "%s", write_error);
}
}
/* Close standard output, exiting with status EXIT_FAILURE on failure. */
void
close_stdout (void)
{
close_stdout_status (EXIT_FAILURE);
close_stdout_status (default_exit_status);
}

View File

@@ -1,10 +1,17 @@
#ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
#ifndef CLOSEOUT_H
# define CLOSEOUT_H 1
# ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
# endif
void close_stdout_set_status PARAMS ((int status));
void close_stdout_set_file_name PARAMS ((const char *file));
void close_stdout PARAMS ((void));
void close_stdout_status PARAMS ((int status));
#endif

438
lib/config.charset Executable file
View File

@@ -0,0 +1,438 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
# Copyright (C) 2000-2001 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.
#
# The table consists of lines of the form
# ALIAS CANONICAL
#
# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
# ALIAS is compared in a case sensitive way.
#
# CANONICAL is the GNU canonical name for this character encoding.
# It must be an encoding supported by libiconv. Support by GNU libc is
# also desirable. CANONICAL is case insensitive. Usually an upper case
# MIME charset name is preferred.
# The current list of GNU canonical charset names is as follows.
#
# name used by which systems a MIME name?
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd
# ISO-8859-1 glibc aix hpux irix osf solaris freebsd yes
# ISO-8859-2 glibc aix hpux irix osf solaris freebsd yes
# ISO-8859-3 glibc yes
# ISO-8859-4 osf solaris freebsd yes
# ISO-8859-5 glibc aix hpux irix osf solaris freebsd yes
# ISO-8859-6 glibc aix hpux solaris yes
# ISO-8859-7 glibc aix hpux irix osf solaris yes
# ISO-8859-8 glibc aix hpux osf solaris yes
# ISO-8859-9 glibc aix hpux irix osf solaris yes
# ISO-8859-13 glibc
# ISO-8859-15 glibc aix osf solaris freebsd
# KOI8-R glibc solaris freebsd yes
# KOI8-U glibc freebsd yes
# CP437 dos
# CP775 dos
# CP850 aix osf dos
# CP852 dos
# CP855 dos
# CP856 aix
# CP857 dos
# CP861 dos
# CP862 dos
# CP864 dos
# CP865 dos
# CP866 freebsd dos
# CP869 dos
# CP874 win32 dos
# CP922 aix
# CP932 aix win32 dos
# CP943 aix
# CP949 osf win32 dos
# CP950 win32 dos
# CP1046 aix
# CP1124 aix
# CP1129 aix
# CP1250 win32
# CP1251 glibc win32
# CP1252 aix win32
# CP1253 win32
# CP1254 win32
# CP1255 win32
# CP1256 win32
# CP1257 win32
# GB2312 glibc aix hpux irix solaris freebsd yes
# EUC-JP glibc aix hpux irix osf solaris freebsd yes
# EUC-KR glibc aix hpux irix osf solaris freebsd yes
# EUC-TW glibc aix hpux irix osf solaris
# BIG5 glibc aix hpux osf solaris freebsd yes
# BIG5-HKSCS glibc
# GBK aix osf win32 dos
# GB18030 glibc
# SHIFT_JIS hpux osf solaris freebsd yes
# JOHAB glibc win32
# TIS-620 glibc aix hpux osf solaris
# VISCII glibc yes
# HP-ROMAN8 hpux
# HP-ARABIC8 hpux
# HP-GREEK8 hpux
# HP-HEBREW8 hpux
# HP-TURKISH8 hpux
# HP-KANA8 hpux
# DEC-KANJI osf
# DEC-HANYU osf
# UTF-8 glibc aix hpux osf solaris yes
#
# Note: Names which are not marked as being a MIME name should not be used in
# Internet protocols for information interchange (mail, news, etc.).
#
# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
# must understand both names and treat them as equivalent.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
host="$1"
os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
echo "# This file contains a table of character encoding aliases,"
echo "# suitable for operating system '${os}'."
echo "# It was automatically generated from config.charset."
# List of references, updated during installation:
echo "# Packages using this file: "
case "$os" in
linux* | *-gnu*)
# With glibc-2.1 or newer, we don't need any canonicalization,
# because glibc has iconv and both glibc and libiconv support all
# GNU canonical names directly. Therefore, the Makefile does not
# need to install the alias file at all.
# The following applies only to glibc-2.0.x and older libcs.
echo "ISO_646.IRV:1983 ASCII"
;;
aix*)
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-6 ISO-8859-6"
echo "ISO8859-7 ISO-8859-7"
echo "ISO8859-8 ISO-8859-8"
echo "ISO8859-9 ISO-8859-9"
echo "ISO8859-15 ISO-8859-15"
echo "IBM-850 CP850"
echo "IBM-856 CP856"
echo "IBM-921 ISO-8859-13"
echo "IBM-922 CP922"
echo "IBM-932 CP932"
echo "IBM-943 CP943"
echo "IBM-1046 CP1046"
echo "IBM-1124 CP1124"
echo "IBM-1129 CP1129"
echo "IBM-1252 CP1252"
echo "IBM-eucCN GB2312"
echo "IBM-eucJP EUC-JP"
echo "IBM-eucKR EUC-KR"
echo "IBM-eucTW EUC-TW"
echo "big5 BIG5"
echo "GBK GBK"
echo "TIS-620 TIS-620"
echo "UTF-8 UTF-8"
;;
hpux*)
echo "iso88591 ISO-8859-1"
echo "iso88592 ISO-8859-2"
echo "iso88595 ISO-8859-5"
echo "iso88596 ISO-8859-6"
echo "iso88597 ISO-8859-7"
echo "iso88598 ISO-8859-8"
echo "iso88599 ISO-8859-9"
echo "iso885915 ISO-8859-15"
echo "roman8 HP-ROMAN8"
echo "arabic8 HP-ARABIC8"
echo "greek8 HP-GREEK8"
echo "hebrew8 HP-HEBREW8"
echo "turkish8 HP-TURKISH8"
echo "kana8 HP-KANA8"
echo "tis620 TIS-620"
echo "big5 BIG5"
echo "eucJP EUC-JP"
echo "eucKR EUC-KR"
echo "eucTW EUC-TW"
echo "hp15CN GB2312"
#echo "ccdc ?" # what is this?
echo "SJIS SHIFT_JIS"
echo "utf8 UTF-8"
;;
irix*)
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-7 ISO-8859-7"
echo "ISO8859-9 ISO-8859-9"
echo "eucCN GB2312"
echo "eucJP EUC-JP"
echo "eucKR EUC-KR"
echo "eucTW EUC-TW"
;;
osf*)
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-4 ISO-8859-4"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-7 ISO-8859-7"
echo "ISO8859-8 ISO-8859-8"
echo "ISO8859-9 ISO-8859-9"
echo "ISO8859-15 ISO-8859-15"
echo "cp850 CP850"
echo "big5 BIG5"
echo "dechanyu DEC-HANYU"
echo "dechanzi GB2312"
echo "deckanji DEC-KANJI"
echo "deckorean EUC-KR"
echo "eucJP EUC-JP"
echo "eucKR EUC-KR"
echo "eucTW EUC-TW"
echo "GBK GBK"
echo "KSC5601 CP949"
echo "sdeckanji EUC-JP"
echo "SJIS SHIFT_JIS"
echo "TACTIS TIS-620"
echo "UTF-8 UTF-8"
;;
solaris*)
echo "646 ASCII"
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-4 ISO-8859-4"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-6 ISO-8859-6"
echo "ISO8859-7 ISO-8859-7"
echo "ISO8859-8 ISO-8859-8"
echo "ISO8859-9 ISO-8859-9"
echo "ISO8859-15 ISO-8859-15"
echo "koi8-r KOI8-R"
echo "BIG5 BIG5"
echo "gb2312 GB2312"
echo "cns11643 EUC-TW"
echo "5601 EUC-KR"
echo "eucJP EUC-JP"
echo "PCK SHIFT_JIS"
echo "TIS620.2533 TIS-620"
#echo "sun_eu_greek ?" # what is this?
echo "UTF-8 UTF-8"
;;
freebsd*)
# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
echo "C ASCII"
echo "US-ASCII ASCII"
for l in la_LN lt_LN; do
echo "$l.ASCII ASCII"
done
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
echo "$l.ISO_8859-1 ISO-8859-1"
echo "$l.DIS_8859-15 ISO-8859-15"
done
for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
echo "$l.ISO_8859-2 ISO-8859-2"
done
for l in la_LN lt_LT; do
echo "$l.ISO_8859-4 ISO-8859-4"
done
for l in ru_RU ru_SU; do
echo "$l.KOI8-R KOI8-R"
echo "$l.ISO_8859-5 ISO-8859-5"
echo "$l.CP866 CP866"
done
echo "uk_UA.KOI8-U KOI8-U"
echo "zh_TW.BIG5 BIG5"
echo "zh_TW.Big5 BIG5"
echo "zh_CN.EUC GB2312"
echo "ja_JP.EUC EUC-JP"
echo "ja_JP.SJIS SHIFT_JIS"
echo "ja_JP.Shift_JIS SHIFT_JIS"
echo "ko_KR.EUC EUC-KR"
;;
beos*)
# BeOS has a single locale, and it has UTF-8 encoding.
echo "* UTF-8"
;;
msdosdjgpp*)
# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
echo "#"
echo "# The encodings given here may not all be correct."
echo "# If you find that the encoding given for your language and"
echo "# country is not the one your DOS machine actually uses, just"
echo "# correct it in this file, and send a mail to"
echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
echo "# and Bruno Haible <haible@clisp.cons.org>."
echo "#"
echo "C ASCII"
# ISO-8859-1 languages
echo "ca CP850"
echo "ca_ES CP850"
echo "da CP865" # not CP850 ??
echo "da_DK CP865" # not CP850 ??
echo "de CP850"
echo "de_AT CP850"
echo "de_CH CP850"
echo "de_DE CP850"
echo "en CP850"
echo "en_AU CP850" # not CP437 ??
echo "en_CA CP850"
echo "en_GB CP850"
echo "en_NZ CP437"
echo "en_US CP437"
echo "en_ZA CP850" # not CP437 ??
echo "es CP850"
echo "es_AR CP850"
echo "es_BO CP850"
echo "es_CL CP850"
echo "es_CO CP850"
echo "es_CR CP850"
echo "es_CU CP850"
echo "es_DO CP850"
echo "es_EC CP850"
echo "es_ES CP850"
echo "es_GT CP850"
echo "es_HN CP850"
echo "es_MX CP850"
echo "es_NI CP850"
echo "es_PA CP850"
echo "es_PY CP850"
echo "es_PE CP850"
echo "es_SV CP850"
echo "es_UY CP850"
echo "es_VE CP850"
echo "et CP850"
echo "et_EE CP850"
echo "eu CP850"
echo "eu_ES CP850"
echo "fi CP850"
echo "fi_FI CP850"
echo "fr CP850"
echo "fr_BE CP850"
echo "fr_CA CP850"
echo "fr_CH CP850"
echo "fr_FR CP850"
echo "ga CP850"
echo "ga_IE CP850"
echo "gd CP850"
echo "gd_GB CP850"
echo "gl CP850"
echo "gl_ES CP850"
echo "id CP850" # not CP437 ??
echo "id_ID CP850" # not CP437 ??
echo "is CP861" # not CP850 ??
echo "is_IS CP861" # not CP850 ??
echo "it CP850"
echo "it_CH CP850"
echo "it_IT CP850"
echo "lt CP775"
echo "lt_LT CP775"
echo "lv CP775"
echo "lv_LV CP775"
echo "nb CP865" # not CP850 ??
echo "nb_NO CP865" # not CP850 ??
echo "nl CP850"
echo "nl_BE CP850"
echo "nl_NL CP850"
echo "nn CP865" # not CP850 ??
echo "nn_NO CP865" # not CP850 ??
echo "no CP865" # not CP850 ??
echo "no_NO CP865" # not CP850 ??
echo "pt CP850"
echo "pt_BR CP850"
echo "pt_PT CP850"
echo "sv CP850"
echo "sv_SE CP850"
# ISO-8859-2 languages
echo "cs CP852"
echo "cs_CZ CP852"
echo "hr CP852"
echo "hr_HR CP852"
echo "hu CP852"
echo "hu_HU CP852"
echo "pl CP852"
echo "pl_PL CP852"
echo "ro CP852"
echo "ro_RO CP852"
echo "sk CP852"
echo "sk_SK CP852"
echo "sl CP852"
echo "sl_SI CP852"
echo "sq CP852"
echo "sq_AL CP852"
echo "sr CP852" # CP852 or CP866 or CP855 ??
echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
# ISO-8859-3 languages
echo "mt CP850"
echo "mt_MT CP850"
# ISO-8859-5 languages
echo "be CP866"
echo "be_BE CP866"
echo "bg CP866" # not CP855 ??
echo "bg_BG CP866" # not CP855 ??
echo "mk CP866" # not CP855 ??
echo "mk_MK CP866" # not CP855 ??
echo "ru KOI8-R" # not CP866 ??
echo "ru_RU KOI8-R" # not CP866 ??
# ISO-8859-6 languages
echo "ar CP864"
echo "ar_AE CP864"
echo "ar_DZ CP864"
echo "ar_EG CP864"
echo "ar_IQ CP864"
echo "ar_IR CP864"
echo "ar_JO CP864"
echo "ar_KW CP864"
echo "ar_MA CP864"
echo "ar_OM CP864"
echo "ar_QA CP864"
echo "ar_SA CP864"
echo "ar_SY CP864"
# ISO-8859-7 languages
echo "el CP869"
echo "el_GR CP869"
# ISO-8859-8 languages
echo "he CP862"
echo "he_IL CP862"
# ISO-8859-9 languages
echo "tr CP857"
echo "tr_TR CP857"
# Japanese
echo "ja CP932"
echo "ja_JP CP932"
# Chinese
echo "zh_CN GBK"
echo "zh_TW CP950" # not CP938 ??
# Korean
echo "kr CP949" # not CP934 ??
echo "kr_KR CP949" # not CP934 ??
# Thai
echo "th CP874"
echo "th_TH CP874"
# Other
echo "eo CP850"
echo "eo_EO CP850"
;;
esac

View File

@@ -1,5 +1,5 @@
/* Diacritics processing for a few character codes.
Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
Copyright (C) 1990, 1991, 1992, 1993, 2000 Free Software Foundation, Inc.
François Pinard <pinard@iro.umontreal.ca>, 1988.
All this file is a temporary hack, waiting for locales in GNU.
@@ -38,7 +38,7 @@ const char diacrit_base[256] =
'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', 0, 0, 0, 0, 0,
#ifdef MSDOS
#ifdef __MSDOS__
'C', 'u', 'e', 'a', 'a', 'a', 'a', 'c',
'e', 'e', 'e', 'i', 'i', 'i', 'A', 'A',
@@ -57,7 +57,7 @@ const char diacrit_base[256] =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
#else /* not MSDOS */
#else
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -76,7 +76,7 @@ const char diacrit_base[256] =
0, 'n', 'o', 'o', 'o', 'o', 'o', 0,
'o', 'u', 'u', 'u', 'u', 'y', 0, 'y',
#endif /* not MSDOS */
#endif
};
/*------------------------------------------------------------------------.
@@ -106,7 +106,7 @@ const char diacrit_diac[256] =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 6, 0,
#ifdef MSDOS
#ifdef __MSDOS__
7, 5, 2, 4, 5, 3, 8, 7,
4, 5, 3, 5, 4, 3, 5, 8,
@@ -125,7 +125,7 @@ const char diacrit_diac[256] =
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
#else /* not MSDOS */
#else
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -144,5 +144,5 @@ const char diacrit_diac[256] =
0, 6, 3, 2, 4, 6, 5, 0,
9, 3, 2, 4, 5, 2, 0, 0,
#endif /* not MSDOS */
#endif
};

View File

@@ -13,4 +13,3 @@ extern const char diacrit_diac[]; /* diacritic code for each character */
/* Returns a diacritic code for CHAR. CHAR is known to be alphabetic. */
#define todiac(Char) (diacrit_diac[(unsigned char) (Char)])

30
lib/dirfd.c Normal file
View File

@@ -0,0 +1,30 @@
/* dirfd.c -- return the file descriptor associated with an open DIR*
Copyright (C) 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Jim Meyering. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include "dirfd.h"
int
dirfd (DIR const *dir_p)
{
return DIR_TO_FD (dir_p);
}

27
lib/dirfd.h Normal file
View File

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

View File

@@ -1,5 +1,5 @@
/* dirname.c -- return all but the last element in a path
Copyright (C) 1990, 1998 Free Software Foundation, Inc.
Copyright 1990, 1998, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,53 +19,87 @@
# include <config.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
#else
char *malloc ();
#endif
#if defined STDC_HEADERS || defined HAVE_STRING_H
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
# ifndef strrchr
# define strrchr rindex
# endif
#endif
#include "dirname.h"
#include "xalloc.h"
/* Return the length of `dirname (PATH)', or zero if PATH is
in the working directory. Works properly even if
there are trailing slashes (by effectively ignoring them). */
size_t
dir_len (char const *path)
{
size_t prefix_length = FILESYSTEM_PREFIX_LEN (path);
size_t length;
/* Strip the basename and any redundant slashes before it. */
for (length = base_name (path) - path; prefix_length < length; length--)
if (! ISSLASH (path[length - 1]))
return length;
/* But don't strip the only slash from "/". */
return prefix_length + ISSLASH (path[prefix_length]);
}
/* Return the leading directories part of PATH,
allocated with malloc. If out of memory, return 0.
Assumes that trailing slashes have already been
removed. */
allocated with xmalloc.
Works properly even if there are trailing slashes
(by effectively ignoring them). */
char *
dir_name (const char *path)
dir_name (char const *path)
{
char *newpath;
char *slash;
int length; /* Length of result, not including NUL. */
slash = strrchr (path, '/');
if (slash == 0)
{
/* File is in the current directory. */
path = ".";
length = 1;
}
else
{
/* Remove any trailing slashes from the result. */
while (slash > path && *slash == '/')
--slash;
length = slash - path + 1;
}
newpath = (char *) malloc (length + 1);
if (newpath == 0)
return 0;
strncpy (newpath, path, length);
size_t length = dir_len (path);
int append_dot = (length == FILESYSTEM_PREFIX_LEN (path));
char *newpath = xmalloc (length + append_dot + 1);
memcpy (newpath, path, length);
if (append_dot)
newpath[length++] = '.';
newpath[length] = 0;
return newpath;
}
#ifdef TEST_DIRNAME
/*
Run the test like this (expect no output):
gcc -DHAVE_CONFIG_H -DTEST_DIRNAME -I.. -O -Wall \
basename.c dirname.c xmalloc.c
sed -n '/^BEGIN-DATA$/,/^END-DATA$/p' dirname.c|grep -v DATA|./a.out
BEGIN-DATA
foo//// .
bar/foo//// bar
foo/ .
/ /
. .
a .
END-DATA
*/
# define MAX_BUFF_LEN 1024
# include <stdio.h>
int
main ()
{
char buff[MAX_BUFF_LEN + 1];
buff[MAX_BUFF_LEN] = 0;
while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0])
{
char path[MAX_BUFF_LEN];
char expected_result[MAX_BUFF_LEN];
char const *result;
sscanf (buff, "%s %s", path, expected_result);
result = dir_name (path);
if (strcmp (result, expected_result))
printf ("%s: got %s, expected %s\n", path, result, expected_result);
}
return 0;
}
#endif

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1998 Free Software Foundation, Inc.
/* Copyright (C) 1998, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,7 +25,23 @@
# endif
# endif
char *
dir_name PARAMS ((const char *path));
# ifndef DIRECTORY_SEPARATOR
# define DIRECTORY_SEPARATOR '/'
# endif
# ifndef ISSLASH
# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
# endif
# ifndef FILESYSTEM_PREFIX_LEN
# define FILESYSTEM_PREFIX_LEN(Filename) 0
# endif
char *base_name PARAMS ((char const *path));
char *dir_name PARAMS ((char const *path));
size_t base_len PARAMS ((char const *path));
size_t dir_len PARAMS ((char const *path));
int strip_trailing_slashes PARAMS ((char *path));
#endif /* not DIRNAME_H_ */

62
lib/dup-safer.c Normal file
View File

@@ -0,0 +1,62 @@
/* Invoke dup, but avoid some glitches.
Copyright (C) 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#if HAVE_FCNTL_H
# include <fcntl.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#ifndef STDERR_FILENO
# define STDERR_FILENO 2
#endif
#include <unistd-safer.h>
/* Like dup, but do not return STDIN_FILENO, STDOUT_FILENO, or
STDERR_FILENO. */
int
dup_safer (int fd)
{
#ifdef F_DUPFD
return fcntl (fd, F_DUPFD, STDERR_FILENO + 1);
#else
int f = dup (fd);
if (0 <= f && f <= STDERR_FILENO)
{
int f1 = dup_safer (f);
int e = errno;
close (f);
errno = e;
f = f1;
}
return f;
#endif
}

View File

@@ -1,23 +1,22 @@
/* Error handler for noninteractive utilities
Copyright (C) 1990,91,92,93,94,95,96,97,98, 99 Free Software Foundation, Inc.
Copyright (C) 1990-1998, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
Lesser General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
@@ -26,6 +25,13 @@
#endif
#include <stdio.h>
#if HAVE_LIBINTL_H
# include <libintl.h>
#endif
#ifdef _LIBC
# include <wchar.h>
# define mbsrtowcs __mbsrtowcs
#endif
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
# if __STDC__
@@ -48,6 +54,7 @@ void exit ();
#endif
#include "error.h"
#include "unlocked-io.h"
#ifndef _
# define _(String) String
@@ -73,26 +80,46 @@ unsigned int error_message_count;
/* In GNU libc we want do not want to use the common name `error' directly.
Instead make it a weak alias. */
extern void __error (int status, int errnum, const char *message, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern void __error_at_line (int status, int errnum, const char *file_name,
unsigned int line_number, const char *message,
...)
__attribute__ ((__format__ (__printf__, 5, 6)));;
# define error __error
# define error_at_line __error_at_line
# ifdef USE_IN_LIBIO
# include <libio/iolibio.h>
# define fflush(s) _IO_fflush (s)
# endif
#else /* not _LIBC */
# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
# ifndef HAVE_DECL_STRERROR_R
"this configure-time declaration test was not run"
# endif
char *strerror_r ();
# endif
/* The calling program should define program_name and set it to the
name of the executing program. */
extern char *program_name;
# ifdef HAVE_STRERROR_R
# if HAVE_STRERROR_R || defined strerror_r
# define __strerror_r strerror_r
# else
# if HAVE_STRERROR
# ifndef strerror /* On some systems, strerror is a macro */
# ifndef HAVE_DECL_STRERROR
"this configure-time declaration test was not run"
# endif
# if !HAVE_DECL_STRERROR
char *strerror ();
# endif
# else
static char *
private_strerror (errnum)
int errnum;
private_strerror (int errnum)
{
extern char *sys_errlist[];
extern int sys_nerr;
@@ -103,15 +130,118 @@ private_strerror (errnum)
}
# define strerror private_strerror
# endif /* HAVE_STRERROR */
# endif /* HAVE_STRERROR_R */
# endif /* HAVE_STRERROR_R || defined strerror_r */
#endif /* not _LIBC */
static void
print_errno_message (int errnum)
{
char const *s;
#if defined HAVE_STRERROR_R || _LIBC
char errbuf[1024];
# if STRERROR_R_CHAR_P || _LIBC
s = __strerror_r (errnum, errbuf, sizeof errbuf);
# else
if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
s = errbuf;
else
s = 0;
# endif
#else
s = strerror (errnum);
#endif
#if !_LIBC
if (! s)
s = _("Unknown system error");
#endif
#if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
{
__fwprintf (stderr, L": %s", s);
return;
}
#endif
fprintf (stderr, ": %s", s);
}
#ifdef VA_START
static void
error_tail (int status, int errnum, const char *message, va_list args)
{
# if HAVE_VPRINTF || _LIBC
# if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
{
# define ALLOCA_LIMIT 2000
size_t len = strlen (message) + 1;
wchar_t *wmessage = NULL;
mbstate_t st;
size_t res;
const char *tmp;
do
{
if (len < ALLOCA_LIMIT)
wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
else
{
if (wmessage != NULL && len / 2 < ALLOCA_LIMIT)
wmessage = NULL;
wmessage = (wchar_t *) realloc (wmessage,
len * sizeof (wchar_t));
if (wmessage == NULL)
{
fputws_unlocked (L"out of memory\n", stderr);
return;
}
}
memset (&st, '\0', sizeof (st));
tmp =message;
}
while ((res = mbsrtowcs (wmessage, &tmp, len, &st)) == len);
if (res == (size_t) -1)
/* The string cannot be converted. */
wmessage = (wchar_t *) L"???";
__vfwprintf (stderr, wmessage, args);
}
else
# endif
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
++error_message_count;
if (errnum)
print_errno_message (errnum);
# if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
putwc (L'\n', stderr);
else
# endif
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
}
#endif
/* Print the program name and error message MESSAGE, which is a printf-style
format string with optional args.
If ERRNUM is nonzero, print its corresponding system error message.
Exit with status STATUS if it is nonzero. */
/* VARARGS */
void
#if defined VA_START && __STDC__
error (int status, int errnum, const char *message, ...)
@@ -127,43 +257,48 @@ error (status, errnum, message, va_alist)
va_list args;
#endif
fflush (stdout);
#ifdef _LIBC
# ifdef USE_IN_LIBIO
_IO_flockfile (stderr);
# else
__flockfile (stderr);
# endif
#endif
if (error_print_progname)
(*error_print_progname) ();
else
{
fflush (stdout);
fprintf (stderr, "%s: ", program_name);
#if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s: ", program_name);
else
#endif
fprintf (stderr, "%s: ", program_name);
}
#ifdef VA_START
VA_START (args, message);
# if HAVE_VPRINTF || _LIBC
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
error_tail (status, errnum, message, args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++error_message_count;
if (errnum)
{
#if defined HAVE_STRERROR_R || defined _LIBC
char errbuf[1024];
/* Don't use __strerror_r's return value because on some systems
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
__strerror_r (errnum, errbuf, sizeof errbuf);
fprintf (stderr, ": %s", errbuf);
#else
fprintf (stderr, ": %s", strerror (errnum));
#endif
}
print_errno_message (errnum);
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
#endif
#ifdef _LIBC
# ifdef USE_IN_LIBIO
_IO_funlockfile (stderr);
# else
__funlockfile (stderr);
# endif
#endif
}
/* Sometimes we want to have at most one error per line. This
@@ -193,8 +328,9 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
static const char *old_file_name;
static unsigned int old_line_number;
if (old_line_number == line_number &&
(file_name == old_file_name || !strcmp (old_file_name, file_name)))
if (old_line_number == line_number
&& (file_name == old_file_name
|| strcmp (old_file_name, file_name) == 0))
/* Simply return and print nothing. */
return;
@@ -202,46 +338,58 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
old_line_number = line_number;
}
fflush (stdout);
#ifdef _LIBC
# ifdef USE_IN_LIBIO
_IO_flockfile (stderr);
# else
__flockfile (stderr);
# endif
#endif
if (error_print_progname)
(*error_print_progname) ();
else
{
fflush (stdout);
fprintf (stderr, "%s:", program_name);
#if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s: ", program_name);
else
#endif
fprintf (stderr, "%s:", program_name);
}
if (file_name != NULL)
fprintf (stderr, "%s:%d: ", file_name, line_number);
{
#if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s:%d: ", file_name, line_number);
else
#endif
fprintf (stderr, "%s:%d: ", file_name, line_number);
}
#ifdef VA_START
VA_START (args, message);
# if HAVE_VPRINTF || _LIBC
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
error_tail (status, errnum, message, args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++error_message_count;
if (errnum)
{
#if defined HAVE_STRERROR_R || defined _LIBC
char errbuf[1024];
/* Don't use __strerror_r's return value because on some systems
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
__strerror_r (errnum, errbuf, sizeof errbuf);
fprintf (stderr, ": %s", errbuf);
#else
fprintf (stderr, ": %s", strerror (errnum));
#endif
}
print_errno_message (errnum);
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
#endif
#ifdef _LIBC
# ifdef USE_IN_LIBIO
_IO_funlockfile (stderr);
# else
__funlockfile (stderr);
# endif
#endif
}
#ifdef _LIBC

View File

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

View File

@@ -1,5 +1,5 @@
/* euidaccess -- check if effective user id can access file
Copyright (C) 1990, 1991, 1995, 1998 Free Software Foundation, Inc.
Copyright (C) 1990, 1991, 1995, 1998, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -66,6 +66,9 @@ gid_t getegid ();
#ifndef errno
extern int errno;
#endif
#ifndef __set_errno
# define __set_errno(val) errno = (val)
#endif
#if defined(EACCES) && !defined(EACCESS)
# define EACCESS EACCES
@@ -93,6 +96,7 @@ extern int errno;
#ifdef _LIBC
# define group_member __group_member
# define euidaccess __euidaccess
#else
@@ -102,15 +106,6 @@ static uid_t uid;
/* The user's real group id. */
static gid_t gid;
/* The user's effective user id. */
static uid_t euid;
/* The user's effective group id. */
static gid_t egid;
/* Nonzero if UID, GID, EUID, and EGID have valid values. */
static int have_ids = 0;
# if HAVE_GETGROUPS
int group_member ();
# else
@@ -119,6 +114,15 @@ int group_member ();
#endif
/* The user's effective user id. */
static uid_t euid;
/* The user's effective group id. */
static gid_t egid;
/* Nonzero if UID, GID, EUID, and EGID have valid values. */
static int have_ids;
/* Return 0 if the user has permission of type MODE on file PATH;
otherwise, return -1 and set `errno' to EACCESS.
@@ -133,8 +137,9 @@ euidaccess (const char *path, int mode)
int granted;
#ifdef _LIBC
uid_t uid = getuid (), euid = geteuid ();
gid_t gid = getgid (), egid = getegid ();
if (! __libc_enable_secure)
/* If we are not set-uid or set-gid, access does the same. */
return __access (path, mode);
#else
if (have_ids == 0)
{
@@ -144,11 +149,11 @@ euidaccess (const char *path, int mode)
euid = geteuid ();
egid = getegid ();
}
#endif
if (uid == euid && gid == egid)
/* If we are not set-uid or set-gid, access does the same. */
return access (path, mode);
#endif
if (stat (path, &stats))
return -1;
@@ -161,6 +166,16 @@ euidaccess (const char *path, int mode)
if (mode == F_OK)
return 0; /* The file exists. */
#ifdef _LIBC
/* Now we need the IDs. */
if (have_ids == 0)
{
have_ids = 1;
euid = __geteuid ();
egid = __getegid ();
}
#endif
/* The super-user can read and write any file, and execute any file
that anyone can execute. */
if (euid == 0 && ((mode & X_OK) == 0
@@ -175,6 +190,40 @@ euidaccess (const char *path, int mode)
granted = (stats.st_mode & mode);
if (granted == mode)
return 0;
errno = EACCESS;
__set_errno (EACCESS);
return -1;
}
#undef euidaccess
#ifdef weak_alias
weak_alias (__euidaccess, euidaccess)
#endif
#ifdef TEST
# include <stdio.h>
# include <errno.h>
# include "error.h"
char *program_name;
int
main (argc, argv)
int argc;
char **argv;
{
char *file;
int mode;
int err;
program_name = argv[0];
if (argc < 3)
abort ();
file = argv[1];
mode = atoi (argv[2]);
err = euidaccess (file, mode);
printf ("%d\n", err);
if (err != 0)
error (0, errno, "%s", file);
exit (0);
}
#endif

View File

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

View File

@@ -1,5 +1,5 @@
/* exclude.h -- declarations for excluding file names
Copyright 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
Copyright 1992, 1993, 1994, 1997, 1999, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,9 +26,24 @@
# endif
#endif
/* Exclude options, which can be ORed with fnmatch options. */
/* Patterns must match the start of file names, instead of matching
anywhere after a '/'. */
#define EXCLUDE_ANCHORED (1 << 5)
/* Include instead of exclude. */
#define EXCLUDE_INCLUDE (1 << 6)
/* '?', '*', '[', and '\\' are special in patterns. Without this
option, these characters are ordinary and fnmatch is not used. */
#define EXCLUDE_WILDCARDS (1 << 7)
struct exclude;
struct exclude *new_exclude PARAMS ((void));
void add_exclude PARAMS ((struct exclude *, char const *));
int add_exclude_file PARAMS ((struct exclude *, char const *, char));
int excluded_filename PARAMS ((struct exclude const *, char const *));
void free_exclude PARAMS ((struct exclude *));
void add_exclude PARAMS ((struct exclude *, char const *, int));
int add_exclude_file PARAMS ((void (*) (struct exclude *, char const *, int),
struct exclude *, char const *, int, char));
bool excluded_filename PARAMS ((struct exclude const *, char const *));

71
lib/fatal.c Normal file
View File

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

68
lib/fatal.h Normal file
View File

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

View File

@@ -1,5 +1,5 @@
/* filemode.c -- make a string describing file modes
Copyright (C) 1985, 1990, 1993, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1985, 1990, 1993, 1998-2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
@@ -80,37 +80,42 @@
# undef S_ISSOCK
#endif /* STAT_MACROS_BROKEN. */
#if !defined(S_ISBLK) && defined(S_IFBLK)
#if !defined S_ISBLK && defined S_IFBLK
# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
#endif
#if !defined(S_ISCHR) && defined(S_IFCHR)
#if !defined S_ISCHR && defined S_IFCHR
# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
#endif
#if !defined(S_ISDIR) && defined(S_IFDIR)
#if !defined S_ISDIR && defined S_IFDIR
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
#if !defined(S_ISREG) && defined(S_IFREG)
#if !defined S_ISREG && defined S_IFREG
# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
#endif
#if !defined(S_ISFIFO) && defined(S_IFIFO)
#if !defined S_ISFIFO && defined S_IFIFO
# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
#endif
#if !defined(S_ISLNK) && defined(S_IFLNK)
#if !defined S_ISLNK && defined S_IFLNK
# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
#endif
#if !defined(S_ISSOCK) && defined(S_IFSOCK)
#if !defined S_ISSOCK && defined S_IFSOCK
# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
#endif
#if !defined(S_ISMPB) && defined(S_IFMPB) /* V7 */
#if !defined S_ISMPB && defined S_IFMPB /* V7 */
# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
#endif
#if !defined(S_ISNWK) && defined(S_IFNWK) /* HP/UX */
#if !defined S_ISNWK && defined S_IFNWK /* HP/UX */
# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
#endif
#if !defined(S_ISDOOR) && defined(S_IFDOOR) /* Solaris 2.5 and up */
#if !defined S_ISDOOR && defined S_IFDOOR /* Solaris 2.5 and up */
# define S_ISDOOR(m) (((m) & S_IFMT) == S_IFDOOR)
#endif
#if !defined S_ISCTG && defined S_IFCTG /* MassComp */
# define S_ISCTG(m) (((m) & S_IFMT) == S_IFCTG)
#endif
/* Set the 's' and 't' flags in file attributes string CHARS,
according to the file mode BITS. */
@@ -156,11 +161,13 @@ setst (mode_t bits, char *chars)
'D' for doors
'b' for block special files
'c' for character special files
'n' for network special files
'm' for multiplexor files
'M' for an off-line (regular) file
'l' for symbolic links
's' for sockets
'p' for fifos
'C' for contigous data files
'-' for regular files
'?' for any other file type. */
@@ -201,6 +208,10 @@ ftypelet (mode_t bits)
if (S_ISDOOR (bits))
return 'D';
#endif
#ifdef S_ISCTG
if (S_ISCTG (bits))
return 'C';
#endif
/* The following two tests are for Cray DMF (Data Migration
Facility), which is a HSM file system. A migrated file has a

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1992, 1993, 1996, 1997 Free Software Foundation, Inc.
/* Copyright 1991, 1992, 1993, 1996, 1997, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,30 +27,18 @@
#include <fnmatch.h>
#include <ctype.h>
#if defined STDC_HEADERS || !defined isascii
# define IN_CTYPE_DOMAIN(c) 1
#else
# define IN_CTYPE_DOMAIN(c) isascii (c)
#endif
/* Comment out all this code if we are using the GNU C Library, and are not
actually compiling the library itself. 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__
#define ISUPPER(c) (IN_CTYPE_DOMAIN (c) && isupper (c))
# if defined STDC_HEADERS || !defined isascii
# define ISASCII(c) 1
# else
# define ISASCII(c) isascii(c)
# endif
# define ISUPPER(c) (ISASCII (c) && isupper (c))
# ifndef errno
#ifndef errno
extern int errno;
# endif
#endif
/* Match STRING against the filename pattern PATTERN, returning zero if
it matches, nonzero if not. */
@@ -61,7 +49,9 @@ fnmatch (const char *pattern, const char *string, int flags)
register char c;
/* Note that this evaluates C many times. */
# define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER (c) ? tolower (c) : (c))
#define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER ((unsigned char) (c)) \
? tolower ((unsigned char) (c)) \
: (c))
while ((c = *p++) != '\0')
{
@@ -99,13 +89,10 @@ fnmatch (const char *pattern, const char *string, int flags)
for (c = *p++; c == '?' || c == '*'; c = *p++)
{
if ((flags & FNM_FILE_NAME) && *n == '/')
/* A slash does not match a wildcard under FNM_FILE_NAME. */
return FNM_NOMATCH;
else if (c == '?')
if (c == '?')
{
/* A ? needs to match one character. */
if (*n == '\0')
if (*n == '\0' || (*n == '/' && (flags & FNM_FILE_NAME)))
/* There isn't another character; no match. */
return FNM_NOMATCH;
else
@@ -117,7 +104,13 @@ fnmatch (const char *pattern, const char *string, int flags)
}
if (c == '\0')
return 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;
@@ -126,6 +119,8 @@ fnmatch (const char *pattern, const char *string, int flags)
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;
}
@@ -231,7 +226,5 @@ fnmatch (const char *pattern, const char *string, int flags)
return FNM_NOMATCH;
# undef FOLD
#undef FOLD
}
#endif /* _LIBC or not __GNU_LIBRARY__. */

76
lib/fopen-safer.c Normal file
View File

@@ -0,0 +1,76 @@
/* Invoke fopen, but avoid some glitches.
Copyright (C) 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <unistd-safer.h>
#ifndef STDERR_FILENO
# define STDERR_FILENO 2
#endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include <stdio.h>
#include <stdio-safer.h>
/* Like fopen, but do not return stdin, stdout, or stderr. */
FILE *
fopen_safer (char const *file, char const *mode)
{
FILE *fp = fopen (file, mode);
if (fp)
{
int fd = fileno (fp);
if (0 <= fd && fd <= STDERR_FILENO)
{
int f = dup_safer (fd);
if (f < 0)
{
int e = errno;
fclose (fp);
errno = e;
return NULL;
}
if (fclose (fp) != 0
|| ! (fp = fdopen (f, mode)))
{
int e = errno;
close (f);
errno = e;
return NULL;
}
}
}
return fp;
}

View File

@@ -1,5 +1,7 @@
/* full-write.c -- an interface to write that retries after interrupts
Copyright (C) 1993, 1994, 1997, 1998 Free Software Foundation, Inc.
Copyright 1993, 1994, 1997, 1998, 1999, 2000, 2001 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,8 +17,7 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Copied largely from GNU C's cccp.c.
*/
Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
@@ -24,6 +25,8 @@
#include <sys/types.h>
#include "full-write.h"
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
@@ -33,29 +36,28 @@
extern int errno;
#endif
/* Write LEN bytes at PTR to descriptor DESC, retrying if interrupted.
Return LEN upon success, write's (negative) error code otherwise. */
/* Write LEN bytes at PTR to descriptor DESC, retrying if interrupted
or if partial writes occur. Return the number of bytes successfully
written, setting errno if that is less than LEN. */
int
size_t
full_write (int desc, const char *ptr, size_t len)
{
int total_written;
size_t total_written = 0;
total_written = 0;
while (len > 0)
{
int written = write (desc, ptr, len);
/* FIXME: write on my slackware Linux 1.2.13 returns zero when
I try to write more data than there is room on a floppy disk.
This puts dd into an infinite loop. Reproduce with
dd if=/dev/zero of=/dev/fd0. */
if (written < 0)
ssize_t written = write (desc, ptr, len);
if (written <= 0)
{
/* Some buggy drivers return 0 when you fall off a device's end. */
if (written == 0)
errno = ENOSPC;
#ifdef EINTR
if (errno == EINTR)
continue;
#endif
return written;
break;
}
total_written += written;
ptr += written;

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

@@ -0,0 +1,9 @@
#ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
size_t full_write PARAMS ((int, const char *, size_t));

53
lib/gen-uio Executable file
View File

@@ -0,0 +1,53 @@
#!/bin/sh
fail=0
cat <<\EOF || fail=1
#ifndef UNLOCKED_IO_H
# define UNLOCKED_IO_H 1
# ifndef USE_UNLOCKED_IO
# define USE_UNLOCKED_IO 1
# endif
# if USE_UNLOCKED_IO
/* These are wrappers for functions/macros from GNU libc.
The standard I/O functions are thread-safe. These *_unlocked ones are
more efficient but not thread-safe. That they're not thread-safe is
fine since all of the applications in this package are single threaded. */
EOF
for f in $@; do
u=`echo $f|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
cat <<EOF || fail=1
# if HAVE_${u}_UNLOCKED
# undef $f
EOF
case $f in
getchar)
params=;;
putchar | clearerr | feof | ferror | fflush | getc )
params=x;;
putc | fputc | fputs )
params=x,y;;
fgets )
params=x,y,z;;
fread | fwrite )
params=w,x,y,z;;
*)
echo $0: missing case for $f 2>&1; fail=1;;
esac
cat <<EOF || fail=1
# define $f($params) ${f}_unlocked ($params)
# endif
EOF
done
cat <<\EOF || fail=1
# endif /* USE_UNLOCKED_IO */
#endif /* UNLOCKED_IO_H */
EOF
(exit $fail); exit

View File

@@ -1,6 +1,6 @@
%{
/* Parse a string into an internal time stamp.
Copyright 1999 Free Software Foundation, Inc.
Copyright 1999, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -82,10 +82,18 @@
#endif
#define EPOCH_YEAR 1970
#define TM_YEAR_ORIGIN 1900
#define TM_YEAR_BASE 1900
#define HOUR(x) ((x) * 60)
/* An integer value, and the number of digits in its textual
representation. */
typedef struct
{
int value;
int digits;
} textint;
/* An entry in the lexical lookup table. */
typedef struct
{
@@ -98,8 +106,8 @@ typedef struct
enum { MERam, MERpm, MER24 };
/* Information passed to and from the parser. */
struct parser_control
{
typedef struct
{
/* The input string remaining to be parsed. */
const char *input;
@@ -119,7 +127,7 @@ struct parser_control
int meridian;
/* Gregorian year, month, day, hour, minutes, and seconds. */
int year;
textint year;
int month;
int day;
int hour;
@@ -144,12 +152,11 @@ struct parser_control
/* Table of local time zone abbrevations, terminated by a null entry. */
table local_time_zone_table[3];
};
} parser_control;
#define PC (* (struct parser_control *) parm)
#define PC (* (parser_control *) parm)
#define YYLEX_PARAM parm
#define YYPARSE_PARAM parm
#define YYSTYPE int
static int yyerror ();
static int yylex ();
@@ -162,9 +169,20 @@ static int yylex ();
/* This grammar has 13 shift/reduce conflicts. */
%expect 13
%token tAGO tDAY tDAY_UNIT tDAYZONE tDST tHOUR_UNIT tID
%token tLOCAL_ZONE tMERIDIAN tMINUTE_UNIT tMONTH tMONTH_UNIT
%token tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT tZONE
%union
{
int intval;
textint textintval;
}
%token tAGO tDST
%token <intval> tDAY tDAY_UNIT tDAYZONE tHOUR_UNIT tLOCAL_ZONE tMERIDIAN
%token <intval> tMINUTE_UNIT tMONTH tMONTH_UNIT tSEC_UNIT tYEAR_UNIT tZONE
%token <textintval> tSNUMBER tUNUMBER
%type <intval> o_merid
%%
@@ -192,41 +210,41 @@ item:
time:
tUNUMBER tMERIDIAN
{
PC.hour = $1;
PC.hour = $1.value;
PC.minutes = 0;
PC.seconds = 0;
PC.meridian = $2;
}
| tUNUMBER ':' tUNUMBER o_merid
{
PC.hour = $1;
PC.minutes = $3;
PC.hour = $1.value;
PC.minutes = $3.value;
PC.seconds = 0;
PC.meridian = $4;
}
| tUNUMBER ':' tUNUMBER tSNUMBER
{
PC.hour = $1;
PC.minutes = $3;
PC.hour = $1.value;
PC.minutes = $3.value;
PC.meridian = MER24;
PC.zones_seen++;
PC.time_zone = $4 % 100 + ($4 / 100) * 60;
PC.time_zone = $4.value % 100 + ($4.value / 100) * 60;
}
| tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid
{
PC.hour = $1;
PC.minutes = $3;
PC.seconds = $5;
PC.hour = $1.value;
PC.minutes = $3.value;
PC.seconds = $5.value;
PC.meridian = $6;
}
| tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER
{
PC.hour = $1;
PC.minutes = $3;
PC.seconds = $5;
PC.hour = $1.value;
PC.minutes = $3.value;
PC.seconds = $5.value;
PC.meridian = MER24;
PC.zones_seen++;
PC.time_zone = $6 % 100 + ($6 / 100) * 60;
PC.time_zone = $6.value % 100 + ($6.value / 100) * 60;
}
;
@@ -259,7 +277,7 @@ day:
}
| tUNUMBER tDAY
{
PC.day_ordinal = $1;
PC.day_ordinal = $1.value;
PC.day_number = $2;
}
;
@@ -267,25 +285,26 @@ day:
date:
tUNUMBER '/' tUNUMBER
{
PC.month = $1;
PC.day = $3;
PC.month = $1.value;
PC.day = $3.value;
}
| tUNUMBER '/' tUNUMBER '/' tUNUMBER
{
/* Interpret as YYYY/MM/DD if 1000 <= $1, otherwise as MM/DD/YY.
/* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
otherwise as MM/DD/YY.
The goal in recognizing YYYY/MM/DD is solely to support legacy
machine-generated dates like those in an RCS log listing. If
you want portability, use the ISO 8601 format. */
if (1000 <= $1)
if (4 <= $1.digits)
{
PC.year = $1;
PC.month = $3;
PC.day = $5;
PC.month = $3.value;
PC.day = $5.value;
}
else
{
PC.month = $1;
PC.day = $3;
PC.month = $1.value;
PC.day = $3.value;
PC.year = $5;
}
}
@@ -293,36 +312,37 @@ date:
{
/* ISO 8601 format. YYYY-MM-DD. */
PC.year = $1;
PC.month = -$2;
PC.day = -$3;
PC.month = -$2.value;
PC.day = -$3.value;
}
| tUNUMBER tMONTH tSNUMBER
{
/* e.g. 17-JUN-1992. */
PC.day = $1;
PC.day = $1.value;
PC.month = $2;
PC.year = -$3;
PC.year.value = -$3.value;
PC.year.digits = $3.digits;
}
| tMONTH tUNUMBER
{
PC.month = $1;
PC.day = $2;
PC.day = $2.value;
}
| tMONTH tUNUMBER ',' tUNUMBER
{
PC.month = $1;
PC.day = $2;
PC.day = $2.value;
PC.year = $4;
}
| tUNUMBER tMONTH
{
PC.day = $1.value;
PC.month = $2;
PC.day = $1;
}
| tUNUMBER tMONTH tUNUMBER
{
PC.day = $1.value;
PC.month = $2;
PC.day = $1;
PC.year = $3;
}
;
@@ -342,39 +362,39 @@ rel:
relunit:
tUNUMBER tYEAR_UNIT
{ PC.rel_year += $1 * $2; }
{ PC.rel_year += $1.value * $2; }
| tSNUMBER tYEAR_UNIT
{ PC.rel_year += $1 * $2; }
{ PC.rel_year += $1.value * $2; }
| tYEAR_UNIT
{ PC.rel_year += $1; }
| tUNUMBER tMONTH_UNIT
{ PC.rel_month += $1 * $2; }
{ PC.rel_month += $1.value * $2; }
| tSNUMBER tMONTH_UNIT
{ PC.rel_month += $1 * $2; }
{ PC.rel_month += $1.value * $2; }
| tMONTH_UNIT
{ PC.rel_month += $1; }
| tUNUMBER tDAY_UNIT
{ PC.rel_day += $1 * $2; }
{ PC.rel_day += $1.value * $2; }
| tSNUMBER tDAY_UNIT
{ PC.rel_day += $1 * $2; }
{ PC.rel_day += $1.value * $2; }
| tDAY_UNIT
{ PC.rel_day += $1; }
{ PC.rel_day += $1 }
| tUNUMBER tHOUR_UNIT
{ PC.rel_hour += $1 * $2; }
{ PC.rel_hour += $1.value * $2; }
| tSNUMBER tHOUR_UNIT
{ PC.rel_hour += $1 * $2; }
{ PC.rel_hour += $1.value * $2; }
| tHOUR_UNIT
{ PC.rel_hour += $1; }
{ PC.rel_hour += $1 }
| tUNUMBER tMINUTE_UNIT
{ PC.rel_minutes += $1 * $2; }
{ PC.rel_minutes += $1.value * $2; }
| tSNUMBER tMINUTE_UNIT
{ PC.rel_minutes += $1 * $2; }
{ PC.rel_minutes += $1.value * $2; }
| tMINUTE_UNIT
{ PC.rel_minutes += $1; }
{ PC.rel_minutes += $1 }
| tUNUMBER tSEC_UNIT
{ PC.rel_seconds += $1 * $2; }
{ PC.rel_seconds += $1.value * $2; }
| tSNUMBER tSEC_UNIT
{ PC.rel_seconds += $1 * $2; }
{ PC.rel_seconds += $1.value * $2; }
| tSEC_UNIT
{ PC.rel_seconds += $1; }
;
@@ -382,29 +402,31 @@ relunit:
number:
tUNUMBER
{
if (PC.dates_seen && ! PC.rels_seen && (PC.times_seen || 100 <= $1))
if (PC.dates_seen
&& ! PC.rels_seen && (PC.times_seen || 2 < $1.digits))
PC.year = $1;
else
{
if (10000 < $1)
if (4 < $1.digits)
{
PC.dates_seen++;
PC.day = $1 % 100;
PC.month = ($1 / 100) % 100;
PC.year = $1 / 10000;
PC.day = $1.value % 100;
PC.month = ($1.value / 100) % 100;
PC.year.value = $1.value / 10000;
PC.year.digits = $1.digits - 4;
}
else
{
PC.times_seen++;
if ($1 < 100)
if ($1.digits <= 2)
{
PC.hour = $1;
PC.hour = $1.value;
PC.minutes = 0;
}
else
{
PC.hour = $1 / 100;
PC.minutes = $1 % 100;
PC.hour = $1.value / 100;
PC.minutes = $1.value % 100;
}
PC.seconds = 0;
PC.meridian = MER24;
@@ -426,6 +448,7 @@ o_merid:
may define-away `const'. We want the prototype for get_date to have
the same signature as the function definition. */
#include "getdate.h"
#include "unlocked-io.h"
#ifndef gmtime
struct tm *gmtime ();
@@ -632,23 +655,23 @@ to_hour (int hours, int meridian)
}
static int
to_year (int year)
to_year (textint textyear)
{
int year = textyear.value;
if (year < 0)
year = -year;
/* XPG4 suggests that years 00-68 map to 2000-2068, and
years 69-99 map to 1969-1999. */
if (year < 69)
year += 2000;
else if (year < 100)
year += 1900;
if (textyear.digits == 2)
year += year < 69 ? 2000 : 1900;
return year;
}
static table const *
lookup_zone (struct parser_control const *pc, char const *name)
lookup_zone (parser_control const *pc, char const *name)
{
table const *tp;
@@ -664,29 +687,35 @@ lookup_zone (struct parser_control const *pc, char const *name)
return 0;
}
/* Yield A - B, measured in seconds. */
#if ! HAVE_TM_GMTOFF
/* Yield the difference between *A and *B,
measured in seconds, ignoring leap seconds.
The body of this function is taken directly from the GNU C Library;
see src/strftime.c. */
static int
difftm (struct tm *a, struct tm *b)
tm_diff (struct tm const *a, struct tm const *b)
{
int ay = a->tm_year + (TM_YEAR_ORIGIN - 1);
int by = b->tm_year + (TM_YEAR_ORIGIN - 1);
int days = (
/* difference in day of year */
a->tm_yday - b->tm_yday
/* + intervening leap days */
+ ((ay >> 2) - (by >> 2))
- (ay / 100 - by / 100)
+ ((ay / 100 >> 2) - (by / 100 >> 2))
/* + difference in years * 365 */
+ (int) (ay - by) * 365
);
/* Compute intervening leap days correctly even if year is negative.
Take care to avoid int overflow in leap day calculations,
but it's OK to assume that A and B are close to each other. */
int a4 = (a->tm_year >> 2) + (TM_YEAR_BASE >> 2) - ! (a->tm_year & 3);
int b4 = (b->tm_year >> 2) + (TM_YEAR_BASE >> 2) - ! (b->tm_year & 3);
int a100 = a4 / 25 - (a4 % 25 < 0);
int b100 = b4 / 25 - (b4 % 25 < 0);
int a400 = a100 >> 2;
int b400 = b100 >> 2;
int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400);
int years = a->tm_year - b->tm_year;
int days = (365 * years + intervening_leap_days
+ (a->tm_yday - b->tm_yday));
return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
+ (a->tm_min - b->tm_min))
+ (a->tm_sec - b->tm_sec));
}
#endif /* ! HAVE_TM_GMTOFF */
static table const *
lookup_word (struct parser_control const *pc, char *word)
lookup_word (parser_control const *pc, char *word)
{
char *p;
char *q;
@@ -755,7 +784,7 @@ lookup_word (struct parser_control const *pc, char *word)
}
static int
yylex (YYSTYPE *lvalp, struct parser_control *pc)
yylex (YYSTYPE *lvalp, parser_control *pc)
{
unsigned char c;
int count;
@@ -767,21 +796,30 @@ yylex (YYSTYPE *lvalp, struct parser_control *pc)
if (ISDIGIT (c) || c == '-' || c == '+')
{
char const *p;
int sign;
int value;
if (c == '-' || c == '+')
{
sign = c == '-' ? -1 : 1;
if (! ISDIGIT (*++pc->input))
c = *++pc->input;
if (! ISDIGIT (c))
/* skip the '-' sign */
continue;
}
else
sign = 0;
for (*lvalp = 0; ISDIGIT (c = *pc->input++);)
*lvalp = 10 * *lvalp + (c - '0');
pc->input--;
if (sign < 0)
*lvalp = - *lvalp;
p = pc->input;
value = 0;
do
{
value = 10 * value + c - '0';
c = *++p;
}
while (ISDIGIT (c));
lvalp->textintval.value = sign < 0 ? -value : value;
lvalp->textintval.digits = p - pc->input;
pc->input = p;
return sign ? tSNUMBER : tUNUMBER;
}
@@ -802,8 +840,8 @@ yylex (YYSTYPE *lvalp, struct parser_control *pc)
*p = '\0';
tp = lookup_word (pc, buff);
if (! tp)
return tID;
*lvalp = tp->value;
return '?';
lvalp->intval = tp->value;
return tp->type;
}
@@ -842,13 +880,14 @@ get_date (const char *p, const time_t *now)
struct tm *tmp = localtime (&Start);
struct tm tm;
struct tm tm0;
struct parser_control pc;
parser_control pc;
if (! tmp)
return -1;
pc.input = p;
pc.year = tmp->tm_year + TM_YEAR_ORIGIN;
pc.year.value = tmp->tm_year + TM_YEAR_BASE;
pc.year.digits = 4;
pc.month = tmp->tm_mon + 1;
pc.day = tmp->tm_mday;
pc.hour = tmp->tm_hour;
@@ -934,7 +973,7 @@ get_date (const char *p, const time_t *now)
|| (pc.local_zones_seen && 1 < pc.local_isdst))
return -1;
tm.tm_year = to_year (pc.year) - TM_YEAR_ORIGIN + pc.rel_year;
tm.tm_year = to_year (pc.year) - TM_YEAR_BASE + pc.rel_year;
tm.tm_mon = pc.month - 1 + pc.rel_month;
tm.tm_mday = pc.day + pc.rel_day;
if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen))
@@ -949,13 +988,11 @@ get_date (const char *p, const time_t *now)
{
tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
}
tm.tm_hour += pc.rel_hour;
tm.tm_min += pc.rel_minutes;
tm.tm_sec += pc.rel_seconds;
/* Let mktime deduce tm_isdst if we have an absolute time stamp,
or if the relative time stamp mentions days, months, or years. */
if (pc.dates_seen | pc.days_seen | pc.times_seen | pc.rel_day | pc.rel_month | pc.rel_year)
if (pc.dates_seen | pc.days_seen | pc.times_seen | pc.rel_day
| pc.rel_month | pc.rel_year)
tm.tm_isdst = -1;
/* But if the input explicitly specifies local time with or without
@@ -981,7 +1018,7 @@ get_date (const char *p, const time_t *now)
if (pc.zones_seen)
{
tm = tm0;
if (tm.tm_year <= EPOCH_YEAR - TM_YEAR_ORIGIN)
if (tm.tm_year <= EPOCH_YEAR - TM_YEAR_BASE)
{
tm.tm_mday++;
pc.time_zone += 24 * 60;
@@ -1002,6 +1039,7 @@ get_date (const char *p, const time_t *now)
{
tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7
+ 7 * (pc.day_ordinal - (0 < pc.day_ordinal)));
tm.tm_isdst = -1;
Start = mktime (&tm);
if (Start == (time_t) -1)
return Start;
@@ -1009,16 +1047,43 @@ get_date (const char *p, const time_t *now)
if (pc.zones_seen)
{
int delta;
int delta = pc.time_zone * 60;
#ifdef HAVE_TM_GMTOFF
delta -= tm.tm_gmtoff;
#else
struct tm *gmt = gmtime (&Start);
if (! gmt)
return -1;
delta = pc.time_zone * 60 + difftm (gmt, &tm);
if ((Start - delta < Start) != (delta < 0))
delta -= tm_diff (&tm, gmt);
#endif
if ((Start < Start - delta) != (delta < 0))
return -1; /* time_t overflow */
Start -= delta;
}
/* Add relative hours, minutes, and seconds. Ignore leap seconds;
i.e. "+ 10 minutes" means 600 seconds, even if one of them is a
leap second. Typically this is not what the user wants, but it's
too hard to do it the other way, because the time zone indicator
must be applied before relative times, and if mktime is applied
again the time zone will be lost. */
{
time_t t0 = Start;
long d1 = 60 * 60 * (long) pc.rel_hour;
time_t t1 = t0 + d1;
long d2 = 60 * (long) pc.rel_minutes;
time_t t2 = t1 + d2;
int d3 = pc.rel_seconds;
time_t t3 = t2 + d3;
if ((d1 / (60 * 60) ^ pc.rel_hour)
| (d2 / 60 ^ pc.rel_minutes)
| ((t0 + d1 < t0) ^ (d1 < 0))
| ((t1 + d2 < t1) ^ (d2 < 0))
| ((t2 + d3 < t2) ^ (d3 < 0)))
return -1;
Start = t3;
}
return Start;
}

View File

@@ -1,6 +1,6 @@
/* getline.c -- Replacement for GNU C library function getline
Copyright (C) 1993, 1996, 1997, 1998 Free Software Foundation, Inc.
Copyright (C) 1993, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -39,105 +39,19 @@ getline (char **lineptr, size_t *n, FILE *stream)
return getdelim (lineptr, n, '\n', stream);
}
#else /* ! have getdelim */
# define NDEBUG
# include <assert.h>
# if STDC_HEADERS
# include <stdlib.h>
# else
char *malloc (), *realloc ();
# endif
/* Always add at least this many bytes when extending the buffer. */
# define MIN_CHUNK 64
/* Read up to (and including) a TERMINATOR from STREAM into *LINEPTR
+ OFFSET (and null-terminate it). *LINEPTR is a pointer returned from
malloc (or NULL), pointing to *N characters of space. It is realloc'd
as necessary. Return the number of characters read (not including the
null terminator), or -1 on error or EOF. */
int
getstr (char **lineptr, size_t *n, FILE *stream, char terminator, size_t offset)
{
int nchars_avail; /* Allocated but unused chars in *LINEPTR. */
char *read_pos; /* Where we're reading into *LINEPTR. */
int ret;
if (!lineptr || !n || !stream)
return -1;
if (!*lineptr)
{
*n = MIN_CHUNK;
*lineptr = malloc (*n);
if (!*lineptr)
return -1;
}
nchars_avail = *n - offset;
read_pos = *lineptr + offset;
for (;;)
{
register int c = getc (stream);
/* We always want at least one char left in the buffer, since we
always (unless we get an error while reading the first char)
NUL-terminate the line buffer. */
assert(*n - nchars_avail == read_pos - *lineptr);
if (nchars_avail < 2)
{
if (*n > MIN_CHUNK)
*n *= 2;
else
*n += MIN_CHUNK;
nchars_avail = *n + *lineptr - read_pos;
*lineptr = realloc (*lineptr, *n);
if (!*lineptr)
return -1;
read_pos = *n - nchars_avail + *lineptr;
assert(*n - nchars_avail == read_pos - *lineptr);
}
if (c == EOF || ferror (stream))
{
/* Return partial line, if any. */
if (read_pos == *lineptr)
return -1;
else
break;
}
*read_pos++ = c;
nchars_avail--;
if (c == terminator)
/* Return the line. */
break;
}
/* Done - NUL terminate and return the number of chars read. */
*read_pos = '\0';
ret = read_pos - (*lineptr + offset);
return ret;
}
# include "getstr.h"
int
getline (char **lineptr, size_t *n, FILE *stream)
{
return getstr (lineptr, n, stream, '\n', 0);
return getstr (lineptr, n, stream, '\n', 0, 0);
}
int
getdelim (char **lineptr, size_t *n, int delimiter, FILE *stream)
{
return getstr (lineptr, n, stream, delimiter, 0);
return getstr (lineptr, n, stream, delimiter, 0, 0);
}
#endif

View File

@@ -308,6 +308,12 @@ extern int errno;
# define LDAV_CVT(n) (((double) (n)) / FSCALE)
# endif
# ifndef NLIST_STRUCT
# if HAVE_NLIST_H
# define NLIST_STRUCT
# endif
# endif
/* VAX C can't handle multi-line #ifs, or lines longer that 256 characters. */
# ifndef NLIST_STRUCT

View File

@@ -1,23 +1,25 @@
/* Getopt for GNU.
NOTE: The canonical source of this file is maintained with the GNU
C Library. Bugs can be reported to bug-glibc@gnu.org.
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001
Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU 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 Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */
@@ -27,13 +29,13 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#else
# if !defined __STDC__ || !__STDC__
#endif
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
# ifndef const
# define const
# endif
# ifndef const
# define const
# endif
#endif
@@ -75,11 +77,12 @@
#endif
#ifndef _
/* This is for other GNU distributions with internationalized messages.
When compiling libc, the _ macro is predefined. */
# ifdef HAVE_LIBINTL_H
/* This is for other GNU distributions with internationalized messages. */
# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
# include <libintl.h>
# define _(msgid) gettext (msgid)
# ifndef _
# define _(msgid) gettext (msgid)
# endif
# else
# define _(msgid) (msgid)
# endif
@@ -250,11 +253,13 @@ static int last_nonopt;
/* Bash 2.0 gives us an environment variable containing flags
indicating ARGV elements that should not be considered arguments. */
#ifdef USE_NONOPTION_FLAGS
/* Defined in getopt_init.c */
extern char *__getopt_nonoption_flags;
static int nonoption_flags_max_len;
static int nonoption_flags_len;
#endif
static int original_argc;
static char *const *original_argv;
@@ -275,13 +280,17 @@ store_args_and_env (int argc, char *const *argv)
text_set_element (__libc_subinit, store_args_and_env);
# endif /* text_set_element */
# define SWAP_FLAGS(ch1, ch2) \
# ifdef USE_NONOPTION_FLAGS
# define SWAP_FLAGS(ch1, ch2) \
if (nonoption_flags_len > 0) \
{ \
char __tmp = __getopt_nonoption_flags[ch1]; \
__getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
__getopt_nonoption_flags[ch2] = __tmp; \
}
# else
# define SWAP_FLAGS(ch1, ch2)
# endif
#else /* !_LIBC */
# define SWAP_FLAGS(ch1, ch2)
#endif /* _LIBC */
@@ -313,7 +322,7 @@ exchange (argv)
It leaves the longer segment in the right place overall,
but it consists of two parts that need to be swapped next. */
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
/* First make sure the handling of the `__getopt_nonoption_flags'
string can work normally. Our top argument must be in the range
of the string. */
@@ -417,7 +426,7 @@ _getopt_initialize (argc, argv, optstring)
else
ordering = PERMUTE;
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
if (posixly_correct == NULL
&& argc == original_argc && argv == original_argv)
{
@@ -515,6 +524,13 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
int *longind;
int long_only;
{
int print_errors = opterr;
if (optstring[0] == ':')
print_errors = 0;
if (argc < 1)
return -1;
optarg = NULL;
if (optind == 0 || !__getopt_initialized)
@@ -529,7 +545,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
Either it does not have option syntax, or there is an environment flag
from the shell indicating it is not an option. The later information
is only used when the used in the GNU libc. */
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
|| (optind < nonoption_flags_len \
&& __getopt_nonoption_flags[optind] == '1'))
@@ -664,14 +680,17 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
pfound = p;
indfound = option_index;
}
else
else if (long_only
|| pfound->has_arg != p->has_arg
|| pfound->flag != p->flag
|| pfound->val != p->val)
/* Second or later nonexact match found. */
ambig = 1;
}
if (ambig && !exact)
{
if (opterr)
if (print_errors)
fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]);
nextchar += strlen (nextchar);
@@ -692,7 +711,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = nameend + 1;
else
{
if (opterr)
if (print_errors)
{
if (argv[optind - 1][1] == '-')
/* --option */
@@ -718,7 +737,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = argv[optind++];
else
{
if (opterr)
if (print_errors)
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
@@ -745,7 +764,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (!long_only || argv[optind][1] == '-'
|| my_index (optstring, *nextchar) == NULL)
{
if (opterr)
if (print_errors)
{
if (argv[optind][1] == '-')
/* --option */
@@ -775,7 +794,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (temp == NULL || c == ':')
{
if (opterr)
if (print_errors)
{
if (posixly_correct)
/* 1003.2 specifies the format of this message. */
@@ -809,7 +828,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
}
else if (optind == argc)
{
if (opterr)
if (print_errors)
{
/* 1003.2 specifies the format of this message. */
fprintf (stderr, _("%s: option requires an argument -- %c\n"),
@@ -858,7 +877,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
}
if (ambig && !exact)
{
if (opterr)
if (print_errors)
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
argv[0], argv[optind]);
nextchar += strlen (nextchar);
@@ -876,7 +895,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = nameend + 1;
else
{
if (opterr)
if (print_errors)
fprintf (stderr, _("\
%s: option `-W %s' doesn't allow an argument\n"),
argv[0], pfound->name);
@@ -891,7 +910,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = argv[optind++];
else
{
if (opterr)
if (print_errors)
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
@@ -938,12 +957,12 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
}
else if (optind == argc)
{
if (opterr)
if (print_errors)
{
/* 1003.2 specifies the format of this message. */
fprintf (stderr,
_("%s: option requires an argument -- %c\n"),
argv[0], c);
_("%s: option requires an argument -- %c\n"),
argv[0], c);
}
optopt = c;
if (optstring[0] == ':')

View File

@@ -1,21 +1,21 @@
/* Declarations for getopt.
Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is distributed in the hope that it will be useful,
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU 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 Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifndef _GETOPT_H
@@ -23,6 +23,17 @@
# define _GETOPT_H 1
#endif
/* If __GNU_LIBRARY__ is not already defined, either we are being used
standalone, or this is the first header included in the source file.
If we are being used with glibc, we need to include <features.h>, but
that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
not defined, include <ctype.h>, which will pull in <features.h> for us
if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
doesn't flood the namespace with stuff the way some other headers do.) */
#if !defined __GNU_LIBRARY__
# include <ctype.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
@@ -82,7 +93,7 @@ extern int optopt;
struct option
{
# if defined __STDC__ && __STDC__
# if (defined __STDC__ && __STDC__) || defined __cplusplus
const char *name;
# else
char *name;
@@ -126,7 +137,7 @@ struct option
arguments to the option '\0'. This behavior is specific to the GNU
`getopt'. */
#if defined __STDC__ && __STDC__
#if (defined __STDC__ && __STDC__) || defined __cplusplus
# ifdef __GNU_LIBRARY__
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation

View File

@@ -1,26 +1,29 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU 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 Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#else
#endif
#include "getopt.h"
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
@@ -28,9 +31,6 @@
#define const
#endif
#endif
#endif
#include "getopt.h"
#include <stdio.h>

View File

@@ -2,34 +2,48 @@
#ifndef HAVE_GETPAGESIZE
#ifdef VMS
#define getpagesize() 512
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
# include <unistd.h>
#endif
#ifdef _SC_PAGESIZE
#define getpagesize() sysconf(_SC_PAGESIZE)
#else
#if !defined getpagesize && defined _SC_PAGESIZE
# if !(defined VMS && __VMS_VER < 70000000)
# define getpagesize() sysconf (_SC_PAGESIZE)
# endif
#endif
#include <sys/param.h>
#if !defined getpagesize && defined VMS
# ifdef __ALPHA
# define getpagesize() 8192
# else
# define getpagesize() 512
# endif
#endif
#ifdef EXEC_PAGESIZE
#define getpagesize() EXEC_PAGESIZE
#else
#ifdef NBPG
#define getpagesize() NBPG * CLSIZE
#ifndef CLSIZE
#define CLSIZE 1
#endif /* no CLSIZE */
#else /* no NBPG */
#ifdef NBPC
#define getpagesize() NBPC
#endif /* NBPC */
#endif /* no NBPG */
#endif /* no EXEC_PAGESIZE */
#endif /* no _SC_PAGESIZE */
/* This is for BeOS. */
#if !defined getpagesize && HAVE_OS_H
# include <OS.h>
# if defined B_PAGE_SIZE
# define getpagesize() B_PAGE_SIZE
# endif
#endif
#ifndef getpagesize
# include <sys/param.h>
# ifdef EXEC_PAGESIZE
# define getpagesize() EXEC_PAGESIZE
# else
# ifdef NBPG
# ifndef CLSIZE
# define CLSIZE 1
# endif
# define getpagesize() (NBPG * CLSIZE)
# else
# ifdef NBPC
# define getpagesize() NBPC
# endif
# endif
# endif
#endif
#endif /* not HAVE_GETPAGESIZE */

102
lib/getpass.c Normal file
View File

@@ -0,0 +1,102 @@
/* Copyright (C) 1992,93,94,95,96,97,98,99,2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
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 the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include "getline.h"
#include "unlocked-io.h"
/* It is desirable to use this bit on systems that have it.
The only bit of terminal state we want to twiddle is echoing, which is
done in software; there is no need to change the state of the terminal
hardware. */
#ifndef TCSASOFT
# define TCSASOFT 0
#endif
char *
getpass (const char *prompt)
{
FILE *in, *out;
struct termios s, t;
int tty_changed;
static char *buf;
static size_t bufsize;
ssize_t nread;
/* Try to write to and read from the terminal if we can.
If we can't open the terminal, use stderr and stdin. */
in = fopen ("/dev/tty", "w+");
if (in == NULL)
{
in = stdin;
out = stderr;
}
else
out = in;
/* Turn echoing off if it is on now. */
if (tcgetattr (fileno (in), &t) == 0)
{
/* Save the old one. */
s = t;
/* Tricky, tricky. */
t.c_lflag &= ~(ECHO|ISIG);
tty_changed = (tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0);
}
else
tty_changed = 0;
/* Write the prompt. */
fputs (prompt, out);
fflush (out);
/* Read the password. */
nread = getline (&buf, &bufsize, in);
if (buf != NULL)
{
if (nread < 0)
buf[0] = '\0';
else if (buf[nread - 1] == '\n')
{
/* Remove the newline. */
buf[nread - 1] = '\0';
if (tty_changed)
/* Write the newline that was not echoed. */
putc ('\n', out);
}
}
/* Restore the original setting. */
if (tty_changed)
(void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
if (in != stdin)
/* We opened the terminal; now close it. */
fclose (in);
return buf;
}

115
lib/getstr.c Normal file
View File

@@ -0,0 +1,115 @@
/* getstr.c -- core function for GNU C library getline replacement function
Copyright (C) 1993, 1996-2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Jan Brittenson, bson@gnu.ai.mit.edu. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <sys/types.h>
#if STDC_HEADERS
# include <stdlib.h>
#else
char *malloc (), *realloc ();
#endif
#include "unlocked-io.h"
/* Always add at least this many bytes when extending the buffer. */
#define MIN_CHUNK 64
/* Read up to (and including) a delimiter DELIM1 from STREAM into *LINEPTR
+ OFFSET (and NUL-terminate it). If DELIM2 is non-zero, then read up
and including the first occurrence of DELIM1 or DELIM2. *LINEPTR is
a pointer returned from malloc (or NULL), pointing to *N characters of
space. It is realloc'd as necessary. Return the number of characters
read (not including the NUL terminator), or -1 on error or EOF. */
int
getstr (char **lineptr, size_t *n, FILE *stream, int delim1, int delim2,
size_t offset)
{
size_t nchars_avail; /* Allocated but unused chars in *LINEPTR. */
char *read_pos; /* Where we're reading into *LINEPTR. */
int ret;
if (!lineptr || !n || !stream)
return -1;
if (!*lineptr)
{
*n = MIN_CHUNK;
*lineptr = malloc (*n);
if (!*lineptr)
return -1;
}
if (*n < offset)
return -1;
nchars_avail = *n - offset;
read_pos = *lineptr + offset;
for (;;)
{
register int c = getc (stream);
/* We always want at least one char left in the buffer, since we
always (unless we get an error while reading the first char)
NUL-terminate the line buffer. */
if (nchars_avail < 2)
{
if (*n > MIN_CHUNK)
*n *= 2;
else
*n += MIN_CHUNK;
nchars_avail = *n + *lineptr - read_pos;
*lineptr = realloc (*lineptr, *n);
if (!*lineptr)
return -1;
read_pos = *n - nchars_avail + *lineptr;
}
if (c == EOF || ferror (stream))
{
/* Return partial line, if any. */
if (read_pos == *lineptr)
return -1;
else
break;
}
*read_pos++ = c;
nchars_avail--;
if (c == delim1 || (delim2 && c == delim2))
/* Return the line. */
break;
}
/* Done - NUL terminate and return the number of chars read. */
*read_pos = '\0';
ret = read_pos - (*lineptr + offset);
return ret;
}

19
lib/getstr.h Normal file
View File

@@ -0,0 +1,19 @@
#ifndef GETSTR_H_
# define GETSTR_H_ 1
# include <stdio.h>
# ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
# endif
int
getstr PARAMS ((char **lineptr, size_t *n, FILE *stream,
int delim1, int delim2,
size_t offset));
#endif

68
lib/gettimeofday.c Normal file
View File

@@ -0,0 +1,68 @@
/* 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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* written by Jim Meyering */
#include <config.h>
/* Disable the definition of gettimeofday (from config.h) so we can use
the library version. */
#undef gettimeofday
#include <sys/types.h>
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# else
# include <time.h>
# endif
#endif
#include <stdlib.h>
static struct tm *localtime_buffer_addr;
/* This is a wrapper for gettimeofday. It is used only on systems for which
gettimeofday clobbers the static buffer used for localtime's result.
Save and restore the contents of the buffer used for localtime's result
around the call to gettimeofday. */
int
rpl_gettimeofday (struct timeval *tv, struct timezone *tz)
{
struct tm save;
int result;
if (! localtime_buffer_addr)
{
time_t t = 0;
localtime_buffer_addr = localtime (&t);
}
save = *localtime_buffer_addr;
result = gettimeofday (tv, tz);
*localtime_buffer_addr = save;
return result;
}

View File

@@ -1,5 +1,5 @@
/* getugroups.c -- return a list of the groups a user is in
Copyright (C) 1990, 1991, 1998, 1999 Free Software Foundation.
Copyright (C) 1990, 1991, 1998, 1999, 2000 Free Software Foundation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -57,7 +57,7 @@ getugroups (int maxcount, GETGROUPS_T *grouplist, char *username, gid_t gid)
register char **cp;
register int count = 0;
if (gid != -1)
if (gid != (gid_t) -1)
{
if (maxcount != 0)
grouplist[count] = gid;

View File

@@ -1,5 +1,5 @@
/* getusershell.c -- Return names of valid user shells.
Copyright (C) 1991, 1997 Free Software Foundation, Inc.
Copyright (C) 1991, 1997, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,12 +22,22 @@
#endif
#ifndef SHELLS_FILE
# ifndef __DJGPP__
/* File containing a list of nonrestricted shells, one per line. */
# define SHELLS_FILE "/etc/shells"
# define SHELLS_FILE "/etc/shells"
# else
/* This is a horrible kludge. Isn't there a better way? */
# define SHELLS_FILE "/dev/env/DJDIR/etc/shells"
# endif
#endif
#include <stdio.h>
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#include <ctype.h>
#include "unlocked-io.h"
#include "xalloc.h"
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
# define IN_CTYPE_DOMAIN(c) 1
@@ -37,20 +47,19 @@
#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c))
#ifdef STDC_HEADERS
# include <stdlib.h>
#else
char *malloc ();
char *realloc ();
#endif
char *xstrdup ();
static int readname ();
#if ! defined ADDITIONAL_DEFAULT_SHELLS && defined __MSDOS__
# define ADDITIONAL_DEFAULT_SHELLS \
"c:/dos/command.com", "c:/windows/command.com", "c:/command.com",
#else
# define ADDITIONAL_DEFAULT_SHELLS /* empty */
#endif
/* List of shells to use if the shells file is missing. */
static char const* const default_shells[] =
{
ADDITIONAL_DEFAULT_SHELLS
"/bin/sh", "/bin/csh", "/usr/bin/sh", "/usr/bin/csh", NULL
};
@@ -108,10 +117,8 @@ void
setusershell ()
{
default_index = 0;
if (shellstream == NULL)
shellstream = fopen (SHELLS_FILE, "r");
else
fseek (shellstream, 0L, 0);
if (shellstream)
rewind (shellstream);
}
/* Close the shells file. */
@@ -126,39 +133,6 @@ endusershell ()
}
}
/* Allocate N bytes of memory dynamically, with error checking. */
static char *
xmalloc (n)
unsigned n;
{
char *p;
p = malloc (n);
if (p == 0)
{
fprintf (stderr, "virtual memory exhausted\n");
exit (1);
}
return p;
}
/* Reallocate space P to size N, with error checking. */
static char *
xrealloc (p, n)
char *p;
unsigned n;
{
p = realloc (p, n);
if (p == 0)
{
fprintf (stderr, "virtual memory exhausted\n");
exit (1);
}
return p;
}
/* Read a line from STREAM, removing any newline at the end.
Place the result in *NAME, which is malloc'd
and/or realloc'd as necessary and can start out NULL,

View File

@@ -1,5 +1,5 @@
/* getversion.c -- select backup filename type
Copyright (C) 1990, 1998 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -19,7 +19,9 @@
# include <config.h>
#endif
#ifndef __GNUC__
#if __GNUC__
# define alloca __builtin_alloca
#else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# else

42
lib/hash-pjw.c Normal file
View File

@@ -0,0 +1,42 @@
/* hash-pjw.c -- compute a hash value from a NUL-terminated string.
Copyright 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include "hash-pjw.h"
/* A hash function for NUL-terminated char* strings using
the method described in Aho, Sethi, & Ullman, p 436. */
unsigned int
hash_pjw (const void *x, unsigned int tablesize)
{
const char *s = x;
unsigned int h = 0;
unsigned int g;
while (*s != 0)
{
h = (h << 4) + *s++;
if ((g = h & (unsigned int) 0xf0000000) != 0)
h = (h ^ (g >> 24)) ^ g;
}
return (h % tablesize);
}

20
lib/hash-pjw.h Normal file
View File

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

View File

@@ -1,5 +1,5 @@
/* hash - hashing table processing.
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Written by Jim Meyering, 1992.
This program is free software; you can redistribute it and/or modify
@@ -35,9 +35,16 @@ typedef enum {false = 0, true = 1} bool;
#include <stdio.h>
#include <assert.h>
#ifndef HAVE_DECL_FREE
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_FREE
void free ();
#endif
#ifndef HAVE_DECL_MALLOC
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_MALLOC
char *malloc ();
#endif
@@ -54,6 +61,40 @@ char *malloc ();
#include "hash.h"
struct hash_table
{
/* The array of buckets starts at BUCKET and extends to BUCKET_LIMIT-1,
for a possibility of N_BUCKETS. Among those, N_BUCKETS_USED buckets
are not empty, there are N_ENTRIES active entries in the table. */
struct hash_entry *bucket;
struct hash_entry *bucket_limit;
unsigned n_buckets;
unsigned n_buckets_used;
unsigned n_entries;
/* Tuning arguments, kept in a physicaly separate structure. */
const Hash_tuning *tuning;
/* Three functions are given to `hash_initialize', see the documentation
block for this function. In a word, HASHER randomizes a user entry
into a number up from 0 up to some maximum minus 1; COMPARATOR returns
true if two user entries compare equally; and DATA_FREER is the cleanup
function for a user entry. */
Hash_hasher hasher;
Hash_comparator comparator;
Hash_data_freer data_freer;
/* A linked list of freed struct hash_entry structs. */
struct hash_entry *free_entry_list;
#if USE_OBSTACK
/* Whenever obstacks are used, it is possible to allocate all overflowed
entries into a single stack, so they all can be freed in a single
operation. It is not clear if the speedup is worth the trouble. */
struct obstack entry_stack;
#endif
};
/* A hash table contains many internal entries, each holding a pointer to
some user provided data (also called a user entry). An entry indistinctly
refers to both the internal entry and its associated user entry. A user
@@ -256,11 +297,12 @@ hash_get_first (const Hash_table *table)
return bucket->data;
assert (0);
return NULL;
}
/* Return the user data for the entry following ENTRY, where ENTRY has been
returned by a previous call to either `hash_get_first' or `hash_get_next'.
Return NULL if there is no more entries. */
Return NULL if there are no more entries. */
void *
hash_get_next (const Hash_table *table, const void *entry)
@@ -277,7 +319,7 @@ hash_get_next (const Hash_table *table, const void *entry)
return cursor->next->data;
/* Find first entry in any subsequent bucket. */
for (; bucket < table->bucket_limit; bucket++)
while (++bucket < table->bucket_limit)
if (bucket->data)
return bucket->data;
@@ -415,7 +457,7 @@ is_prime (unsigned long candidate)
divisor++;
}
return candidate % divisor != 0;
return (candidate % divisor ? true : false);
}
/* Round a given CANDIDATE number up to the nearest prime, and return that
@@ -445,8 +487,8 @@ hash_reset_tuning (Hash_tuning *tuning)
/* For the given hash TABLE, check the user supplied tuning structure for
reasonable values, and return true if there is no gross error with it.
Otherwise, definitvely reset the TUNING field to some acceptable default in
the hash table (that is, the user loses the right of further modifying
Otherwise, definitively reset the TUNING field to some acceptable default
in the hash table (that is, the user loses the right of further modifying
tuning arguments), and return false. */
static bool
@@ -468,15 +510,14 @@ check_tuning (Hash_table *table)
return false;
}
/* Allocate and return a new hash table, or NULL upon failure. The
initial number of buckets is automatically selected so as to _guarantee_ that
you may insert at least CANDIDATE different user entries before any growth
of the hash table size occurs. So, if have a reasonably tight a-priori
upper bound on the
number of entries you intend to insert in the hash table, you may save some
table memory and insertion time, by specifying it here. If the
IS_N_BUCKETS field of the TUNING structure is true, the CANDIDATE argument
has its meaning changed to the wanted number of buckets.
/* Allocate and return a new hash table, or NULL upon failure. The initial
number of buckets is automatically selected so as to _guarantee_ that you
may insert at least CANDIDATE different user entries before any growth of
the hash table size occurs. So, if have a reasonably tight a-priori upper
bound on the number of entries you intend to insert in the hash table, you
may save some table memory and insertion time, by specifying it here. If
the IS_N_BUCKETS field of the TUNING structure is true, the CANDIDATE
argument has its meaning changed to the wanted number of buckets.
TUNING points to a structure of user-supplied values, in case some fine
tuning is wanted over the default behavior of the hasher. If TUNING is
@@ -569,19 +610,22 @@ void
hash_clear (Hash_table *table)
{
struct hash_entry *bucket;
struct hash_entry *cursor;
for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
{
if (bucket->data)
{
struct hash_entry *cursor;
struct hash_entry *next;
/* Free the bucket overflow. */
for (cursor = bucket->next; cursor; cursor = cursor->next)
for (cursor = bucket->next; cursor; cursor = next)
{
if (table->data_freer)
(*table->data_freer) (cursor->data);
cursor->data = NULL;
next = cursor->next;
/* Relinking is done one entry at a time, as it is to be expected
that overflows are either rare or short. */
cursor->next = table->free_entry_list;
@@ -717,7 +761,7 @@ hash_find_entry (Hash_table *table, const void *entry,
if (bucket->data == NULL)
return NULL;
/* Check if then entry is found as the bucket head. */
/* See if the entry is the first in the bucket. */
if ((*table->comparator) (entry, bucket->data))
{
void *data = bucket->data;
@@ -769,8 +813,8 @@ hash_find_entry (Hash_table *table, const void *entry,
/* For an already existing hash table, change the number of buckets through
specifying CANDIDATE. The contents of the hash table are preserved. The
new number of buckets is automatically selected so as to _guarantee_ that the
table may receive at least CANDIDATE different user entries, including
new number of buckets is automatically selected so as to _guarantee_ that
the table may receive at least CANDIDATE different user entries, including
those already in the table, before any other growth of the hash table size
occurs. If TUNING->IS_N_BUCKETS is true, then CANDIDATE specifies the
exact number of buckets desired. */
@@ -848,6 +892,7 @@ hash_rehash (Hash_table *table, unsigned candidate)
table->bucket_limit = new_table->bucket_limit;
table->n_buckets = new_table->n_buckets;
table->n_buckets_used = new_table->n_buckets_used;
table->free_entry_list = new_table->free_entry_list;
/* table->n_entries already holds its value. */
#if USE_OBSTACK
table->entry_stack = new_table->entry_stack;
@@ -937,7 +982,8 @@ hash_delete (Hash_table *table, const void *entry)
void *data;
struct hash_entry *bucket;
if (data = hash_find_entry (table, entry, &bucket, true), !data)
data = hash_find_entry (table, entry, &bucket, true);
if (!data)
return NULL;
table->n_entries--;
@@ -986,13 +1032,14 @@ hash_print (const Hash_table *table)
struct hash_entry *cursor;
if (bucket)
printf ("%d:\n", slot);
printf ("%d:\n", bucket - table->bucket);
for (cursor = bucket; cursor; cursor = cursor->next)
{
char *s = (char *) cursor->data;
/* FIXME */
printf (" %s\n", s);
if (s)
printf (" %s\n", s);
}
}
}

View File

@@ -1,5 +1,5 @@
/* hash - hashing table processing.
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
Written by Jim Meyering <meyering@ascend.com>, 1998.
This program is free software; you can redistribute it and/or modify
@@ -21,13 +21,16 @@
/* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use
obstacks instead of malloc, and recompile `hash.c' with same setting. */
#ifndef PARAMS
# if PROTOTYPES || __STDC__
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
#ifndef HASH_H_
# define HASH_H_
# ifndef PARAMS
# if PROTOTYPES || __STDC__
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
# endif
#endif
typedef unsigned (*Hash_hasher) PARAMS ((const void *, unsigned));
typedef bool (*Hash_comparator) PARAMS ((const void *, const void *));
@@ -54,39 +57,7 @@ struct hash_tuning
typedef struct hash_tuning Hash_tuning;
struct hash_table
{
/* The array of buckets starts at BUCKET and extends to BUCKET_LIMIT-1,
for a possibility of N_BUCKETS. Among those, N_BUCKETS_USED buckets
are not empty, there are N_ENTRIES active entries in the table. */
struct hash_entry *bucket;
struct hash_entry *bucket_limit;
unsigned n_buckets;
unsigned n_buckets_used;
unsigned n_entries;
/* Tuning arguments, kept in a physicaly separate structure. */
const Hash_tuning *tuning;
/* Three functions are given to `hash_initialize', see the documentation
block for this function. In a word, HASHER randomizes a user entry
into a number up from 0 up to some maximum minus 1; COMPARATOR returns
true if two user entries compare equally; and DATA_FREER is the cleanup
function for a user entry. */
Hash_hasher hasher;
Hash_comparator comparator;
Hash_data_freer data_freer;
/* A linked list of freed struct hash_entry structs. */
struct hash_entry *free_entry_list;
#if USE_OBSTACK
/* Whenever obstacks are used, it is possible to allocate all overflowed
entries into a single stack, so they all can be freed in a single
operation. It is not clear if the speedup is worth the trouble. */
struct obstack entry_stack;
#endif
};
struct hash_table;
typedef struct hash_table Hash_table;
@@ -118,3 +89,5 @@ void hash_free PARAMS ((Hash_table *));
bool hash_rehash PARAMS ((Hash_table *, unsigned));
void *hash_insert PARAMS ((Hash_table *, const void *));
void *hash_delete PARAMS ((Hash_table *, const void *));
#endif

View File

@@ -1,5 +1,5 @@
/* human.c -- print human readable file size
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -44,6 +44,9 @@
#endif
#ifndef HAVE_DECL_GETENV
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_GETENV
char *getenv ();
#endif
@@ -73,6 +76,23 @@ static const char suffixes[] =
'Y' /* Yotta */
};
/* If INEXACT_STYLE is not human_round_to_even, and if easily
possible, adjust VALUE according to the style. */
static double
adjust_value (enum human_inexact_style inexact_style, double value)
{
/* Do not use the floor or ceil functions, as that would mean
linking with the standard math library, which is a porting pain.
So leave the value alone if it is too large to easily round. */
if (inexact_style != human_round_to_even && value < (uintmax_t) -1)
{
uintmax_t u = value;
value = u + (inexact_style == human_ceiling && u != value);
}
return value;
}
/* Like human_readable_inexact, except always round to even. */
char *
human_readable (uintmax_t n, char *buf,
@@ -87,9 +107,8 @@ human_readable (uintmax_t n, char *buf,
N is expressed in units of FROM_BLOCK_SIZE. FROM_BLOCK_SIZE must
be nonnegative.
If OUTPUT_BLOCK_SIZE is positive, use units of OUTPUT_BLOCK_SIZE in
the output number. OUTPUT_BLOCK_SIZE must be a multiple of
FROM_BLOCK_SIZE or vice versa.
OUTPUT_BLOCK_SIZE must be nonzero. If it is positive, use units of
OUTPUT_BLOCK_SIZE in the output number.
Use INEXACT_STYLE to determine whether to take the ceiling or floor
of any result that cannot be expressed exactly.
@@ -145,57 +164,58 @@ human_readable_inexact (uintmax_t n, char *buf,
/* Adjust AMT out of FROM_BLOCK_SIZE units and into TO_BLOCK_SIZE units. */
if (to_block_size <= from_block_size)
{
int multiplier = from_block_size / to_block_size;
amt = n * multiplier;
{
int multiplier;
int divisor;
int r2;
int r10;
if (to_block_size <= from_block_size
? (from_block_size % to_block_size != 0
|| (multiplier = from_block_size / to_block_size,
(amt = n * multiplier) / multiplier != n))
: (from_block_size == 0
|| to_block_size % from_block_size != 0
|| (divisor = to_block_size / from_block_size,
r10 = (n % divisor) * 10,
r2 = (r10 % divisor) * 2,
amt = n / divisor,
tenths = r10 / divisor,
rounding = r2 < divisor ? 0 < r2 : 2 + (divisor < r2),
0)))
{
/* Either the result cannot be computed easily using uintmax_t,
or from_block_size is zero. Fall back on floating point.
FIXME: This can yield answers that are slightly off. */
if (amt / multiplier != n)
{
/* Overflow occurred during multiplication. We should use
multiple precision arithmetic here, but we'll be lazy and
resort to floating point. This can yield answers that
are slightly off. In practice it is quite rare to
overflow uintmax_t, so this is good enough for now. */
double damt = n * (from_block_size / (double) to_block_size);
double damt = n * (double) multiplier;
if (! base)
sprintf (buf, "%.0f", adjust_value (inexact_style, damt));
else
{
double e = 1;
power = 0;
if (! base)
sprintf (buf, "%.0f", damt);
else
{
double e = 1;
power = 0;
do
{
e *= base;
power++;
}
while (e * base <= damt && power < sizeof suffixes - 1);
do
{
e *= base;
power++;
}
while (e * base <= damt && power < sizeof suffixes - 1);
damt /= e;
damt /= e;
sprintf (buf, "%.1f%c", damt, suffixes[power]);
if (4 < strlen (buf))
sprintf (buf, "%.0f%c", damt, suffixes[power]);
}
return buf;
}
}
else if (from_block_size == 0)
amt = 0;
else
{
int divisor = to_block_size / from_block_size;
int r10 = (n % divisor) * 10;
int r2 = (r10 % divisor) * 2;
amt = n / divisor;
tenths = r10 / divisor;
rounding = r2 < divisor ? 0 < r2 : 2 + (divisor < r2);
}
sprintf (buf, "%.1f%c", adjust_value (inexact_style, damt),
suffixes[power]);
if (4 < strlen (buf))
sprintf (buf, "%.0f%c",
adjust_value (inexact_style, damt * 10) / 10,
suffixes[power]);
}
return buf;
}
}
/* Use power of BASE notation if adjusted AMT is large enough. */

View File

@@ -1,46 +0,0 @@
#! /bin/sh
# interlock - wrap program invocation in lock to allow
# parallel builds to work.
# Written by Tom Tromey <tromey@cygnus.com>, Aug 10 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Usage:
# interlock lock-dir-name program args-to-program...
dirname="$1"
program="$2"
shift
shift
while (mkdir $dirname > /dev/null 2>&1 && exit 1 || exit 0); do
# Wait a bit.
sleep 1
done
# Race condition here: if interrupted after the loop but before this
# trap, the lock can be left around.
trap "rmdir $dirname > /dev/null 2>&1" 1 2 3 15
# We have the lock, so run the program.
$program ${1+"$@"}
ret=$?
# Release the lock.
rmdir $dirname > /dev/null 2>&1
exit $ret

View File

@@ -1,5 +1,5 @@
/* linebuffer.c -- read arbitrarily long lines
Copyright (C) 1986, 1991, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1986, 1991, 1998, 1999, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,9 +24,9 @@
#include <stdio.h>
#include <sys/types.h>
#include "linebuffer.h"
#include "unlocked-io.h"
#include "xalloc.h"
char *xmalloc ();
char *xrealloc ();
void free ();
/* Initialize linebuffer LINEBUFFER for use. */
@@ -36,14 +36,16 @@ initbuffer (struct linebuffer *linebuffer)
{
linebuffer->length = 0;
linebuffer->size = 200;
linebuffer->buffer = (char *) xmalloc (linebuffer->size);
linebuffer->buffer = xmalloc (linebuffer->size);
}
/* Read an arbitrarily long line of text from STREAM into LINEBUFFER.
Keep the newline; append a newline if it's the last line of a file
that ends in a non-newline character. Do not null terminate.
Return LINEBUFFER, except at end of file return 0. */
Therefore the stream can contain NUL bytes, and the length
(including the newline) is returned in linebuffer->length.
Return NULL upon error, or when STREAM is empty.
Otherwise, return LINEBUFFER. */
struct linebuffer *
readline (struct linebuffer *linebuffer, FILE *stream)
{
@@ -53,7 +55,7 @@ readline (struct linebuffer *linebuffer, FILE *stream)
char *end = buffer + linebuffer->size; /* Sentinel. */
if (feof (stream) || ferror (stream))
return 0;
return NULL;
do
{
@@ -61,7 +63,7 @@ readline (struct linebuffer *linebuffer, FILE *stream)
if (c == EOF)
{
if (p == buffer)
return 0;
return NULL;
if (p[-1] == '\n')
break;
c = '\n';
@@ -69,7 +71,7 @@ readline (struct linebuffer *linebuffer, FILE *stream)
if (p == end)
{
linebuffer->size *= 2;
buffer = (char *) xrealloc (buffer, linebuffer->size);
buffer = xrealloc (buffer, linebuffer->size);
p = p - linebuffer->buffer + buffer;
linebuffer->buffer = buffer;
end = buffer + linebuffer->size;

271
lib/localcharset.c Normal file
View File

@@ -0,0 +1,271 @@
/* Determine a canonical name for the current locale's character encoding.
Copyright (C) 2000-2001 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. */
/* Written by Bruno Haible <haible@clisp.cons.org>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_STDDEF_H
# include <stddef.h>
#endif
#include <stdio.h>
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if defined _WIN32 || defined __WIN32__
# undef WIN32 /* avoid warning on mingw32 */
# define WIN32
#endif
#ifndef WIN32
# if HAVE_LANGINFO_CODESET
# include <langinfo.h>
# else
# if HAVE_SETLOCALE
# include <locale.h>
# endif
# endif
#else /* WIN32 */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
#endif
#ifndef DIRECTORY_SEPARATOR
# define DIRECTORY_SEPARATOR '/'
#endif
#ifndef ISSLASH
# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
#endif
/* The following static variable is declared 'volatile' to avoid a
possible multithread problem in the function get_charset_aliases. If we
are running in a threaded environment, and if two threads initialize
'charset_aliases' simultaneously, both will produce the same value,
and everything will be ok if the two assignments to 'charset_aliases'
are atomic. But I don't know what will happen if the two assignments mix. */
#if __STDC__ != 1
# define volatile /* empty */
#endif
/* Pointer to the contents of the charset.alias file, if it has already been
read, else NULL. Its format is:
ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */
static const char * volatile charset_aliases;
/* Return a pointer to the contents of the charset.alias file. */
static const char *
get_charset_aliases ()
{
const char *cp;
cp = charset_aliases;
if (cp == NULL)
{
#ifndef WIN32
FILE *fp;
const char *dir = LIBDIR;
const char *base = "charset.alias";
char *file_name;
/* Concatenate dir and base into freshly allocated file_name. */
{
size_t dir_len = strlen (dir);
size_t base_len = strlen (base);
int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
if (file_name != NULL)
{
memcpy (file_name, dir, dir_len);
if (add_slash)
file_name[dir_len] = DIRECTORY_SEPARATOR;
memcpy (file_name + dir_len + add_slash, base, base_len + 1);
}
}
if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)
/* Out of memory or file not found, treat it as empty. */
cp = "";
else
{
/* Parse the file's contents. */
int c;
char buf1[50+1];
char buf2[50+1];
char *res_ptr = NULL;
size_t res_size = 0;
size_t l1, l2;
for (;;)
{
c = getc (fp);
if (c == EOF)
break;
if (c == '\n' || c == ' ' || c == '\t')
continue;
if (c == '#')
{
/* Skip comment, to end of line. */
do
c = getc (fp);
while (!(c == EOF || c == '\n'));
if (c == EOF)
break;
continue;
}
ungetc (c, fp);
if (fscanf(fp, "%50s %50s", buf1, buf2) < 2)
break;
l1 = strlen (buf1);
l2 = strlen (buf2);
if (res_size == 0)
{
res_size = l1 + 1 + l2 + 1;
res_ptr = malloc (res_size + 1);
}
else
{
res_size += l1 + 1 + l2 + 1;
res_ptr = realloc (res_ptr, res_size + 1);
}
if (res_ptr == NULL)
{
/* Out of memory. */
res_size = 0;
break;
}
strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
strcpy (res_ptr + res_size - (l2 + 1), buf2);
}
fclose (fp);
if (res_size == 0)
cp = "";
else
{
*(res_ptr + res_size) = '\0';
cp = res_ptr;
}
}
if (file_name != NULL)
free (file_name);
#else /* WIN32 */
/* To avoid the troubles of installing a separate file in the same
directory as the DLL and of retrieving the DLL's directory at
runtime, simply inline the aliases here. */
cp = "CP936" "\0" "GBK" "\0"
"CP1361" "\0" "JOHAB" "\0";
#endif
charset_aliases = cp;
}
return cp;
}
/* Determine the current locale's character encoding, and canonicalize it
into one of the canonical names listed in config.charset.
The result must not be freed; it is statically allocated.
If the canonical name cannot be determined, the result is a non-canonical
name. */
#ifdef STATIC
STATIC
#endif
const char *
locale_charset ()
{
const char *codeset;
const char *aliases;
#ifndef WIN32
# if HAVE_LANGINFO_CODESET
/* Most systems support nl_langinfo (CODESET) nowadays. */
codeset = nl_langinfo (CODESET);
# else
/* On old systems which lack it, use setlocale or getenv. */
const char *locale = NULL;
/* But most old systems don't have a complete set of locales. Some
(like SunOS 4 or DJGPP) have only the C locale. Therefore we don't
use setlocale here; it would return "C" when it doesn't support the
locale name the user has set. */
# if HAVE_SETLOCALE && 0
locale = setlocale (LC_CTYPE, NULL);
# endif
if (locale == NULL || locale[0] == '\0')
{
locale = getenv ("LC_ALL");
if (locale == NULL || locale[0] == '\0')
{
locale = getenv ("LC_CTYPE");
if (locale == NULL || locale[0] == '\0')
locale = getenv ("LANG");
}
}
/* On some old systems, one used to set locale = "iso8859_1". On others,
you set it to "language_COUNTRY.charset". In any case, we resolve it
through the charset.alias file. */
codeset = locale;
# endif
#else /* WIN32 */
static char buf[2 + 10 + 1];
/* Win32 has a function returning the locale's codepage as a number. */
sprintf (buf, "CP%u", GetACP ());
codeset = buf;
#endif
if (codeset == NULL)
/* The canonical name cannot be determined. */
codeset = "";
/* Resolve alias. */
for (aliases = get_charset_aliases ();
*aliases != '\0';
aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
if (strcmp (codeset, aliases) == 0
|| (aliases[0] == '*' && aliases[1] == '\0'))
{
codeset = aliases + strlen (aliases) + 1;
break;
}
return codeset;
}

View File

@@ -1,5 +1,5 @@
/* Utility to accept --help and --version options as unobtrusively as possible.
Copyright (C) 1993, 1994, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1993, 1994, 1998, 1999, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,10 @@
#include <stdio.h>
#include <getopt.h>
#include "closeout.h"
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#include "long-options.h"
#include "version-etc.h"
@@ -71,8 +74,6 @@ parse_long_options (int argc,
case 'v':
version_etc (stdout, command_name, package, version, authors);
close_stdout (); /* FIXME: output failure exit status
should be settable via an arg. */
exit (0);
default:

View File

@@ -1,5 +1,5 @@
/* makepath.c -- Ensure that a directory path exists.
Copyright (C) 1990, 1997, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1990, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -50,6 +50,10 @@ char *alloca ();
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
#ifndef S_IRWXUGO
# define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO)
#endif
#if STDC_HEADERS
# include <stdlib.h>
#endif
@@ -110,15 +114,10 @@ extern int errno;
# define _(Text) Text
#endif
#ifdef __MSDOS__
typedef int uid_t;
typedef int gid_t;
#endif
#include "save-cwd.h"
#include "dirname.h"
#include "error.h"
void strip_trailing_slashes ();
#include "quote.h"
#define CLEANUP_CWD \
do \
@@ -148,10 +147,10 @@ void strip_trailing_slashes ();
function creates DIR and to zero otherwise. Give a diagnostic and
return non-zero if DIR cannot be created or cannot be determined to
exist already. Use DIRPATH in any diagnostic, not DIR.
Note that if DIR already exists, this function will return zero
(indicating success) and will set *CREATED_DIR_P to zero. */
Note that if DIR already exists, this function returns zero
(indicating success) and sets *CREATED_DIR_P to zero. */
static int
int
make_dir (const char *dir, const char *dirpath, mode_t mode, int *created_dir_p)
{
int fail = 0;
@@ -174,12 +173,13 @@ make_dir (const char *dir, const char *dirpath, mode_t mode, int *created_dir_p)
if (stat (dir, &stats))
{
error (0, saved_errno, _("cannot create directory `%s'"), dirpath);
error (0, saved_errno, _("cannot create directory %s"),
quote (dirpath));
fail = 1;
}
else if (!S_ISDIR (stats.st_mode))
{
error (0, 0, _("`%s' exists but is not a directory"), dirpath);
error (0, 0, _("%s exists but is not a directory"), quote (dirpath));
fail = 1;
}
else
@@ -195,7 +195,6 @@ make_dir (const char *dir, const char *dirpath, mode_t mode, int *created_dir_p)
}
/* Ensure that the directory ARGPATH exists.
Remove any trailing slashes from ARGPATH before calling this function.
Create any leading directories that don't already exist, with
permissions PARENT_MODE.
@@ -308,7 +307,7 @@ make_path (const char *argpath,
if (newly_created_dir)
{
if (verbose_fmt_string)
fprintf (stderr, verbose_fmt_string, dirpath);
error (0, 0, verbose_fmt_string, quote (dirpath));
if ((owner != (uid_t) -1 || group != (gid_t) -1)
&& chown (basename_dir, owner, group)
@@ -317,7 +316,8 @@ make_path (const char *argpath,
#endif
)
{
error (0, errno, "%s", dirpath);
error (0, errno, _("cannot change owner and/or group of %s"),
quote (dirpath));
CLEANUP;
return 1;
}
@@ -338,7 +338,8 @@ make_path (const char *argpath,
stat and mkdir process O(n^2) file name components. */
if (do_chdir && chdir (basename_dir) < 0)
{
error (0, errno, _("cannot chdir to directory, %s"), dirpath);
error (0, errno, _("cannot chdir to directory, %s"),
quote (dirpath));
CLEANUP;
return 1;
}
@@ -367,7 +368,7 @@ make_path (const char *argpath,
umask (oldmask);
if (verbose_fmt_string != NULL)
error (0, 0, verbose_fmt_string, dirpath);
error (0, 0, verbose_fmt_string, quote (dirpath));
if (owner != (uid_t) -1 || group != (gid_t) -1)
{
@@ -377,18 +378,24 @@ make_path (const char *argpath,
#endif
)
{
error (0, errno, _("cannot chown %s"), dirpath);
retval = 1;
}
/* chown may have turned off some permission bits we wanted. */
if ((mode & (S_ISUID | S_ISGID | S_ISVTX))
&& chmod (basename_dir, mode))
{
error (0, errno, _("cannot chmod %s"), dirpath);
error (0, errno, _("cannot change owner and/or group of %s"),
quote (dirpath));
retval = 1;
}
}
/* The above chown may have turned off some permission bits in MODE.
Another reason we may have to use chmod here is that mkdir(2) is
required to honor only the file permission bits. In particular,
it need not honor the `special' bits, so if MODE includes any
special bits, set them here. */
if ((mode & ~S_IRWXUGO)
&& chmod (basename_dir, mode))
{
error (0, errno, _("cannot change permissions of %s"), quote (dirpath));
retval = 1;
}
CLEANUP_CWD;
/* If the mode for leading directories didn't include owner "wx"
@@ -399,7 +406,8 @@ make_path (const char *argpath,
*(p->dirname_end) = '\0';
if (chmod (dirpath, parent_mode))
{
error (0, errno, "%s", dirpath);
error (0, errno, "cannot change permissions of %s",
quote (dirpath));
retval = 1;
}
}
@@ -412,7 +420,7 @@ make_path (const char *argpath,
if (!S_ISDIR (stats.st_mode))
{
error (0, 0, _("`%s' exists but is not a directory"), dirpath);
error (0, 0, _("%s exists but is not a directory"), quote (dirpath));
return 1;
}
@@ -431,12 +439,14 @@ make_path (const char *argpath,
#endif
)
{
error (0, errno, "%s", dirpath);
error (0, errno, _("cannot change owner and/or group of %s"),
quote (dirpath));
retval = 1;
}
if (chmod (dirpath, mode))
{
error (0, errno, "%s", dirpath);
error (0, errno, _("cannot change permissions of %s"),
quote (dirpath));
retval = 1;
}
}

View File

@@ -14,3 +14,9 @@ make_path PARAMS ((const char *_argpath,
gid_t _group,
int _preserve_existing,
const char *_verbose_fmt_string));
int
make_dir PARAMS ((const char *dir,
const char *dirpath,
mode_t mode,
int *created_dir_p));

217
lib/mbswidth.c Normal file
View File

@@ -0,0 +1,217 @@
/* Determine the number of screen columns needed for a string.
Copyright (C) 2000-2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Bruno Haible <haible@clisp.cons.org>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
/* Get MB_CUR_MAX. */
#include <stdlib.h>
#include <string.h>
/* Get isprint(). */
#include <ctype.h>
/* Get mbstate_t, mbrtowc(), mbsinit(), wcwidth(). */
#if HAVE_WCHAR_H
# include <wchar.h>
#endif
/* Get iswprint(), iswcntrl(). */
#if HAVE_WCTYPE_H
# include <wctype.h>
#endif
#if !defined iswprint && !HAVE_ISWPRINT
# define iswprint(wc) 1
#endif
#if !defined iswcntrl && !HAVE_ISWCNTRL
# define iswcntrl(wc) 0
#endif
#ifndef mbsinit
# if !HAVE_MBSINIT
# define mbsinit(ps) 1
# endif
#endif
#ifndef HAVE_DECL_WCWIDTH
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_WCWIDTH
int wcwidth ();
#endif
#ifndef wcwidth
# if !HAVE_WCWIDTH
/* wcwidth doesn't exist, so assume all printable characters have
width 1. */
# define wcwidth(wc) ((wc) == 0 ? 0 : iswprint (wc) ? 1 : -1)
# endif
#endif
/* Get ISPRINT. */
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
# define IN_CTYPE_DOMAIN(c) 1
#else
# define IN_CTYPE_DOMAIN(c) isascii(c)
#endif
/* Undefine to protect against the definition in wctype.h of solaris2.6. */
#undef ISPRINT
#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
#undef ISCNTRL
#define ISCNTRL(c) (IN_CTYPE_DOMAIN (c) && iscntrl (c))
#include "mbswidth.h"
/* Returns the number of columns needed to represent the multibyte
character string pointed to by STRING. If a non-printable character
occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned.
With flags = MBSW_REJECT_INVALID | MBSW_REJECT_UNPRINTABLE, this is
the multibyte analogon of the wcswidth function. */
int
mbswidth (string, flags)
const char *string;
int flags;
{
return mbsnwidth (string, strlen (string), flags);
}
/* Returns the number of columns needed to represent the multibyte
character string pointed to by STRING of length NBYTES. If a
non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is
specified, -1 is returned. */
int
mbsnwidth (string, nbytes, flags)
const char *string;
size_t nbytes;
int flags;
{
const char *p = string;
const char *plimit = p + nbytes;
int width;
width = 0;
#if HAVE_MBRTOWC
if (MB_CUR_MAX > 1)
{
while (p < plimit)
switch (*p)
{
case ' ': case '!': case '"': case '#': case '%':
case '&': case '\'': case '(': case ')': case '*':
case '+': case ',': case '-': case '.': case '/':
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
case ':': case ';': case '<': case '=': case '>':
case '?':
case 'A': case 'B': case 'C': case 'D': case 'E':
case 'F': case 'G': case 'H': case 'I': case 'J':
case 'K': case 'L': case 'M': case 'N': case 'O':
case 'P': case 'Q': case 'R': case 'S': case 'T':
case 'U': case 'V': case 'W': case 'X': case 'Y':
case 'Z':
case '[': case '\\': case ']': case '^': case '_':
case 'a': case 'b': case 'c': case 'd': case 'e':
case 'f': case 'g': case 'h': case 'i': case 'j':
case 'k': case 'l': case 'm': case 'n': case 'o':
case 'p': case 'q': case 'r': case 's': case 't':
case 'u': case 'v': case 'w': case 'x': case 'y':
case 'z': case '{': case '|': case '}': case '~':
/* These characters are printable ASCII characters. */
p++;
width++;
break;
default:
/* If we have a multibyte sequence, scan it up to its end. */
{
mbstate_t mbstate;
memset (&mbstate, 0, sizeof mbstate);
do
{
wchar_t wc;
size_t bytes;
int w;
bytes = mbrtowc (&wc, p, plimit - p, &mbstate);
if (bytes == (size_t) -1)
/* An invalid multibyte sequence was encountered. */
{
if (!(flags & MBSW_REJECT_INVALID))
{
p++;
width++;
break;
}
else
return -1;
}
if (bytes == (size_t) -2)
/* An incomplete multibyte character at the end. */
{
if (!(flags & MBSW_REJECT_INVALID))
{
p = plimit;
width++;
break;
}
else
return -1;
}
if (bytes == 0)
/* A null wide character was encountered. */
bytes = 1;
w = wcwidth (wc);
if (w >= 0)
/* A printable multibyte character. */
width += w;
else
/* An unprintable multibyte character. */
if (!(flags & MBSW_REJECT_UNPRINTABLE))
width += (iswcntrl (wc) ? 0 : 1);
else
return -1;
p += bytes;
}
while (! mbsinit (&mbstate));
}
break;
}
return width;
}
#endif
while (p < plimit)
{
unsigned char c = (unsigned char) *p++;
if (ISPRINT (c))
width++;
else if (!(flags & MBSW_REJECT_UNPRINTABLE))
width += (ISCNTRL (c) ? 0 : 1);
else
return -1;
}
return width;
}

43
lib/mbswidth.h Normal file
View File

@@ -0,0 +1,43 @@
/* Determine the number of screen columns needed for a string.
Copyright (C) 2000-2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef PARAMS
# if defined (__GNUC__) || __STDC__
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
/* Optional flags to influence mbswidth/mbsnwidth behavior. */
/* If this bit is set, return -1 upon finding an invalid or incomplete
character. Otherwise, assume invalid characters have width 1. */
#define MBSW_REJECT_INVALID 1
/* If this bit is set, return -1 upon finding a non-printable character.
Otherwise, assume unprintable characters have width 0 if they are
control characters and 1 otherwise. */
#define MBSW_REJECT_UNPRINTABLE 2
/* Returns the number of screen columns needed for STRING. */
#define mbswidth gnu_mbswidth /* avoid clash with UnixWare 7.1.1 function */
extern int mbswidth PARAMS ((const char *string, int flags));
/* Returns the number of screen columns needed for the NBYTES bytes
starting at BUF. */
extern int mbsnwidth PARAMS ((const char *buf, size_t nbytes, int flags));

View File

@@ -1,6 +1,6 @@
/* md5.c - Functions to compute MD5 message digest of files or memory blocks
according to the definition of MD5 in RFC 1321 from April 1992.
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 2001 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.
@@ -36,6 +36,7 @@
#endif
#include "md5.h"
#include "unlocked-io.h"
#ifdef _LIBC
# include <endian.h>
@@ -304,19 +305,16 @@ md5_process_block (buffer, len, ctx)
{ \
a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \
++words; \
CYCLIC (a, s); \
a = rol (a, s); \
a += b; \
} \
while (0)
/* It is unfortunate that C does not provide an operator for
cyclic rotation. Hope the C compiler is smart enough. */
#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s)))
/* Before we start, one word to the strange constants.
They are defined in RFC 1321 as
T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64
T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64, or
perl -e 'foreach(1..64){printf "0x%08x\n", int (4294967296 * abs (sin $_))}'
*/
/* Round 1. */
@@ -345,7 +343,7 @@ md5_process_block (buffer, len, ctx)
do \
{ \
a += f (b, c, d) + correct_words[k] + T; \
CYCLIC (a, s); \
a = rol (a, s); \
a += b; \
} \
while (0)

View File

@@ -143,4 +143,19 @@ extern int md5_stream __P ((FILE *stream, void *resblock));
digest. */
extern void *md5_buffer __P ((const char *buffer, size_t len, void *resblock));
/* The following is from gnupg-1.0.2's cipher/bithelp.h. */
/* Rotate a 32 bit integer by n bytes */
#if defined __GNUC__ && defined __i386__
static inline md5_uint32
rol(md5_uint32 x, int n)
{
__asm__("roll %%cl,%0"
:"=r" (x)
:"0" (x),"c" (n));
return x;
}
#else
# define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) )
#endif
#endif

View File

@@ -1,5 +1,5 @@
/* Case-insensitive buffer comparator.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Jim Meyering (meyering@na-net.ornl.gov) */
/* Written by Jim Meyering. */
#ifdef HAVE_CONFIG_H
#if HAVE_CONFIG_H
# include <config.h>
#endif
@@ -25,16 +25,16 @@
#include <ctype.h>
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
# define IN_CTYPE_DOMAIN(c) 1
# define IN_CTYPE_DOMAIN(Char) 1
#else
# define IN_CTYPE_DOMAIN(c) isascii(c)
# define IN_CTYPE_DOMAIN(Char) isascii(Char)
#endif
#define ISLOWER(c) (IN_CTYPE_DOMAIN (c) && islower (c))
#define ISLOWER(Char) (IN_CTYPE_DOMAIN (Char) && islower (Char))
#if _LIBC || STDC_HEADERS
# define TOUPPER(c) toupper (c)
# define TOUPPER(Char) toupper (Char)
#else
# define TOUPPER(c) (ISLOWER (c) ? toupper (c) : (c))
# define TOUPPER(Char) (ISLOWER (Char) ? toupper (Char) : (Char))
#endif
#include "memcasecmp.h"
@@ -44,14 +44,11 @@
join -i works with sort -f. */
int
memcasecmp (vs1, vs2, n)
const void *vs1;
const void *vs2;
size_t n;
memcasecmp (const void *vs1, const void *vs2, size_t n)
{
unsigned int i;
unsigned char *s1 = (unsigned char *) vs1;
unsigned char *s2 = (unsigned char *) vs2;
unsigned char const *s1 = (unsigned char const *) vs1;
unsigned char const *s2 = (unsigned char const *) vs2;
for (i = 0; i < n; i++)
{
unsigned char u1 = *s1++;

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1993, 1997, 1999 Free Software Foundation, Inc.
/* Copyright (C) 1991,93,96,97,99,2000 Free Software Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
with help from Dan Sahlin (dan@sics.se) and
commentary by Jim Blandy (jimb@ai.mit.edu);
@@ -34,11 +34,18 @@ USA. */
# define __ptr_t char *
#endif /* C++ or ANSI C. */
#if defined (_LIBC)
#if defined _LIBC
# include <string.h>
# include <memcopy.h>
#else
# define reg_char char
#endif
#if defined (HAVE_LIMITS_H) || defined (_LIBC)
#if HAVE_STDLIB_H || defined _LIBC
# include <stdlib.h>
#endif
#if HAVE_LIMITS_H || defined _LIBC
# include <limits.h>
#endif
@@ -49,21 +56,28 @@ USA. */
#endif
#include <sys/types.h>
#if HAVE_BP_SYM_H || defined _LIBC
# include <bp-sym.h>
#else
# define BP_SYM(sym) sym
#endif
#undef memchr
#undef __memchr
/* Search no more than N bytes of S for C. */
__ptr_t
memchr (s, c, n)
__memchr (s, c_in, n)
const __ptr_t s;
int c;
int c_in;
size_t n;
{
const unsigned char *char_ptr;
const unsigned long int *longword_ptr;
unsigned long int longword, magic_bits, charmask;
unsigned reg_char c;
c = (unsigned char) c;
c = (unsigned char) c_in;
/* Handle the first few characters by reading one character at a time.
Do this until CHAR_PTR is aligned on a longword boundary. */
@@ -197,3 +211,6 @@ memchr (s, c, n)
return 0;
}
#ifdef weak_alias
weak_alias (__memchr, BP_SYM (memchr))
#endif

View File

@@ -49,6 +49,11 @@
#ifdef _LIBC
# include <memcopy.h>
# include <endian.h>
# if __BYTE_ORDER == __BIG_ENDIAN
# define WORDS_BIGENDIAN
# endif
#else /* Not in the GNU C library. */

View File

@@ -21,6 +21,8 @@
# include <config.h>
#endif
#include <sys/types.h>
#if HAVE_STRING_H
# include <string.h>
#endif

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1995, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,10 +25,7 @@
Return DESTADDR. */
char *
memcpy (destaddr, srcaddr, len)
char *destaddr;
const char *srcaddr;
int len;
memcpy (char *destaddr, const char *srcaddr, int len)
{
char *dest = destaddr;

209
lib/memrchr.c Normal file
View File

@@ -0,0 +1,209 @@
/* memrchr -- find the last occurrence of a byte in a memory block
Copyright (C) 1991, 93, 96, 97, 99, 2000 Free Software Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
with help from Dan Sahlin (dan@sics.se) and
commentary by Jim Blandy (jimb@ai.mit.edu);
adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu),
and implemented by Roland McGrath (roland@ai.mit.edu).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
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 the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdlib.h>
#undef __ptr_t
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
# define __ptr_t void *
#else /* Not C++ or ANSI C. */
# define __ptr_t char *
#endif /* C++ or ANSI C. */
#if defined (_LIBC)
# include <string.h>
# include <memcopy.h>
#else
# define reg_char char
#endif
#if defined (HAVE_LIMITS_H) || defined (_LIBC)
# include <limits.h>
#endif
#define LONG_MAX_32_BITS 2147483647
#ifndef LONG_MAX
# define LONG_MAX LONG_MAX_32_BITS
#endif
#include <sys/types.h>
#undef __memrchr
#undef memrchr
#ifndef weak_alias
# define __memrchr memrchr
#endif
/* Search no more than N bytes of S for C. */
__ptr_t
__memrchr (s, c_in, n)
const __ptr_t s;
int c_in;
size_t n;
{
const unsigned char *char_ptr;
const unsigned long int *longword_ptr;
unsigned long int longword, magic_bits, charmask;
unsigned reg_char c;
c = (unsigned char) c_in;
/* Handle the last few characters by reading one character at a time.
Do this until CHAR_PTR is aligned on a longword boundary. */
for (char_ptr = (const unsigned char *) s + n;
n > 0 && ((unsigned long int) char_ptr
& (sizeof (longword) - 1)) != 0;
--n)
if (*--char_ptr == c)
return (__ptr_t) char_ptr;
/* All these elucidatory comments refer to 4-byte longwords,
but the theory applies equally well to 8-byte longwords. */
longword_ptr = (unsigned long int *) char_ptr;
/* Bits 31, 24, 16, and 8 of this number are zero. Call these bits
the "holes." Note that there is a hole just to the left of
each byte, with an extra at the end:
bits: 01111110 11111110 11111110 11111111
bytes: AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD
The 1-bits make sure that carries propagate to the next 0-bit.
The 0-bits provide holes for carries to fall into. */
if (sizeof (longword) != 4 && sizeof (longword) != 8)
abort ();
#if LONG_MAX <= LONG_MAX_32_BITS
magic_bits = 0x7efefeff;
#else
magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
#endif
/* Set up a longword, each of whose bytes is C. */
charmask = c | (c << 8);
charmask |= charmask << 16;
#if LONG_MAX > LONG_MAX_32_BITS
charmask |= charmask << 32;
#endif
/* Instead of the traditional loop which tests each character,
we will test a longword at a time. The tricky part is testing
if *any of the four* bytes in the longword in question are zero. */
while (n >= sizeof (longword))
{
/* We tentatively exit the loop if adding MAGIC_BITS to
LONGWORD fails to change any of the hole bits of LONGWORD.
1) Is this safe? Will it catch all the zero bytes?
Suppose there is a byte with all zeros. Any carry bits
propagating from its left will fall into the hole at its
least significant bit and stop. Since there will be no
carry from its most significant bit, the LSB of the
byte to the left will be unchanged, and the zero will be
detected.
2) Is this worthwhile? Will it ignore everything except
zero bytes? Suppose every byte of LONGWORD has a bit set
somewhere. There will be a carry into bit 8. If bit 8
is set, this will carry into bit 16. If bit 8 is clear,
one of bits 9-15 must be set, so there will be a carry
into bit 16. Similarly, there will be a carry into bit
24. If one of bits 24-30 is set, there will be a carry
into bit 31, so all of the hole bits will be changed.
The one misfire occurs when bits 24-30 are clear and bit
31 is set; in this case, the hole at bit 31 is not
changed. If we had access to the processor carry flag,
we could close this loophole by putting the fourth hole
at bit 32!
So it ignores everything except 128's, when they're aligned
properly.
3) But wait! Aren't we looking for C, not zero?
Good point. So what we do is XOR LONGWORD with a longword,
each of whose bytes is C. This turns each byte that is C
into a zero. */
longword = *--longword_ptr ^ charmask;
/* Add MAGIC_BITS to LONGWORD. */
if ((((longword + magic_bits)
/* Set those bits that were unchanged by the addition. */
^ ~longword)
/* Look at only the hole bits. If any of the hole bits
are unchanged, most likely one of the bytes was a
zero. */
& ~magic_bits) != 0)
{
/* Which of the bytes was C? If none of them were, it was
a misfire; continue the search. */
const unsigned char *cp = (const unsigned char *) longword_ptr;
#if LONG_MAX > 2147483647
if (cp[7] == c)
return (__ptr_t) &cp[7];
if (cp[6] == c)
return (__ptr_t) &cp[6];
if (cp[5] == c)
return (__ptr_t) &cp[5];
if (cp[4] == c)
return (__ptr_t) &cp[4];
#endif
if (cp[3] == c)
return (__ptr_t) &cp[3];
if (cp[2] == c)
return (__ptr_t) &cp[2];
if (cp[1] == c)
return (__ptr_t) &cp[1];
if (cp[0] == c)
return (__ptr_t) cp;
}
n -= sizeof (longword);
}
char_ptr = (const unsigned char *) longword_ptr;
while (n-- > 0)
{
if (*--char_ptr == c)
return (__ptr_t) char_ptr;
}
return 0;
}
#ifdef weak_alias
weak_alias (__memrchr, memrchr)
#endif

View File

@@ -1,5 +1,6 @@
/* BSD compatible make directory function for System V
Copyright (C) 1988, 1990, 1998 Free Software Foundation, Inc.
/* On some systems, mkdir ("foo/", 0700) fails because of the trailing
slash. On those systems, this wrapper removes the trailing slash.
Copyright (C) 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,94 +16,61 @@
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>
#endif
/* written by Jim Meyering */
#include <config.h>
/* Disable the definition of mkdir to rpl_mkdir (from config.h) in this
file. Otherwise, we'd get conflicting prototypes for rpl_mkdir on
most systems. */
#undef mkdir
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#ifndef errno
extern int errno;
#include <stdio.h>
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if STAT_MACROS_BROKEN
# undef S_ISDIR
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#if !defined(S_ISDIR) && defined(S_IFDIR)
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#include "dirname.h"
#include "xalloc.h"
#ifndef HAVE_DECL_FREE
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_FREE
void free ();
#endif
#ifndef S_IRWXU
# define S_IRWXU 0700
#endif
#ifndef S_IRWXG
# define S_IRWXG 0070
#endif
#ifndef S_IRWXO
# define S_IRWXO 0007
#endif
/* mkdir adapted from GNU tar. */
/* Make directory DPATH, with permission mode DMODE.
Written by Robert Rother, Mariah Corporation, August 1985
(sdcsvax!rmr or rmr@uscd). If you want it, it's yours.
Severely hacked over by John Gilmore to make a 4.2BSD compatible
subroutine. 11Mar86; hoptoad!gnu
Modified by rmtodd@uokmax 6-28-87 -- when making an already existing dir,
subroutine didn't return EEXIST. It does now. */
/* This function is required at least for NetBSD 1.5.2. */
int
mkdir (const char *dpath, mode_t dmode)
rpl_mkdir (char const *dir, mode_t mode)
{
pid_t cpid;
mode_t mode;
int status;
struct stat statbuf;
int ret_val;
char *tmp_dir;
size_t len = strlen (dir);
if (stat (dpath, &statbuf) == 0)
if (len && dir[len - 1] == '/')
{
errno = EEXIST; /* stat worked, so it already exists. */
return -1;
tmp_dir = xstrdup (dir);
strip_trailing_slashes (tmp_dir);
}
else
{
tmp_dir = (char *) dir;
}
/* If stat fails for a reason other than non-existence, return error. */
if (errno != ENOENT)
return -1;
ret_val = mkdir (tmp_dir, mode);
cpid = fork ();
switch (cpid)
{
case -1: /* Cannot fork. */
return -1; /* errno is already set. */
if (tmp_dir != dir)
free (tmp_dir);
case 0: /* Child process. */
/* Cheap hack to set mode of new directory. Since this child
process is going away anyway, we zap its umask.
This won't suffice to set SUID, SGID, etc. on this
directory, so the parent process calls chmod afterward. */
mode = umask (0); /* Get current umask. */
/* Set for mkdir. */
umask (mode | ((S_IRWXU | S_IRWXG | S_IRWXO) & ~dmode));
execl ("/bin/mkdir", "mkdir", dpath, (char *) 0);
_exit (1);
default: /* Parent process. */
/* Wait for kid to finish. */
while (wait (&status) != cpid)
/* Do nothing. */ ;
if (status)
{
/* /bin/mkdir failed. */
errno = EIO;
return -1;
}
return chmod (dpath, dmode);
}
return ret_val;
}

43
lib/mkstemp.c Normal file
View File

@@ -0,0 +1,43 @@
/* Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
This file is derived from the one in the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
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 the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <config.h>
/* Disable the definition of mkstemp to rpl_mkstemp (from config.h) in this
file. Otherwise, we'd get conflicting prototypes for rpl_mkstemp on
most systems. */
#undef mkstemp
#include <stdio.h>
#include <stdlib.h>
#ifndef __GT_FILE
# define __GT_FILE 0
#endif
int __gen_tempname ();
/* Generate a unique temporary file name from TEMPLATE.
The last six characters of TEMPLATE must be "XXXXXX";
they are replaced with a string that makes the filename unique.
Then open the file and return a fd. */
int
rpl_mkstemp (char *template)
{
return __gen_tempname (template, __GT_FILE);
}

View File

@@ -1,5 +1,5 @@
/* modechange.c -- file mode manipulation
Copyright (C) 1989, 1990, 1997, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1989, 1990, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -50,50 +50,65 @@ char *malloc ();
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
/* The traditional octal values corresponding to each mode bit. */
#define SUID 04000
#define SGID 02000
#define SVTX 01000
#define RUSR 00400
#define WUSR 00200
#define XUSR 00100
#define RGRP 00040
#define WGRP 00020
#define XGRP 00010
#define ROTH 00004
#define WOTH 00002
#define XOTH 00001
#define ALLM 07777 /* all octal mode bits */
#ifndef S_ISUID
# define S_ISUID 04000
# define S_ISUID SUID
#endif
#ifndef S_ISGID
# define S_ISGID 04000
# define S_ISGID SGID
#endif
#ifndef S_ISVTX
# define S_ISVTX 01000
# define S_ISVTX SVTX
#endif
#ifndef S_IRUSR
# define S_IRUSR 0400
# define S_IRUSR RUSR
#endif
#ifndef S_IWUSR
# define S_IWUSR 0200
# define S_IWUSR WUSR
#endif
#ifndef S_IXUSR
# define S_IXUSR 0100
# define S_IXUSR XUSR
#endif
#ifndef S_IRGRP
# define S_IRGRP 0040
# define S_IRGRP RGRP
#endif
#ifndef S_IWGRP
# define S_IWGRP 0020
# define S_IWGRP WGRP
#endif
#ifndef S_IXGRP
# define S_IXGRP 0010
# define S_IXGRP XGRP
#endif
#ifndef S_IROTH
# define S_IROTH 0004
# define S_IROTH ROTH
#endif
#ifndef S_IWOTH
# define S_IWOTH 0002
# define S_IWOTH WOTH
#endif
#ifndef S_IXOTH
# define S_IXOTH 0001
# define S_IXOTH XOTH
#endif
#ifndef S_IRWXU
# define S_IRWXU 0700
# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
#endif
#ifndef S_IRWXG
# define S_IRWXG 0070
# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
#endif
#ifndef S_IRWXO
# define S_IRWXO 0007
# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
#endif
/* All the mode bits that can be affected by chmod. */
@@ -157,8 +172,7 @@ mode_compile (const char *mode_string, unsigned int masked_ops)
{
struct mode_change *head; /* First element of the linked list. */
struct mode_change *tail; /* An element of the linked list. */
unsigned long mode_value; /* The mode value, if octal. */
char *string_end; /* Pointer to end of parsed value. */
unsigned long octal_value; /* The mode value, if octal. */
mode_t umask_value; /* The umask value (surprise). */
head = NULL;
@@ -166,12 +180,34 @@ mode_compile (const char *mode_string, unsigned int masked_ops)
tail = NULL;
#endif
if (xstrtoul (mode_string, &string_end, 8, &mode_value, "") == LONGINT_OK)
if (xstrtoul (mode_string, NULL, 8, &octal_value, "") == LONGINT_OK)
{
struct mode_change *p;
if (mode_value > CHMOD_MODE_BITS)
mode_t mode;
if (octal_value != (octal_value & ALLM))
return MODE_INVALID;
p = make_node_op_equals ((mode_t) mode_value);
/* Help the compiler optimize the usual case where mode_t uses
the traditional octal representation. */
mode = ((S_ISUID == SUID && S_ISGID == SGID && S_ISVTX == SVTX
&& S_IRUSR == RUSR && S_IWUSR == WUSR && S_IXUSR == XUSR
&& S_IRGRP == RGRP && S_IWGRP == WGRP && S_IXGRP == XGRP
&& S_IROTH == ROTH && S_IWOTH == WOTH && S_IXOTH == XOTH)
? octal_value
: (mode_t) ((octal_value & SUID ? S_ISUID : 0)
| (octal_value & SGID ? S_ISGID : 0)
| (octal_value & SVTX ? S_ISVTX : 0)
| (octal_value & RUSR ? S_IRUSR : 0)
| (octal_value & WUSR ? S_IWUSR : 0)
| (octal_value & XUSR ? S_IXUSR : 0)
| (octal_value & RGRP ? S_IRGRP : 0)
| (octal_value & WGRP ? S_IWGRP : 0)
| (octal_value & XGRP ? S_IXGRP : 0)
| (octal_value & ROTH ? S_IROTH : 0)
| (octal_value & WOTH ? S_IWOTH : 0)
| (octal_value & XOTH ? S_IXOTH : 0)));
p = make_node_op_equals (mode);
if (p == NULL)
return MODE_MEMORY_EXHAUSTED;
mode_append_entry (&head, &tail, p);
@@ -377,23 +413,23 @@ mode_adjust (mode_t oldmode, const struct mode_change *changes)
if (changes->value & S_IRWXU)
/* Copy `u' permissions onto `g' and `o'. */
value |= ((value & S_IRUSR ? S_IRGRP | S_IROTH : 0)
| (value & S_IWUSR ? S_IWGRP | S_IROTH : 0)
value |= ( (value & S_IRUSR ? S_IRGRP | S_IROTH : 0)
| (value & S_IWUSR ? S_IWGRP | S_IWOTH : 0)
| (value & S_IXUSR ? S_IXGRP | S_IXOTH : 0));
else if (changes->value & S_IRWXG)
/* Copy `g' permissions onto `u' and `o'. */
value |= ((value & S_IRGRP ? S_IRUSR | S_IROTH : 0)
| (value & S_IWGRP ? S_IWUSR | S_IROTH : 0)
value |= ( (value & S_IRGRP ? S_IRUSR | S_IROTH : 0)
| (value & S_IWGRP ? S_IWUSR | S_IWOTH : 0)
| (value & S_IXGRP ? S_IXUSR | S_IXOTH : 0));
else
/* Copy `o' permissions onto `u' and `g'. */
value |= ((value & S_IROTH ? S_IRUSR | S_IRGRP : 0)
| (value & S_IWOTH ? S_IWUSR | S_IRGRP : 0)
value |= ( (value & S_IROTH ? S_IRUSR | S_IRGRP : 0)
| (value & S_IWOTH ? S_IWUSR | S_IWGRP : 0)
| (value & S_IXOTH ? S_IXUSR | S_IXGRP : 0));
/* In order to change only `u', `g', or `o' permissions,
or some combination thereof, clear unselected bits.
This can not be done in mode_compile because the value
This cannot be done in mode_compile because the value
to which the `changes->affected' mask is applied depends
on the old mode of each file. */
value &= changes->affected;

View File

@@ -1,5 +1,5 @@
/* mountlist.c -- return a list of mounted filesystems
Copyright (C) 1991, 1992, 1997, 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1991, 1992, 1997-2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,26 +21,23 @@
#include <stdio.h>
#include <sys/types.h>
#include "mountlist.h"
#ifdef STDC_HEADERS
# include <stdlib.h>
#else
void free ();
#endif
#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
#if defined STDC_HEADERS || defined HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#include "xalloc.h"
#ifndef strstr
char *strstr ();
#endif
char *xmalloc ();
char *xrealloc ();
char *xstrdup ();
void error ();
#include <errno.h>
#ifndef errno
@@ -59,18 +56,33 @@ extern int errno;
# include <sys/param.h>
#endif
#if defined (MOUNTED_GETFSSTAT) /* __alpha running OSF_1 */
# include <sys/mount.h>
# include <sys/fs_types.h>
#if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */
# if HAVE_SYS_UCRED_H
# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
# endif
# if HAVE_SYS_MOUNT_H
# include <sys/mount.h>
# endif
# if HAVE_SYS_FS_TYPES_H
# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
# endif
# if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
# define FS_TYPE(Ent) ((Ent).f_fstypename)
# else
# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
# endif
#endif /* MOUNTED_GETFSSTAT */
#ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */
# include <mntent.h>
# if !defined(MOUNTED)
# if defined(MNT_MNTTAB) /* HP-UX. */
# if !defined MOUNTED
# if defined _PATH_MOUNTED /* GNU libc */
# define MOUNTED _PATH_MOUNTED
# endif
# if defined MNT_MNTTAB /* HP-UX. */
# define MOUNTED MNT_MNTTAB
# endif
# if defined(MNTTABNAME) /* Dynix. */
# if defined MNTTABNAME /* Dynix. */
# define MOUNTED MNTTABNAME
# endif
# endif
@@ -85,6 +97,11 @@ extern int errno;
# include <sys/fs_types.h>
#endif
#ifdef MOUNTED_FS_STAT_DEV /* BeOS. */
# include <fs_info.h>
# include <dirent.h>
#endif
#ifdef MOUNTED_FREAD /* SVR2. */
# include <mnttab.h>
#endif
@@ -119,12 +136,15 @@ extern int errno;
# include <sys/mntent.h>
#endif
#if defined (MNTOPT_IGNORE) && defined (HAVE_HASMNTOPT)
#if defined MNTOPT_IGNORE && defined HAVE_HASMNTOPT
# define MNT_IGNORE(M) hasmntopt ((M), MNTOPT_IGNORE)
#else
# define MNT_IGNORE(M) 0
#endif
#include "mountlist.h"
#include "unlocked-io.h"
#ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */
/* Return the value of the hexadecimal number represented by CP.
No prefix (like '0x') or suffix (like 'h') is expected to be
@@ -256,7 +276,7 @@ static char *
fsp_to_string (const struct statfs *fsp)
{
# if defined HAVE_F_FSTYPENAME_IN_STATFS
return fsp->f_fstypename;
return (char *) (fsp->f_fstypename);
# else
return fstype_to_string (fsp->f_type);
# endif
@@ -413,7 +433,112 @@ read_filesystem_list (int need_fs_type)
}
#endif /* MOUNTED_GETMNT. */
#if defined (MOUNTED_GETFSSTAT) /* __alpha running OSF_1 */
#if defined MOUNTED_FS_STAT_DEV /* BeOS */
{
/* The next_dev() and fs_stat_dev() system calls give the list of
all filesystems, including the information returned by statvfs()
(fs type, total blocks, free blocks etc.), but without the mount
point. But on BeOS all filesystems except / are mounted in the
rootfs, directly under /.
The directory name of the mount point is often, but not always,
identical to the volume name of the device.
We therefore get the list of subdirectories of /, and the list
of all filesystems, and match the two lists. */
DIR *dirp;
struct rootdir_entry
{
char *name;
dev_t dev;
ino_t ino;
struct rootdir_entry *next;
};
struct rootdir_entry *rootdir_list;
struct rootdir_entry **rootdir_tail;
int32 pos;
dev_t dev;
fs_info fi;
/* All volumes are mounted in the rootfs, directly under /. */
rootdir_list = NULL;
rootdir_tail = &rootdir_list;
dirp = opendir ("/");
if (dirp)
{
struct dirent *d;
while ((d = readdir (dirp)) != NULL)
{
char *name;
struct stat statbuf;
if (strcmp (d->d_name, "..") == 0)
continue;
if (strcmp (d->d_name, ".") == 0)
name = xstrdup ("/");
else
{
name = xmalloc (1 + strlen (d->d_name) + 1);
name[0] = '/';
strcpy (name + 1, d->d_name);
}
if (lstat (name, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode))
{
struct rootdir_entry *re;
re = (struct rootdir_entry *) xmalloc (sizeof (struct rootdir_entry));
re->name = name;
re->dev = statbuf.st_dev;
re->ino = statbuf.st_ino;
/* Add to the linked list. */
*rootdir_tail = re;
rootdir_tail = &re->next;
}
else
free (name);
}
closedir (dirp);
}
*rootdir_tail = NULL;
for (pos = 0; (dev = next_dev (&pos)) >= 0; )
if (fs_stat_dev (dev, &fi) >= 0)
{
/* Note: fi.dev == dev. */
struct rootdir_entry *re;
for (re = rootdir_list; re; re = re->next)
if (re->dev == fi.dev && re->ino == fi.root)
break;
me = (struct mount_entry *) xmalloc (sizeof (struct mount_entry));
me->me_devname = xstrdup (fi.device_name[0] != '\0' ? fi.device_name : fi.fsh_name);
me->me_mountdir = xstrdup (re != NULL ? re->name : fi.fsh_name);
me->me_type = xstrdup (fi.fsh_name);
me->me_dev = fi.dev;
me->me_dummy = 0;
me->me_remote = (fi.flags & B_FS_IS_SHARED) != 0;
/* Add to the linked list. */
*mtail = me;
mtail = &me->me_next;
}
*mtail = NULL;
while (rootdir_list != NULL)
{
struct rootdir_entry *re = rootdir_list;
rootdir_list = re->next;
free (re->name);
free (re);
}
}
#endif /* MOUNTED_FS_STAT_DEV */
#if defined MOUNTED_GETFSSTAT /* __alpha running OSF_1 */
{
int numsys, counter, bufsize;
struct statfs *stats;
@@ -437,7 +562,7 @@ read_filesystem_list (int need_fs_type)
me = (struct mount_entry *) xmalloc (sizeof (struct mount_entry));
me->me_devname = xstrdup (stats[counter].f_mntfromname);
me->me_mountdir = xstrdup (stats[counter].f_mntonname);
me->me_type = mnt_names[stats[counter].f_type];
me->me_type = xstrdup (FS_TYPE (stats[counter]));
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
@@ -451,7 +576,7 @@ read_filesystem_list (int need_fs_type)
}
#endif /* MOUNTED_GETFSSTAT */
#if defined (MOUNTED_FREAD) || defined (MOUNTED_FREAD_FSTYP) /* SVR[23]. */
#if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* SVR[23]. */
{
struct mnttab mnt;
char *table = "/etc/mnttab";
@@ -615,6 +740,8 @@ read_filesystem_list (int need_fs_type)
for (thisent = entries; thisent < entries + bufsize;
thisent += vmp->vmt_length)
{
char *options, *ignore;
vmp = (struct vmount *) thisent;
me = (struct mount_entry *) xmalloc (sizeof (struct mount_entry));
if (vmp->vmt_flags & MNT_REMOTE)
@@ -638,7 +765,12 @@ read_filesystem_list (int need_fs_type)
}
me->me_mountdir = xstrdup (thisent + vmp->vmt_data[VMT_STUB].vmt_off);
me->me_type = xstrdup (fstype_to_string (vmp->vmt_gfstype));
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
options = thisent + vmp->vmt_data[VMT_ARGS].vmt_off;
ignore = strstr (options, "ignore");
me->me_dummy = (ignore
&& (ignore == options || ignore[-1] == ',')
&& (ignore[sizeof "ignore" - 1] == ','
|| ignore[sizeof "ignore" - 1] == '\0'));
me->me_dev = (dev_t) -1; /* vmt_fsid might be the info we want. */
/* Add to the linked list. */

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