Compare commits

...

3004 Commits

Author SHA1 Message Date
Jim Meyering
466b3a3a07 *** empty log message *** 2004-01-17 13:49:17 +00:00
Jim Meyering
5993f5a2cf . 2004-01-17 13:48:45 +00:00
Jim Meyering
a913b0f3a4 . 2004-01-17 13:28:53 +00:00
Jim Meyering
3e7e43657c (PATH): Remove /vg. 2004-01-17 13:28:48 +00:00
Jim Meyering
96f8c158cc *** empty log message *** 2004-01-17 09:04:44 +00:00
Jim Meyering
c7e05a0e8b *** empty log message *** 2004-01-17 09:03:58 +00:00
Jim Meyering
b2e8bb2b0b *** empty log message *** 2004-01-16 14:46:37 +00:00
Jim Meyering
9235a0c07e *** empty log message *** 2004-01-16 14:45:43 +00:00
Jim Meyering
41613a278b *** empty log message *** 2004-01-16 14:45:32 +00:00
Jim Meyering
600bbee3f8 (TESTS): Add relative. 2004-01-16 14:45:28 +00:00
Jim Meyering
957e8de353 . 2004-01-16 10:20:01 +00:00
Jim Meyering
f62c99b35a . 2004-01-16 10:10:49 +00:00
Jim Meyering
35a86d7174 Test HAVE_DECL_GETC_UNLOCKED, rather than HAVE_GETC_UNLOCKED. 2004-01-16 10:06:48 +00:00
Jim Meyering
e8770d98ed *** empty log message *** 2004-01-16 09:58:16 +00:00
Jim Meyering
f6fc181190 Merge from gnulib.
Include <stdio.h>, so that the caller
doesn't have to include <stdio.h> before us.
(clearerr_unlocked, feof_unlocked, ferror_unlocked,
fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
if not declared, so that we can use getpass.c code from libc without
rewriting it.
(flockfile, ftrylockfile, funlockfile): New macros.
2004-01-16 09:58:08 +00:00
Jim Meyering
bb1f3d64bd *** empty log message *** 2004-01-16 09:55:36 +00:00
Jim Meyering
50733eb567 Merge fnmatch patches from glibc.
(mbsinit): Remove define.
Add libc_hidden_ver (__fnmatch, fnmatch).
2004-01-16 09:55:31 +00:00
Jim Meyering
f1d3aedf65 (ALLOCA_LIMIT): Remove macro, which collided
with like-named macro in fnmatch.c.
(EXT): Use an internal constant instead.

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

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

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

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

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

(xfields): Rewrite pretty much from scratch.

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

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

(empty_filler): Now const *.

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

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

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

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

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

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

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

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

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

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

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

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

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

(bytes_to_octal_digits): Remove.

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

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

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

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

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

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

(extract_regexp): Change misspelled word in diagnostic.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* doc/coreutils.texi (wc invocation): Likewise.
2003-07-20 15:24:21 +00:00
Jim Meyering
85c6c1592c *** empty log message *** 2003-07-20 15:22:42 +00:00
Jim Meyering
6e1923f4c1 (number_width): New var.
(posixly_correct): Remove.
(struct fstatus): New struct.
(write_counts): Output fields of width number_width.
Do not worry about POSIXLY_CORRECT.
Use null file, not empty-string file, to denote stdin,
since "" is a valid file name on some hosts.
(wc, wc_file): New arg fstatus.  Use it to avoid invoking fstat
if possible.
(wc):  Avoid problems if end_pos - current_pos overflows.
Do not print odd message if stdin has a read error.
(get_input_fstatus, compute_number_width): New functions.
(main): Use them to implement the new behavior.
Ignore POSIXLY_CORRECT.
2003-07-20 15:22:25 +00:00
Jim Meyering
32d2cea9b8 convert each 8-space prefix to a TAB 2003-07-20 11:19:12 +00:00
Jim Meyering
107ee59889 convert each 8-space prefix to a TAB 2003-07-20 11:18:12 +00:00
Jim Meyering
018d21f27b convert each 8-space prefix to a TAB 2003-07-20 11:17:51 +00:00
Jim Meyering
34ecf6b086 convert each 8-space prefix to a TAB 2003-07-20 11:17:26 +00:00
Jim Meyering
a9c557304a *** empty log message *** 2003-07-20 06:30:06 +00:00
Jim Meyering
c67f098cb7 *** empty log message *** 2003-07-20 05:38:28 +00:00
Jim Meyering
4383217a7b *** empty log message *** 2003-07-20 05:36:10 +00:00
Jim Meyering
479038b02c from gnulib 2003-07-20 05:35:54 +00:00
Jim Meyering
e13407adf9 (jm_MACROS): Invoke gl_MEMCOLL. 2003-07-20 05:35:38 +00:00
Jim Meyering
18695bd657 *** empty log message *** 2003-07-19 17:30:49 +00:00
Jim Meyering
51ff0dc7c0 Restore definition of $verbose. 2003-07-19 12:00:38 +00:00
Jim Meyering
30c42b2089 Don't create temporary directory -- we don't use it. 2003-07-19 11:59:12 +00:00
Jim Meyering
1ce4f09d1e *** empty log message *** 2003-07-19 11:59:02 +00:00
Jim Meyering
afd207eda5 remove now-redundant VERSION check 2003-07-19 11:54:39 +00:00
Jim Meyering
dc701b5cf2 *** empty log message *** 2003-07-19 11:47:22 +00:00
Jim Meyering
d7a263ce2a Don't open-code test for UID != 0.
Use priv-check's require-non-root instead.
Update to use newer framework.
2003-07-19 11:47:17 +00:00
Jim Meyering
0aa4df1070 *** empty log message *** 2003-07-19 11:39:27 +00:00
Jim Meyering
1f3c90c6a5 (expected_failure_status_expr): Record that
expr exits with status of 3 for e.g., a write error.
2003-07-19 11:39:22 +00:00
Jim Meyering
ae481a2cb7 *** empty log message *** 2003-07-19 11:19:16 +00:00
Jim Meyering
1d510c3f9b Use `id -u' to see if we're running as root,
rather than trying go write to an write-protected file.
When running as root, ensure $NON_ROOT_USERNAME is valid.
When running as root with `require-non-root', ensure that `.'
is writable by $NON_ROOT_USERNAME, then reinvoke $0 set-user-ID
to $NON_ROOT_USERNAME.  If `.' is not writable, then skip the test.
2003-07-19 11:19:12 +00:00
Jim Meyering
c321e53e88 *** empty log message *** 2003-07-19 08:17:16 +00:00
Jim Meyering
db34cf4ee6 Include "exitfail.h".
(main): Set exit_failure rather than calling close_stdout_set_status.
2003-07-19 08:17:06 +00:00
Jim Meyering
fe52d65af0 Include "exitfail.h".
(main): Set exit_failure rather than calling close_stdout_set_status.
2003-07-19 08:16:38 +00:00
Jim Meyering
3fd76bf433 *** empty log message *** 2003-07-19 08:09:01 +00:00
Jim Meyering
9802c059ff Likewise. Include "closeout.h" right after config.h,
to test that it can stand by itself.  Include "exitfail.h".
Clients should set exit_failure instead.
(EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
2003-07-19 08:08:56 +00:00
Jim Meyering
2925e558cb (close_stdout_set_status, close_stdout_status): Remove. 2003-07-19 08:05:44 +00:00
Jim Meyering
8ed1e0ab9a *** empty log message *** 2003-07-18 18:08:08 +00:00
Jim Meyering
eea7d0c8da (memcoll) [!HAVE_STRCOLL]: Clear errno. 2003-07-18 18:07:48 +00:00
Jim Meyering
d2cc1e9856 *** empty log message *** 2003-07-18 09:58:59 +00:00
Jim Meyering
05b4128b5d Update to use newer framework. 2003-07-18 09:48:16 +00:00
Jim Meyering
c42d31bc78 Use $srcdir/../priv-check, create a temporary
directory, and remove Perl-coded `you may not run as root' test.
2003-07-18 09:12:23 +00:00
Jim Meyering
10c48512f0 Use $srcdir/../priv-check, rather than
hard-coding something not quite equivalent.  Reported by Paul Jarc.
2003-07-18 09:05:49 +00:00
Jim Meyering
8dd15f024c *** empty log message *** 2003-07-18 08:53:32 +00:00
Jim Meyering
1d7432c0ef (main): Use close_stdout via atexit.
Now `sort --version' and `sort --help' fail, as they should
when their output is redirected to /dev/full.
2003-07-18 08:53:05 +00:00
Jim Meyering
ec5c04d7d8 (usage): Don't call close_stdout here.
(main): Use close_stdout via atexit.
Now `su --version > /dev/full' fails, as it should.
Somehow, the change of 2000-05-07 that purports to fix this
was not checked in.
2003-07-18 08:38:43 +00:00
Jim Meyering
c03aeeae23 *** empty log message *** 2003-07-18 08:38:29 +00:00
Jim Meyering
429c70029c *** empty log message *** 2003-07-18 08:12:00 +00:00
Jim Meyering
daced4a5fb (--help/--version vs. /dev/full): Special-case
`[' to protect it from expected_failure_status-`eval'.
2003-07-18 08:11:55 +00:00
Jim Meyering
0f16eafda9 *** empty log message *** 2003-07-18 08:01:36 +00:00
Jim Meyering
4efc97aa9f (101, 102): Update tests of -c accordingly. 2003-07-18 08:01:26 +00:00
Jim Meyering
66021e0b0f *** empty log message *** 2003-07-18 07:50:45 +00:00
Jim Meyering
7bb7cd570a (expr invocation): Exit status is 2 if the
expression is syntactically invalid, 3 if there is some other error.
This change is for conformance to POSIX.
2003-07-18 07:50:39 +00:00
Jim Meyering
5a323d4063 *** empty log message *** 2003-07-18 07:49:36 +00:00
Jim Meyering
e4584fcd73 *** empty log message *** 2003-07-18 07:48:37 +00:00
Jim Meyering
7f1636878f (writeline): Use a SPACE, not a TAB between the
count and the corresponding line, as required by POSIX.
2003-07-18 07:47:05 +00:00
Jim Meyering
470285bb48 *** empty log message *** 2003-07-18 07:46:27 +00:00
Jim Meyering
dafa884427 *** empty log message *** 2003-07-18 07:29:45 +00:00
Jim Meyering
c7e335bcda Add tests when exit status is 2. 2003-07-18 07:29:01 +00:00
Jim Meyering
7a0ebf5a7b Invalid value exits with status 3, not 2. 2003-07-18 07:25:39 +00:00
Jim Meyering
30d8071d60 Include "exitfail.h".
(main): Set exit_failure, not xalloc_exit_failure and xmemcoll_exit_failure.
2003-07-18 07:23:38 +00:00
Jim Meyering
1eaf0e9870 Include "exitfail.h", "quotearg.h".
(EXPR_INVALID, EXPR_ERROR): New constants.
(nomoreargs, null, toarith, nextarg): Return bool, not int.
(syntax_error): New function, exiting with status 2.  Use it
insteading of printing "syntax error" ourselves.
(main): Initialize exit_failure to EXPR_ERROR.
Exit with EXPR_INVALID on syntax error (too few arguments).
(nextarg): Use strcmp, not strcoll; strcoll might return
an undesirable 0, or might fail.
(docolon, eval4, eval3): Exit with status 3 on invalid argument type
or other such error.
(eval2): Report an error if strcoll fails in a string comparison.
2003-07-18 07:22:38 +00:00
Jim Meyering
e992d666e1 (NOHUP_FOUND_BUT_CANNOT_INVOKE, NOHUP_FAILURE):
Use an anonymous `enum', rather than #define.
2003-07-18 07:18:54 +00:00
Jim Meyering
309d778d05 *** empty log message *** 2003-07-18 07:12:27 +00:00
Jim Meyering
3ca9cb979e Merge with gnulib. Use a single exit_failure variable rather
than a separate one for each module.
2003-07-18 07:12:20 +00:00
Jim Meyering
f73bf4c5d3 Merge with gnulib. Use a single exit_failure variable rather
than a separate one for each module.
2003-07-18 07:11:50 +00:00
Jim Meyering
45a5d9f023 Merge with gnulib. Use a single exit_failure variable rather
than a separate one for each module.
2003-07-18 07:10:53 +00:00
Jim Meyering
393c48ec79 Merge with gnulib. Use a single exit_failure variable rather
than a separate one for each module.
2003-07-18 07:02:34 +00:00
Jim Meyering
8a4cf4bcfc *** empty log message *** 2003-07-18 06:59:33 +00:00
Jim Meyering
c7cbe29307 *** empty log message *** 2003-07-18 06:50:03 +00:00
Jim Meyering
a73e45f9d3 . 2003-07-18 06:34:14 +00:00
Jim Meyering
3497dfc9c1 . 2003-07-17 22:27:44 +00:00
Jim Meyering
2d7fe7786b *** empty log message *** 2003-07-16 20:51:08 +00:00
Jim Meyering
0cd3fbee59 *** empty log message *** 2003-07-16 20:50:30 +00:00
Jim Meyering
64cdeb8d39 Use 5.0.90, rather than 5.0.2, per GNU maintainer
guidelines.  The next non-beta release will be 5.1.
2003-07-16 20:50:21 +00:00
Jim Meyering
a9d48f53d5 *** empty log message *** 2003-07-16 20:07:47 +00:00
Jim Meyering
ce5b4fc9f7 *** empty log message *** 2003-07-16 20:07:37 +00:00
Jim Meyering
f373160c3d This script would have caught at least two recent bugs: those in [ and kill.
Revive this script.
It wasn't doing anything useful, since $all_programs wasn't being
defined by the invoking Makefile.am.
Reflect that nohup is no longer a script, so don't exclude it.
Add framework to handle the programs added since it was last run:
kill, stat, unlink, [, link, readlink.
Fix path-related problems deriving from the move of this script
from src/ to its present location.
2003-07-16 19:54:13 +00:00
Jim Meyering
9416c7da09 (all_programs): Define.
(TESTS_ENVIRONMENT): Use it.
2003-07-16 19:51:05 +00:00
Jim Meyering
81b607d2a0 *** empty log message *** 2003-07-16 19:43:04 +00:00
Jim Meyering
17d2d3a72f (main): Fix bug introduced on 2003-05-10 (for 5.0.1)
whereby kill would always attempt to operate on argv[0] and fail.
2003-07-16 19:42:34 +00:00
Jim Meyering
c032f45669 . 2003-07-16 10:54:52 +00:00
Jim Meyering
4436b81b54 *** empty log message *** 2003-07-16 10:28:59 +00:00
Jim Meyering
b1fd798094 (integer_expected_error): Improve diagnostic -- now,
it also matches the one from bash's builtin test.
(binary_operator): Add \n at end of diagnostic.
2003-07-16 10:28:52 +00:00
Jim Meyering
f7ed03fa50 Remove setuidgid-related code. Moved to ../priv-check. 2003-07-16 08:31:04 +00:00
Jim Meyering
a0306325d2 Move setuidgid-related and
NON_ROOT_USERNAME-checking code to this file.
2003-07-16 08:30:06 +00:00
Jim Meyering
152d9ca522 *** empty log message *** 2003-07-16 07:59:08 +00:00
Jim Meyering
fd35a8b081 Update section on testing as `root'.
Suggestion from Paul Jarc.
2003-07-16 07:59:05 +00:00
Jim Meyering
aad28eb267 (AUTHORS): Replace 3-letter usernames with the actual
names of authors that I just found in bash's builtins/test.def.
2003-07-16 06:54:33 +00:00
Jim Meyering
23752dca61 *** empty log message *** 2003-07-16 06:43:05 +00:00
Jim Meyering
0049fa1eda Running `[' with no arguments would evoke a segfault.
(main) [LBRACKET]: Move initialization of argv to
precede potential use via test_syntax_error.
2003-07-16 06:43:02 +00:00
Jim Meyering
02ba301550 (AM_CPPFLAGS): Rename from `INCLUDES', to avoid warning from automake -Wall. 2003-07-16 06:33:39 +00:00
Jim Meyering
35f71d4a00 (AM_CPPFLAGS): Rename from `INCLUDES', to avoid warning from automake -Wall. 2003-07-16 06:33:09 +00:00
Jim Meyering
ed9026bfcb bump to 5.0.2 2003-07-16 06:10:55 +00:00
Jim Meyering
bd3a955a95 *** empty log message *** 2003-07-15 22:00:42 +00:00
Jim Meyering
a7c67f32d0 . 2003-07-15 13:39:02 +00:00
Jim Meyering
441c8ebc90 *** empty log message *** 2003-07-15 06:55:22 +00:00
Jim Meyering
272a1b3903 (print_changelog_deltas): Change the .sig suffix to .asc here, too. 2003-07-15 06:55:19 +00:00
Jim Meyering
5efe3f8221 . 2003-07-15 06:52:10 +00:00
Jim Meyering
d5c938e2ba *** empty log message *** 2003-07-15 06:39:54 +00:00
Jim Meyering
b5dfcc1d0d (uname invocation): Explain the POSIX terminology behind uname -m and uname -s. 2003-07-15 06:39:49 +00:00
Jim Meyering
54a31f6d9a . 2003-07-15 06:21:13 +00:00
Jim Meyering
a0edaedbf3 *** empty log message *** 2003-07-15 06:07:10 +00:00
Jim Meyering
39458c8430 (%.asc): Remove target first, so gpg doesn't prompt us about it. 2003-07-15 06:06:58 +00:00
Jim Meyering
7d0b66769a . 2003-07-15 06:05:15 +00:00
Jim Meyering
120506c26d Remove stray `:' in first regexp.
Fix *both* tests.
2003-07-15 06:05:04 +00:00
Jim Meyering
4f32d876d8 *** empty log message *** 2003-07-15 00:01:04 +00:00
Jim Meyering
5693cbd8fe (print_changelog_deltas): Relax test for matching version-number line in NEWS. 2003-07-15 00:01:01 +00:00
Jim Meyering
eda3639e19 . 2003-07-14 22:37:16 +00:00
Jim Meyering
a6b45f1ed4 *** empty log message *** 2003-07-14 18:58:28 +00:00
Jim Meyering
40ab0a7c72 Add copyright. 2003-07-14 18:58:25 +00:00
Jim Meyering
b4713a2899 *** empty log message *** 2003-07-14 18:39:37 +00:00
Jim Meyering
1109bcd1f7 *** empty log message *** 2003-07-14 16:48:37 +00:00
Jim Meyering
b461b366d2 Correct comment on first line. 2003-07-14 16:48:31 +00:00
Jim Meyering
e4c013c0f4 *** empty log message *** 2003-07-14 06:30:32 +00:00
Jim Meyering
3eecca631b . 2003-07-14 06:29:45 +00:00
Jim Meyering
123a296dd2 *** empty log message *** 2003-07-13 22:22:39 +00:00
Jim Meyering
90830646f1 (%.asc): Renamed from %.sig.
Generate and use ascii-armored signatures.
2003-07-13 22:22:18 +00:00
Jim Meyering
285eeddfd5 . 2003-07-13 22:15:08 +00:00
Jim Meyering
bc87c668c4 *** empty log message *** 2003-07-13 09:52:47 +00:00
Jim Meyering
ab8e35d397 put makepath.c back. 2003-07-13 09:52:32 +00:00
Jim Meyering
8effe1d8af *** empty log message *** 2003-07-13 09:38:07 +00:00
Jim Meyering
db425e487a (nohup invocation): Tell what happens when stdout is not a terminal.
Based on a suggestion from Steven Mocking.
2003-07-13 09:38:04 +00:00
Jim Meyering
f2176e82ad *** empty log message *** 2003-07-13 09:37:45 +00:00
Jim Meyering
d61aba00f0 add another test 2003-07-13 09:27:34 +00:00
Jim Meyering
83c37b47f8 *** empty log message *** 2003-07-13 09:25:24 +00:00
Jim Meyering
48606016b8 (NOHUP_FAILURE, NOHUP_FOUND_BUT_CANNOT_INVOKE): Define.
(main): Use them.
2003-07-13 09:25:21 +00:00
Jim Meyering
7c4f69a2fa *** empty log message *** 2003-07-13 09:03:20 +00:00
Jim Meyering
c42926bf1e (syntax-check): Move each individual check into its own target.
(syntax-check-rules): This is the list of syntax-check targets.
(sc_unmarked_diagnostics, sc_cast_of_argument_to_free):
(sc_cast_of_x_alloc_return_value, sc_space_tab):
(sc_error_exit_success, sc_xalloc_h_in_src):  New targets.
2003-07-13 09:03:13 +00:00
Jim Meyering
8329b522c0 *** empty log message *** 2003-07-13 08:46:53 +00:00
Jim Meyering
15c5a31fb5 *** empty log message *** 2003-07-13 08:46:21 +00:00
Jim Meyering
cad299f354 Use @code, not (nonexistent) @function. 2003-07-13 08:45:39 +00:00
Jim Meyering
ca08290d8b *** empty log message *** 2003-07-13 08:44:39 +00:00
Jim Meyering
5ef577f0e7 Include <stdlib.h> for declaration of free. 2003-07-13 08:44:23 +00:00
Jim Meyering
803a3441b1 *** empty log message *** 2003-07-13 08:43:02 +00:00
Jim Meyering
497560dfe9 (xgethostname): Return NULL, rather than exiting,
upon any non-malloc/realloc error.
2003-07-13 08:42:40 +00:00
Jim Meyering
f24368a67a *** empty log message *** 2003-07-13 08:15:15 +00:00
Jim Meyering
fad1b46e08 (chown invocation): Warn that chown
now clears set-user-ID and set-group-ID bits on some systems.
2003-07-13 08:15:11 +00:00
Jim Meyering
32a2c6f6d9 . 2003-07-12 20:47:23 +00:00
Jim Meyering
58354c9643 *** empty log message *** 2003-07-12 18:49:44 +00:00
Jim Meyering
252d2d236c Remove uses of OPTIONAL_BIN_ZCRIPTS and last traces of the nohup script. 2003-07-12 18:49:41 +00:00
Jim Meyering
1307f23068 Restore AC_SUBST(OPTIONAL_BIN_PROGS). *It* is used. 2003-07-12 18:47:29 +00:00
Jim Meyering
69c63039b9 *** empty log message *** 2003-07-12 18:47:07 +00:00
Jim Meyering
9aecd7ec8a *** empty log message *** 2003-07-12 18:44:42 +00:00
Jim Meyering
46a8f2d4f5 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS): Remove unused variables. 2003-07-12 18:44:39 +00:00
Jim Meyering
a3c0bb50f3 (bin_SCRIPTS): Remove use of just-removed $(OPTIONAL_BIN_ZCRIPTS). 2003-07-12 18:43:36 +00:00
Jim Meyering
37ffd45ac8 *** empty log message *** 2003-07-12 18:29:38 +00:00
Jim Meyering
016d23cb89 (BUILT_SOURCES): Use `BUILT_SOURCES += $(STDBOOL_H)'
rather than `all-local: $(STDBOOL_H)'.  The latter didn't force
creation of stdbool.h before most other targets.
Likewise for $(ALLOCA_H).
2003-07-12 18:29:35 +00:00
Jim Meyering
d51ca19934 *** empty log message *** 2003-07-12 18:26:07 +00:00
Jim Meyering
12237951e6 (localedir.h): Put the 2>&1' after the redirect target, not before the >'. 2003-07-12 18:25:51 +00:00
Jim Meyering
19add5a9f2 . 2003-07-12 16:49:08 +00:00
Jim Meyering
39935bf2f5 Remove lib/makepath.c. 2003-07-12 16:48:58 +00:00
Jim Meyering
19332b9ce5 . 2003-07-12 16:48:26 +00:00
Jim Meyering
be823d745c *** empty log message *** 2003-07-12 16:22:47 +00:00
Jim Meyering
4f78b3f40f (remove_dir): Give a diagnostic upon failed save_cwd,
now that that function no longer calls `error'.
2003-07-12 16:22:39 +00:00
Jim Meyering
c8f1cbc602 (find_mount_point): Emit a diagnostic for each
failed syscall, rather than relying on caller to do that.
The caller couldn't do a good job, anyhow -- too many different
ways to fail (each with a different referent).
Give a diagnostic upon failed save_cwd, now that that function
no longer calls `error'.
(show_point): Don't diagnose find_mount_point's errors, now that
it handles them itself.
2003-07-12 16:21:45 +00:00
Jim Meyering
7e815d32f3 tweak spacing 2003-07-12 16:17:14 +00:00
Jim Meyering
959a2409fe Don't emit diagnostics. Let callers do that.
Don't include "error.h".
(save_cwd): Don't call error.  Ensure that errno is valid
when returning nonzero.
2003-07-12 16:07:30 +00:00
Jim Meyering
6599007a62 *** empty log message *** 2003-07-12 15:45:14 +00:00
Jim Meyering
21f65c951c (find_mount_point): Don't let free clobber errno upon failed chdir 2003-07-12 15:44:14 +00:00
Jim Meyering
354996bc09 *** empty log message *** 2003-07-12 11:40:13 +00:00
Jim Meyering
a29f991b84 * src/sys2.h: Remove alloca-related block.
* src/system.h: Include <alloca.h> here, instead.
2003-07-12 11:40:03 +00:00
Jim Meyering
64521cfa9a It appears that the `#pragma alloca' included via "system.h" is
adequate, since join.c uses alloca, yet lacked an in-file #pragma.

Remove `#pragma alloca'.
2003-07-12 11:38:43 +00:00
Jim Meyering
1b0d576996 *** empty log message *** 2003-07-12 11:32:31 +00:00
Jim Meyering
b5125cf5f0 *** empty log message *** 2003-07-12 11:31:55 +00:00
Jim Meyering
e5e207df7c *** empty log message *** 2003-07-12 09:40:44 +00:00
Jim Meyering
d68aa4125b Update from gnulib. 2003-07-12 09:40:40 +00:00
Jim Meyering
ba53da9675 *** empty log message *** 2003-07-12 08:37:53 +00:00
Jim Meyering
8e34468f61 (change_file_owner): Do not restore any special
permission bits (e.g., set-user-ID, set-group-ID) that are reset
by chown(2) on some systems.  Suggestion and insistence :-) from
Michael Stone.
2003-07-12 08:37:36 +00:00
Jim Meyering
32a804c941 *** empty log message *** 2003-07-12 07:35:39 +00:00
Jim Meyering
adde093823 (make_path): Enclose diagnostic in _(...). 2003-07-12 07:35:34 +00:00
Jim Meyering
d24393e12d *** empty log message *** 2003-07-12 07:33:41 +00:00
Jim Meyering
f328802261 Also check `test -t 1'.
This is necessary on linux-2.4.21, otherwise, the test
stty/basic-1 would hang when run in the background.
2003-07-12 07:33:35 +00:00
Jim Meyering
4e85b8c0c8 . 2003-07-11 22:26:40 +00:00
Jim Meyering
6f7b4ca60a ARgh. nearly every test depends on whether stdout and/or stderr is a tty. 2003-07-11 21:57:18 +00:00
Jim Meyering
ae90f9f16e *** empty log message *** 2003-07-11 20:45:10 +00:00
Jim Meyering
6d7db642c3 Add src/nohup.c and src/setuidgid.c. 2003-07-11 20:45:05 +00:00
Jim Meyering
d4bac14488 *** empty log message *** 2003-07-11 20:41:46 +00:00
Jim Meyering
1d2f905052 (nohup.1): Depend on nohup.c, rather than nohup.sh. 2003-07-11 20:41:35 +00:00
Jim Meyering
eabefdb575 . 2003-07-11 20:40:56 +00:00
Jim Meyering
cb88f838b9 *** empty log message *** 2003-07-11 20:40:41 +00:00
Jim Meyering
a79673ff2a Also fail if cat-to-create-expected-output
fails.  Otherwise, if both `exp' and `out' end up empty because
of e.g., a full disk, they would mistakenly compare equal.
2003-07-11 20:40:28 +00:00
Jim Meyering
6568f37384 *** empty log message *** 2003-07-11 20:38:52 +00:00
Jim Meyering
96f7791a8b . 2003-07-11 20:38:23 +00:00
Jim Meyering
0f46c3a0aa (EXTRA_SCRIPTS): Remove definition.
(bin_PROGRAMS): Add nohup.
(EXTRA_DIST): Remove nohup.sh.
(all_programs): Remove use of $(EXTRA_SCRIPTS).
2003-07-11 20:37:15 +00:00
Jim Meyering
326b48f041 (TESTS): Add nohup. 2003-07-11 20:35:29 +00:00
Jim Meyering
6f7e60b1f4 tests for the new nohup.c 2003-07-11 20:34:58 +00:00
Jim Meyering
761fec62a5 *** empty log message *** 2003-07-11 20:34:35 +00:00
Jim Meyering
8db77b8978 New file. Rewrite of nohup.sh in C.
This solves a portability problem: on at least Solaris systems,
when nohup.sh used the vendor /bin/sh, it would exit with status
of `1' rather than the required 126 or 127 upon failure to exec
the specified program.
2003-07-11 20:34:29 +00:00
Jim Meyering
9c557c0a27 *** empty log message *** 2003-07-11 11:12:53 +00:00
Jim Meyering
d111de83e5 *** empty log message *** 2003-07-11 11:12:48 +00:00
Jim Meyering
e1584f504f (diagnose_copy_fd_failure): New function, renamed from
the macro, COPY_FD_DIAGNOSE.
(diagnose_copy_fd_failure): Enclose diagnostic in _(...).
(head_file): Likewise.
2003-07-11 11:12:44 +00:00
Jim Meyering
1dae2a560a (change_attributes): Enclose diagnostic in _(...). 2003-07-11 11:10:53 +00:00
Jim Meyering
208b8da666 (batch_convert): Use the quote function rather than using literal `...' in
a diagnostic.
2003-07-11 10:38:39 +00:00
Jim Meyering
7c6b61d57d Include "quote.h".
Use the quote function rather than using literal `...' in a diagnostic.
2003-07-11 10:37:21 +00:00
Jim Meyering
63861fc012 (main): Enclose diagnostic in _(...). 2003-07-11 10:35:38 +00:00
Jim Meyering
53cca5451c (main): Enclose diagnostic in _(...). 2003-07-11 10:34:50 +00:00
Jim Meyering
4927015380 (tac_seekable): Enclose diagnostic in _(...). 2003-07-11 10:34:08 +00:00
Jim Meyering
e96ddb3907 (main): Enclose diagnostic in _(...). 2003-07-11 10:33:12 +00:00
Jim Meyering
b8760e0f09 (main): Enclose diagnostic in _(...). 2003-07-11 10:18:45 +00:00
Jim Meyering
f37e7c032a (main): Enclose diagnostic in _(...). 2003-07-11 10:17:53 +00:00
Jim Meyering
112cba9a8b . 2003-07-11 06:07:04 +00:00
Jim Meyering
ff443fffa3 *** empty log message *** 2003-07-10 20:43:48 +00:00
Jim Meyering
5b9ea05b6a Include "posixver.h".
(parse_user_spec): Accept `.' as a separator only in pre-POSIX-200112 mode.
2003-07-10 20:43:42 +00:00
Jim Meyering
c9ed2d4e4b *** empty log message *** 2003-07-10 20:42:52 +00:00
Jim Meyering
6b31ccecb8 . 2003-07-10 20:16:41 +00:00
Jim Meyering
b34abb6f44 (Standards conformance): Mention that uses like
`tail -1' and `head -1', like `sort +1', are non conforming.
(chown invocation): Say that using `.' as a separator may not work.
2003-07-10 19:48:43 +00:00
Jim Meyering
b194aad646 *** empty log message *** 2003-07-10 19:39:20 +00:00
Jim Meyering
d574f4a249 (usage): Use 1024*1024 in place of 1048576. 2003-07-10 19:39:04 +00:00
Jim Meyering
f5f030cd09 *** empty log message *** 2003-07-10 16:45:03 +00:00
Jim Meyering
d4e2672d7c . 2003-07-10 15:49:37 +00:00
Jim Meyering
a61ffc8c12 *** empty log message *** 2003-07-10 15:49:29 +00:00
Jim Meyering
6b46572468 *** empty log message *** 2003-07-10 15:49:23 +00:00
Jim Meyering
317a34daf8 (noinst_PROGRAMS): Define to setuidgid. 2003-07-10 15:49:17 +00:00
Jim Meyering
aacb015d41 Now that we have setuidgid, use it in place of the kludge in this test. 2003-07-10 15:47:36 +00:00
Jim Meyering
0dca45f310 *** empty log message *** 2003-07-10 14:37:11 +00:00
Jim Meyering
d743e47970 New program, solely for testing (not installed). 2003-07-10 14:37:04 +00:00
Jim Meyering
477fd9c12e . 2003-07-10 11:25:59 +00:00
Jim Meyering
14031cbf92 New files, in support of new asprintf use. From gnulib. 2003-07-10 11:23:31 +00:00
Jim Meyering
f928e16280 *** empty log message *** 2003-07-10 11:23:16 +00:00
Jim Meyering
35ded2ce44 (jm_MACROS): Require gl_FUNC_VASPRINTF and gl_FUNC_VASNPRINTF. 2003-07-10 11:23:09 +00:00
Jim Meyering
116f76d19c . 2003-07-10 11:22:20 +00:00
Jim Meyering
b269489ba1 Now that a program (`who') uses asprintf, we need all of these:
* asnprintf.c, asprintf.c, printf-args.c, printf-args.h, printf-parse.c:
* printf-parse.h, vasnprintf.c, vasnprintf.h, vasprintf.c, vasprintf.h:
New files, from gnulib.
2003-07-10 11:15:20 +00:00
Jim Meyering
5624c49daf *** empty log message *** 2003-07-10 11:11:23 +00:00
Jim Meyering
32f2b4d3ca *** empty log message *** 2003-07-10 11:10:57 +00:00
Jim Meyering
4720108b1c Indent cpp directives (via cppi). 2003-07-10 11:09:11 +00:00
Jim Meyering
a42c0ab2e7 Indent cpp directives (via cppi). 2003-07-10 11:08:40 +00:00
Jim Meyering
79977fa157 *** empty log message *** 2003-07-10 11:07:35 +00:00
Jim Meyering
755af34510 . 2003-07-10 11:07:30 +00:00
Jim Meyering
d5cf04bd31 (libfetish_a_SOURCES): Add these:
printf-args.h, printf-parse.h, vasprintf.h, vasnprintf.h.
2003-07-10 11:07:22 +00:00
Jim Meyering
0efd253b5d *** empty log message *** 2003-07-10 11:06:15 +00:00
Jim Meyering
d52a2f1542 *** empty log message *** 2003-07-10 11:01:09 +00:00
Jim Meyering
e2e3a9a41c (change_file_owner): Don't leak file descriptors when dereferencing symlinks. 2003-07-10 10:59:47 +00:00
Jim Meyering
864de4b741 . 2003-07-10 08:35:28 +00:00
Jim Meyering
ba2eb10a80 *** empty log message *** 2003-07-10 08:35:11 +00:00
Jim Meyering
77723f8252 From gnulib.
Help replace my old inttypes.m4.
2003-07-10 08:35:02 +00:00
Jim Meyering
d495468b37 From gnulib.
Help replace my old inttypes.m4.
2003-07-10 08:33:46 +00:00
Jim Meyering
33f0fe8094 Remove file (make it empty, actually).
Use intmax_t.m4 and uintmax_t.m4 from gnulib, instead.
2003-07-10 07:57:43 +00:00
Jim Meyering
c7eab83c3e Switch from LGPL to GPL. 2003-07-10 07:06:25 +00:00
Jim Meyering
3a7b7b002d . 2003-07-09 17:55:29 +00:00
Jim Meyering
42d3f8ff68 *** empty log message *** 2003-07-09 17:54:57 +00:00
Jim Meyering
3bfb395872 Update from gnulib. 2003-07-09 17:54:54 +00:00
Jim Meyering
e496ebd4f9 *** empty log message *** 2003-07-09 13:16:52 +00:00
Jim Meyering
c2374d61cd *** empty log message *** 2003-07-09 10:00:46 +00:00
Jim Meyering
859428bfaa Fix the bug that would make du /' omit the /' on the last line.
E.g., `du --exclude '[^/]*' -x /' would print only "4\t\n" for me.

(ftw_dir): Don't clobber the leading `/'.
Reported by Chris Lesniewski as http://bugs.debian.org/200542.
2003-07-09 10:00:42 +00:00
Jim Meyering
4ad6473e4f *** empty log message *** 2003-07-09 10:00:15 +00:00
Jim Meyering
6d2bd321e8 (TESTS): Add slash 2003-07-09 10:00:09 +00:00
Jim Meyering
6d43a16e3f New file/test for today's lib/ftw.c fix. 2003-07-09 09:59:58 +00:00
Jim Meyering
51ceee4577 *** empty log message *** 2003-07-09 09:51:34 +00:00
Jim Meyering
3ac852c895 *** empty log message *** 2003-07-09 09:11:41 +00:00
Jim Meyering
c2ff181eca *** empty log message *** 2003-07-09 08:54:30 +00:00
Jim Meyering
83ca2782f9 (xlseek): Avoid warning about ``return without value
from function returning non-void''.
2003-07-09 08:54:24 +00:00
Jim Meyering
0a2917372d *** empty log message *** 2003-07-08 21:08:27 +00:00
Jim Meyering
133f79583f Add END handler to close STDOUT and check for errors. 2003-07-08 21:08:17 +00:00
Jim Meyering
c540aafa3f Update to version 1.29. 2003-07-08 21:00:01 +00:00
Jim Meyering
b30d80a586 *** empty log message *** 2003-07-06 06:13:29 +00:00
Jim Meyering
5c01750b43 *** empty log message *** 2003-07-06 06:12:28 +00:00
Jim Meyering
05731b4717 Add support for a "[" that conforms to the GNU coding standards,
i.e., that does not depend on its name.

(LBRACKET): Define to 0 if not defined.
(main): Use LBRACKET rather than argv[0].

----------
(one_argument): Do not check for -t if POSIXLY_CORRECT.

(main): Do not recognize --help or --version if
POSIXLY_CORRECT, when invoked as "test".  Handle "[ ]" correctly.
Do not bother testing that margv[margc] is non-null.
2003-07-06 06:12:20 +00:00
Jim Meyering
138fd919b8 (bin_PROGRAMS): Add "[".
(__SOURCES): New var.
2003-07-06 06:10:36 +00:00
Jim Meyering
59aca01693 (programs): Ignore "[", since it doesn't have a separate man page. 2003-07-06 06:09:44 +00:00
Jim Meyering
12e8f82540 New file. 2003-07-06 06:08:40 +00:00
Jim Meyering
2ec0b8355c Add [. 2003-07-06 06:08:17 +00:00
Jim Meyering
bc92090949 update from master 2003-07-05 09:03:44 +00:00
Jim Meyering
b358b98f1c *** empty log message *** 2003-07-04 12:26:22 +00:00
Jim Meyering
b50457c5b3 *** empty log message *** 2003-07-04 12:25:57 +00:00
Jim Meyering
47dfac7b19 (print_line): Rewrite to use asprintf, in order to be
able to avoid emitting trailing blanks.
2003-07-04 12:25:29 +00:00
Jim Meyering
8f85628841 *** empty log message *** 2003-07-04 11:38:43 +00:00
Jim Meyering
2ada37fa94 Include <sys/types.h> unconditionally, instead of
having it depend on HAVE_SYS_TYPES_H.
2003-07-04 11:38:37 +00:00
Jim Meyering
aae3b8e336 *** empty log message *** 2003-07-04 10:15:52 +00:00
Jim Meyering
fb864a8db7 Add tests of head's new --lines=-N
option, and perform the 1600 invocations of head IFF the envvar
RUN_EXPENSIVE_TESTS is set.
2003-07-04 10:15:47 +00:00
Jim Meyering
89d9530643 (do_copy): Give a better diagnostic when failing due
to nonexistent destination directory.  Reported by Dmitry Rutsky.
See http://bugs.debian.org/199730 for details.
2003-07-04 10:01:35 +00:00
Jim Meyering
4c8f617f70 *** empty log message *** 2003-07-03 17:09:10 +00:00
Jim Meyering
3cdc49b0ee *** empty log message *** 2003-07-03 17:09:03 +00:00
Jim Meyering
d85a6aa4a5 . 2003-07-03 14:15:08 +00:00
Jim Meyering
b01dd9232d *** empty log message *** 2003-06-29 06:35:37 +00:00
Jim Meyering
6e036c0593 tweak comment to fit in 80 columns 2003-06-28 10:30:04 +00:00
Jim Meyering
307fbc8ae6 *** empty log message *** 2003-06-27 12:17:55 +00:00
Jim Meyering
28b3b79f30 *** empty log message *** 2003-06-27 07:51:33 +00:00
Jim Meyering
0c2dd1fe07 Also use --verbose and compare stderr output with what we'd expect. 2003-06-27 07:51:30 +00:00
Jim Meyering
d294e440c3 *** empty log message *** 2003-06-27 07:44:23 +00:00
Jim Meyering
bcf7749785 *** empty log message *** 2003-06-27 07:42:02 +00:00
Jim Meyering
9e6e479047 split's --verbose option did nothing
(longopts): Use `1', not `0' as the value for for &verbose.
2003-06-27 07:41:55 +00:00
Jim Meyering
8b2c8b091c *** empty log message *** 2003-06-25 09:48:49 +00:00
Jim Meyering
161d3c8d76 (Time directives) [%s]: Add a cross reference to the related examples.
(Examples of date): Add an @anchor here, along with a few more examples.
2003-06-25 09:48:43 +00:00
Jim Meyering
3914dba415 *** empty log message *** 2003-06-19 22:01:55 +00:00
Jim Meyering
5fe0d2293d (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]:
Use `error_t' (rather than int) as type for local `err'.
2003-06-19 22:01:47 +00:00
Jim Meyering
3dade24681 *** empty log message *** 2003-06-19 21:17:53 +00:00
Jim Meyering
f0a5712f74 (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]:
Fix author preservation code.
2003-06-19 21:17:48 +00:00
Jim Meyering
2b04698566 *** empty log message *** 2003-06-19 11:41:31 +00:00
Jim Meyering
0bf9e8687d (ENABLE_HARD_LINK_TO_SYMLINK_WARNING): Define to 0.
(do_link): Don't warn about hard link to symlink.
2003-06-19 11:38:16 +00:00
Jim Meyering
2b5eb31b81 update from upstream 2003-06-18 13:21:05 +00:00
Jim Meyering
efa6493662 *** empty log message *** 2003-06-18 11:00:20 +00:00
Jim Meyering
35e65fbf15 *** empty log message *** 2003-06-18 10:19:36 +00:00
Jim Meyering
8c9de91ad1 (PARAMS): Remove. All uses removed. 2003-06-18 10:19:33 +00:00
Jim Meyering
03f3bf246b . 2003-06-18 10:18:17 +00:00
Jim Meyering
a46ae031d3 update from gnulib 2003-06-18 10:16:47 +00:00
Jim Meyering
f9b9a990c4 *** empty log message *** 2003-06-18 09:24:50 +00:00
Jim Meyering
04dd482b80 *** empty log message *** 2003-06-18 08:15:17 +00:00
Jim Meyering
95857d75da Merge in change from gnulib.
Remove block of alloca-related code in favor
of an unconditional `#include <alloca.h>'.
2003-06-18 08:15:14 +00:00
Jim Meyering
e0418912ff *** empty log message *** 2003-06-18 08:10:10 +00:00
Jim Meyering
8ea48114d3 Use `1990-2000' notation in Copyright line until Emacs'
copyright-update function learns how to handle a comma-separated
list of years that spans a line boundary.
2003-06-18 08:10:03 +00:00
Jim Meyering
8a615a4bf7 Include <stddef.h>.
Remove unnecessary parentheses.
2003-06-18 08:07:02 +00:00
Jim Meyering
ff85d09b52 from gnulib: add copyright notice 2003-06-18 08:03:45 +00:00
Jim Meyering
a44ae437d1 from gnulib: update comments 2003-06-18 08:02:24 +00:00
Jim Meyering
8a75477940 from gnulib: add copyright notice 2003-06-18 08:01:08 +00:00
Jim Meyering
970d452fbb from gnulib: add copyright notice 2003-06-18 08:00:31 +00:00
Jim Meyering
4246f6ed52 *** empty log message *** 2003-06-18 07:59:22 +00:00
Jim Meyering
91c698cb2f Include "getdelim2.h", not "getstr.h".
Reflect renaming: getstr -> getdelim2.
2003-06-18 07:59:14 +00:00
Jim Meyering
5fdac01e0c . 2003-06-18 07:58:08 +00:00
Jim Meyering
09c6cc9f9c (libfetish_a_SOURCES): Add getdelim2.c and getdelim2.h. 2003-06-18 07:58:03 +00:00
Jim Meyering
42cd1376ed (PARAMS): Remove. All uses removed. 2003-06-18 07:57:26 +00:00
Jim Meyering
dfbef7497d (PARAMS): Remove. All uses removed. 2003-06-18 07:55:39 +00:00
Jim Meyering
d5ebb3b6fa (PARAMS): Remove. All uses removed. 2003-06-18 07:54:53 +00:00
Jim Meyering
5ff2043ef2 (PARAMS): Remove. All uses removed. 2003-06-18 07:54:10 +00:00
Jim Meyering
b289f42fdf (PARAMS): Remove. All uses removed.
Do not include config.h; no longer needed.
Anyway, config.h should always be included before any other file.
2003-06-18 07:53:12 +00:00
Jim Meyering
de4077cbe3 (PARAMS): Remove. All uses removed.
Do not include config.h; no longer needed.
Anyway, config.h should always be included before any other file.
2003-06-18 07:52:28 +00:00
Jim Meyering
33a46de4ad (PARAMS): Remove. All uses removed. 2003-06-18 07:51:52 +00:00
Jim Meyering
cad207ec23 remove bogus comment 2003-06-18 07:51:08 +00:00
Jim Meyering
8b384adc97 (PARAMS): Remove. All uses removed.
Do not include config.h; no longer needed.
Anyway, config.h should always be included before any other file.
2003-06-18 07:50:09 +00:00
Jim Meyering
6cf1fd0c87 (PARAMS): Remove. All uses removed. 2003-06-18 07:49:35 +00:00
Jim Meyering
38a0ec7565 (PARAMS): Remove. All uses removed. 2003-06-18 07:48:56 +00:00
Jim Meyering
cee8853f77 *** empty log message *** 2003-06-18 07:48:38 +00:00
Jim Meyering
3ed2170b64 (PARAMS): Remove. All uses removed.
Do not include config.h; no longer needed.
Anyway, config.h should always be included before any other file.
2003-06-18 07:48:30 +00:00
Jim Meyering
30b2b9caaf (PARAMS): Remove. All uses removed. 2003-06-18 07:46:31 +00:00
Jim Meyering
cc0274b020 *** empty log message *** 2003-06-18 07:45:11 +00:00
Jim Meyering
5acac69fde (getdelim2): Move this function into its own file. 2003-06-18 07:44:56 +00:00
Jim Meyering
432d98178d *** empty log message *** 2003-06-18 07:42:50 +00:00
Jim Meyering
b605919f56 Extracted from getstr.c. 2003-06-18 07:42:21 +00:00
Jim Meyering
08c0001e89 *** empty log message *** 2003-06-18 07:40:49 +00:00
Jim Meyering
6d6f7c4ab0 *** empty log message *** 2003-06-18 07:39:42 +00:00
Jim Meyering
ee1dffc94c Update from gnulib. 2003-06-18 07:39:28 +00:00
Jim Meyering
1c0e2e41d0 . 2003-06-18 07:38:28 +00:00
Jim Meyering
4f1ec3fd54 Reflect renaming: readline -> readlinebuffer. 2003-06-18 07:37:29 +00:00
Jim Meyering
9341d1f804 *** empty log message *** 2003-06-18 06:53:30 +00:00
Jim Meyering
0b958357b0 Update from gnulib. 2003-06-18 06:53:26 +00:00
Jim Meyering
4545986b08 expand copyright years to sync with gnulib 2003-06-18 06:14:01 +00:00
Jim Meyering
62b9c742e9 Update from gnulib. 2003-06-18 06:11:45 +00:00
Jim Meyering
91dea2139e *** empty log message *** 2003-06-17 19:57:46 +00:00
Jim Meyering
719c0b709c Update from gnulib. 2003-06-17 19:57:27 +00:00
Jim Meyering
ff72da8ce0 *** empty log message *** 2003-06-17 19:53:59 +00:00
Jim Meyering
8ccf7c033d Merge in changes from gnulib.
Include <stdbool.h> unconditionally.
Include <limits.h>.
(CHAR_BIT): Don't define.
2003-06-17 19:53:53 +00:00
Jim Meyering
cd40ac8029 *** empty log message *** 2003-06-17 18:40:11 +00:00
Jim Meyering
a5edf93f28 *** empty log message *** 2003-06-17 18:39:50 +00:00
Jim Meyering
9ce9757db1 Include sys/types.h before system.h (because
the latter includes sys/stat.h).  Required on Ultrix 4.3.
2003-06-17 18:39:20 +00:00
Jim Meyering
2e17bffdb5 *** empty log message *** 2003-06-17 18:35:45 +00:00
Jim Meyering
4d599fe1f9 Include sys/types.h before sys/stat.h.
Required on Ultrix 4.3.
2003-06-17 18:35:42 +00:00
Jim Meyering
acd0f0af4b *** empty log message *** 2003-06-17 18:35:12 +00:00
Jim Meyering
392f0ff40c . 2003-06-17 18:13:41 +00:00
Jim Meyering
6bcd4b08ba (main): Call initialize_main. 2003-06-17 18:13:23 +00:00
Jim Meyering
1844eee69a (initialize_main): Define. 2003-06-17 18:12:26 +00:00
Jim Meyering
83563c918a *** empty log message *** 2003-06-17 18:11:20 +00:00
Jim Meyering
dc9d2eaaa0 *** empty log message *** 2003-06-17 17:40:51 +00:00
Jim Meyering
588e9f6a69 Fix for build failure on Ultrix 4.3.
Include sys/statvfs.h in preference to sys/vfs.h.
Include sys/param.h and sys/mount.h on ultrix.
2003-06-17 17:40:45 +00:00
Jim Meyering
d14b702016 add comma 2003-06-16 10:51:29 +00:00
Jim Meyering
0e733fb3db *** empty log message *** 2003-06-16 10:47:06 +00:00
Jim Meyering
0d6c9af250 (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): New definitions.
Moved here from touch.c, with one change: define EISDIR to -1, not 0.
2003-06-16 10:46:59 +00:00
Jim Meyering
9253fdd9a2 (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): Remove definitions.
Moved to system.h.
2003-06-16 10:45:18 +00:00
Jim Meyering
11fb977675 *** empty log message *** 2003-06-16 09:11:45 +00:00
Jim Meyering
b8735ae4a0 (cat): Remove `#ifndef ENOSYS', now that it's
guaranteed to be defined.
2003-06-16 09:11:39 +00:00
Jim Meyering
0e79eb8a57 (ENOSYS, ENOTSUP): Define to -1 if not defined. 2003-06-16 09:10:53 +00:00
Jim Meyering
c75911b034 *** empty log message *** 2003-06-16 07:53:27 +00:00
Jim Meyering
b669dfeb11 *** empty log message *** 2003-06-16 07:53:23 +00:00
Jim Meyering
d2bebfab0e Mention the CVS repository.
Encourage addition of test cases.
2003-06-16 07:53:18 +00:00
Jim Meyering
40959940d9 . 2003-06-12 20:02:07 +00:00
Jim Meyering
417a6cd6f5 *** empty log message *** 2003-06-12 08:17:59 +00:00
Jim Meyering
aa85d5d6c7 (touch): Call close only if necessary. 2003-06-12 08:17:49 +00:00
Jim Meyering
738b7eb8e4 *** empty log message *** 2003-06-12 07:34:58 +00:00
Jim Meyering
19fbe90711 *** empty log message *** 2003-06-12 06:59:49 +00:00
Jim Meyering
07cc4078f1 Also change lines' to newlines'. 2003-06-12 06:59:45 +00:00
Jim Meyering
e75cbaa337 Correct wording: wc prints counts in the order `newline, word, byte'.
And change `lines' to `newlines'.
2003-06-12 06:57:34 +00:00
Jim Meyering
65fccc2340 *** empty log message *** 2003-06-12 06:56:28 +00:00
Jim Meyering
92bbc5bbaf (usage): Correct wording: wc prints counts in the order `newline, word, byte'. 2003-06-12 06:55:57 +00:00
Jim Meyering
e07c146aa1 *** empty log message *** 2003-06-12 06:52:53 +00:00
Jim Meyering
e7c3673528 (wc invocation): Tweak wording: wc prints them in
the order `line, word, byte'.  Suggestion from Keith M. Briggs.
2003-06-12 06:52:49 +00:00
Jim Meyering
2a7d10a766 *** empty log message *** 2003-06-11 08:50:16 +00:00
Jim Meyering
c393a4fa20 [LSTAT]: Compile/use slash_aware_lstat only if it is necessary. 2003-06-11 08:50:01 +00:00
Jim Meyering
383db808ef *** empty log message *** 2003-06-10 06:38:16 +00:00
Jim Meyering
b9baae93b4 *** empty log message *** 2003-06-10 06:37:09 +00:00
Jim Meyering
068f2224f9 Add a test for the new format, e.g., May-23-2003. 2003-06-10 06:37:03 +00:00
Jim Meyering
208b95e198 Also accept dates of the form May-23-2003. 2003-06-10 06:28:00 +00:00
Jim Meyering
3ceea0946b . 2003-06-09 20:57:03 +00:00
Jim Meyering
edbfa74a8a *** empty log message *** 2003-06-09 20:53:22 +00:00
Jim Meyering
de678f9321 Also undefine gmtime.
(rpl_gmtime): New function.  Suggestion from Paul Eggert.
2003-06-09 20:53:15 +00:00
Jim Meyering
633fbb7c66 *** empty log message *** 2003-06-09 20:52:22 +00:00
Jim Meyering
4a6f13aa2f (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also define gmtime. 2003-06-09 20:52:15 +00:00
Jim Meyering
954603b708 (gl_FUNC_TZSET_CLOBBER): Also define gmtime. 2003-06-09 20:51:46 +00:00
Jim Meyering
f6b3325690 *** empty log message *** 2003-06-08 18:03:03 +00:00
Jim Meyering
44c64b7810 [!_LIBC]: Ensure that the required autoconf test has been run. 2003-06-08 18:03:01 +00:00
Jim Meyering
507ecb8d3e *** empty log message *** 2003-06-08 18:01:16 +00:00
Jim Meyering
bf7a41befb Update from gnulib. 2003-06-08 18:01:09 +00:00
Jim Meyering
3c5cd2319b . 2003-06-08 17:45:11 +00:00
Jim Meyering
351f9f7436 . 2003-06-08 17:44:21 +00:00
Jim Meyering
450f30c5da change some names, reverse sense of tests
Also define TZSET_CLOBBERS_LOCALTIME_BUFFER.
Arrange to compile gettimeofday.
2003-06-08 17:43:53 +00:00
Jim Meyering
9de1b71bda *** empty log message *** 2003-06-08 17:42:42 +00:00
Jim Meyering
218d2a739c (_jm_STRFTIME_PREREQS): Require gl_FUNC_TZSET_CLOBBER. 2003-06-08 17:42:31 +00:00
Jim Meyering
45840e899f Clean up, as part of merge with emacs version of strftime.c.
(my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
Remove function, now that we can rely on a working tzset function.
Ensure that the required autoconf test has been run.
2003-06-08 17:41:07 +00:00
Jim Meyering
60f6a7d72f Also undef tzset.
(rpl_tzset): New function.
2003-06-08 17:37:48 +00:00
Jim Meyering
a647c23ca2 *** empty log message *** 2003-06-07 16:30:04 +00:00
Jim Meyering
6a9dbd3e33 New file. Used by strftime.m4. 2003-06-07 16:30:02 +00:00
Jim Meyering
98a799ac0a *** empty log message *** 2003-06-07 16:28:39 +00:00
Jim Meyering
e7ae9459f9 New file, used by strftime.m4. 2003-06-07 16:28:23 +00:00
Jim Meyering
43596a06a3 Update from gnulib. 2003-06-07 16:27:44 +00:00
Jim Meyering
0ba7b84893 Remove definition and uses of __P. 2003-06-07 10:27:54 +00:00
Jim Meyering
70e17d65dd Add copyright notice.
Include <stdio.h>.
2003-06-07 10:27:08 +00:00
Jim Meyering
82f74da190 *** empty log message *** 2003-06-07 10:20:52 +00:00
Jim Meyering
0db39dc64d Include alloca.h unconditionally. 2003-06-07 10:20:42 +00:00
Jim Meyering
465e39e101 *** empty log message *** 2003-06-07 10:15:15 +00:00
Jim Meyering
18944fe439 Remove unnecessary parentheses around malloc. 2003-06-07 10:15:12 +00:00
Jim Meyering
84faaa2188 *** empty log message *** 2003-06-07 10:13:50 +00:00
Jim Meyering
474db3e6a4 Put `Free Software Foundation' in place of my name
in the copyright comment.
2003-06-07 10:13:29 +00:00
Jim Meyering
3784619db7 *** empty log message *** 2003-06-07 10:11:56 +00:00
Jim Meyering
f1d7d48ebb Include <stddef.h>. 2003-06-07 10:11:39 +00:00
Jim Meyering
2c8b39745b add copyright years from gnulib 2003-06-07 10:09:18 +00:00
Jim Meyering
aac3c83ed0 *** empty log message *** 2003-06-06 23:08:00 +00:00
Jim Meyering
1e0d9f6c44 (syntax-check): Add commented-out (over-aggressive) rule. 2003-06-06 23:07:53 +00:00
Jim Meyering
a15096482c . 2003-06-06 23:06:42 +00:00
Jim Meyering
1e006fb1ea . 2003-06-06 23:04:56 +00:00
Jim Meyering
0bf3b0e892 (MOSTLYCLEANFILES): Add alloca.h and alloca.ht.
(MOSTLYCLEANFILES): Add stdbool.ht.
2003-06-06 23:04:39 +00:00
Jim Meyering
fcd7666d6e . 2003-06-06 22:54:40 +00:00
Jim Meyering
01b2facd29 . 2003-06-06 22:46:44 +00:00
Jim Meyering
ded8e8e6f4 New file. From gnulib. 2003-06-06 22:46:09 +00:00
Jim Meyering
404585e739 *** empty log message *** 2003-06-06 22:37:28 +00:00
Jim Meyering
6118590130 Include <stdio.h>, once again, for declaration of sprintf. 2003-06-06 22:37:23 +00:00
Jim Meyering
c6fdfa80ff *** empty log message *** 2003-06-06 22:34:12 +00:00
Jim Meyering
f43ec51105 Include <stddef.h> unconditionally.
Include <inttypes.h> as an alternative to <stdint.h>.
2003-06-06 22:34:04 +00:00
Jim Meyering
fbb7e6632b *** empty log message *** 2003-06-06 22:30:51 +00:00
Jim Meyering
8f92b22d98 Include <stdint.h> as an alternative to <inttypes.h>. 2003-06-06 22:30:28 +00:00
Jim Meyering
563aaa8d0b Include <stdint.h> as an alternative to <inttypes.h>. 2003-06-06 22:30:03 +00:00
Jim Meyering
611702a917 *** empty log message *** 2003-06-06 22:20:31 +00:00
Jim Meyering
6926a9ca67 Include <stddef.h>, not <sys/types.h>. 2003-06-06 22:20:29 +00:00
Jim Meyering
2ebe20a54b *** empty log message *** 2003-06-06 22:18:01 +00:00
Jim Meyering
51fd72e0ea Include <stddef.h>.
(NULL): Don't define, since <stddef.h> does that.
2003-06-06 22:17:57 +00:00
Jim Meyering
501a8e54b9 *** empty log message *** 2003-06-06 21:04:32 +00:00
Jim Meyering
481fd54919 Include <limits.h> without checking for HAVE_LIMITS_H.
Include <stddefs.h> unconditionally.
(NULL): Don't define, since <stddef.h> does that.
2003-06-06 21:04:15 +00:00
Jim Meyering
01d33d71dc *** empty log message *** 2003-06-06 21:01:55 +00:00
Jim Meyering
c8023d768a #undef rename before defining rpl_rename.
[HAVE_CONFIG_H]: Guard inclusion of config.h.
2003-06-06 21:01:52 +00:00
Jim Meyering
63c87fccb3 *** empty log message *** 2003-06-06 21:00:20 +00:00
Jim Meyering
8408a9a92a Include <stddef.h> rather than <sys/types.h>, as we merely need size_t. 2003-06-06 21:00:16 +00:00
Jim Meyering
91d8522cbe *** empty log message *** 2003-06-06 20:48:48 +00:00
Jim Meyering
a5dbfa1756 Include <stddef.h> rather than <sys/types.h>, as we merely need size_t. 2003-06-06 20:48:43 +00:00
Jim Meyering
fcf3830db0 *** empty log message *** 2003-06-06 20:45:53 +00:00
Jim Meyering
361f358a64 Dont include <stddef.h> or <sys/types.h>; not needed. 2003-06-06 20:45:46 +00:00
Jim Meyering
b97f30e0a1 *** empty log message *** 2003-06-06 20:19:53 +00:00
Jim Meyering
352b014540 from gnulib 2003-06-06 20:19:37 +00:00
Jim Meyering
ef07d7b020 *** empty log message *** 2003-06-06 20:18:17 +00:00
Jim Meyering
01170d044a Include <stddef.h>.
(NULL): Don't define, since <stddef.h> does that.
2003-06-06 20:17:37 +00:00
Jim Meyering
a4fa7bc1f0 *** empty log message *** 2003-06-06 20:14:10 +00:00
Jim Meyering
eaf4e73506 Include <stddef.h>, to get size_t. 2003-06-06 20:14:02 +00:00
Jim Meyering
2861487e31 *** empty log message *** 2003-06-06 20:13:05 +00:00
Jim Meyering
2e637905f9 Include "memcoll.h", which gets us size_t and checks
our interface, instead of including <sys/types.h>
(memcoll): Fall back on a simple algorithm using
memcmp if strcoll doesn't work.
2003-06-06 20:12:59 +00:00
Jim Meyering
353c4cbcd4 *** empty log message *** 2003-06-06 20:10:24 +00:00
Jim Meyering
20bbe4ed6b Include <stddef.h>. From gnulib. 2003-06-06 20:10:20 +00:00
Jim Meyering
199e0abbe0 Don't include <sys/types.h>. From gnulib. 2003-06-06 20:08:58 +00:00
Jim Meyering
3bb7c314bd *** empty log message *** 2003-06-06 20:04:53 +00:00
Jim Meyering
ec8405327c (main): Avoid newer 3-arg form of open,
so this script works also with e.g., perl5.005_03.
2003-06-06 20:04:39 +00:00
Jim Meyering
9d8449fbeb *** empty log message *** 2003-06-06 19:58:32 +00:00
Jim Meyering
e53217d245 (EXTRA_DIST): Add alloca_.h.
(all-local $(lib_OBJECTS)): Depend on $(ALLOCA_H).
(alloca.h): New rule.
2003-06-06 19:58:26 +00:00
Jim Meyering
2e2f4032ef *** empty log message *** 2003-06-06 19:54:20 +00:00
Jim Meyering
46e8766586 from gnulib 2003-06-06 19:54:14 +00:00
Jim Meyering
9a687b646b Require gl_FUNC_ALLOCA. 2003-06-06 19:54:05 +00:00
Jim Meyering
81c26ff410 Merge from gnulib. 2003-06-06 19:46:45 +00:00
Jim Meyering
5b06e5f698 Update from gnulib. 2003-06-06 19:42:03 +00:00
Jim Meyering
43cab34a90 Update from gnulib. 2003-06-06 19:41:19 +00:00
Jim Meyering
dab683385b Update from gnulib. 2003-06-06 19:40:14 +00:00
Jim Meyering
941f333849 Update from gnulib. 2003-06-06 19:39:07 +00:00
Jim Meyering
c2d5a2ac32 *** empty log message *** 2003-06-06 19:37:43 +00:00
Jim Meyering
5084ad7014 Update from gnulib. 2003-06-06 19:37:13 +00:00
Jim Meyering
5dc10e1e85 Update from gnulib. 2003-06-06 19:36:28 +00:00
Jim Meyering
06b486287f Update from gnulib. 2003-06-06 19:36:00 +00:00
Jim Meyering
54978a766d *** empty log message *** 2003-06-06 19:33:47 +00:00
Jim Meyering
8b0170befa Update from gnulib. 2003-06-06 19:33:44 +00:00
Jim Meyering
510f263a2c Include <string.h> and <stdlib.h> unconditionally.
(memcpy): Remove definition.
2003-06-06 19:32:21 +00:00
Jim Meyering
9f818bb79f . 2003-06-06 19:19:57 +00:00
Jim Meyering
6d1208ecf2 Include <stdbool.h> unconditionally. 2003-06-06 19:18:54 +00:00
Jim Meyering
271dade11d . 2003-06-06 19:18:18 +00:00
Jim Meyering
864b4ae3a1 *** empty log message *** 2003-06-06 19:17:54 +00:00
Jim Meyering
da5cbe5ef8 Include <stdbool.h> unconditionally. 2003-06-06 19:17:37 +00:00
Jim Meyering
e5818cca68 Include <stdbool.h> unconditionally. 2003-06-06 19:16:31 +00:00
Jim Meyering
4a57eac20d Merge from gnulib. 2003-06-06 19:16:06 +00:00
Jim Meyering
47158d0de8 Merge from gnulib. 2003-06-06 19:15:40 +00:00
Jim Meyering
2aad14c59a . 2003-06-06 07:23:31 +00:00
Jim Meyering
ccda0b0c8b tweak again 2003-06-06 07:23:22 +00:00
Jim Meyering
4f23b932ed make var names match 2003-06-06 07:16:29 +00:00
Jim Meyering
62ce772497 *** empty log message *** 2003-06-06 07:15:02 +00:00
Jim Meyering
7304b6fa17 Update from gnulib. 2003-06-06 07:14:57 +00:00
Jim Meyering
ad5d1a84fe . 2003-06-06 07:14:22 +00:00
Jim Meyering
04c93a0e13 . 2003-06-06 07:13:24 +00:00
Jim Meyering
46cab6debc *** empty log message *** 2003-06-06 07:07:17 +00:00
Jim Meyering
4b048826c7 (jm_PREREQ): Use gl_HUMAN, not jm_PREREQ_HUMAN.
(jm_prereq_HUMAN): Remove.
2003-06-06 07:07:13 +00:00
Jim Meyering
53a32e5fe4 New file, from gnulib. 2003-06-06 07:06:35 +00:00
Jim Meyering
71bf6b1420 . 2003-06-06 07:04:45 +00:00
Jim Meyering
009bf56df8 *** empty log message *** 2003-06-05 21:56:00 +00:00
Jim Meyering
75edcde81a Assume freestanding C89 or better.
(HAVE_LIMITS_H): Remove.  Assume it's 1.
(__P): Remove; not used.
(CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
(mktime, not_equal_tm, print_tm, check_result,
main): Use prototypes.  Use const * where appropriate.
(main): Fix typo in testing code that uncovered by above changes.
(Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
2003-06-05 21:55:47 +00:00
Jim Meyering
e86ab6d4d2 *** empty log message *** 2003-06-05 16:28:53 +00:00
Jim Meyering
4c89642c83 *** empty log message *** 2003-06-04 12:43:10 +00:00
Jim Meyering
88a30ac10e *** empty log message *** 2003-06-04 12:36:05 +00:00
Jim Meyering
52f5243a92 . 2003-06-04 12:22:59 +00:00
Jim Meyering
1bc914b7de *** empty log message *** 2003-06-04 12:22:44 +00:00
Jim Meyering
8c34e76480 (check-programs-vs-x): Rename target
from check-programs-vs-1.  Adjust rule to check for the
primary (.x) file, not the generated one (.1).
2003-06-04 12:22:06 +00:00
Jim Meyering
4a4a7de6a2 (dist_man_MANS): Add kill.1.
(kill.1): New rule.
2003-06-04 12:16:02 +00:00
Jim Meyering
c3078fa05a *** empty log message *** 2003-06-04 12:15:36 +00:00
Jim Meyering
0ab9c4a0fa (check-programs-vs-1): New phony target.
(check-local): Depend on it.
2003-06-04 11:58:59 +00:00
Jim Meyering
dba7483095 . 2003-06-03 13:00:22 +00:00
Jim Meyering
bf1245e2f3 *** empty log message *** 2003-06-03 08:46:06 +00:00
Jim Meyering
e53732b471 Avoid unnecessary copying of environment.
(main): Rather than clearing the environment and --
unless told to ignore environment -- copying all settings from
the saved, original environment, clear the environment only when
that is requested.  Suggested by Jens Elkner.
2003-06-03 08:29:41 +00:00
Jim Meyering
ebe74e183e *** empty log message *** 2003-06-03 07:52:51 +00:00
Jim Meyering
4ad5932cda *** empty log message *** 2003-06-03 06:53:45 +00:00
Jim Meyering
095fcca5a5 *** empty log message *** 2003-06-02 08:15:45 +00:00
Jim Meyering
1f9186195f (MOSTLYCLEANFILES): Initialize.
(stdbool.h): New rule.
(all-local $(lib_OBJECTS)): Depend on $(STDBOOL_H)
(MOSTLYCLEANFILES): Add stdbool.h.
(EXTRA_DIST): Add stdbool.h.
2003-06-02 08:15:38 +00:00
Jim Meyering
5594c4570e New file. From gnulib. 2003-06-02 08:15:16 +00:00
Jim Meyering
86b58740ce *** empty log message *** 2003-06-02 07:47:08 +00:00
Jim Meyering
fcd082a280 (jm_MACROS): Require AM_STDBOOL_H. 2003-06-02 07:46:55 +00:00
Jim Meyering
38c68676ac *** empty log message *** 2003-06-02 06:58:27 +00:00
Jim Meyering
e606dacc98 *** empty log message *** 2003-06-02 06:58:22 +00:00
Jim Meyering
6b6141eb01 [!TEST_STANDALONE]: Remove #if-0'd block.
(STREQ, S_IXUGO): Remove redundant (in system.h) definitions.
2003-06-02 06:58:18 +00:00
Jim Meyering
885d681dff Always include <string.h>, since we assume C89.
Include <limits.h> without checking for HAVE_LIMITS_H.
2003-06-02 06:56:30 +00:00
Jim Meyering
0dd2834cd2 . 2003-06-01 21:42:54 +00:00
Jim Meyering
72944b4c69 Avoid a race condition in `tail -f' described by Ken Raeburn in
http://mail.gnu.org/archive/html/bug-textutils/2003-05/msg00007.html

(file_lines): Add new parameter, *read_pos, and set it.
(pipe_lines, pipe_bytes, start_bytes, start_lines): Likewise.
(tail_bytes, tail_lines, tail): Likewise.
(tail_file): Use the new `read_pos' value as the size,
rather than stats.st_size from the fstat call.
2003-06-01 18:26:38 +00:00
Jim Meyering
4e8485f525 *** empty log message *** 2003-06-01 18:24:46 +00:00
Jim Meyering
9362cd7fa7 *** empty log message *** 2003-06-01 12:02:20 +00:00
Jim Meyering
c9f1c50085 *** empty log message *** 2003-06-01 08:48:10 +00:00
Jim Meyering
ab74875511 *** empty log message *** 2003-06-01 08:47:18 +00:00
Jim Meyering
afb5da4098 *** empty log message *** 2003-06-01 08:44:52 +00:00
Jim Meyering
bfa07fbaaa update from gnulib again 2003-05-30 16:05:56 +00:00
Jim Meyering
749de53b9d *** empty log message *** 2003-05-30 16:01:07 +00:00
Jim Meyering
fadd323677 Update from gnulib. 2003-05-30 16:01:04 +00:00
Jim Meyering
db417f264e Update from gnulib. 2003-05-30 07:39:20 +00:00
Jim Meyering
ba2b74806e . 2003-05-29 19:54:40 +00:00
Jim Meyering
ddfb52fb2f . 2003-05-29 19:53:52 +00:00
Jim Meyering
7665d4286a *** empty log message *** 2003-05-29 12:09:50 +00:00
Jim Meyering
1b9d382b97 *** empty log message *** 2003-05-29 12:09:42 +00:00
Jim Meyering
efc545bd54 Make the %r format directive honor any locale setting.
(my_strftime) [!defined _NL_CURRENT && HAVE_STRFTIME]:
Use underlying_strftime for %r.
2003-05-29 12:09:06 +00:00
Jim Meyering
95fa743ec4 . 2003-05-28 18:07:17 +00:00
Jim Meyering
a50b49d429 *** empty log message *** 2003-05-28 18:06:03 +00:00
Jim Meyering
38f8cadb9c Allow expansion of `$file' in the here-
document corresponding to comment at the top of fs.h.
2003-05-28 18:05:46 +00:00
Jim Meyering
e46a15ec9c upgrade to 1.7.5 2003-05-26 21:08:58 +00:00
Jim Meyering
1ab36ba392 *** empty log message *** 2003-05-26 20:23:31 +00:00
Jim Meyering
e4ac725a11 Fix portability problem on FreeBSD5.0: don't include
<sys/statvfs.h> on systems without HAVE_STRUCT_STATVFS_F_BASETYPE.
Use #if/#elif/... cascade so we get only one set of include files.
2003-05-26 20:23:14 +00:00
Jim Meyering
1df8b738db (UTILS_FUNC_DIRFD): Merge in change from gnulib, fixing an M4 quoting bug. 2003-05-26 19:37:26 +00:00
Jim Meyering
f8fd2a622b . 2003-05-26 19:30:23 +00:00
Jim Meyering
4fcd535089 *** empty log message *** 2003-05-26 19:30:14 +00:00
Jim Meyering
7d70fd68c5 (AM_PATH_PROG_WITH_TEST): Use TAB-SP, not SP-TAB when setting IFS. 2003-05-26 19:30:10 +00:00
Jim Meyering
e587321214 (AC_LIB_PROG_LD_GNU): Use TAB-SP, not SP-TAB when setting IFS. 2003-05-26 19:29:28 +00:00
Jim Meyering
364c12825c . 2003-05-24 18:18:57 +00:00
Jim Meyering
c7b2637d88 *** empty log message *** 2003-05-24 17:22:06 +00:00
Jim Meyering
55dab17c42 (split_3): Accept the BSD format only when in MD5 mode. 2003-05-24 16:55:37 +00:00
Jim Meyering
fab4d80dfb New tests for --check exit status, and for BSD-style checksum files. 2003-05-24 16:55:21 +00:00
Jim Meyering
75247be90c (bsd_split_3): New function.
(split_3): Detect checksums from BSD 'md5' command and handle them
using bsd_split_3.
2003-05-24 16:51:52 +00:00
Jim Meyering
92359d2df0 Make sure `sha1sum --check' doesn't accept the BSD format. 2003-05-24 16:49:40 +00:00
Jim Meyering
e2ceb48225 *** empty log message *** 2003-05-21 09:30:08 +00:00
Jim Meyering
dadd6992a2 (elide_tail_lines_pipe): Fix a thinko.
This sort of thing is why it'd be *Really Good* to factor
out the common code used here and in tail.c.
2003-05-21 09:29:50 +00:00
Jim Meyering
23dbc2747d . 2003-05-20 18:48:24 +00:00
Jim Meyering
8f3b0f9c1f *** empty log message *** 2003-05-15 20:12:31 +00:00
Jim Meyering
7651fac5e3 Remove a space before a TAB. 2003-05-15 20:12:26 +00:00
Jim Meyering
6fcc182f3f *** empty log message *** 2003-05-14 14:43:16 +00:00
Jim Meyering
c86a6cc089 (usage): Document new feature: --bytes=-N and --lines=-N. 2003-05-14 14:43:13 +00:00
Jim Meyering
b438bad2a8 . 2003-05-14 14:21:18 +00:00
Jim Meyering
5bd6b069d9 *** empty log message *** 2003-05-14 14:20:58 +00:00
Jim Meyering
5c6ae386f4 *** empty log message *** 2003-05-14 14:20:32 +00:00
Jim Meyering
8f4221ebd2 Skip this test if `.' is on an XFS file system. 2003-05-14 14:20:23 +00:00
Jim Meyering
aade1ba993 *** empty log message *** 2003-05-14 14:20:04 +00:00
Jim Meyering
9a00ec8821 *** empty log message *** 2003-05-14 13:58:16 +00:00
Jim Meyering
d4b2b56f61 (head invocation): Document --bytes=-N and --lines=-N. 2003-05-14 13:58:13 +00:00
Jim Meyering
48450c549f *** empty log message *** 2003-05-14 10:08:25 +00:00
Jim Meyering
4b9b4b374d (TESTS): Add fd-leak. 2003-05-14 10:08:21 +00:00
Jim Meyering
9992038455 *** empty log message *** 2003-05-14 10:08:07 +00:00
Jim Meyering
b09ee97a1a New file. Test for the bug in du that
was fixed by the 2003-05-12 change to lib/ftw.c.
2003-05-14 10:08:02 +00:00
Jim Meyering
13f017568f . 2003-05-14 09:50:55 +00:00
Jim Meyering
39beb31640 . 2003-05-14 09:50:38 +00:00
Jim Meyering
56e1e5d825 . 2003-05-14 09:36:01 +00:00
Jim Meyering
c3e009a84a . 2003-05-14 09:35:33 +00:00
Jim Meyering
c358b6fe16 . 2003-05-14 09:34:36 +00:00
Jim Meyering
4f821757d2 . 2003-05-14 09:33:42 +00:00
Jim Meyering
b121f086e8 *** empty log message *** 2003-05-14 09:20:37 +00:00
Jim Meyering
85ad1d09c1 (AUTHORS): Enclose string in N_(...), now that it includes `and'. 2003-05-14 09:20:32 +00:00
Jim Meyering
0625941fb3 *** empty log message *** 2003-05-14 09:13:47 +00:00
Jim Meyering
dc7b620a31 (usage): Don't use `,' as the thousands separator
in e.g. 1,000,000 and 1,048,576.  Instead, do this:
`SIZE may be ..., MB 1000*1000, M 1024*1024 and so on...'
2003-05-14 09:13:26 +00:00
Jim Meyering
e83a04a9d7 (usage): Don't use `,' as the thousands separator
in e.g. 1,000,000 and 1,048,576.  Instead, do this:
`SIZE may be ..., MB 1000*1000, M 1024*1024 and so on...'
2003-05-14 09:12:43 +00:00
Jim Meyering
5413c2bbae Test that 'uniq -d -u' outputs nothing. 2003-05-14 08:35:57 +00:00
Jim Meyering
c6ba6cc22e *** empty log message *** 2003-05-14 08:35:18 +00:00
Jim Meyering
ad54994c9b Fix uniq to conform to POSIX, which requires that "uniq -d -u"
must output nothing.  Problem reported by Josh Hyman.

(enum output_mode, mode): Remove, replacing with:
(output_unique, output_first_repeated, output_later_repeated):
New vars.  All uses of "mode" changed to use these variables,
which are not mutually exclusive as "mode" was.
(writeline): New arg "match", used to control whether to
obey output_first_repeated or output_later_repeated.
All callers changed.
(check_file, main): Adjust to above changes.
2003-05-14 08:34:56 +00:00
Jim Meyering
88e00a1d3b *** empty log message *** 2003-05-14 08:05:49 +00:00
Jim Meyering
227971e576 (syntax-check): Add another check. 2003-05-14 08:05:44 +00:00
Jim Meyering
5d51fc8a5b (uniq invocation, squeezing, The uniq command):
Use "repeated" rather than "duplicate" to describe adjacent
duplicates; this simplifies the description and makes it more
consistent with POSIX.
(uniq invocation): Make it clear that -d and -u suppress the
output of lines, rather than cause some lines to be output.
Mention what happens if a line lacks enough fields or characters.
2003-05-14 07:58:40 +00:00
Jim Meyering
5f62a53f9c *** empty log message *** 2003-05-14 06:30:23 +00:00
Jim Meyering
01d63f13e8 Use tr's \n notation rather than \012. 2003-05-14 06:26:34 +00:00
Jim Meyering
00a770a30e Use tr's \n notation rather than \012. 2003-05-14 06:25:08 +00:00
Jim Meyering
6fb0b1d366 Use tr's \n notation rather than \012. 2003-05-14 06:24:43 +00:00
Jim Meyering
a9335b4704 *** empty log message *** 2003-05-13 17:04:46 +00:00
Jim Meyering
98e8b5e058 Handle argc < optind. 2003-05-13 17:03:58 +00:00
Jim Meyering
5c0abf663a (elide_tail_lines_pipe): Don't apply cast to argument of free. 2003-05-13 14:54:31 +00:00
Jim Meyering
3a5e722af0 *** empty log message *** 2003-05-13 14:49:07 +00:00
Jim Meyering
1aa55ac277 (alloca): Don't apply cast to argument of free. 2003-05-13 14:48:36 +00:00
Jim Meyering
56a5857660 (rpl_putenv): Don't apply cast to argument of free. 2003-05-13 14:47:15 +00:00
Jim Meyering
f775835533 (setenv): Don't apply cast to argument of free. 2003-05-13 14:46:55 +00:00
Jim Meyering
9d52ad8c28 *** empty log message *** 2003-05-13 14:45:33 +00:00
Jim Meyering
3b7798ab52 (struct F_triple) [name]: Remove const attribute.
(triple_free): Don't apply cast to argument of free.
(seen_file): Add cast here instead.
2003-05-13 14:45:00 +00:00
Jim Meyering
6fc0245123 (sort): Don't apply cast to argument of free. 2003-05-13 14:43:43 +00:00
Jim Meyering
40b700eadb (struct Src_to_dest) [name]: Remove const attribute.
(src_to_dest_free): Don't apply cast to argument of free.
2003-05-13 14:40:50 +00:00
Jim Meyering
80d799b8a2 (OLD): Don't apply cast to argument of free. 2003-05-13 14:38:40 +00:00
Jim Meyering
2a1e8507f4 (delseq, freeline): Don't apply cast to argument of free. 2003-05-13 14:38:18 +00:00
Jim Meyering
aeec25d170 shorten long line 2003-05-13 14:37:45 +00:00
Jim Meyering
038a9b42a6 (init_fps, init_store_cols): Don't apply cast to argument of free. 2003-05-13 14:37:33 +00:00
Jim Meyering
25227196a8 (zaptemp): Don't apply cast to argument of free. 2003-05-13 14:36:29 +00:00
Jim Meyering
b20134e12c Remove unnecessary cast of argument to free. twice more 2003-05-13 14:32:10 +00:00
Jim Meyering
949f3a3c76 Remove unnecessary cast of argument to free. 2003-05-13 14:31:39 +00:00
Jim Meyering
26532ef1f2 Include "quote.h".
Use quote in diagnostics.  Change many error format strings
from just `%s' to e.g., `error reading %s'.
(pipe_lines): Change type of parameter, n_lines, to uintmax_t.
Rewrite newline-counting loop to use memchr.
2003-05-13 13:25:10 +00:00
Jim Meyering
4641ffbefa *** empty log message *** 2003-05-13 12:42:16 +00:00
Jim Meyering
eb66adf96f *** empty log message *** 2003-05-13 12:42:13 +00:00
Jim Meyering
4421b1a969 (true invocation): Mention that it is possible to
make true --help or true --version (in non-POSIX mode) exit nonzero.
2003-05-13 12:42:02 +00:00
Jim Meyering
8566426512 *** empty log message *** 2003-05-13 10:21:31 +00:00
Jim Meyering
0035f73f02 *** empty log message *** 2003-05-13 10:21:22 +00:00
Jim Meyering
5352c4a62b (elide_tail_lines_pipe): Use `if', not an assert.
Now that assert is no longer used, don't include <assert.h>.
2003-05-13 10:21:13 +00:00
Jim Meyering
320da0f8a8 *** empty log message *** 2003-05-12 15:12:11 +00:00
Jim Meyering
d7b1b67638 *** empty log message *** 2003-05-12 15:07:09 +00:00
Jim Meyering
17adb8367a (ftw_startup): Always call free_cwd after restore_cwd. 2003-05-12 14:51:02 +00:00
Jim Meyering
e55a05cecf *** empty log message *** 2003-05-12 09:36:38 +00:00
Jim Meyering
8f59417689 Include <assert.h>.
(AUTHORS): Add my name.
(elide_tail_lines_pipe): New function.
2003-05-12 09:36:26 +00:00
Jim Meyering
216fe27e16 *** empty log message *** 2003-05-12 08:23:00 +00:00
Jim Meyering
1a056dabfd *** empty log message *** 2003-05-12 08:19:14 +00:00
Jim Meyering
a12ea0b255 (my_strftime): Let the `-' (no-pad) flag affect
the space-padded-by-default conversion specifiers, %e, %k, %l.
2003-05-12 08:19:05 +00:00
Jim Meyering
ab2a67a331 . 2003-05-11 13:20:15 +00:00
Jim Meyering
3c95527a01 . 2003-05-11 09:18:44 +00:00
Jim Meyering
5b5557e3a3 . 2003-05-11 06:35:10 +00:00
Jim Meyering
92f900fdf3 (main): Handle argc < optind. 2003-05-11 06:32:47 +00:00
Jim Meyering
6a0019aa78 (main): Handle argc < optind. 2003-05-10 20:27:56 +00:00
Jim Meyering
4fd6d22880 (main): Handle argc == 0. 2003-05-10 20:27:16 +00:00
Jim Meyering
c2173890f0 (main): Handle argc < optind. 2003-05-10 20:01:32 +00:00
Jim Meyering
2c199e6990 *** empty log message *** 2003-05-10 20:00:59 +00:00
Jim Meyering
9eb8322209 (main): Handle argc == 0. 2003-05-10 20:00:54 +00:00
Jim Meyering
888d3d38d9 Handle argc < optind. 2003-05-10 19:58:04 +00:00
Jim Meyering
a6a4c372c0 (main): Handle argc == 0. 2003-05-10 19:56:49 +00:00
Jim Meyering
74de8e29a8 Handle argc < optind. 2003-05-10 19:56:10 +00:00
Jim Meyering
e2cad9b457 (send_signals): Don't check command line arguments here.
(main): Check them here instead.  Handle argc < optind.
2003-05-10 15:45:00 +00:00
Jim Meyering
9153514495 Handle argc < optind. 2003-05-10 15:39:39 +00:00
Jim Meyering
f01fcb05a9 Handle argc < optind. 2003-05-10 15:00:00 +00:00
Jim Meyering
9b652d0790 Handle argc < optind. 2003-05-10 14:59:04 +00:00
Jim Meyering
8a7f744635 Handle argc < optind. 2003-05-10 14:58:15 +00:00
Jim Meyering
ddc5610b88 (main): Set program_name before first use.
Remove that (redundant) first use.
Don't exit successfully just because --verbose was specified.
Pass 0, not EXIT_SUCCESS, as first argument to error; when that
parameter is 0, error does not exit.
2003-05-10 14:54:23 +00:00
Jim Meyering
ea67851e7e *** empty log message *** 2003-05-10 14:53:51 +00:00
Jim Meyering
cc43b4e784 (syntax-check): Check for `error (EXIT_SUCCESS,'. 2003-05-10 14:53:47 +00:00
Jim Meyering
f6d13ddf6d (main): Handle argc < optind. 2003-05-10 14:39:16 +00:00
Jim Meyering
b037820eb4 (main): Handle argc < optind. 2003-05-10 14:37:12 +00:00
Jim Meyering
7afaa765d3 *** empty log message *** 2003-05-10 14:34:24 +00:00
Jim Meyering
8eb2464d3e (main): Handle argc < optind. 2003-05-10 14:33:24 +00:00
Jim Meyering
007103be2e add semicolon 2003-05-10 14:19:44 +00:00
Jim Meyering
dfd12de6b9 (main): When failing due to too few arguments, also say
that rather than just "Try `uname --help' for more information.".
2003-05-10 14:17:46 +00:00
Jim Meyering
13f9aa90fa *** empty log message *** 2003-05-10 14:14:51 +00:00
Jim Meyering
49f700b61c (main): When failing due to unaccepted arguments,
also say `too many arguments' rather than just `Try `uname --help'
for more information.'.
2003-05-10 13:47:38 +00:00
Jim Meyering
f4c0d12cb0 (main): Handle argc < optind. 2003-05-10 13:42:48 +00:00
Jim Meyering
6c1a29f06f (main): Don't segfault when argc < optind. 2003-05-10 13:39:05 +00:00
Jim Meyering
2de1d40446 (main): Use error, rather than fprintf, for the sake of consistency. 2003-05-10 13:36:50 +00:00
Jim Meyering
0919600481 (main): Test for the case of no arguments before computing n_files. 2003-05-10 13:30:26 +00:00
Jim Meyering
3de521ebf9 (main): Test for `missing argument' before computing n_files. 2003-05-10 13:25:41 +00:00
Jim Meyering
9f763671c0 Include error.h. 2003-05-10 10:41:14 +00:00
Jim Meyering
06dacc0d6d (More details about version sort): Note that strverscmp, and hence
`ls -v', does not use LC_COLLATE.
2003-05-10 09:42:14 +00:00
Jim Meyering
a228d68c33 *** empty log message *** 2003-05-10 09:41:50 +00:00
Jim Meyering
b99914ff5b *** empty log message *** 2003-05-10 06:27:08 +00:00
Jim Meyering
4a389e1d0b (Exit status): Remove `uniq' from the list. It uses standard exit codes. 2003-05-10 06:27:04 +00:00
Jim Meyering
0b65f598c8 (main): Don't overrun array bound if argc is 0. 2003-05-09 22:25:12 +00:00
Jim Meyering
12844e5674 fix off-by-one error in last change 2003-05-09 22:16:22 +00:00
Jim Meyering
0dedf7cad1 *** empty log message *** 2003-05-09 08:50:44 +00:00
Jim Meyering
6476197bcb (main): Don't overrun array bound if argc is 0.
That would happen when invoked via: execl ("/usr/bin/sort", NULL);
2003-05-09 08:50:37 +00:00
Jim Meyering
883159c855 *** empty log message *** 2003-05-09 08:49:46 +00:00
Jim Meyering
8a3a1ce11f *** empty log message *** 2003-05-08 09:26:42 +00:00
Jim Meyering
de261015e8 (timespec_subtract): Don't modify the 2nd arg.
Work even if X-Y overflows when subtracting.  Make explicit the
assumption that tv_nsec must be in range.
(clock_get_realtime): Remove.  All callers changed to invoke gettime,
for simplicity.
(xnanosleep): Check for gettime failure every time.
2003-05-08 09:26:34 +00:00
Jim Meyering
f197628cb2 (clock_get_realtime): Use gettime.c's gettime function,
rather than an inferior, open-coded version that would fail on
AIX systems due to clock_gettime failing with errno == ENOSYS.
2003-05-08 06:26:00 +00:00
Jim Meyering
96242be0c1 *** empty log message *** 2003-05-07 16:21:56 +00:00
Jim Meyering
61ba51a61e Implement support so that `head --lines=-N' works on seekable files.
(enum Copy_fd_status): Define.
(COPY_FD_DIAGNOSE): New macro.
(elide_tail_lines_seekable): New funtion.
(elide_tail_lines_file): Call it here.
2003-05-07 16:21:52 +00:00
Jim Meyering
f8fdfad624 *** empty log message *** 2003-05-07 07:25:08 +00:00
Jim Meyering
b8dcf7b6e4 *** empty log message *** 2003-05-06 22:22:06 +00:00
Jim Meyering
d16d49b67a *** empty log message *** 2003-05-06 13:33:26 +00:00
Jim Meyering
ad06bb9c5a (CHAR_BIT): Remove duplicate definition. 2003-05-06 13:33:12 +00:00
Jim Meyering
ef4ee07f31 *** empty log message *** 2003-05-06 08:51:30 +00:00
Jim Meyering
00d70feed3 (GL_FUNC_GETCWD_PATH_MAX): Check for the
declaration of getcwd *before* checking for the getcwd kernel bug.
Otherwise, configure-time `checking ...' messages would be intermixed.
2003-05-06 08:51:26 +00:00
Jim Meyering
78986d419d *** empty log message *** 2003-05-05 07:55:18 +00:00
Jim Meyering
a8916294ec (struct dummy): Ensure that at least the number of
initializers matches the number of members in the corresponding enum.
2003-05-05 07:54:19 +00:00
Jim Meyering
95623ba86e (enum Ftw_option): Name this previously-anonymous enum.
(enum Ftw_option) [FTW_N_MEMBERS]: New member.
2003-05-05 07:52:26 +00:00
Jim Meyering
75fa058191 Avoid array overrun.
(nftw_arr): Update to reflect complete list of members.
(ftw_arr): Likewise
2003-05-05 07:31:49 +00:00
Jim Meyering
8670b14045 *** empty log message *** 2003-05-05 07:30:45 +00:00
Jim Meyering
1048ef4240 . 2003-05-04 14:07:26 +00:00
Jim Meyering
f53eda1b81 . 2003-05-04 14:07:07 +00:00
Jim Meyering
8a79d3d630 Remove tests of --bytes=-N; using that framework
caused the addition of thousands of small files to the tar archive.
2003-05-04 14:06:52 +00:00
Jim Meyering
0a8019497e *** empty log message *** 2003-05-04 14:01:02 +00:00
Jim Meyering
832fdc2a2e *** empty log message *** 2003-05-04 13:56:47 +00:00
Jim Meyering
997f9e72d2 (TESTS): Add head-elide-tail. 2003-05-04 13:56:43 +00:00
Jim Meyering
beaff195ed Exercise head's --bytes=-N option. 2003-05-04 13:46:52 +00:00
Jim Meyering
f1ce5dbf0e . 2003-05-04 08:45:17 +00:00
Jim Meyering
28e9fb4f73 *** empty log message *** 2003-05-04 08:44:40 +00:00
Jim Meyering
3a6d6ae776 *** empty log message *** 2003-05-04 08:43:39 +00:00
Jim Meyering
57d138d144 *** empty log message *** 2003-05-04 08:40:45 +00:00
Jim Meyering
21c8705b3c *** empty log message *** 2003-05-04 08:39:14 +00:00
Jim Meyering
f4fbb39dfd *** empty log message *** 2003-05-04 08:30:25 +00:00
Jim Meyering
8b4a10178b *** empty log message *** 2003-05-04 08:30:09 +00:00
Jim Meyering
6754f257e0 (__set_errno, LOCK, UNLOCK): Define.
(unsetenv): Update from GNU libc.
Ifdef-out this function, since the only caller
is putenv.c and that file now has its own copy.
2003-05-04 08:30:01 +00:00
Jim Meyering
986b5eca57 *** empty log message *** 2003-05-04 08:26:15 +00:00
Jim Meyering
cf09ab79a3 This avoids a core dump on systems without GNU putenv,
when running `env -u SOME_ALREADY_UNSET_VARIABLE'.

(unsetenv): New static function, from libc.
(rpl_putenv): Use it.
2003-05-04 08:26:09 +00:00
Jim Meyering
e3ea089119 *** empty log message *** 2003-05-04 07:10:25 +00:00
Jim Meyering
87c13cce86 (HAVE_WORKING_READDIR): Define to 0 if not defined.
(IF_READDIR_NEEDS_REWINDDIR): Remove.
(remove_cwd_entries): Rewrite to avoid IF_READDIR_NEEDS_REWINDDIR,
which was a bit weird because it couldn't be emulated by a function.
2003-05-04 07:10:21 +00:00
Jim Meyering
c48100ccf1 *** empty log message *** 2003-05-03 20:14:20 +00:00
Jim Meyering
34bd9f31cc *** empty log message *** 2003-05-03 15:11:25 +00:00
Jim Meyering
75fc3fd6a0 Add lots of tests to exercise --bytes=-N. 2003-05-03 15:11:20 +00:00
Jim Meyering
cbbdaf78f8 *** empty log message *** 2003-05-03 15:10:22 +00:00
Jim Meyering
57c1158f02 Extend head to accept --lines=-N (--bytes=-N) and to print all
but the N lines (bytes) at the end of the file.

Include full-write.h, full-read.h, inttostr.h, quote.h.
Use quote() in diagnostics, rather than literal `' marks.
(copy_fd, elide_tail_bytes_pipe, elide_tail_bytes_file):
New functions.
(elide_tail_lines_pipe, elide_tail_lines_file): New functions.
(head_file): Reorganize so as to call head from only one place.
(main): Likewise, for head_file.
Handle new, undocumented option, --presume-input-pipe.
Handle negative line and byte counts.
2003-05-03 15:10:13 +00:00
Jim Meyering
61d5480f00 *** empty log message *** 2003-05-03 14:56:22 +00:00
Jim Meyering
b9c9a002d8 *** empty log message *** 2003-05-03 14:24:48 +00:00
Jim Meyering
46c548cab4 Skip test if the file system of `.' doesn't support
sparse files -- otherwise it'd create a file of size 8GB.
This happens on Darwin6.5 with a file system of type `hfs'.
2003-05-03 14:24:37 +00:00
Jim Meyering
1867521304 . 2003-05-03 07:13:25 +00:00
Jim Meyering
3b0e09ef8c *** empty log message *** 2003-05-02 21:43:00 +00:00
Jim Meyering
35cad8ae05 (canonicalize_file_name) [!HAVE_RESOLVEPATH]:
A memory-allocation error could result in heap corruption.  Fix it
by also updating `dest' when rpath may be changed by xrealloc.
2003-05-02 21:42:51 +00:00
Jim Meyering
478239f404 *** empty log message *** 2003-05-02 19:52:59 +00:00
Jim Meyering
c4ff976e20 (usage): Don't mention obsolescent -WIDTH option.
Instead explain about `-' and standard input.
(main): Give a proper diagnostic for e.g., `fmt -c -72'.
2003-05-02 19:52:48 +00:00
Jim Meyering
1e97469e5a Give a proper diagnostic for e.g., `fmt -c -72'. 2003-05-02 19:52:34 +00:00
Jim Meyering
52c96899dc *** empty log message *** 2003-05-02 19:49:06 +00:00
Jim Meyering
cfed14f3cc Include "quote.h".
Use quote() in diagnostics, rather than literal `' marks.
(main): Exit nonzero when unable to open an input file.
2003-05-02 19:37:23 +00:00
Jim Meyering
d500b3f1e6 make sure we fail when unable to open an input file 2003-05-02 19:36:48 +00:00
Jim Meyering
63f2e7dba0 make sure -72x elicits an error 2003-05-02 19:20:18 +00:00
Jim Meyering
7747a57abc (main): Diagnose invalid suffix on obsolescent width specifications like `-72x'. 2003-05-02 19:15:19 +00:00
Jim Meyering
7f5d536dc3 . 2003-05-02 13:03:28 +00:00
Jim Meyering
3ee2423ea2 *** empty log message *** 2003-05-02 13:02:54 +00:00
Jim Meyering
171d577cd1 bump serial number 2003-05-02 13:02:48 +00:00
Jim Meyering
c49747c6f8 (jm_MACROS): Require GL_FUNC_READDIR. 2003-05-02 13:02:40 +00:00
Jim Meyering
a7c15d1cbd (GL_FUNC_READDIR): Revive dead file. Change name to
have GL_ (not jm_) prefix.  Adjust cache variables similarly.
Create 500 rather than just 300 files, to exercise bug on
Darwin6.5, too.
2003-05-02 13:01:28 +00:00
Jim Meyering
4ed5c260a3 Work around nasty readdir bug with Darwin6.5 and hfs file system.
(IF_READDIR_NEEDS_REWINDDIR): Define.
[! HAVE_WORKING_READDIR] (remove_cwd_entries): If readdir has just
returned NULL and there has been at least one successful unlink or
rmdir call since the opendir or previous rewinddir, then call
rewinddir and reiterate the loop.
2003-05-02 12:53:02 +00:00
Jim Meyering
ee0dc0c2ce *** empty log message *** 2003-05-02 10:44:41 +00:00
Jim Meyering
4f6fe96afe Factor out common code.
(readdir_ignoring_dotdirs): New function.
(is_empty_dir): Use it here.
(remove_cwd_entries): Use it here.
2003-05-02 10:44:32 +00:00
Jim Meyering
e25854fbd7 revive dead file 2003-05-02 07:13:10 +00:00
Jim Meyering
0ce4463dfa *** empty log message *** 2003-05-01 17:52:40 +00:00
Jim Meyering
2729b8b6fe *** empty log message *** 2003-05-01 17:51:52 +00:00
Jim Meyering
7a672ec046 *** empty log message *** 2003-05-01 17:49:47 +00:00
Jim Meyering
07b1707f8e Create 500 rather than just 300 files.
There's a bug in Darwin6.5's readdir that shows up only with
338 or more files.
Fix a bug in this test: `cd $pwd' (not to `..'), now that $tmp
has two components.
2003-05-01 17:49:41 +00:00
Jim Meyering
a9477ed058 *** empty log message *** 2003-05-01 16:25:34 +00:00
Jim Meyering
c8e2fca40c Change type of n_units, n_bytes, n_lines to be `uintmax_t'.
(dump_remainder): Move two declarations `down' into the scope
where they are used.
(xlseek): Return the resulting offset.
(file_lines): Rename parameter, file_length, to end_pos.
(pipe_lines): Don't coerce safe_read return value to `int'.
Adapt tests accordingly.
(pipe_bytes) [struct charbuffer] (nbytes): Change type from `int'
to `unsigned int'.
Change type of `total_bytes' from `int' to `size_t',
since the former wouldn't always be wide enough.
Don't coerce safe_read return value to `int',
and adapt tests accordingly.
Now that testing for a read error no longer involves
using `tmp', handle that case *after* freeing `tmp'.
(start_bytes): Clean up.
(tail_bytes): Now that `n_bytes' may be larger than
OFF_T_MAX, test for that condition and, if it's true, don't
use lseek optimizations.
(parse_options): Don't fail just because N_UNITS is larger than
the maximum size of a file -- tail may be applied to an input
stream (e.g., a pipe) with more data than that.
2003-05-01 16:25:13 +00:00
Jim Meyering
5bc75bf6a0 (file_lines): Rename parameter, file_length, to end_pos. 2003-05-01 13:22:19 +00:00
Jim Meyering
713c7903b9 *** empty log message *** 2003-05-01 13:19:37 +00:00
Jim Meyering
84ddd12f18 (syntax-check): Rename from alloc-check.
Also check for SPACE-TAB sequences.
Also check for malloc/calloc/realloc casts.
2003-05-01 13:19:28 +00:00
Jim Meyering
7968d80a80 *** empty log message *** 2003-05-01 11:49:17 +00:00
Jim Meyering
882edccbd6 (start_lines): Rewrite to use memchr. Clean up. 2003-05-01 11:49:12 +00:00
Jim Meyering
67fa85dc34 *** empty log message *** 2003-04-28 20:29:27 +00:00
Jim Meyering
5ac1c72305 Send two tokens, not just one, so we don't
make the now-more-picky tsort fail.
2003-04-28 20:29:22 +00:00
Jim Meyering
8cfd51fbe5 . 2003-04-28 19:41:01 +00:00
Jim Meyering
0553d6683a correct grammar in comment 2003-04-28 16:07:33 +00:00
Jim Meyering
412c38a757 *** empty log message *** 2003-04-26 06:44:50 +00:00
Jim Meyering
110e377d26 *** empty log message *** 2003-04-25 18:42:21 +00:00
Jim Meyering
241673725e (GL_FUNC_GETCWD_PATH_MAX): If PATH_MAX
is not defined, don't run the test, and don't use the wrapper.
Otherwise, on the Hurd, it would take a long time to create
and remove a hierarchy about 4000 levels deep.
Based on a patch from Robert Millan.
2003-04-25 18:42:16 +00:00
Jim Meyering
b45a0ca42e *** empty log message *** 2003-04-25 18:20:02 +00:00
Jim Meyering
fa4150ded7 . 2003-04-24 13:51:05 +00:00
Jim Meyering
a68a1cdd7f *** empty log message *** 2003-04-24 13:50:32 +00:00
Jim Meyering
034fcf16e3 (tsort): Remove unnecessary test of have_read_stdin.
(main): Minor syntactic clean-up.
2003-04-24 13:50:27 +00:00
Jim Meyering
a3c951764e (tsort): Fail if the input contains an odd number of tokens. 2003-04-24 13:48:54 +00:00
Jim Meyering
eafe3a6878 (only-one): add another test 2003-04-24 13:36:03 +00:00
Jim Meyering
4c91ec1e02 add localedir.h 2003-04-24 09:09:23 +00:00
Jim Meyering
2abc1e61f2 *** empty log message *** 2003-04-23 22:24:55 +00:00
Jim Meyering
5b0f78ffc1 make sure tsort fails given an odd number of input tokens 2003-04-23 22:24:24 +00:00
Jim Meyering
52c0030080 update from master 2003-04-23 13:11:08 +00:00
Jim Meyering
d548a76009 . 2003-04-23 08:39:10 +00:00
Jim Meyering
a06b5aaf21 Fix printf POSIX compatibility bug reported by Ben Harris in
<http://mail.gnu.org/archive/html/bug-coreutils/2003-04/msg00070.html>.

(printf invocation): It's \NNN in the format,
\0NNN in the %b operand.
2003-04-23 08:39:00 +00:00
Jim Meyering
d446eecbf5 Change an occurrence of [ \t] to [\t ]. 2003-04-22 08:22:22 +00:00
Jim Meyering
4247ffb57c (print_esc): Tweak spelling of new variable. 2003-04-21 18:02:00 +00:00
Jim Meyering
e52152349f *** empty log message *** 2003-04-21 18:00:49 +00:00
Jim Meyering
8e004296ce *** empty log message *** 2003-04-21 18:00:24 +00:00
Jim Meyering
4bcefa6248 Fix printf POSIX compatibility bug reported by Ben Harris in
<http://mail.gnu.org/archive/html/bug-coreutils/2003-04/msg00070.html>.

* doc/coreutils.texi (printf invocation): It's \NNN in the format,
\0NNN in the %b operand.
* src/printf.c (usage): Likewise.
(print_esc): New arg OCTAL0 to specify whether \0NNN or \NNN
is desired.  All uses changed.  Behave like Bash printf if %b
operand uses \NNN where the initial N is not 0.
2003-04-21 17:59:21 +00:00
Jim Meyering
d8b7cd1983 *** empty log message *** 2003-04-21 16:47:02 +00:00
Jim Meyering
edfc78a913 Add tests for the printf fixes of 2003-04-20. 2003-04-21 16:46:56 +00:00
Jim Meyering
4fc74c6897 *** empty log message *** 2003-04-21 15:13:50 +00:00
Jim Meyering
1cc2dc28d0 New version, now that this file is now on the list in ../Makefile.cfg. 2003-04-21 15:13:43 +00:00
Jim Meyering
4e8c9bb52d (cvs_files): Add $(srcdir)/config/depcomp to the list. 2003-04-21 15:12:46 +00:00
Jim Meyering
1d96791cf1 remove SPCs before TAB 2003-04-21 15:09:23 +00:00
Jim Meyering
a71727efbd *** empty log message *** 2003-04-17 07:36:32 +00:00
Jim Meyering
089e298e0c Remove uses of PROTOTYPE macro. 2003-04-17 07:36:24 +00:00
Jim Meyering
22de99d217 *** empty log message *** 2003-04-16 22:16:56 +00:00
Jim Meyering
06a1e47a5c *** empty log message *** 2003-04-16 22:16:36 +00:00
Jim Meyering
06e65c2c68 *** empty log message *** 2003-04-16 21:54:45 +00:00
Jim Meyering
8051312432 *** empty log message *** 2003-04-16 21:43:07 +00:00
Jim Meyering
9a94899976 regenerate, using new ../Makefile.am.in 2003-04-15 22:21:43 +00:00
Jim Meyering
79b611f24e regenerate, using new ../Makefile.am.in 2003-04-15 22:21:07 +00:00
Jim Meyering
f543e3d9f5 *** empty log message *** 2003-04-15 22:18:58 +00:00
Jim Meyering
2c97f3f75b Use $(VAR) rather than @VAR@, now that we can rely on automake to
emit a definition for each substituted variable.
Remove definition of PERL.
2003-04-15 22:18:12 +00:00
Jim Meyering
304665f224 remove SPCs before TAB 2003-04-15 17:04:18 +00:00
Jim Meyering
4c4b16d783 remove SPCs before TAB 2003-04-15 16:12:44 +00:00
Jim Meyering
07cb5b4b7d *** empty log message *** 2003-04-15 16:11:41 +00:00
Jim Meyering
2a2d8eaf10 *** empty log message *** 2003-04-15 06:27:50 +00:00
Jim Meyering
0c48a61ea4 *** empty log message *** 2003-04-15 06:27:18 +00:00
Jim Meyering
aa9d23e551 Remove (or replace-with-TAB(s) to retain alignment)
each sequence of spaces before a TAB character.
2003-04-15 06:26:49 +00:00
Jim Meyering
e86f0c1699 *** empty log message *** 2003-04-15 06:23:27 +00:00
Jim Meyering
5efadd5e0f Remove (or replace-with-TAB(s) to retain alignment)
each sequence of spaces before a TAB character.
2003-04-15 06:22:54 +00:00
Jim Meyering
7e4874c0d8 Remove (or replace-with-TAB(s) to retain alignment)
each sequence of spaces before a TAB character.
2003-04-15 06:22:33 +00:00
Jim Meyering
533c50216e Remove (or replace-with-TAB(s) to retain alignment)
each sequence of spaces before a TAB character.
2003-04-15 06:21:52 +00:00
Jim Meyering
b694daa08f Remove (or replace-with-TAB(s) to retain alignment)
each sequence of spaces before a TAB character.
2003-04-15 06:21:29 +00:00
Jim Meyering
c2f1bf1c95 Remove (or replace-with-TAB(s) to retain alignment)
each sequence of spaces before a TAB character.
2003-04-15 06:19:03 +00:00
Jim Meyering
d882eab2f2 Remove (or replace-with-TAB(s) to retain alignment)
each sequence of spaces before a TAB character.
2003-04-15 06:18:05 +00:00
Jim Meyering
c4b4c0a76d *** empty log message *** 2003-04-13 09:11:18 +00:00
Jim Meyering
be897d7f42 (is_empty_dir): Don't closedir (NULL). 2003-04-13 09:10:50 +00:00
Jim Meyering
de6a08aca7 *** empty log message *** 2003-04-12 19:54:00 +00:00
Jim Meyering
cd4d79b1c3 *** empty log message *** 2003-04-12 19:52:38 +00:00
Jim Meyering
b7fcd8d3ed add test corresponding to today's too-many-newlines fix 2003-04-12 19:52:33 +00:00
Jim Meyering
b62edfd3f9 Giving nl an invalid STYLE argument (in --header-numbering=STYLE (-h),
--body-numbering=STYLE (-b), or --footer-numbering=STYLE (-f)) or
FORMAT (--number-format=FORMAT (-n)) would not give a useful diagnostic.

(main): Fix those problems and remove literal quote marks
(e.g., "`%s'") from format string; instead use "%s" in each format
string and `quote (optarg)' as the corresponding argument.
Also, diagnose all invalid command line options before failing.
2003-04-12 19:51:36 +00:00
Jim Meyering
d5fdbeda89 (proc_text): Fix a bug introduced on 2001-11-10,
for textutils-2.0.17, that would make nl output extra newlines
in some cases.
2003-04-12 18:44:53 +00:00
Jim Meyering
d730a311aa *** empty log message *** 2003-04-12 13:03:01 +00:00
Jim Meyering
a20d798296 (TESTS): Add readlink. 2003-04-12 13:02:57 +00:00
Jim Meyering
0a94599ed5 *** empty log message *** 2003-04-12 13:02:34 +00:00
Jim Meyering
d769c32623 A few tests of the --canonicalize option. 2003-04-12 13:02:13 +00:00
Jim Meyering
bc076eac2f Remove anachronistic casts of xmalloc, xrealloc, and xcalloc return values. 2003-04-11 14:06:02 +00:00
Jim Meyering
df80970dd5 *** empty log message *** 2003-04-11 14:05:51 +00:00
Jim Meyering
a526befb04 *** empty log message *** 2003-04-11 12:55:58 +00:00
Jim Meyering
dd199731fd *** empty log message *** 2003-04-11 12:54:22 +00:00
Jim Meyering
cfaec94084 *** empty log message *** 2003-04-11 12:51:41 +00:00
Jim Meyering
d93d0c0ff4 Remove SPC in SPC-TAB sequence. 2003-04-11 12:46:24 +00:00
Jim Meyering
37bcb6853c Remove SPC in SPC-TAB sequence. 2003-04-11 12:44:41 +00:00
Jim Meyering
3cd987830d Remove SPC in SPC-TAB sequence. 2003-04-11 12:44:23 +00:00
Jim Meyering
0893227b13 Remove SPC in SPC-TAB sequence. 2003-04-11 12:42:39 +00:00
Jim Meyering
31df60a180 Remove SPC in SPC-TAB sequence. 2003-04-11 12:42:15 +00:00
Jim Meyering
930cda9304 Remove SPC in SPC-TAB sequence.
Remove trailing blanks.
filter though cppi
2003-04-11 12:41:44 +00:00
Jim Meyering
e96ac732f5 Remove SPC in SPC-TAB sequence. 2003-04-11 12:39:58 +00:00
Jim Meyering
9f70372581 Remove SPC in SPC-TAB sequence. 2003-04-11 12:38:19 +00:00
Jim Meyering
ab69f41a76 Remove SPC in SPC-TAB sequence. 2003-04-11 12:37:58 +00:00
Jim Meyering
eaae702647 *** empty log message *** 2003-04-11 12:36:43 +00:00
Jim Meyering
3bd3492b1c Include <stdlib.h> unconditionally. 2003-04-11 12:36:31 +00:00
Jim Meyering
1fd5c0ae41 Include <string.h> and <stdlib.h> unconditionally. 2003-04-11 12:21:59 +00:00
Jim Meyering
58b92bbeb2 Remove anachronistic casts of xmalloc, xrealloc, and xcalloc return values. 2003-04-11 12:20:35 +00:00
Jim Meyering
9def4be367 Remove anachronistic casts of xmalloc, xrealloc, and xcalloc return values. 2003-04-11 12:15:21 +00:00
Jim Meyering
2b64c3929a . 2003-04-11 12:03:38 +00:00
Jim Meyering
aa32168619 (XMALLOC, XCALLOC, XREALLOC): Remove unnecessary casts. 2003-04-11 11:59:11 +00:00
Jim Meyering
0bf873ccfb *** empty log message *** 2003-04-11 11:56:44 +00:00
Jim Meyering
6eb5e28e87 Remove use of PARAMS. 2003-04-11 11:56:41 +00:00
Jim Meyering
3bb4efc2af (PARAMS): Remove definitions and uses. 2003-04-11 11:55:33 +00:00
Jim Meyering
31af887efe duh 2003-04-11 11:49:23 +00:00
Jim Meyering
bfcaedcedd (xalloc-check): Rename from header-check. 2003-04-11 11:45:23 +00:00
Jim Meyering
1038acbd8a *** empty log message *** 2003-04-11 11:42:48 +00:00
Jim Meyering
2033d5e885 Include error.h after system.h, not before. 2003-04-11 11:42:39 +00:00
Jim Meyering
d5d5c4fc68 *** empty log message *** 2003-04-11 10:52:04 +00:00
Jim Meyering
6c93bdeeaa Remove anachronistic casts of xmalloc,
xrealloc, and xcalloc return values and of xrealloc's first argument.
2003-04-11 10:51:56 +00:00
Jim Meyering
eaff43d5a8 include xalloc.h 2003-04-11 09:16:32 +00:00
Jim Meyering
912a810f6f do not cast xmalloc return value 2003-04-11 09:16:02 +00:00
Jim Meyering
2ab3a2f245 *** empty log message *** 2003-04-11 09:15:14 +00:00
Jim Meyering
48f3410d03 *** empty log message *** 2003-04-11 09:11:18 +00:00
Jim Meyering
95790ad375 *** empty log message *** 2003-04-10 21:41:08 +00:00
Jim Meyering
179105b117 (wrapf): Declare with format attribute. 2003-04-10 21:41:03 +00:00
Jim Meyering
3d98688378 . 2003-04-10 19:33:03 +00:00
Jim Meyering
45c0089f12 . 2003-04-10 19:32:34 +00:00
Jim Meyering
d85d39bf4c (check-texinfo): Check for uses of non-zero. I prefer to spell it `nonzero'. 2003-04-10 19:32:23 +00:00
Jim Meyering
00e065355d *** empty log message *** 2003-04-10 19:31:16 +00:00
Jim Meyering
7b81263498 *** empty log message *** 2003-04-10 19:29:49 +00:00
Jim Meyering
dd395a2657 *** empty log message *** 2003-04-10 19:27:53 +00:00
Jim Meyering
ec21878690 *** empty log message *** 2003-04-10 19:15:06 +00:00
Jim Meyering
7bf4cb61b4 *** empty log message *** 2003-04-10 19:11:11 +00:00
Jim Meyering
f64c368593 (fs.h): New rule to generate fs.h from stat.c.
(BUILT_SOURCES): Add fs.h, now that it's generated.
(EXTRA_DIST): Add extract-magic.
2003-04-10 19:11:07 +00:00
Jim Meyering
6d73fdb3ef *** empty log message *** 2003-04-10 19:09:43 +00:00
Jim Meyering
bac1785a6e add comment 2003-04-10 19:09:30 +00:00
Jim Meyering
c1b5a21a84 (human_fstype) [__linux__]: Append each hex constant from
fs.h in a comment after the corresponding `case S_MAGIC_...:' statement.
2003-04-10 19:07:34 +00:00
Jim Meyering
b6ac9a3aa5 now it's automatically generated 2003-04-10 19:06:22 +00:00
Jim Meyering
d45d424ce1 New script to extract fs.h definitions from stat.c. 2003-04-10 19:05:43 +00:00
Jim Meyering
322b0d2280 *** empty log message *** 2003-04-10 18:07:00 +00:00
Jim Meyering
641cba7b3d (human_fstype): Handle Linux's devpts. 2003-04-10 18:06:56 +00:00
Jim Meyering
83aa79e26a (S_MAGIC_DEVPTS): New magic for Linux's devpts. 2003-04-10 18:06:23 +00:00
Jim Meyering
97cab1d39b *** empty log message *** 2003-04-10 17:03:30 +00:00
Jim Meyering
31c3844239 (canonicalize_file_name): NUL-terminate the result. 2003-04-10 17:03:26 +00:00
Jim Meyering
e02387ea57 (canonicalize_file_name): Always free `extra_buf' before returning. 2003-04-10 16:54:19 +00:00
Jim Meyering
ef6c004648 (canonicalize_file_name): Return NULL immediately if resolvepath fails.
Otherwise, `readlink --canonical /no-such-file' would exhaust
virtual memory on some systems (e.g. Solaris).
2003-04-10 16:47:35 +00:00
Jim Meyering
6a5f07163f *** empty log message *** 2003-04-10 16:41:17 +00:00
Jim Meyering
7f3e23a189 (readlink invocation): Tweak description a little. 2003-04-10 16:41:14 +00:00
Jim Meyering
357066c663 *** empty log message *** 2003-04-10 15:57:56 +00:00
Jim Meyering
1b2123bba3 (canonicalize_file_name): Remove stray semicolon
that caused `readlink --canonical RELATIVE_NAME' to fail on e.g.,
Solaris systems.
2003-04-10 15:57:45 +00:00
Jim Meyering
9419ec8854 *** empty log message *** 2003-04-10 15:57:31 +00:00
Jim Meyering
ab828ae6a1 Skip this test (don't fail) if creating a file with nominal length > 4GB fails. 2003-04-10 08:36:41 +00:00
Jim Meyering
d4fa961a32 *** empty log message *** 2003-04-10 07:15:51 +00:00
Jim Meyering
56dada99d4 Add `SEE ALSO' reference to unexpand. 2003-04-10 07:15:38 +00:00
Jim Meyering
33a6eab7e6 Add `SEE ALSO' reference to expand. 2003-04-10 07:15:29 +00:00
Jim Meyering
160c7ab28e Make sure that a huge obsolete option evokes the right failure. 2003-04-09 20:55:17 +00:00
Jim Meyering
25b57f0014 *** empty log message *** 2003-04-09 20:54:56 +00:00
Jim Meyering
435c2829f8 *** empty log message *** 2003-04-09 20:48:54 +00:00
Jim Meyering
f05ad08d19 (line_bytes_split): Arg is of type size_t, since
that's all that is supported for now.
(main): Check for overflow in obsolescent line count option.
2003-04-09 20:48:29 +00:00
Jim Meyering
c3e1712629 Ensure that split --lines=N and --bytes=N work for N=2^32.
Currently (coreutils-5.0.1) split --line-bytes=M fails
with `invalid number of bytes' for M=2^32 or larger.  Test it.
2003-04-09 14:57:32 +00:00
Jim Meyering
934c4134ce *** empty log message *** 2003-04-09 14:45:12 +00:00
Jim Meyering
519a36594e *** empty log message *** 2003-04-09 14:43:33 +00:00
Jim Meyering
c04eed33c4 *** empty log message *** 2003-04-09 14:40:10 +00:00
Jim Meyering
78d8a32a1a (bytes_split): Use size_t temporary (rather than
uintmax_t original) in remaining computations.  From Paul Eggert.
2003-04-09 14:40:05 +00:00
Jim Meyering
a69132e717 Handle command line option arguments larger than 2^31.
This allows e.g., splitting into files of size 2GB and larger,
and running split --lines=N with N=2^31 or more.
But for --line-bytes=N, the restriction that N <= SIZE_MAX
remains (for now), due to the way it is implemented.

Include "inttostr.h".
(bytes_split, lines_split, line_bytes_split, main):
Use uintmax_t, not size_t, for file sizes.
(main): Give a better diagnostic for option arguments == 0.
Use umaxtostr to print file sizes.
2003-04-09 14:37:47 +00:00
Jim Meyering
4bd5187248 tweak white-space to make backslashes line up 2003-04-09 13:38:39 +00:00
Jim Meyering
242dabb942 (lines_split): Rename local, nlines -> n_lines. 2003-04-09 13:25:48 +00:00
Jim Meyering
60334e21a8 also check obsolete option -0 2003-04-09 12:21:13 +00:00
Jim Meyering
40989ab484 *** empty log message *** 2003-04-08 12:53:58 +00:00
Jim Meyering
6c69e2f2cb (usage): Mention that --directory (-d) works only on some systems. 2003-04-08 12:53:53 +00:00
Jim Meyering
587d16d350 *** empty log message *** 2003-04-08 12:53:26 +00:00
Jim Meyering
b5de6ff485 *** empty log message *** 2003-04-08 11:50:23 +00:00
Jim Meyering
ce5034feeb (main): Use STDIN_FILENO, not literal `0'. 2003-04-08 11:49:57 +00:00
Jim Meyering
3ca2ab6ef4 *** empty log message *** 2003-04-08 11:46:05 +00:00
Jim Meyering
2869e1b2ff (TESTS): Add split-fail. 2003-04-08 11:45:58 +00:00
Jim Meyering
08f905aca2 *** empty log message *** 2003-04-08 11:45:44 +00:00
Jim Meyering
c54ba76168 Run $PERL to see if it is available, rather than testing its value. 2003-04-08 10:55:01 +00:00
Jim Meyering
5d425f8eed . 2003-04-08 10:54:09 +00:00
Jim Meyering
3ae1676b87 *** empty log message *** 2003-04-08 10:14:19 +00:00
Jim Meyering
e2f9e5953d *** empty log message *** 2003-04-08 09:51:57 +00:00
Jim Meyering
436b00ec6b *** empty log message *** 2003-04-08 09:51:17 +00:00
Jim Meyering
a7641fc8e8 (main): Rename local variable: s/accum/n_units/. 2003-04-08 09:50:50 +00:00
Jim Meyering
7eb9262da9 also change NCHARS, in comments, to N_BYTES 2003-04-08 09:39:08 +00:00
Jim Meyering
4752938d28 Rename local variables: nchars -> n_bytes. 2003-04-08 09:30:09 +00:00
Jim Meyering
ee3967b289 Remove note about Ultrix compilation failure. 2003-04-08 09:23:09 +00:00
Jim Meyering
808df43193 *** empty log message *** 2003-04-07 18:12:37 +00:00
Jim Meyering
4130480d65 (jm_PREREQ_STAT): Add prerequisites and #includes for Ultrix 4.4. 2003-04-07 18:12:31 +00:00
Jim Meyering
943a698901 *** empty log message *** 2003-04-07 18:11:47 +00:00
Jim Meyering
8fd978c223 Add #include directives for Ultrix 4.4.
Based on a suggested change from Bert Deknuydt.
2003-04-07 18:11:39 +00:00
Jim Meyering
2aed952a5c *** empty log message *** 2003-04-07 18:02:29 +00:00
Jim Meyering
e0ffc9e569 *** empty log message *** 2003-04-06 19:06:37 +00:00
Jim Meyering
e3b9de9e2f (makefile-check): New rule.
(local-check): Add it.
2003-04-06 19:06:26 +00:00
Jim Meyering
0622704dce . 2003-04-05 18:04:06 +00:00
Jim Meyering
4cfe78b8a0 *** empty log message *** 2003-04-05 18:03:47 +00:00
Jim Meyering
25c05ae140 Use $(VAR) rather than @VAR@, now that we can rely on automake to
emit a definition for each substituted variable.
2003-04-05 18:03:39 +00:00
Jim Meyering
6617d20345 *** empty log message *** 2003-04-05 16:53:03 +00:00
Jim Meyering
c573813515 (DEFS): Use += notation rather than `DEFS = ... @DEFS@'.
Use $(VAR) rather than @VAR@, now that we can rely on automake to
emit a definition for each substituted variable.
2003-04-05 16:52:48 +00:00
Jim Meyering
dd72f39b52 *** empty log message *** 2003-04-05 16:21:28 +00:00
Jim Meyering
4795aa1810 Add a comment explaining why this test fails when using Tru64's broken sed. 2003-04-05 16:21:23 +00:00
Jim Meyering
84b0d3667b Add a comment explaining why this test fails when using Tru64's broken sed. 2003-04-05 16:20:41 +00:00
Jim Meyering
c05a53c48b *** empty log message *** 2003-04-05 16:13:55 +00:00
Jim Meyering
a32e0227fe *** empty log message *** 2003-04-05 16:12:33 +00:00
Jim Meyering
b71a48487c *** empty log message *** 2003-04-05 15:51:42 +00:00
Jim Meyering
ba2c242694 Make kill -t' output signal descriptions (not ?') on Tru64.
(sys_siglist): Also check for __sys_siglist.
2003-04-05 15:49:46 +00:00
Jim Meyering
36662095bd *** empty log message *** 2003-04-05 15:46:01 +00:00
Jim Meyering
d1938da255 Also check for declaration of __sys_siglist.
Required for Tru64 4.0D, 4.0F, and 5.1.
2003-04-05 15:45:55 +00:00
Jim Meyering
445828c958 bump to 5.0.1 2003-04-05 15:44:29 +00:00
Jim Meyering
f193c70c6b fixed Ed Avis' mv bug 2003-04-04 21:58:05 +00:00
Jim Meyering
b2c3d60092 *** empty log message *** 2003-04-04 21:55:29 +00:00
Jim Meyering
fed16f65ae (PERL): Remove unnecessary definition. 2003-04-04 21:54:30 +00:00
Jim Meyering
fc6073d633 Because of inappropriate (but POSIX-mandated) behavior of rename,
`mv a b' would not remove `a' in some unusual cases.  Work around
this by unlinking `a' when necessary.

(same_file_ok): Add an output parameter.
Set it in the offending case.
(copy_internal): When necessary, unlink SRC_PATH and inform caller.
2003-04-04 21:53:27 +00:00
Jim Meyering
e46be69e86 *** empty log message *** 2003-04-04 21:47:26 +00:00
Jim Meyering
5e1898fc01 (TESTS): Add hard-4. 2003-04-04 21:45:20 +00:00
Jim Meyering
c8c1fb97a3 *** empty log message *** 2003-04-04 19:35:57 +00:00
Jim Meyering
4d4896eef3 [TEST_DIRNAME]: Update build instructions for test.
Add test-cases for DOS filenames. Declare program_name.
(main): Set up program_name.
2003-04-04 19:35:54 +00:00
Jim Meyering
22ad36e73c Clean up rules for automatically generated sources:
(dircolors.h, wheel-size.h, wheel.h, false.c):
Make each generated file be read-only.
Add each file name to BUILT_SOURCES separately.
(MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES).
2003-04-04 16:03:50 +00:00
Jim Meyering
d8981ba19e *** empty log message *** 2003-04-04 15:50:08 +00:00
Jim Meyering
82e0908b2c Put LOCALEDIR macro definition in new file: localedir.h.
(DEFS): Remove definition.
(localedir.h): New rule.
(BUILT_SOURCES, DISTCLEANFILES): Add localedir.h.
2003-04-04 15:50:05 +00:00
Jim Meyering
c9f8890396 Include "localedir.h". 2003-04-04 15:49:48 +00:00
Jim Meyering
48d174d271 *** empty log message *** 2003-04-04 15:22:28 +00:00
Jim Meyering
bceb83d0a2 (constants.texi): Rename target (thus enabling it),
now that fileutils, textutils, and sh-utils have been merged.
(MAINTAINERCLEANFILES): Define.
2003-04-04 15:22:05 +00:00
Jim Meyering
0a32c8d910 *** empty log message *** 2003-04-03 13:11:05 +00:00
Jim Meyering
d8286cccd9 *** empty log message *** 2003-04-03 13:09:50 +00:00
Jim Meyering
1c2b9c575a . 2003-04-02 21:26:58 +00:00
Jim Meyering
65d52b65f6 *** empty log message *** 2003-04-02 21:10:23 +00:00
Jim Meyering
bd10536e76 . 2003-04-02 21:09:04 +00:00
Jim Meyering
9d30201501 re-add it for 5.0 2003-04-02 21:08:54 +00:00
Jim Meyering
f84ed713c5 *** empty log message *** 2003-04-02 18:45:14 +00:00
Jim Meyering
8ab362dd32 *** empty log message *** 2003-04-02 18:42:12 +00:00
Jim Meyering
edba764d8f *** empty log message *** 2003-04-02 18:22:14 +00:00
Jim Meyering
702cda63ad *** empty log message *** 2003-04-02 18:19:56 +00:00
Jim Meyering
ba621e52e1 (false invocation): Note that false exits
unsuccessfully even with --help and --version.
2003-04-02 18:19:53 +00:00
Jim Meyering
0cb78db3f7 add lost log entry:
2002-07-20  Jim Meyering  <jim@meyering.net>

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

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

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

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

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

(bytes_split): Remove unnecessary `else' after break.
(lines_split): Likewise.  and correct misleading indentation.
2003-02-19 14:28:50 +00:00
Jim Meyering
d0944f6e8b *** empty log message *** 2003-02-19 14:04:22 +00:00
Jim Meyering
07ef2a29cf *** empty log message *** 2003-02-19 14:04:17 +00:00
Jim Meyering
af4ad8d695 fix comment 2003-02-19 14:03:44 +00:00
Jim Meyering
f0ecd05212 more clean-up. give more precise diagnostics 2003-02-19 14:02:43 +00:00
Jim Meyering
4d5aae90bb *** empty log message *** 2003-02-19 12:59:31 +00:00
Jim Meyering
68f68b6bf2 (TESTS): Reflect renaming. 2003-02-19 12:59:14 +00:00
Jim Meyering
1b919c5c1e new file. renamed from cat-tty-eof 2003-02-19 12:58:46 +00:00
Jim Meyering
4b26d67f58 Remove file. Rename to tty-eof. 2003-02-19 12:58:07 +00:00
Jim Meyering
f60bd3f4c8 comment out diagnostic 2003-02-19 12:56:37 +00:00
Jim Meyering
f3ecf0e5df upgrade to automake-1.7.2b 2003-02-19 12:55:25 +00:00
Jim Meyering
49a3524823 *** empty log message *** 2003-02-19 08:44:45 +00:00
Jim Meyering
23bd5c8be5 *** empty log message *** 2003-02-19 08:40:10 +00:00
Jim Meyering
3ef0832f7a (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
to 1MB, so as not to render systems with no stack size limit (e.g.,
linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
2003-02-19 08:39:55 +00:00
Jim Meyering
3ac28e3dee *** empty log message *** 2003-02-18 21:17:11 +00:00
Jim Meyering
3bb9bacdd7 *** empty log message *** 2003-02-18 19:00:54 +00:00
Jim Meyering
714f398d7f (sha_stream) [BLOCKSIZE]: Move definition to top of file.
Ensure that it is a multiple of 64.
Rearrange loop exit tests so as to avoid performing an
additional fread after encountering an error or EOF.
2003-02-18 19:00:40 +00:00
Jim Meyering
7496bc25b0 (md5_stream) [BLOCKSIZE]: Move definition to top of file.
Ensure that it is a multiple of 64.
Rearrange loop exit tests so as to avoid performing an
additional fread after encountering an error or EOF.
2003-02-18 19:00:16 +00:00
Jim Meyering
38b90cb669 *** empty log message *** 2003-02-18 14:01:32 +00:00
Jim Meyering
ae993355b7 (CLEANFILES): Remove ftw.h and search.h.
(DISTCLEANFILES): Add them here.
Add fnmatch.h, too.
2003-02-18 14:01:25 +00:00
Jim Meyering
d2c4a4e44d cksum would perform an extra read after encountering EOF
(cksum): Exit the loop upon EOF, too.
Patch by Michael Bacarella.
2003-02-18 08:05:02 +00:00
Jim Meyering
b47c09ad60 *** empty log message *** 2003-02-18 08:02:41 +00:00
Jim Meyering
33c62fcef3 Generalize, clean-up, and test for
cat, cksum, md5sum, and sha1sum all in the same loop.
2003-02-18 07:59:58 +00:00
Jim Meyering
d3dbf68beb . 2003-02-17 17:21:37 +00:00
Jim Meyering
072015e870 *** empty log message *** 2003-02-17 17:21:05 +00:00
Jim Meyering
143bca6b80 (RUN_WITH_BIG_STACK_4): Define. 2003-02-17 17:21:00 +00:00
Jim Meyering
3db0886789 . 2003-02-17 17:17:43 +00:00
Jim Meyering
f6b9999548 *** empty log message *** 2003-02-17 16:58:34 +00:00
Jim Meyering
22e376e2e1 Undo most of last change.
Use sysmp instead, since it provides a cleaner interface.
2003-02-17 16:58:28 +00:00
Jim Meyering
3f4e77fdd6 *** empty log message *** 2003-02-17 16:55:44 +00:00
Jim Meyering
87be2f14b1 (jm_PREREQ_PHYSMEM): Undo last change, since
Kaveh Ghazi found a better way to get the required information.
Add check for sys/sysmp.h.
2003-02-17 16:55:40 +00:00
Jim Meyering
2bb32c98a5 (run): New function, preparing for use of
RUN_WITH_BIG_STACK_*
2003-02-17 08:39:20 +00:00
Jim Meyering
49cda05bd3 tweak comment 2003-02-17 08:27:26 +00:00
Jim Meyering
f8741e7214 *** empty log message *** 2003-02-16 21:00:07 +00:00
Jim Meyering
9cba3efc8a Add Finnish (fi). 2003-02-16 21:00:01 +00:00
Jim Meyering
b57469df43 version: 4.5.7 2003-02-16 20:59:16 +00:00
Jim Meyering
3eb96248f7 *** empty log message *** 2003-02-16 09:00:13 +00:00
Jim Meyering
c270a888e9 (libfetish_a_SOURCES): Add mmap-stack.h. 2003-02-16 09:00:08 +00:00
Jim Meyering
382b502ccf *** empty log message *** 2003-02-16 08:59:20 +00:00
Jim Meyering
c276ca6e49 (MAP_ANONYMOUS): Use MAP_ANON, if possible.
Initialize `fd' to -1, so Solaris' mmap works with MAP_ANON.
2003-02-16 08:59:15 +00:00
Jim Meyering
e58f9df1b3 add an assertion 2003-02-15 22:38:32 +00:00
Jim Meyering
d71265c2e3 *** empty log message *** 2003-02-15 22:33:18 +00:00
Jim Meyering
5b16ce70fb *** empty log message *** 2003-02-15 22:31:22 +00:00
Jim Meyering
e52bb403b5 *** empty log message *** 2003-02-15 22:30:46 +00:00
Jim Meyering
fa6fd21580 Require AC_SYS_MMAP_STACK. 2003-02-15 22:29:52 +00:00
Jim Meyering
434cd73a81 *** empty log message *** 2003-02-15 22:29:37 +00:00
Jim Meyering
958da3fffd I meant mmap-stack.h, not mmap-stack.c. 2003-02-15 22:23:33 +00:00
Jim Meyering
51037cbd96 Add lib/mmap-stack.c 2003-02-15 22:19:49 +00:00
Jim Meyering
edcf77bcb1 *** empty log message *** 2003-02-15 22:08:59 +00:00
Jim Meyering
1588508be2 *** empty log message *** 2003-02-15 10:15:49 +00:00
Jim Meyering
2b62137426 (main) [DEBUG]: New function. 2003-02-15 09:59:27 +00:00
Jim Meyering
c1604ca5a7 Clean up change of a minute ago. 2003-02-15 09:11:49 +00:00
Jim Meyering
c911821af7 *** empty log message *** 2003-02-15 09:06:13 +00:00
Jim Meyering
16b37b5c9d Add Irix6 support to physmem.c.
(jm_PREREQ_PHYSMEM): Also check for sys/sysget.h
and sys/sysinfo.h.
Also check for sysget.
2003-02-15 09:06:05 +00:00
Jim Meyering
d017693646 *** empty log message *** 2003-02-15 09:05:51 +00:00
Jim Meyering
bdf738b1a1 Add Irix6 support to physmem.c.
(irix_sysget): New function.
(IRIX_SYSGET_TOTAL, IRIX_SYSGET_AVAILABLE): New macros.
(physmem_total, physmem_available): Use them.
2003-02-15 09:05:16 +00:00
Jim Meyering
5aeb13149e *** empty log message *** 2003-02-14 07:41:42 +00:00
Jim Meyering
49eda1bead Include "euidaccess.h".
Remove declaration of euidaccess.
2003-02-14 07:41:27 +00:00
792 changed files with 156440 additions and 106820 deletions

View File

@@ -1 +1 @@
4.5.7
5.1.0

8
.vg-suppressions Normal file
View File

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

9
.x-sc_space_tab Normal file
View File

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

2
.x-sc_sun_os_names Normal file
View File

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

754
ABOUT-NLS
View File

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

3247
ChangeLog

File diff suppressed because it is too large Load Diff

View File

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

28
INSTALL
View File

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

View File

@@ -3,6 +3,7 @@
SUBDIRS = lib src doc man m4 po tests
EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
.kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
.x-sc_space_tab .x-sc_sun_os_names \
announce-gen \
old/fileutils/ChangeLog \
old/fileutils/ChangeLog-1997 \

View File

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

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.2 from Makefile.am.
# Makefile.in generated by automake 1.8.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -36,8 +34,142 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.hin \
$(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \
INSTALL NEWS THANKS TODO config/ChangeLog config/config.guess \
config/config.rpath config/config.sub config/depcomp \
config/install-sh config/mdate-sh config/missing \
config/mkinstalldirs config/texinfo.tex
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/afs.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/assert.m4 \
$(top_srcdir)/m4/atexit.m4 $(top_srcdir)/m4/backupfile.m4 \
$(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \
$(top_srcdir)/m4/canon-host.m4 \
$(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/check-decl.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/closeout.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
$(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \
$(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/error.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/fnmatch.m4 \
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/free.m4 \
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
$(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getgroups.m4 \
$(top_srcdir)/m4/gethostname.m4 $(top_srcdir)/m4/getline.m4 \
$(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \
$(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/host-os.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/idcache.m4 \
$(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \
$(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/link-follow.m4 \
$(top_srcdir)/m4/long-options.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/makepath.m4 $(top_srcdir)/m4/malloc.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbswidth.m4 \
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/obstack.m4 \
$(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/path-concat.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \
$(top_srcdir)/m4/physmem.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \
$(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
$(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readdir.m4 \
$(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \
$(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \
$(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
$(top_srcdir)/m4/restrict.m4 $(top_srcdir)/m4/rmdir-errno.m4 \
$(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
$(top_srcdir)/m4/same.m4 $(top_srcdir)/m4/save-cwd.m4 \
$(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/settime.m4 \
$(top_srcdir)/m4/sha.m4 $(top_srcdir)/m4/sig2str.m4 \
$(top_srcdir)/m4/signed.m4 $(top_srcdir)/m4/ssize_t.m4 \
$(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/st_mtim.m4 \
$(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \
$(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strpbrk.m4 \
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
$(top_srcdir)/m4/strverscmp.m4 $(top_srcdir)/m4/timespec.m4 \
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
$(top_srcdir)/m4/unlink-busy.m4 \
$(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/uptime.m4 \
$(top_srcdir)/m4/userspec.m4 $(top_srcdir)/m4/utimbuf.m4 \
$(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
$(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
$(top_srcdir)/m4/xreadlink.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtoimax.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/xstrtoumax.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
@@ -51,6 +183,7 @@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
@@ -60,10 +193,12 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
FNMATCH_H = @FNMATCH_H@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
HAVE__BOOL = @HAVE__BOOL@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -79,6 +214,7 @@ LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
@@ -90,7 +226,6 @@ MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -106,6 +241,7 @@ SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STDBOOL_H = @STDBOOL_H@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
@@ -118,6 +254,7 @@ ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
@@ -139,6 +276,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@@ -146,10 +284,10 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = lib src doc man m4 po tests
EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
.kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
.x-sc_space_tab .x-sc_sun_os_names \
announce-gen \
old/fileutils/ChangeLog \
old/fileutils/ChangeLog-1997 \
@@ -160,10 +298,8 @@ EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
old/sh-utils/NEWS \
old/textutils/NEWS
ACLOCAL_AMFLAGS = -I m4
# Just prior to distribution, ...
# transform the automake-generated rule that runs `rm -f rm'.
# On some systems, that command would fail with a diagnostic like
@@ -174,44 +310,42 @@ ACLOCAL_AMFLAGS = -I m4
rm_subst = \
s!(rm -f (rm|\$$\(bin_PROGRAMS\)))$$!$$1 > /dev/null 2>&1 || /bin/$$1!
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS THANKS TODO aclocal.m4 config.hin \
config/ChangeLog config/config.guess config/config.rpath \
config/config.sub config/depcomp config/install-sh \
config/mdate-sh config/missing config/mkinstalldirs \
config/texinfo.tex configure configure.ac
DIST_SUBDIRS = $(SUBDIRS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \
cd $(srcdir) && $(AUTOMAKE) --gnits \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.ac m4/acl.m4 m4/afs.m4 m4/assert.m4 m4/bison.m4 m4/boottime.m4 m4/c-stack.m4 m4/canonicalize.m4 m4/check-decl.m4 m4/chown.m4 m4/codeset.m4 m4/d-ino.m4 m4/d-type.m4 m4/dirfd.m4 m4/dos.m4 m4/error.m4 m4/fpending.m4 m4/fstypename.m4 m4/fsusage.m4 m4/ftruncate.m4 m4/ftw.m4 m4/getcwd.m4 m4/getgroups.m4 m4/getline.m4 m4/gettext.m4 m4/gettimeofday.m4 m4/glibc.m4 m4/glibc21.m4 m4/group-member.m4 m4/host-os.m4 m4/iconv.m4 m4/intdiv0.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/isc-posix.m4 m4/jm-glibc-io.m4 m4/jm-macros.m4 m4/jm-mktime.m4 m4/jm-winsz1.m4 m4/jm-winsz2.m4 m4/lchown.m4 m4/lcmessage.m4 m4/lib-check.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/link-follow.m4 m4/longlong.m4 m4/ls-mntd-fs.m4 m4/lstat.m4 m4/mbrtowc.m4 m4/mbswidth.m4 m4/memcmp.m4 m4/mkdir-slash.m4 m4/mkstemp.m4 m4/nanosleep.m4 m4/onceonly.m4 m4/open-max.m4 m4/perl.m4 m4/prereq.m4 m4/progtest.m4 m4/putenv.m4 m4/regex.m4 m4/rename.m4 m4/rmdir-errno.m4 m4/search-libs.m4 m4/st_dm_mode.m4 m4/st_mtim.m4 m4/stat.m4 m4/stdbool.m4 m4/strftime.m4 m4/timespec.m4 m4/unlink-busy.m4 m4/uptime.m4 m4/utimbuf.m4 m4/utime.m4 m4/utimes.m4 m4/xstrtoimax.m4 m4/xstrtoumax.m4
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@@ -223,10 +357,10 @@ config.h: stamp-h1
stamp-h1: $(srcdir)/config.hin $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.hin: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
$(srcdir)/config.hin: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.hin
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
@@ -291,14 +425,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -307,14 +433,21 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
else \
include_option=--include; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
test -f $$subdir/TAGS && \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
@@ -326,7 +459,6 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@@ -349,19 +481,6 @@ GTAGS:
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \
@@ -372,7 +491,7 @@ distdir: $(DISTFILES)
esac
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/config $(distdir)/old/fileutils $(distdir)/old/sh-utils $(distdir)/old/textutils $(distdir)/po
$(mkdir_p) $(distdir)/config $(distdir)/m4 $(distdir)/old/fileutils $(distdir)/old/sh-utils $(distdir)/old/textutils $(distdir)/po
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -384,7 +503,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@@ -401,13 +520,13 @@ distdir: $(DISTFILES)
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
test -d "$(distdir)/$$subdir" \
|| mkdir "$(distdir)/$$subdir" \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
top_distdir="../$(top_distdir)" \
distdir="../$(distdir)/$$subdir" \
distdir) \
|| exit 1; \
fi; \
@@ -420,11 +539,23 @@ distdir: $(DISTFILES)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
@@ -434,16 +565,26 @@ dist dist-all: distdir
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
&& cd $(distdir)/=build \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
@@ -456,21 +597,22 @@ distcheck: dist
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
(cd ../.. && $(mkdir_p) "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
cd $(distuninstallcheck_dir) \
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
@@ -479,11 +621,11 @@ distuninstallcheck:
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
if test '$(srcdir)' = . ; then \
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
@@ -492,7 +634,6 @@ check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -504,7 +645,7 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -512,7 +653,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -523,12 +664,15 @@ clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
@@ -545,7 +689,8 @@ installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf autom4te.cache
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
@@ -564,22 +709,20 @@ uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
clean-generic clean-recursive ctags ctags-recursive dist \
dist-all dist-bzip2 dist-gzip distcheck distclean \
distclean-generic distclean-hdr distclean-recursive \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am dvi-recursive info info-am info-recursive install \
install-am install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
ps-recursive tags tags-recursive uninstall uninstall-am \
uninstall-info-am uninstall-info-recursive uninstall-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-generic clean-recursive ctags \
ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
dist-tarZ dist-zip distcheck distclean distclean-generic \
distclean-hdr distclean-recursive distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-info-am
install-root:

View File

@@ -1,8 +1,8 @@
# -*-Makefile-*-
# This Makefile fragment is shared between fileutils, sh-utils, textutils,
# This Makefile fragment is shared between the coreutils,
# CPPI, Bison, and Autoconf.
## Copyright (C) 2001-2003 Free Software Foundation, Inc.
## Copyright (C) 2001-2004 Free Software Foundation, Inc.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -19,28 +19,34 @@
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
# This is reported not to work with make-3.79.1
# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
ME := Makefile.maint
# Do not save the original name or timestamp in the .tar.gz file.
GZIP_ENV = '--no-name --best'
CVS = cvs
prev_version_file ?= .prev-version
ifeq ($(origin prev_version_file), undefined)
prev_version_file = .prev-version
endif
THIS_VERSION_REGEXP = $(subst .,\.,$(VERSION))
PREV_VERSION := $(shell cat $(prev_version_file))
PREV_VERSION_REGEXP := $(shell echo $(PREV_VERSION)|sed 's/\./\\./g')
tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
tag-this-version = $(subst .,_,$(VERSION))
tag-prev-version = $(subst .,_,$(PREV_VERSION))
this-cvs-tag = $(tag-package)-$(tag-this-version)
prev-cvs-tag = $(tag-package)-$(tag-prev-version)
my_distdir = $(PACKAGE)-$(VERSION)
# Old releases are stored here.
# Used for diffs and xdeltas.
release_archive_dir ?= ../release
# Prevent programs like 'sort' from considering distinct strings to be equal.
# Doing it here saves us from having to set LC_ALL elsewhere in this file.
export LC_ALL = C
## --------------- ##
@@ -50,21 +56,133 @@ release_archive_dir ?= ../release
# Checks that don't require cvs.
# Run `changelog-check' last, as previous test may reveal problems requiring
# new ChangeLog entries.
local-check = \
local-checks-available = \
po-check copyright-check writable-files m4-check author_mark_check \
changelog-check strftime-check header-check makefile_path_separator_check
.PHONY: $(local-check)
changelog-check strftime-check syntax-check makefile_path_separator_check \
makefile-check
.PHONY: $(local-checks-available)
local-check = $(filter-out $(local-checks-to-skip), $(local-checks-available))
# Make sure C source files in src/ don't include xalloc.h directly,
# since they all already include it via sys2.h.
# It's not a big deal -- just aesthetics.
header-check:
if test -f $(srcdir)/src/sys2.h; then \
if grep 'xalloc\.h' $(srcdir)/src/*.c; then \
exit 1; \
fi; \
.PHONY: $(syntax-check-rules)
syntax-check-rules = \
sc_cast_of_argument_to_free \
sc_cast_of_x_alloc_return_value \
sc_cast_of_alloca_return_value \
sc_changelog \
sc_error_exit_success \
sc_space_tab \
sc_sun_os_names \
sc_system_h_headers \
sc_unmarked_diagnostics
syntax-check: $(syntax-check-rules)
# @grep -E '# *include <(limits|std(def|arg|bool))\.h>' \
# $$(find -type f -name '*.[chly]') && \
# { echo '$(ME): found conditional include' 1>&2; \
# exit 1; } || :
# grep -E '^# *include <(string|stdlib)\.h>' \
# $(srcdir)/{lib,src}/*.[chy] && \
# { echo '$(ME): FIXME' 1>&2; \
# exit 1; } || :
# FIXME: don't allow `#include .strings\.h' anywhere
# Look for diagnostics that aren't marked for translation.
# This won't find any for which error's format string is on a separate line.
sc_unmarked_diagnostics:
@grep --exclude=$(srcdir)/src/shred.c -E \
'\<error \([^"]*"[^"]*[a-z]{3}' $(srcdir)/{lib,src}/*.c \
| grep -v '_(' && \
{ echo '$(ME): found unmarked diagnostic(s)' 1>&2; \
exit 1; } || :
sc_cast_of_argument_to_free:
@grep -E '\<free \(\(' $(srcdir)/{lib,src}/*.[chly] && \
{ echo '$(ME): don'\''t cast free argument' 1>&2; \
exit 1; } || :
sc_cast_of_x_alloc_return_value:
@grep -E --exclude=$(srcdir)/lib/regex.c \
'\*\) *x(m|c|re)alloc\>' \
$(srcdir)/{lib,src}/*.[chy] && \
{ echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \
exit 1; } || :
sc_cast_of_alloca_return_value:
@grep -E '\*\) *alloca\>' \
$(srcdir)/src/*.[chy] && \
{ echo '$(ME): don'\''t cast alloca return value' 1>&2; \
exit 1; } || :
sc_space_tab:
@( cvsu --list ) > /dev/null 2>&1 || : && \
grep '[ ] ' \
$$(cvsu --list | grep -vEf .x-$@ ) && \
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
1>&2; exit 1; } || :
# Using EXIT_SUCCESS as the first argument to error is misleading,
# since when that parameter is 0, error does not exit. Use `0' instead.
sc_error_exit_success:
@grep -F 'error (EXIT_SUCCESS,' \
$$(find -type f -name '*.[chly]') && \
{ echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \
exit 1; } || :
# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ
# Each nonempty line must start with a year number, or a TAB.
sc_changelog:
@grep '^[^12 ]' $$(find . -name ChangeLog -maxdepth 2) && \
{ echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2; \
exit 1; } || :
header_regexp = \
alloca\
|closeout\
|ctype\
|dirent\
|errno\
|fcntl\
|inttypes\
|limits\
|locale\
|pathmax\
|std(lib|bool)\
|string\
|sys/(stat|dir|time)\
|time\
|unistd\
|utime\
|version-etc\
|xalloc
h_re := $(shell echo '$(header_regexp)'|tr -d ' ')
# Files in src/ should not include directly any of
# the headers already included via system.h.
# Get list of candidates with this:
# grep -h include src/sys*.h|sed 's/.*include //'|sort -
sc_system_h_headers:
@if test -f $(srcdir)/src/sys2.h; then \
( cvsu --list ) > /dev/null 2>&1 || : && \
grep -E '^# *include ["<]($(h_re))\.h[">]' \
$$(cvsu --list src | grep -Ev 'sys(2|tem)\.h$$') \
&& { echo '$(ME): the above are already included via system.h'\
1>&2; exit 1; } || :; \
fi
sc_sun_os_names:
@( cvsu --list ) > /dev/null 2>&1 || : && \
grep -Ei \
'solaris[^[:alnum:]]*2\.(7|8|9|[1-9][0-9])|sunos[^[:alnum:]][6-9]' \
$$(cvsu --list | grep -vEf .x-$@ ) && \
{ echo '$(ME): found misuse of Sun OS version numbers' 1>&2; \
exit 1; } || :
# Ensure that date's --help output stays in sync with the info
# documentation for GNU strftime. The only exception is %N,
# which date accepts but GNU strftime does not.
@@ -80,6 +198,22 @@ strftime-check:
rm -f $@-src $@-info; \
fi
# Ensure that we use only the standard $(VAR) notation,
# not @...@ in Makefile.am, now that we can rely on automake
# to emit a definition for each substituted variable.
makefile-check:
grep -E '@[A-Z_0-9]+@' `find . -name Makefile.am` \
&& { echo 'Makefile.maint: use $(...), not @...@' 1>&2; exit 1; } || :
news-date-check: NEWS
today=`date +%Y-%m-%d`; \
if head NEWS | grep '^\*.*'$$today >/dev/null; then \
:; \
else \
echo "today's date is not in NEWS" 1>&2; \
exit 1; \
fi
changelog-check:
if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
:; \
@@ -94,21 +228,24 @@ m4-check:
exit 1; } || :
# Verify that all source files using _() are listed in po/POTFILES.in.
# FIXME: don't hard-code src/false.c below; use a more general mechanism.
po-check:
if test -f po/POTFILES.in; then \
grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \
files=; \
for file in lib/*.[chly] src/*.[chly]; do \
case $$file in \
*.[ch]) \
base=`expr " $$file" : ' \(.*\)\..'`; \
{ test -f $$base.l || test -f $$base.y; } && continue;; \
esac; \
files="$$files $$file"; \
done; \
grep -E -l '\bN?_\([^)"]*("|$$)' $$files | sort > $@-2; \
diff -u $@-1 $@-2 || exit 1; \
rm -f $@-1 $@-2; \
( cvsu --list ) > /dev/null 2>&1 || : && \
if test -f po/POTFILES.in; then \
grep -E -v '^(#|$$)' po/POTFILES.in \
| grep -v '^src/false\.c$$' | sort > $@-1; \
files=; \
for file in $$(cvsu --list lib src | grep '\.[chly]$$'); do \
case $$file in \
*.[ch]) \
base=`expr " $$file" : ' \(.*\)\..'`; \
{ test -f $$base.l || test -f $$base.y; } && continue;; \
esac; \
files="$$files $$file"; \
done; \
grep -E -l '\bN?_\([^)"]*("|$$)' $$files | sort > $@-2; \
diff -u $@-1 $@-2 || exit 1; \
rm -f $@-1 $@-2; \
fi
# In a definition of #define AUTHORS "... and ..." where the RHS contains
@@ -130,6 +267,7 @@ makefile_path_separator_check:
@grep 'PATH=.*:' `find $(srcdir) -name Makefile.am` \
&& { echo $(msg) 1>&2; exit 1; } || :
# Check that `make alpha' will not fail at the end of the process.
writable-files:
if test -d $(release_archive_dir); then :; else \
mkdir $(release_archive_dir); \
@@ -163,10 +301,10 @@ cvs-tag-check:
else :; fi
cvs-diff-check:
if $(CVS) diff >cvs-diffs; then \
rm cvs-diffs; \
else \
echo "Some files are locally modified:" 1>&2; \
if $(CVS) diff >cvs-diffs; then \
rm cvs-diffs; \
else \
echo "Some files are locally modified:" 1>&2; \
cat cvs-diffs; \
exit 1; \
fi
@@ -199,10 +337,11 @@ null_AM_MAKEFLAGS = \
# by the use of _(). The --disable-nls effectively defines away that macro,
# and building with CFLAGS='-Wformat -Werror' causes any format warning to be
# treated as a failure.
t=./=test
TMPDIR ?= /tmp
t=$(TMPDIR)/$(PACKAGE)/test
my-distcheck: $(local-check)
-rm -rf $(t)
mkdir $(t)
mkdir -p $(t)
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
cd $(t)/$(distdir) \
&& ./configure --disable-nls \
@@ -211,14 +350,17 @@ my-distcheck: $(local-check)
&& $(MAKE) dvi \
&& $(MAKE) check \
&& $(MAKE) distclean
cd $(t) && mv $(distdir) $(distdir).old \
&& $(AMTAR) -zxf ../$(distdir).tar.gz
(cd $(t) && mv $(distdir) $(distdir).old \
&& $(AMTAR) -zxf - ) < $(distdir).tar.gz
diff -ur $(t)/$(distdir).old $(t)/$(distdir)
-rm -rf $(t)
@echo "========================"; \
echo "$(distdir).tar.gz is ready for distribution"; \
echo "========================"
WGET = wget
WGETFLAGS = -C off
tgz-md5 = $(shell md5sum < $(my_distdir).tar.gz|sed 's/ -//')
tgz-sha1 = $(shell sha1sum < $(my_distdir).tar.gz|sed 's/ -//')
bz2-md5 = $(shell md5sum < $(my_distdir).tar.bz2|sed 's/ -//')
@@ -234,49 +376,36 @@ rel-check:
md5_tmp=/tmp/rel-check-md5-$$$$; \
set -e; \
trap 'status=$$?; rm -f $$tarz $$md5_tmp; exit $$status' 0 1 2 3 15; \
wget -q --output-document=$$tarz $(url); \
$(WGET) $(WGETFLAGS) -q --output-document=$$tarz $(url); \
echo "$(md5) -" > $$md5_tmp; \
md5sum -c $$md5_tmp < $$tarz
prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
news-r1 = /^[^ ].*$(THIS_VERSION_REGEXP)[]:]/
news-r2 = /^[^ ].*$(PREV_VERSION_REGEXP)[]:]/
signatures ?= $(distdir).tar.bz2.sig $(distdir).tar.gz.sig
%.sig: %
gpg --detach-sign $<
rm -f $@
gpg --armor --detach-sign -o $@ $<
rel-files = $(xd-delta) $(distdir).tar.bz2 $(distdir).tar.gz
rel-files = $(xd-delta) $(distdir).tar.bz2 $(distdir).tar.gz $(signatures)
announcement: NEWS ChangeLog $(rel-files) $(signatures)
@( \
./announce-gen \
@./announce-gen \
--release-type=$(RELEASE_TYPE) \
--package=$(PACKAGE) \
--prev=$(PREV_VERSION) \
--curr=$(VERSION) \
--rel=$(release_archive_dir) \
$(addprefix --url-dir=, $(url_dir_list)); \
echo; \
echo NEWS:; \
sed -n "$(news-r1),$(news-r2)p" NEWS \
| grep -v '^\['; \
echo; \
echo ChangeLog entries:; \
find . -name ChangeLog -maxdepth 2 \
| xargs $(CVS) diff -up -r$(prev-cvs-tag) -rHEAD \
| sed -n 's/^+//p' \
| perl -ne 'm!^\+\+ (\./)?! or print,next;' \
-e 'print "\n"."*"x70 ."\n"; s///; print; print "*"x70 ."\n"'; \
)
--release-archive-directory=$(release_archive_dir) \
--news=NEWS \
$(addprefix --url-dir=, $(url_dir_list)) \
## ---------------- ##
## Updating files. ##
## ---------------- ##
WGET = wget
ftp-gnu = ftp://ftp.gnu.org/gnu
www-gnu = http://www.gnu.org
# Use mv, if you don't have/want move-if-change.
move_if_change ?= move-if-change
@@ -301,7 +430,8 @@ do-po-update:
tmppo=/tmp/$(PACKAGE)-$(VERSION)-po &&\
rm -rf $$tmppo && \
mkdir $$tmppo && \
(cd $$tmppo && $(WGET) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
(cd $$tmppo && \
$(WGET) $(WGETFLAGS) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
cp $$tmppo/*.po po
cd po && $(MAKE) update-po
$(MAKE) po-check
@@ -318,10 +448,12 @@ po-update:
# The following pseudo table associates a local directory and a URL
# with each of the files that belongs to some other package and is
# regularly updated from the specified URL.
wget_files ?= $(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/src/ansi2knr.c \
$(srcdir)/config/texinfo.tex
wget_files ?= \
$(srcdir)/config/config.guess \
$(srcdir)/config/config.sub \
$(srcdir)/config/texinfo.tex \
$(srcdir)/src/ansi2knr.c
get-targets = $(patsubst %, get-%, $(wget_files))
config.guess-url_prefix = $(ftp-gnu)/config/
@@ -331,20 +463,23 @@ ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/
texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/
standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/
make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/
standards.texi-url_prefix = $(www-gnu)/prep/
make-stds.texi-url_prefix = $(standards.texi-url_prefix)
target = $(patsubst get-%, %, $@)
url = $($(notdir $(target))-url_prefix)$(notdir $(target))
.PHONY: $(get-targets)
$(get-targets):
$(WGET) $(url) -O $(target).t \
$(WGET) $(WGETFLAGS) $(url) -O $(target).t \
&& $(move_if_change) $(target).t $(target)
cvs_files ?= $(srcdir)/config/depcomp $(srcdir)/config/missing \
$(srcdir)/config/mkinstalldirs \
$(srcdir)/config/install-sh $(srcdir)/src/ansi2knr.c
cvs_files ?= \
$(srcdir)/config/depcomp \
$(srcdir)/config/install-sh \
$(srcdir)/config/missing \
$(srcdir)/config/mkinstalldirs \
$(srcdir)/src/ansi2knr.c
automake_repo=:pserver:anoncvs:anoncvs@sources.redhat.com:/cvs/automake
.PHONY: wget-update
wget-update: $(get-targets)
@@ -376,12 +511,11 @@ endef
$(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
xdelta delta -9 $^ $@ || :
.PHONY: alpha release
alpha: release
release: $(local-check)
.PHONY: alpha beta major
alpha beta major: news-date-check $(local-check)
$(MAKE) cvs-dist
$(MAKE) $(xd-delta)
$(MAKE) -s announcement > /tmp/announce-$(my_distdir)
$(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
ln $(rel-files) $(release_archive_dir)
chmod a-w $(rel-files)
echo $(VERSION) > $(prev_version_file)

338
NEWS
View File

@@ -1,6 +1,340 @@
GNU coreutils NEWS -*- outline -*-
* Major changes in release 5.1.1 (2004-01-17):
** Configuration option
You can select the default level of POSIX conformance at configure-time,
e.g., by ./configure DEFAULT_POSIX2_VERSION=199209
** Bug fixes
fold -s works once again on systems with differing sizes for int
and size_t (bug introduced in 5.1.0)
** New features
touch -r now specifies the origin for any relative times in the -d
operand, if both options are given. For example, "touch -r FOO -d
'-5 seconds' BAR" sets BAR's modification time to be five seconds
before FOO's.
join: The obsolete options "-j1 FIELD", "-j2 FIELD", and
"-o LIST1 LIST2..." are no longer supported on POSIX 1003.1-2001 systems.
Portable scripts should use "-1 FIELD", "-2 FIELD", and
"-o LIST1,LIST2..." respectively. If join was compiled on a
POSIX 1003.1-2001 system, you may enable the old behavior
by setting _POSIX2_VERSION=199209 in your environment.
* Major changes in release 5.1.0 (2003-12-21):
** New features
chgrp, chmod, and chown can now process (with -R) hierarchies of virtually
unlimited depth. Before, they would fail to operate on any file they
encountered with a relative name of length PATH_MAX (often 4096) or longer.
chgrp, chmod, chown, and rm accept the new options:
--preserve-root, --no-preserve-root (default)
chgrp and chown now accept POSIX-mandated -L, -H, and -P options
du can now process hierarchies of virtually unlimited depth.
Before, du was limited by the user's stack size and it would get a
stack overflow error (often a segmentation fault) when applied to
a hierarchy of depth around 30,000 or larger.
du works even when run from an inaccessible directory
du -D now dereferences all symlinks specified on the command line,
not just the ones that reference directories
du now accepts -P (--no-dereference), for compatibility with du
of NetBSD and for consistency with e.g., chown and chgrp
du's -H option will soon have the meaning required by POSIX
(--dereference-args, aka -D) rather then the current meaning of --si.
Now, using -H elicits a warning to that effect.
When given -l and similar options, ls now adjusts the output column
widths to fit the data, so that output lines are shorter and have
columns that line up better. This may adversely affect shell
scripts that expect fixed-width columns, but such shell scripts were
not portable anyway, even with old GNU ls where the columns became
ragged when a datum was too wide.
du accepts a new option, -0/--null, to make it produce NUL-terminated
output lines
** Bug fixes
printf, seq, tail, and sleep now parse floating-point operands
and options in the C locale. POSIX requires this for printf.
od -c -w9999999 no longer segfaults
csplit no longer reads from freed memory (dumping core on some systems)
csplit would mistakenly exhaust virtual memory in some cases
ls --width=N (for very large N) is no longer subject to an address
arithmetic bug that could result in bounds violations.
ls --width=N (with -x or -C) no longer allocates more space
(potentially much more) than necessary for a given directory.
dd `unblock' and `sync' may now be combined (e.g., dd conv=unblock,sync)
* Major changes in release 5.0.91 (2003-09-08):
** New features
date accepts a new option --rfc-2822, an alias for --rfc-822.
split accepts a new option -d or --numeric-suffixes.
cp, install, mv, and touch now preserve microsecond resolution on
file timestamps, on platforms that have the 'utimes' system call.
Unfortunately there is no system call yet to preserve file
timestamps to their full nanosecond resolution; microsecond
resolution is the best we can do right now.
sort now supports the zero byte (NUL) as a field separator; use -t '\0'.
The -t '' option, which formerly had no effect, is now an error.
sort option order no longer matters for the options -S, -d, -i, -o, and -t.
Stronger options override weaker, and incompatible options are diagnosed.
`sha1sum --check' now accepts the BSD format for SHA1 message digests
in addition to the BSD format for MD5 ones.
who -l now means `who --login', not `who --lookup', per POSIX.
who's -l option has been eliciting an unconditional warning about
this impending change since sh-utils-2.0.12 (April 2002).
** Bug fixes
Mistakenly renaming a file onto itself, e.g., via `mv B b' when `B' is
the same directory entry as `b' no longer destroys the directory entry
referenced by both `b' and `B'. Note that this would happen only on
file systems like VFAT where two different names may refer to the same
directory entry, usually due to lower->upper case mapping of file names.
Now, the above can happen only on file systems that perform name mapping and
that support hard links (stat.st_nlink > 1). This mitigates the problem
in two ways: few file systems appear to be affected (hpfs and ntfs are),
when the bug is triggered, mv no longer removes the last hard link to a file.
*** ATTENTION ***: if you know how to distinguish the following two cases
without writing to the file system in question, please let me know:
1) B and b refer to the same directory entry on a file system like NTFS
(B may well have a link count larger than 1)
2) B and b are hard links to the same file
stat no longer overruns a buffer for format strings ending in `%'
fold -s -wN would infloop for N < 8 with TABs in the input.
E.g., this would not terminate: printf 'a\t' | fold -w2 -s
`split -a0', although of questionable utility, is accepted once again.
`df DIR' used to hang under some conditions on OSF/1 5.1. Now it doesn't.
seq's --width (-w) option now works properly even when the endpoint
requiring the larger width is negative and smaller than the other endpoint.
seq's default step is 1, even if LAST < FIRST.
paste no longer mistakenly outputs 0xFF bytes for a nonempty input file
without a trailing newline.
`tail -n0 -f FILE' and `tail -c0 -f FILE' no longer perform what amounted
to a busy wait, rather than sleeping between iterations.
tail's long-undocumented --allow-missing option now elicits a warning
* Major changes in release 5.0.90 (2003-07-29):
** New features
sort is now up to 30% more CPU-efficient in some cases
`test' is now more compatible with Bash and POSIX:
`test -t', `test --help', and `test --version' now silently exit
with status 0. To test whether standard output is a terminal, use
`test -t 1'. To get help and version info for `test', use
`[ --help' and `[ --version'.
`test' now exits with status 2 (not 1) if there is an error.
wc count field widths now are heuristically adjusted depending on the input
size, if known. If only one count is printed, it is guaranteed to
be printed without leading spaces.
Previously, wc did not align the count fields if POSIXLY_CORRECT was set,
but POSIX did not actually require this undesirable behavior, so it
has been removed.
** Bug fixes
kill no longer tries to operate on argv[0] (introduced in 5.0.1)
Why wasn't this noticed? Although many tests use kill, none of
them made an effort to avoid using the shell's built-in kill.
`[' invoked with no arguments no longer evokes a segfault
rm without --recursive (aka -r or -R) no longer prompts regarding
unwritable directories, as required by POSIX.
uniq -c now uses a SPACE, not a TAB between the count and the
corresponding line, as required by POSIX.
expr now exits with status 2 if the expression is syntactically valid,
and with status 3 if an error occurred. POSIX requires this.
expr now reports trouble if string comparison fails due to a collation error.
split now generates suffixes properly on EBCDIC hosts.
split -a0 now works, as POSIX requires.
`sort --version' and `sort --help' fail, as they should
when their output is redirected to /dev/full.
`su --version > /dev/full' now fails, as it should.
** Fewer arbitrary limitations
cut requires 97% less memory when very large field numbers or
byte offsets are specified.
* Major changes in release 5.0.1 (2003-07-15):
** New programs
- new program: `[' (much like `test')
** New features
- head now accepts --lines=-N (--bytes=-N) to print all but the
N lines (bytes) at the end of the file
- md5sum --check now accepts the output of the BSD md5sum program, e.g.,
MD5 (f) = d41d8cd98f00b204e9800998ecf8427e
- date -d DATE can now parse a DATE string like May-23-2003
- chown: `.' is no longer recognized as a separator in the OWNER:GROUP
specifier on POSIX 1003.1-2001 systems. If chown *was not* compiled
on such a system, then it still accepts `.', by default. If chown
was compiled on a POSIX 1003.1-2001 system, then you may enable the
old behavior by setting _POSIX2_VERSION=199209 in your environment.
- chown no longer tries to preserve set-user-ID and set-group-ID bits;
on some systems, the chown syscall resets those bits, and previous
versions of the chown command would call chmod to restore the original,
pre-chown(2) settings, but that behavior is problematic.
1) There was a window whereby a malicious user, M, could subvert a
chown command run by some other user and operating on files in a
directory where M has write access.
2) Before (and even now, on systems with chown(2) that doesn't reset
those bits), an unwary admin. could use chown unwittingly to create e.g.,
a set-user-ID root copy of /bin/sh.
** Bug fixes
- chown --dereference no longer leaks a file descriptor per symlink processed
- `du /' once again prints the `/' on the last line
- split's --verbose option works once again [broken in 4.5.10 and 5.0]
- tail -f is no longer subject to a race condition that could make it
delay displaying the last part of a file that had stopped growing. That
bug could also make tail -f give an unwarranted `file truncated' warning.
- du no longer runs out of file descriptors unnecessarily
- df and `readlink --canonicalize' no longer corrupt the heap on
non-glibc, non-solaris systems
- `env -u UNSET_VARIABLE' no longer dumps core on non-glibc systems
- readlink's --canonicalize option now works on systems like Solaris that
lack the canonicalize_file_name function but do have resolvepath.
- mv now removes `a' in this example on all systems: touch a; ln a b; mv a b
This behavior is contrary to POSIX (which requires that the mv command do
nothing and exit successfully), but I suspect POSIX will change.
- date's %r format directive now honors locale settings
- date's `-' (no-pad) format flag now affects the space-padded-by-default
conversion specifiers, %e, %k, %l
- fmt now diagnoses invalid obsolescent width specifications like `-72x'
- fmt now exits nonzero when unable to open an input file
- tsort now fails when given an odd number of input tokens,
as required by POSIX. Before, it would act as if the final token
appeared one additional time.
** Fewer arbitrary limitations
- tail's byte and line counts are no longer limited to OFF_T_MAX.
Now the limit is UINTMAX_MAX (usually 2^64).
- split can now handle --bytes=N and --lines=N with N=2^31 or more.
** Portability
- `kill -t' now prints signal descriptions (rather than `?') on systems
like Tru64 with __sys_siglist but no strsignal function.
- stat.c now compiles on Ultrix systems
- sleep now works on AIX systems that lack support for clock_gettime
- rm now works around Darwin6.5's broken readdir function
Before `rm -rf DIR' would fail to remove all files in DIR
if there were more than 338.
* Major changes in release 5.0 (2003-04-02):
- false --help now exits nonzero
[4.5.12]
* printf no longer treats \x specially when POSIXLY_CORRECT is set
* printf avoids buffer overrun with format ending in a backslash and
* printf avoids buffer overrun with incomplete conversion specifier
* printf accepts multiple flags in a single conversion specifier
[4.5.11]
* seq no longer requires that a field width be specified
* seq no longer fails when given a field width of `0'
* seq now accepts ` ' and `'' as valid format flag characters
* df now shows a HOSTNAME: prefix for each remote-mounted file system on AIX 5.1
* portability tweaks for HP-UX, AIX 5.1, DJGPP
[4.5.10]
* printf no longer segfaults for a negative field width or precision
* shred now always enables --exact for non-regular files
* du no longer lists hard-linked files more than once
* du no longer dumps core on some systems due to `infinite' recursion
via nftw's use of the buggy replacement function in getcwd.c
* portability patches for a few vendor compilers and 64-bit systems
* du -S *really* now works like it did before the change in 4.5.5
[4.5.9]
* du no longer truncates file sizes or sums to fit in 32-bit size_t
* work around Linux kernel bug in getcwd (fixed in 2.4.21-pre4), so that pwd
now fails if the name of the working directory is so long that getcwd
truncates it. Before it would print the truncated name and exit successfully.
* `df /some/mount-point' no longer hangs on a GNU libc system when another
hard-mounted NFS file system (preceding /some/mount-point in /proc/mounts)
is inaccessible.
* rm -rf now gives an accurate diagnostic when failing to remove a file
under certain unusual conditions
* mv and `cp --preserve=links' now preserve multiple hard links even under
certain unusual conditions where they used to fail
[4.5.8]
* du -S once again works like it did before the change in 4.5.5
* stat accepts a new file format, %B, for the size of each block reported by %b
* du accepts new option: --apparent-size
* du --bytes (-b) works the same way it did in fileutils-3.16 and before
* du reports proper sizes for directories (not zero) (broken in 4.5.6 or 4.5.7)
* df now always displays under `Filesystem', the device file name
corresponding to the listed mount point. Before, for a block- or character-
special file command line argument, df would display that argument. E.g.,
`df /dev/hda' would list `/dev/hda' as the `Filesystem', rather than say
/dev/hda3 (the device on which `/' is mounted), as it does now.
* test now works properly when invoked from a set user ID or set group ID
context and when testing access to files subject to alternate protection
mechanisms. For example, without this change, a set-UID program that invoked
`test -w F' (to see if F is writable) could mistakenly report that it *was*
writable, even though F was on a read-only file system, or F had an ACL
prohibiting write access, or F was marked as immutable.
[4.5.7]
* du would fail with more than one DIR argument when any but the last did not
contain a slash (due to a bug in ftw.c)
[4.5.6]
* du no longer segfaults on Solaris systems (fixed heap-corrupting bug in ftw.c)
* du --exclude=FILE works once again (this was broken by the rewrite for 4.5.5)
@@ -9,6 +343,7 @@
* `who -r' no longer segfaults when using non-C-locale messages
* df now displays a mount point (usually `/') for non-mounted
character-special and block files
[4.5.5]
* ls --dired produces correct byte offset for file names containing
nonprintable characters in a multibyte locale
@@ -299,6 +634,9 @@ point at which the packages merged to form the coreutils:
there is any time remaining
* who once again prints whatever host information it has, even without --lookup
========================================================================
For older NEWS entries for the fileutils, textutils, and sh-utils
packages, see ./old/*/NEWS.
This package began as the union of the following:
textutils-2.1, fileutils-4.1.11, sh-utils-2.0.15.

69
README
View File

@@ -7,7 +7,7 @@ arbitrary limits.
The programs that can be built with this package are:
basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd
[ basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd
df dir dircolors dirname du echo env expand expr factor false fmt fold
ginstall groups head hostid hostname id join kill link ln logname ls
md5sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr
@@ -19,8 +19,13 @@ See the file NEWS for a list of major changes in the current release.
See the file INSTALL for compilation and installation instructions.
These programs are intended to be POSIX.2 compliant (with BSD and other
extensions), like the rest of the GNU system.
These programs are intended to conform to POSIX (with BSD and other
extensions), like the rest of the GNU system. By default they conform
to older POSIX (1003.2-1992), and therefore support obsolete usages
like "head -10" and "chown owner.group file". This default is
overridden at build-time by the value of <unistd.h>'s _POSIX2_VERSION
macro, and this in turn can be overridden at runtime as described in
the documentation under "Standards conformance".
The ls, dir, and vdir commands are all separate executables instead of
one program that checks argv[0] because people often rename these
@@ -53,6 +58,46 @@ If you run the tests on a SunOS4.1.4 system, expect the ctime-part of
the ls `time-1' test to fail. I believe that is due to a bug in the
way Sun implemented link(2) and chmod(2).
***************************************
Last-minute notes, before coreutils-5.0
---------------------------------------
A known problem exists when compiling on HPUX on both hppa and ia64
in 64-bit mode (i.e. +DD64) on all known HPUX 11.x versions. This
is not due to a bug in the package but instead due to a bug in the
system header file which breaks things in 64-bit mode. The default
compilation mode is 32-bit and the software compiles fine using the
default mode. To build this software in 64-bit mode you will need
to fix the system /usr/include/inttypes.h header file. After
correcting that file the software also compiles fine in 64-bit mode.
Here is one possible patch to correct the problem.
--- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996
+++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003
@@ -489 +489 @@
-#ifndef __STDC_32_MODE__
+#ifndef __LP64__
If you run the tests as root, note that a few of them create files
and/or run programs as a non-root user, `nobody' by default.
If you want to use some other non-root username, specify it via
the NON_ROOT_USERNAME environment variable. Depending on the
permissions with which the working directories have been created,
using `nobody' may fail, because that use won't have the required
read and write access to the build and test directories.
I find that it is best to unpack and build as a non-privileged
user, and then to run the following command as that user in order
to run the privilege-requiring tests:
sudo env NON_ROOT_USERNAME=$USER make check
If you can run the tests as root, please do so and report any
problems. We get much less test coverage in that mode, and it's
arguably more important that these tools work well when run by
root than when run by less privileged users.
***************************************
There are pretty many tests, but nowhere near as many as we need.
Additions and corrections are very welcome.
@@ -60,17 +105,23 @@ If you see a problem that you've already reported, feel free to re-report
it -- it won't bother me to get a reminder. Besides, the more messages I
get regarding a particular problem the sooner it'll be fixed -- usually.
If you sent a complete patch and, after a couple weeks you haven't
received any acknowledgement please ping us. A complete patch includes
received any acknowledgement, please ping us. A complete patch includes
a well-written ChangeLog entry, unified (diff -u format) diffs relative
to the most recent test release, an explanation for why the patch is
to the most recent test release (or, better, relative to the latest
sources in the CVS repository), an explanation for why the patch is
necessary or useful, and if at all possible, enough information to
reproduce whatever problem prompted it.
reproduce whatever problem prompted it. Plus, you'll earn lots of
karma if you include a test case to exercise any bug(s) you fix.
Instructions for checking out the latest source via CVS are here:
http://savannah.gnu.org/cvs/?group=coreutils
If your patch adds a new feature, please try to get some sort of consensus
that it is a worthwhile change. One way to do that is to send mail to
bug-gnu-utils@gnu.org (aka the gnu.utils.bug news group) including as
much description and justification as you can. Based on the feedback
that generates, you may be able to convince us that it's worth adding.
bug-coreutils@gnu.org including as much description and justification
as you can. Based on the feedback that generates, you may be able to
convince us that it's worth adding.
WARNING: If you modify files like configure.in, m4/*.m4, aclocal.m4,

View File

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

64
THANKS
View File

@@ -6,6 +6,7 @@ files. If your name has been left out, if you'd rather not be listed,
or if you'd prefer a different address be used, please let me know.
??? kytek@cybercomm.net
A Costa agcosta@gis.net
Achim Blumensath blume@corona.oche.de
Adam Klein aklein@debian.org
Akim Demaille demaille@inf.enst.fr
@@ -27,27 +28,36 @@ Andreas Jaeger jaeger@gnu.org
Andreas Luik luik@isa.de
Andreas Schwab schwab@suse.de
Andreas Stolcke stolcke@ICSI.Berkeley.EDU
Andrei Gaponenko andr@triumf.ca
Andres Soolo andres@soolo.matti.ee
Andrew Burgess aab@cichlid.com
Andrew Dalke dalke@bioreason.com
Andrew Pham andpha@us.ibm.com
Andrew Tridgell tridge@samba.org
Andrey Borzenkov arvidjaar@mail.ru
Andries Brouwer Andries.Brouwer@cwi.nl
Andy Longton alongton@metamark.com
Antonio Rendas ajrendas@yahoo.com
Ariel Faigon ariel@cthulhu.engr.sgi.com
Arne H. Juul arnej@solan.unit.no
Arne Henrik Juul arnej@imf.unit.no
Arnold Robbins arnold@skeeve.com
Arthur Pool pool@commerce.uq.edu.au
Arun Sharma arun.sharma@intel.com
Augey Mikus mikus@dqc.org
Austin Donnelly Austin.Donnelly@cl.cam.ac.uk
Axel Kittenberger Anshil@gmx.net
Bauke Jan Douma bjdouma@xs4all.nl
Ben Elliston bje@air.net.au
Ben Harris bjh21@netbsd.org
Bengt Martensson bengt@mathematik.uni-Bremen.de
Bernard Giroud bernard.giroud@creditlyonnais.ch
Bernd Leibing bernd.leibing@rz.uni-ulm.de
Bernd Melchers melchers@cis.fu-berlin.de
Bernhard Baehr bernhard.baehr@gmx.de
Bernhard Gabler bernhard@uni-koblenz.de
Bernhard Rosenkraenzer bero@redhat.de
Bert Deknuydt Bert.Deknuydt@esat.kuleuven.ac.be
Bill Peters peters@gaffel.as.arizona.edu
Bjorn Helgaas helgaas@rsn.hp.com
Bob McCracken kerouac@ravenet.com
@@ -56,6 +66,8 @@ Branden Robinson branden@necrotic.deadbeast.net
Brendan O'Dea bod@compusol.com.au
Brian Kimball bfk@footbag.org
Brian Youmans 3diff@gnu.org
Bruce Korb bkorb@veritas.com
Bruce Robertson brucer@theodolite.dyndns.org
Bruno Haible haible@clisp.cons.org
Carl Johnson carlj@cjlinux.home.org
Carl Lowenstein cdl@mpl.UCSD.EDU
@@ -65,6 +77,7 @@ Charles Randall crandall@matchlogic.com
Chip Salzenberg chip@valinux.com
Chris Faylor cgf@cygnus.com
Chris J. Bednar cjb@AdvancedDataSolutions.com
Chris Lesniewski ctl@mit.edu
Chris Sylvain csylvain@umm.edu
Chris Yeo cyeo@biking.org
Christi Alice Scarborough christi@chiark.greenend.org.uk
@@ -74,25 +87,33 @@ Christian Rose menthos@menthos.com
Christian von Roques roques@pond.sub.org
Chuck Hedrick hedrick@klinzhai.rutgers.edu
Clark Morgan cmorgan@aracnet.com
Clement Wang clem.wang@overture.com
Colin Plumb colin@nyx.net
Colin Watson cjw44@riva.ucam.org
Collin Rogowski collin@rogowski.de
Cray-Cyber Project http://www.cray-cyber.org
Dale Scheetz dwarf@polaris.net
Dan Hagerty hag@gnu.ai.it.edu
Dan Jacobson http://www.geocities.com/jidani
Dan Pascu dan@services.iiruc.ro
Daniel Bergstrom noa@melody.se
Dániel Varga danielv@axelero.hu
Danny Levinson danny.levinson@overture.com
Darren Salt ds@youmustbejoking.demon.co.uk
Dave Beckett dajobe@dajobe.org
David Dyck dcd@tc.fluke.COM
David Eisner cradle@umd.edu
David Flynn dav@chess.plus.com
David Godfrey dave@delta.demon.co.uk
David Luyer david_luyer@pacific.net.au
Deepak Goel deego@gnufans.org
Dennis Henriksen opus@flamingo.osrl.dk
Dennis Smit ds@nerds-incorporated.org
Derek Clegg dclegg@next.com
Dick Streefland dick_streefland@tasking.com
Dirk Lattermann dlatt@t-online.de
Dirk-Jan Faber djfaber@snow.nl
Dmitry Rutsky rutsky@school.ioffe.rssi.ru
Dmitry V. Levin ldv@altlinux.org
Don Parsons dparsons@synapse.kent.edu
Donni Erpel donald@appc11.gsi.de
@@ -126,7 +147,9 @@ Gabor Z. Papp gzp@gzp.org.hu
Gaël Quéri gqueri@mail.dotcom.fr
Galen Hazelwood galenh@micron.net
Gary Anderson ganderson@clark.net
Gary V. Vaughan gary@gnu.org
Gaute Hvoslef Kvalnes gaute@verdsveven.com
Geoff Collyer geoff at collyer.net
Geoff Kuenning geoff@cs.hmc.edu
Geoff Odhner geoff@franklin.com
Geoff Whale geoffw@cse.unsw.EDU.AU
@@ -145,6 +168,7 @@ Hans Ginzel hans@matfyz.cz
Hans Lermen lermen@fgan.de
Hans Verkuil hans@wyst.hobby.nl
Harry Liu rliu@lek.ugcs.caltech.edu
Harti Brandt brandt@fokus.fraunhofer.de
Herbert Xu herbert@gondor.apana.org.au
Holger Berger hberger@ess.nec.de
Hon-Yin Kok hkok@yoda.unl.edu
@@ -154,6 +178,8 @@ Ian Jackson ijackson@chiark.greenend.org.uk
Ian Lance Taylor ian@cygnus.com
Ian Turner vectro@pipeline.com
Iida Yosiaki iida@gnu.org
Ingo Saitz ingo@debian.org
Ivo Timmermans ivo@debian.org
James james@albion.glarp.com
James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk
James Sneeringer jvs@ocslink.com
@@ -164,10 +190,13 @@ Jan Fedak J.Fedak@sh.cvut.cz
Jan Nieuwenhuizen janneke@gnu.org
Janos Farkas chexum@shadow.banki.hu
Jarkko Hietaniemi jhi@epsilon.hut.fi
Jean Charles Delepine delepine@u-picardie.fr
Jeff Moore jbm@mordor.com
Jeff Sheinberg jeffsh@localnet.com
Jeff Sheinberg jeff@bsrd.net
Jens Elkner elkner@imsgroup.de
Jens Schmidt jms@jsds.hamburg.com
Jerome Abela abela@hsc.fr
Jérôme Zago bug-coreutils-ml@agt-the-walker.net
Jesse Thilo jgt2@eecs.lehigh.edu
Jie Xu xuj@iag.net
Jim Blandy jimb@cyclic.com
@@ -192,28 +221,32 @@ Joseph S. Myers jsm28@cam.ac.uk
Juan F. Codagnone juam@arnet.com.ar
Jungshik Shin jshin@pantheon.yale.edu
Jürgen Fluk louis@dachau.marco.de
Jurriaan thunder7@xs4all.nl
jvogel jvogel@linkny.com
Kai Henningsen kai@debian.org
Kai-Uwe Rommel rommel@informatik.tu-muenchen.de
Kalle Olavi Niemitalo tosi@stekt.oulu.fi
Kalle Olavi Niemitalo kon@iki.fi
Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu
Karl Eichwalder keichwa@gmx.net
Karl Heuer kwzh@gnu.org
Karl-Michael Schneider schneide@phil.uni-passau.de
Karsten Thygesen karthy@kom.auc.dk
Kaveh R. Ghazi ghazi@caip.rutgers.edu
Keith M. Briggs keith.briggs@bt.com
Keith Owens kaos@audio.apana.org.au
Keith Thompson kst@sdsc.edu
Keith Thompson kst@cts.com
Ken Pizzini kenp@halcyon.com
Kristin E Thomas kristint@us.ibm.com
Kjetil Torgrim Homme kjetilho@ifi.uio.no
Kristoffer Rose kris@diku.dk
Larry McVoy lm@sgi.com
Lars Hecking lhecking@nmrc.ucc.ie
Leah Q eequor@earthlink.net
Lehti Rami rammer@cs.tut.fi
Leonard N. Zubkoff lnz@dandelion.com
Leonardo Milano lmilano@udel.edu
Lorne Baker lbaker@nitro.avint.net
Luke Hassell lukehassell@yahoo.com
M. P. Suzuki mpsuzuki@hiroshima-u.ac.jp
Maciej Kwapulinski pikpok@univ.gda.pl
Manas Garg manas@cygsoft.com
@@ -224,10 +257,12 @@ Marco Franzen Marco.Franzen@Thyron.com
Marcus Brinkmann http://www.marcus-brinkmann.de
Marcus Daniels marcus@ee.pdx.edu
Mark A. Thomas thommark@access.digex.net
Mark Conty Mark_Conty@cargill.com
Mark D. Roth roth@uiuc.edu
Mark Harris mark@monitor.designacc.com
Mark Hewitt mhewitt@armature.com
Mark Hounschell markh@compro.net
Mark Hubbart discord@mac.com
Mark Kettenis kettenis@phys.uva.nl
Mark Nudelman marknu@flash.net
Mark W. Eichin eichin@cygnus.com
@@ -252,14 +287,17 @@ Matthew S. Levine mslevine@theory.lcs.mit.edu
Matthew Smith matts@bluesguitar.org
Matthew Swift swift@alum.mit.edu
Matthias Urlichs smurf@noris.de
Matti Aarnio matti.aarnio@zmailer.org
Mattias Wadenstein maswan@acc.umu.se
Meelis Roos mroos@tartu.cyber.ee
Michael ??? michael@roka.net
Michael Bacarella mbac@netgraft.com>
Michael Deutschmann michael@talamasca.ocis.net
Michael Gaughen mgaughen@polyserve.com
Michael Hasselberg mikelh@zonta.ping.de
Michael Hohn hohn@math.utah.edu
Michael J. Croghan mcroghan@usatoday.com
Michael McFarland sidlon@yahoo.com
Michael Piefel piefel@informatik.hu-berlin.de
Michael Steffens michael.steffens@s.netic.de
Michael Stone mstone@debian.org
@@ -272,6 +310,7 @@ Michel Robitaille robitail@IRO.UMontreal.CA
Michiel Bacchiani bacchian@raven.bu.edu
Mike Castle dalgoda@ix.netcom.com
Mike Coleman mkc@mathdogs.com
Mike Jetzer mjetzer@mke.catalystwms.com
Mikko Tuumanen m@sorvankyla.yok.utu.fi
Miles Bader miles@gnu.ai.mit.edu
Minh Tran-Le tranle@intellicorp.com
@@ -279,18 +318,25 @@ Morten Welinder terra@diku.dk
Neal H Walfield neal@cs.uml.edu
Neil Brown neilb@cse.unsw.edu.au
Nelson H. F. Beebe beebe@math.utah.edu
Nick Estes debian@nickstoys.com
Nick Lawes nlawes@silverplatter.com
Niklas Edmundsson nikke@acc.umu.se
Nikola Milutinovic Nikola.Milutinovic@ev.co.yu
Noah Friedman friedman@splode.com
Noel Cragg noel@red-bean.com
Olatunji Oluwabukunmi Ruwase tjruwase@stanford.edu
Olav Morkrid olav@funcom.com
Ole Laursen olau@hardworking.dk
Oliver Kiddle okiddle@yahoo.co.uk
Ørn E. Hansen oehansen@daimi.aau.dk
Oskar Liljeblad osk@hem.passagen.se
Patrick Mauritz oxygene@studentenbude.ath.cx
Paul Eggert eggert@twinsun.com
Paul Jarc prj@po.cwru.edu
Paul Nevai nevai@ops.mps.ohio-state.edu
Paul Sauer paul@alexa.com
Paul Slootman paul@debian.org
Paul Worrall paul@basilisk.uklinux.net
Pawel Prokop pablo@wizard.ae.krakow.pl
Per Cederqvist ceder@lysator.liu.se
Per Kristian Hove perhov@math.ntnu.no
@@ -312,8 +358,9 @@ Ralf W. Stephan stephan@tmt.de
Ralph Loader loader@maths.ox.ac.uk
Raul Miller moth@magenta.com
Raúl Núñez de Arenas Coronado raul@pleyades.net
Richard A Downing richard.downing@bcs.org.uk
Richard Braakman dark@xs4all.nl
Richard Dawe richdawe@bigfoot.com
Richard Dawe rich@phekda.freeserve.co.uk
Richard J. Rauenzahn rrauenza@hairball.cup.hp.com
Richard Neill rn214@hermes.cam.ac.uk
Richard Sharman rsharman@magmacom.com
@@ -321,6 +368,7 @@ Rick Sladkey jrs@world.std.com
Rik Faith faith@cs.unc.edu
Risto Kankkunen kankkune@lingsoft.fi
Robert H. de Vries robert@and.nl
Robert Millan zeratul2@wanadoo.es
Rogier Wolff R.E.Wolff@BitWizard.nl
Roland Huebner ro-huebner@gmx.de
Roland Turner raz@raz.cx
@@ -329,6 +377,7 @@ 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
Samuel Tardieu sam@rfc1149.net
Samuli Karkkainen Samuli.Karkkainen@hut.fi
Sander van Malssen svm@kozmix.ow.nl
Santiago Vila Doncel sanvila@unex.es
@@ -345,6 +394,7 @@ Stephen Gildea gildea@stop.mail-abuse.org
Stephen Smoogen smooge@mindspring.com
Steve McConnel steve@acadcomp.sil.org
Steven G. Johnson stevenj@alum.mit.edu
Steven Mocking ufo@quicknet.nl
Steven P Watson steven@magelico.net
Stuart Kemp skemp@peter.bmc.com
Tadayoshi Funaba tadf@kt.rim.or.jp
@@ -352,13 +402,16 @@ TAKAI Kousuke takai@vlsi.kuee.kyoto-u.ac.jp
Theodore Ts'o tytso@rsts-11.mit.edu
Thomas Bushnell thomas@gnu.ai.mit.edu
Thomas Goerlich thomas@schnappmatik.de
Thomas Luzat thomas@luzat.com
Thomas Quinot thomas@Cuivre.FR.EU.ORG
Tim J. Robbins tjr@FreeBSD.org
Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu
Tim Smithers mouse@dmouse.com.au
Tim Waugh twaugh@redhat
Todd A. Jacobs tjacobs@codegnome.org
Tom Haynes thomas@netapp.com
Tom Quinn trq@dionysos.thphys.ox.ac.uk
Tommi Kyntola tkyntola@cc.hut.fi
Ton Hospel thospel@mail.dma.be
Tony Kocurko akocurko@mun.ca
Tony Leneis tony@plaza.ds.adp.com
@@ -372,6 +425,8 @@ Uwe H. Steinfeld usteinfeld@gmx.net
Vesselin Atanasov vesselin@bgnet.bg
Vin Shelton acs@alumni.princeton.edu
Volker Borchert bt@teknon.de
Volker Paul vpaul@dohle.com
Wartan Hachaturow wart@tepkom.ru
Wayne Stewart wstewa@atl.com
Wenjun Zheng zwj@yahoo.com
Werner Almesberger Werner.Almesberger@epfl.ch
@@ -384,4 +439,5 @@ wiregauze wiregauze@yahoo.com
Wojciech Purczynski cliph@isec.pl
Wolfram Kleff kleff@cs.uni-bonn.de
Won-kyu Park wkpark@chem.skku.ac.kr
Yann Dirson dirson@debian.org
Zvi Har'El rl@math.technion.ac.il

131
TODO
View File

@@ -1,17 +1,140 @@
restore djgpp, eventually
merge TODO lists
add unit tests for lib/*.c
rewrite du.c not to use explicit recursion
strip: add an option to specify the program used to strip binaries.
suggestion from Karl Berry
Makefile.maint: extract announcement-generation into a perl script
doc/coreutils.texi:
Address this comment: FIXME: mv's behavior in this case is system-dependent
Better still: fix the code so it's *not* system-dependent.
implement --target-directory=DIR for install (per texinfo documentation)
du: make it so du is not stack-limited by depth of hierarchy
ls: add --format=FORMAT option that controls how each line is printed.
cp --no-preserve=X should not attempt to preserve attribute X
reported by Andreas Schwab
copy.c: Address the FIXME-maybe comment in copy_internal.
And once that's done, add an exclusion so that `cp --link'
no longer incurs the overhead of saving src. dev/ino and dest. filename
in the hash table.
See if we can be consistent about where --verbose sends its output:
These all send --verbose output to stdout:
head, tail, rm, cp, mv, ln, chmod, chown, chgrp, install, ln
These send it to stderr:
shred mkdir split
readlink is different
Write an autoconf test to work around build failure in HPUX's 64-bit mode.
See notes in README -- and remove them once there's a work-around.
Integrate use of sendfile, suggested here:
http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html
I don't plan to do that, since a few tests demonstrate no significant benefit.
Should printf '\0123' print "\n3"?
per report from TAKAI Kousuke on Mar 27
http://mail.gnu.org/archive/html/bug-coreutils/2003-03/index.html
printf: consider adapting builtins/printf.def from bash
df: add `--total' option, suggested here http://bugs.debian.org/186007
seq: give better diagnostics for invalid formats:
e.g. no or too many % directives
seq: consider allowing format string to contain no %-directives
dd: consider adding an option to suppress `bytes/block read/written'
output to stderr. Suggested here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045
m4: rename all macros that start with AC_ to start with another prefix
resolve RH report on cp -a forwarded by Tim Waugh
Martin Michlmayr's patch to provide ls with `--sort directory' option
tail: don't use xlseek; it *exits*.
Instead, maybe use a macro and return nonzero.
add mktemp? Suggested by Nelson Beebe
Now that AC_FUNC_LSTAT and AC_FUNC_STAT are in autoconf,
remove m4/stat.m4 and m4/lstat.m4.
df: alignment problem of `Used' heading with e.g., -mP
reported by Karl Berry
tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR
fix tail -f to work with named pipes; reported by Ian D. Allen
$ mkfifo j; tail -f j & sleep 1; echo x > j
./tail: j: file truncated
./tail: j: cannot seek to offset 0: Illegal seek
lib/strftime.c: Since %N is the only format that we need but that
glibc's strftime doesn't support, consider using a wrapper that
would expand /%(-_)?\d*N/ to the desired string and then pass the
resulting string to glibc's strftime.
sort: Compress temporary files when doing large external sort/merges.
This improves performance when you can compress/uncompress faster than
you can read/write, which is common in these days of fast CPUs.
suggestion from Charles Randall on 2001-08-10
sort: Add an ordering option -R that causes 'sort' to sort according
to a random permutation of the correct sort order. Also, add an
option --random-seed=SEED that causes 'sort' to use an arbitrary
string SEED to select which permutations to use, in a deterministic
manner: that is, if you sort a permutation of the same input file
with the same --random-seed=SEED option twice, you'll get the same
output. The default SEED is chosen at random, and contains enough
information to ensure that the output permutation is random.
suggestion from Feth AREZKI, Stephan Kasal, and Paul Eggert on 2003-07-17
unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html]
printf 'x\t \t y\n'|unexpand -t 8,9 should print its input, unmodified.
printf 'x\t \t y\n'|unexpand -t 5,8 should print "x\ty\n"
Let GNU su use the `wheel' group if appropriate.
(there are a couple patches, already)
sort: Investigate better sorting algorithms; see Knuth vol. 3.
We tried list merge sort, but it was about 50% slower than the
recursive algorithm currently used by sortlines, and it used more
comparisons. We're not sure why this was, as the theory suggests it
should do fewer comparisons, so perhaps this should be revisited.
List merge sort was implemented in the style of Knuth algorithm
5.2.4L, with the optimization suggested by exercise 5.2.4-22. The
test case was 140,213,394 bytes, 426,4424 lines, text taken from the
GCC 3.3 distribution, sort.c compiled with GCC 2.95.4 and running on
Debian 3.0r1 GNU/Linux, 2.4GHz Pentium 4, single pass with no
temporary files and plenty of RAM.
Since comparisons seem to be the bottleneck, perhaps the best
algorithm to try next should be merge insertion. See Knuth section
5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American
Mathematical Monthly 66 (1959), 387-389.
cp --recursive: perform dir traversals in source and dest hierarchy rather
than forming full file names. The latter (current) approach fails
unnecessarily when the names become very long.
du and wc: add an option, --from0-file, to make them read NUL-delimited
file name arguments from a file.
tail --p is now ambiguous
patch from Olivier Delhomme
Remove suspicious uses of alloca (ones that may allocate more than
about 4k)
Move help2man from man/ to config?
Adapt these contribution guidelines for coreutils:
http://sources.redhat.com/automake/contribute.html

View File

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

6441
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@@ -6,9 +6,11 @@ use Getopt::Long;
use Digest::MD5;
use Digest::SHA1;
(my $VERSION = '$Revision: 1.4 $ ') =~ tr/[0-9].//cd;
(my $VERSION = '$Revision: 1.19 $ ') =~ tr/[0-9].//cd;
(my $ME = $0) =~ s|.*/||;
my %valid_release_types = map {$_ => 1} qw (alpha beta major);
END
{
# Nobody ever checks the status of print()s. That's okay, because
@@ -44,6 +46,7 @@ sub usage ($)
}
else
{
my @types = sort keys %valid_release_types;
print $STREAM <<EOF;
Usage: $ME [OPTIONS]
@@ -53,11 +56,13 @@ OPTIONS:
FIXME: describe the following
--release-type=TYPE TYPE must be one of @types
--package-name=PACKAGE_NAME
--previous-version=VER
--current-version=VER
--release-archive-directory=DIR
--url-directory=URL_DIR
--news=NEWS_FILE optional
--help display this help and exit
--version output version information and exit
@@ -67,20 +72,151 @@ EOF
exit $exit_code;
}
sub print_news_deltas ($$$)
{
my ($news_file, $prev_version, $curr_version) = @_;
print "\n$news_file\n\n";
# Print all lines from $news_file, starting with the first one
# that mentions $curr_version up to but not including
# the first occurrence of $prev_version.
my $in_items;
open NEWS, '<', $news_file
or die "$ME: $news_file: cannot open for reading: $!\n";
while (defined (my $line = <NEWS>))
{
if ( ! $in_items)
{
# Match lines like this one:
# * Major changes in release 5.0.1:
# but not any other line that starts with a space, *, or -.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$curr_version\E/o
or next;
$in_items = 1;
print $line;
}
else
{
# Be careful that this regexp cannot match version numbers
# in NEWS items -- they might well say `introduced in 4.5.5',
# and we don't want that to match.
$line =~ /^(\* Major changes.*|[^ *-].*)\Q$prev_version\E/o
and last;
print $line;
}
}
close NEWS;
$in_items
or die "$ME: $news_file: no matching lines for `$curr_version'\n";
}
sub print_changelog_deltas ($$)
{
my ($package_name, $prev_version) = @_;
# Print new ChangeLog entries.
# First find all CVS-controlled ChangeLog files.
use File::Find;
my @changelog;
find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS'
and push @changelog, $File::Find::name}},
'.');
# If there are no ChangeLog files, we're done.
@changelog
or return;
my %changelog = map {$_ => 1} @changelog;
# Reorder the list of files so that if there are ChangeLog
# files in the specified directories, they're listed first,
# in this order:
my @dir = qw ( . src lib m4 config doc );
# A typical @changelog array might look like this:
# ./ChangeLog
# ./po/ChangeLog
# ./m4/ChangeLog
# ./lib/ChangeLog
# ./doc/ChangeLog
# ./config/ChangeLog
my @reordered;
foreach my $d (@dir)
{
my $dot_slash = $d eq '.' ? $d : "./$d";
my $target = "$dot_slash/ChangeLog";
delete $changelog{$target}
and push @reordered, $target;
}
# Append any remaining ChangeLog files.
push @reordered, sort keys %changelog;
# Remove leading `./'.
@reordered = map { s!^\./!!; $_ } @reordered;
print "\nChangeLog entries:\n\n";
# print join ("\n", @reordered), "\n";
$prev_version =~ s/\./_/g;
my $prev_cvs_tag = "\U$package_name\E-$prev_version";
my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered";
open DIFF, '-|', $cmd
or die "$ME: cannot run `$cmd': $!\n";
# Print two types of lines, making minor changes:
# Lines starting with `+++ ', e.g.,
# +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247
# and those starting with `+'.
# Don't print the others.
my $prev_printed_line_empty = 1;
while (defined (my $line = <DIFF>))
{
if ($line =~ /^\+\+\+ /)
{
my $separator = "*"x70 ."\n";
$line =~ s///;
$line =~ s/\s.*//;
$prev_printed_line_empty
or print "\n";
print $separator, $line, $separator;
}
elsif ($line =~ /^\+/)
{
$line =~ s///;
print $line;
$prev_printed_line_empty = ($line =~ /^$/);
}
}
close DIFF;
# The exit code should be 1.
# Allow in case there are no modified ChangeLog entries.
$? == 256 || $? == 128
or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n";
}
{
my $release_type;
my $package_name;
my $prev_version;
my $curr_version;
my $release_archive_dir;
my @url_dir_list;
my @news_file;
GetOptions
(
'release-type=s' => \$release_type,
'package-name=s' => \$package_name,
'previous-version=s' => \$prev_version,
'current-version=s' => \$curr_version,
'release-archive-directory=s' => \$release_archive_dir,
'url-directory=s@' => \@url_dir_list,
'url-directory=s' => \@url_dir_list,
'news=s' => \@news_file,
help => sub { usage 0 },
version => sub { print "$ME version $VERSION\n"; exit },
@@ -88,16 +224,21 @@ EOF
my $fail = 0;
# Ensure that sure each required option is specified.
$release_type
or (warn "$ME: release type not specified\n"), $fail = 1;
$package_name
or (warn "$ME: missing package name\n"), $fail = 1;
or (warn "$ME: package name not specified\n"), $fail = 1;
$prev_version
or (warn "$ME: missing previous version string\n"), $fail = 1;
or (warn "$ME: previous version string not specified\n"), $fail = 1;
$curr_version
or (warn "$ME: missing current version string\n"), $fail = 1;
or (warn "$ME: current version string not specified\n"), $fail = 1;
$release_archive_dir
or (warn "$ME: missing release directory name\n"), $fail = 1;
or (warn "$ME: release directory name not specified\n"), $fail = 1;
@url_dir_list
or (warn "$ME: missing URL directory name(s)\n"), $fail = 1;
or (warn "$ME: URL directory name(s) not specified\n"), $fail = 1;
exists $valid_release_types{$release_type}
or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1;
@ARGV
and (warn "$ME: too many arguments\n"), $fail = 1;
@@ -111,7 +252,7 @@ EOF
my %size;
foreach my $f (($tgz, $tbz, $xd))
foreach my $f ($tgz, $tbz, $xd)
{
my $cmd = "du --human $f";
my $t = `$cmd`;
@@ -126,16 +267,19 @@ EOF
$fail
and exit 1;
# The markup is escaped as <\# so that when this script is sent by
# mail (or part of a diff), Gnus is not triggered.
print <<EOF;
Subject: $my_distdir released
<#secure method=pgpmime mode=sign>
<\#secure method=pgpmime mode=sign>
FIXME: put comments here
EOF
print "Here are the compressed sources:\n";
foreach my $url (@url_dir_list)
{
print " $url/$tgz ($size{$tgz})\n";
@@ -151,8 +295,8 @@ EOF
print "\nHere are GPG detached signatures:\n";
foreach my $url (@url_dir_list)
{
print " $url/$tgz.sig\n";
print " $url/$tbz.sig\n";
print " $url/$tgz.asc\n";
print " $url/$tbz.asc\n";
}
# FIXME: clean up upon interrupt or die
@@ -162,15 +306,17 @@ EOF
print "\nHere are the MD5 and SHA1 signatures:\n";
print "\n";
print "<#part type=text/plain filename=\"$tmp\" disposition=inline>\n"
. "<#/part>\n";
# The markup is escaped as <\# so that when this script is sent by
# mail (or part of a diff), Gnus is not triggered.
print "<\#part type=text/plain filename=\"$tmp\" disposition=inline>\n"
. "<\#/part>\n";
open OUT, '>', $tmp
or die "$ME: $tmp: cannot open for writing: $!\n";
foreach my $meth (qw (md5 sha1))
{
foreach my $f (($tgz, $tbz, $xd))
foreach my $f ($tgz, $tbz, $xd)
{
open IN, '<', $f
or die "$ME: $f: cannot open for reading: $!\n";
@@ -188,14 +334,30 @@ EOF
or die "$ME: $tmp: while writing: $!\n";
chmod 0400, $tmp; # ignore failure
# FIXME: depend on whether it's a test release
# sed -n "$news-r1),$news-r2)p" NEWS
# | grep -v '^\[';
# echo;
# echo ChangeLog entries:;
# find . -name ChangeLog -maxdepth 2
# | xargs $(CVS) diff -up -r$(prev-cvs-tag) -rHEAD
# | sed -n 's/^+//p'
# | perl -ne 'm!^\+\+ (\./)?! or print,next;'
# -e 'print "\n"."*"x70 ."\n"; s///; print; print "*"x70 ."\n"';
print_news_deltas ($_, $prev_version, $curr_version)
foreach @news_file;
$release_type eq 'major'
or print_changelog_deltas ($package_name, $prev_version);
exit 0;
}
### Setup "GNU" style for perl-mode and cperl-mode.
## Local Variables:
## perl-indent-level: 2
## perl-continued-statement-offset: 2
## perl-continued-brace-offset: 0
## perl-brace-offset: 0
## perl-brace-imaginary-offset: 0
## perl-label-offset: -2
## cperl-indent-level: 2
## cperl-brace-offset: 0
## cperl-continued-brace-offset: 0
## cperl-label-offset: -2
## cperl-extra-newline-before-brace: t
## cperl-merge-trailing-else: nil
## cperl-continued-statement-offset: 2
## End:

View File

@@ -23,6 +23,18 @@
/* Define to 1 if using `getloadavg.c'. */
#undef C_GETLOADAVG
/* Define the default level of POSIX conformance. The value is of the form
YYYYMM, specifying the year and month the standard was adopted. If not
defined here, it defaults to the value of _POSIX2_VERSION in <unistd.h>.
Define to 199209 to default to POSIX 1003.2-1992, which makes standard
programs like `head', `tail', and `sort' accept obsolete options like `+10'
and `-10'. Define to 200112 to default to POSIX 1003.1-2001, which makes
these standard programs treat leading-`+' operands as file names and
require modern usages like `-n 10' instead of `-10'. Whether defined here
or not, the default can be overridden at run time via the _POSIX2_VERSION
environment variable. */
#undef DEFAULT_POSIX2_VERSION
/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
#undef DGUX
@@ -100,15 +112,15 @@
/* Define to 1 if you have the `atexit' function. */
#undef HAVE_ATEXIT
/* Define to 1 if you have the `bcopy' function. */
#undef HAVE_BCOPY
/* Define to 1 if you have the <bp-sym.h> header file. */
#undef HAVE_BP_SYM_H
/* Define to 1 if you have the `btowc' function. */
#undef HAVE_BTOWC
/* Define to 1 if your system has a working `chown' function. */
#undef HAVE_CHOWN
/* Define to 1 if you have the `chroot' function. */
#undef HAVE_CHROOT
@@ -121,9 +133,6 @@
/* Define to 1 if you have the `clock_settime' function. */
#undef HAVE_CLOCK_SETTIME
/* Define if backslash-a works in C strings. */
#undef HAVE_C_BACKSLASH_A
/* FIXME */
#undef HAVE_C_LINE
@@ -139,6 +148,10 @@
*/
#undef HAVE_DECL_DIRFD
/* Define to 1 if you have the declaration of `euidaccess', and to 0 if you
don't. */
#undef HAVE_DECL_EUIDACCESS
/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
don't. */
#undef HAVE_DECL_FEOF_UNLOCKED
@@ -179,9 +192,9 @@
you don't. */
#undef HAVE_DECL_GETCHAR_UNLOCKED
/* Define to 1 if you have the declaration of `getcontext', and to 0 if you
don't. */
#undef HAVE_DECL_GETCONTEXT
/* Define to 1 if you have the declaration of `getcwd', and to 0 if you don't.
*/
#undef HAVE_DECL_GETCWD
/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
don't. */
@@ -247,18 +260,10 @@
don't. */
#undef HAVE_DECL_REALLOC
/* Define to 1 if you have the declaration of `sigaltstack', and to 0 if you
don't. */
#undef HAVE_DECL_SIGALTSTACK
/* Define to 1 if you have the declaration of `stpcpy', and to 0 if you don't.
*/
#undef HAVE_DECL_STPCPY
/* Define to 1 if you have the declaration of `strerror', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR_R
@@ -283,10 +288,6 @@
don't. */
#undef HAVE_DECL_STRTOIMAX
/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
*/
#undef HAVE_DECL_STRTOL
/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
don't. */
#undef HAVE_DECL_STRTOLL
@@ -323,6 +324,10 @@
don't. */
#undef HAVE_DECL___FPENDING
/* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you
don't. */
#undef HAVE_DECL___SYS_SIGLIST
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
@@ -330,12 +335,12 @@
/* Define to 1 if you have the `dirfd' function. */
#undef HAVE_DIRFD
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the `dup2' function. */
#undef HAVE_DUP2
/* Define to 1 if you have the <dustat.h> header file. */
#undef HAVE_DUSTAT_H
/* Define to 1 if you have the `endgrent' function. */
#undef HAVE_ENDGRENT
@@ -375,18 +380,12 @@
/* Define to 1 if you have the `fs_stat_dev' function. */
#undef HAVE_FS_STAT_DEV
/* Define to 1 if you have the `ftime' function. */
#undef HAVE_FTIME
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
/* Define if struct statfs has the f_fstypename member. */
#undef HAVE_F_FSTYPENAME_IN_STATFS
/* Define to 1 if you have the `getcontext' function. */
#undef HAVE_GETCONTEXT
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
@@ -432,6 +431,9 @@
/* Define to 1 if you have the `getspnam' function. */
#undef HAVE_GETSPNAM
/* Define to 1 if you have the `getsysinfo' function. */
#undef HAVE_GETSYSINFO
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
@@ -459,9 +461,16 @@
/* Define to 1 if you have the `initgroups' function. */
#undef HAVE_INITGROUPS
/* Define to 1 if you have the <inttypes.h> header file. */
/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
#undef HAVE_INTMAX_T
/* Define if <inttypes.h> exists and doesn't clash with <sys/types.h>. */
#undef HAVE_INTTYPES_H
/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
declares uintmax_t. */
#undef HAVE_INTTYPES_H_WITH_UINTMAX
/* Define to 1 if you have the `isascii' function. */
#undef HAVE_ISASCII
@@ -483,9 +492,6 @@
/* Define to 1 if you have the `dgc' library (-ldgc). */
#undef HAVE_LIBDGC
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
/* Define to 1 if you have the `kstat' library (-lkstat). */
#undef HAVE_LIBKSTAT
@@ -510,24 +516,22 @@
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
/* Define to 1 if long double works and has more range or precision than
double. */
/* Define if you have the 'long double' type. */
#undef HAVE_LONG_DOUBLE
/* Define to 1 if you support file names longer than 14 characters. */
#undef HAVE_LONG_FILE_NAMES
/* Define if you have the long long type. */
/* Define if you have the 'long long' type. */
#undef HAVE_LONG_LONG
/* Define if lstat has the bug that it succeeds when given the zero-length
file name argument. The lstat from SunOS4.1.4 and the Hurd as of
1998-11-01) do this. */
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_LSTAT_EMPTY_STRING_BUG
/* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
#undef HAVE_MACHINE_HAL_SYSINFO_H
/* Define to 1 if you have the <mach/mach.h> header file. */
#undef HAVE_MACH_MACH_H
@@ -556,9 +560,6 @@
/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memcmp' function. */
#undef HAVE_MEMCMP
/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
@@ -604,6 +605,12 @@
/* Define to 1 if you have the `next_dev' function. */
#undef HAVE_NEXT_DEV
/* Define to 1 if you have the <nfs/nfs_clnt.h> header file. */
#undef HAVE_NFS_NFS_CLNT_H
/* Define to 1 if you have the <nfs/vfs.h> header file. */
#undef HAVE_NFS_VFS_H
/* Define to 1 if you have the <nlist.h> header file. */
#undef HAVE_NLIST_H
@@ -628,12 +635,18 @@
/* Define to 1 if you have the `pstat_getstatic' function. */
#undef HAVE_PSTAT_GETSTATIC
/* Define to 1 if the system has the type `ptrdiff_t'. */
#undef HAVE_PTRDIFF_T
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
/* Define to 1 if you have the `raise' function. */
#undef HAVE_RAISE
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
/* Define to 1 if your system has a GNU libc compatible `realloc' function,
and to 0 otherwise. */
#undef HAVE_REALLOC
@@ -653,33 +666,38 @@
/* Define to 1 if you have the `rpmatch' function. */
#undef HAVE_RPMATCH
/* Define to 1 if you have run the test for working tzset. */
#undef HAVE_RUN_TZSET_TEST
/* Define to 1 if you have the `sethostname' function. */
#undef HAVE_SETHOSTNAME
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the `setregid' function. */
#undef HAVE_SETREGID
/* Define to 1 if you have the `setreuid' function. */
#undef HAVE_SETREUID
/* Define to 1 if you have the <shadow.h> header file. */
#undef HAVE_SHADOW_H
/* Define to 1 if you have the `sig2str' function. */
#undef HAVE_SIG2STR
/* Define to 1 if you have the `sigaltstack' function. */
#undef HAVE_SIGALTSTACK
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if you have the `sqrt' function. */
#undef HAVE_SQRT
/* Define to 1 if the system has the type `stack_t'. */
#undef HAVE_STACK_T
/* Define to 1 if you have the `statvfs' function. */
#undef HAVE_STATVFS
/* Define if stat has the bug that it succeeds when given the zero-length file
name argument. The stat from SunOS4.1.4 and the Hurd as of 1998-11-01) do
this. */
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG
/* Define to 1 if stdbool.h conforms to C99. */
@@ -691,6 +709,10 @@
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
uintmax_t. */
#undef HAVE_STDINT_H_WITH_UINTMAX
/* Define to 1 if you have the <stdio_ext.h> header file. */
#undef HAVE_STDIO_EXT_H
@@ -706,6 +728,10 @@
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strcoll' function and it is properly defined.
*/
#undef HAVE_STRCOLL
/* Define to 1 if you have the `strcspn' function. */
#undef HAVE_STRCSPN
@@ -825,6 +851,9 @@
have utime.h but don't declare the struct anywhere. */
#undef HAVE_STRUCT_UTIMBUF
/* Define to 1 if `ut_exit' is member of `struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_EXIT
/* Define to 1 if `ut_exit.e_exit' is member of `struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT
@@ -852,6 +881,9 @@
/* Define to 1 if `ut_user' is member of `struct utmpx'. */
#undef HAVE_STRUCT_UTMPX_UT_USER
/* Define to 1 if `ut_exit' is member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_EXIT
/* Define to 1 if `ut_exit.e_exit' is member of `struct utmp'. */
#undef HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT
@@ -901,6 +933,9 @@
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* Define to 1 if you have the `sysmp' function. */
#undef HAVE_SYSMP
/* Define to 1 if you have the <sys/acl.h> header file. */
#undef HAVE_SYS_ACL_H
@@ -957,12 +992,24 @@
/* Define to 1 if you have the <sys/sysctl.h> header file. */
#undef HAVE_SYS_SYSCTL_H
/* Define to 1 if you have the <sys/sysinfo.h> header file. */
#undef HAVE_SYS_SYSINFO_H
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#undef HAVE_SYS_SYSMACROS_H
/* Define to 1 if you have the <sys/sysmp.h> header file. */
#undef HAVE_SYS_SYSMP_H
/* Define to 1 if you have the <sys/systemcfg.h> header file. */
#undef HAVE_SYS_SYSTEMCFG_H
/* Define to 1 if you have the <sys/systeminfo.h> header file. */
#undef HAVE_SYS_SYSTEMINFO_H
/* Define to 1 if you have the <sys/table.h> header file. */
#undef HAVE_SYS_TABLE_H
/* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
@@ -981,6 +1028,9 @@
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `table' function. */
#undef HAVE_TABLE
/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
@@ -998,8 +1048,8 @@
/* Define to 1 if you have the `tzset' function. */
#undef HAVE_TZSET
/* Define to 1 if you have the <ucontext.h> header file. */
#undef HAVE_UCONTEXT_H
/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */
#undef HAVE_UINTMAX_T
/* Define to 1 if you have the `uname' function. */
#undef HAVE_UNAME
@@ -1007,12 +1057,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the unsigned long long type. */
/* Define if you have the 'unsigned long long' type. */
#undef HAVE_UNSIGNED_LONG_LONG
/* Define to 1 if you have the `utime' function. */
#undef HAVE_UTIME
/* Define if utimes accepts a null argument */
#undef HAVE_UTIMES_NULL
@@ -1040,31 +1087,48 @@
/* Define to 1 if you have the <values.h> header file. */
#undef HAVE_VALUES_H
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
/* Define to 1 if you have the `vasnprintf' function. */
#undef HAVE_VASNPRINTF
/* Define to 1 if you have the `vasprintf' function. */
#undef HAVE_VASPRINTF
/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
/* Define if you have the 'wchar_t' type. */
#undef HAVE_WCHAR_T
/* Define to 1 if you have the `wcrtomb' function. */
#undef HAVE_WCRTOMB
/* Define to 1 if you have the `wcslen' function. */
#undef HAVE_WCSLEN
/* Define to 1 if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H
/* Define to 1 if you have the `wcwidth' function. */
#undef HAVE_WCWIDTH
/* Define if you have the 'wint_t' type. */
#undef HAVE_WINT_T
/* Define to 1 if you have the `wmempcpy' function. */
#undef HAVE_WMEMPCPY
/* Define to 1 if extending the stack slightly past the limit causes a
SIGSEGV, and an alternate stack can be established with sigaltstack, and
the signal handler is passed a context that specifies the run time stack.
This behavior is defined by POSIX 1003.1-2001 with the X/Open System
Interface (XSI) option and is a standardized way to implement a SEGV-based
stack overflow detection heuristic. */
#undef HAVE_XSI_STACK_OVERFLOW_HEURISTIC
/* Define if readdir is found to work properly in some unusual cases. */
#undef HAVE_WORKING_READDIR
/* Define if utimes works properly. */
#undef HAVE_WORKING_UTIMES
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
/* Define to 1 if you have the external variable, _system_configuration with a
member named physmem. */
#undef HAVE__SYSTEM_CONFIGURATION
/* Define to 1 if you have the `__fpending' function. */
#undef HAVE___FPENDING
@@ -1200,9 +1264,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define if the block counts reported by statfs may be truncated to 2GB and
@@ -1261,6 +1325,9 @@
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* Define if tzset clobbers localtime's static buffer. */
#undef TZSET_CLOBBERS_LOCALTIME_BUFFER
/* Define to 1 for Encore UMAX. */
#undef UMAX
@@ -1268,9 +1335,6 @@
<sys/cpustats.h>. */
#undef UMAX4_3
/* the maximum number of simultaneously open files per process */
#undef UTILS_OPEN_MAX
/* Version number of package */
#undef VERSION
@@ -1312,6 +1376,11 @@
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Enable extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Define like PROTOTYPES; this can be used by system headers. */
#undef __PROTOTYPES
@@ -1321,26 +1390,40 @@
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to rpl_fnmatch if the replacement function should be used. */
/* Define to a replacement function name for fnmatch(). */
#undef fnmatch
/* Define to rpl_free if the replacement function should be used. */
#undef free
/* Define to rpl_getcwd if the wrapper function should be used. */
#undef getcwd
/* Define as rpl_getgroups if getgroups doesn't work right. */
#undef getgroups
/* Define to a replacement function name for getline(). */
#undef getline
/* Define to rpl_gettimeofday if the replacement function should be used. */
#undef gettimeofday
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
#undef inline
/* Define to rpl_gmtime if the replacement function should be used. */
#undef gmtime
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `unsigned long int' if <sys/types.h> does not define. */
#undef ino_t
/* Define to widest signed type if <inttypes.h> doesn't define. */
/* Define to long or long long if <stdint.h> and <inttypes.h> don't define. */
#undef intmax_t
/* Define to rpl_localtime if the replacement function should be used. */
@@ -1391,18 +1474,44 @@
/* Define to rpl_realloc if the replacement function should be used. */
#undef realloc
/* Define to rpl_rename if the replacement function should be used. */
#undef rename
/* Define to equivalent of C99 restrict keyword, or to nothing if this is not
supported. Do not define if restrict is supported directly. */
#undef restrict
/* Define to empty if the C compiler doesn't support this keyword. */
#undef signed
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> does not define. */
/* Define as a signed type of the same size as size_t. */
#undef ssize_t
/* Define to rpl_strnlen if the replacement function should be used. */
#undef strnlen
/* Define to rpl_strtod if the replacement function should be used. */
#undef strtod
/* Define to rpl_tzset if the wrapper function should be used. */
#undef tzset
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define to widest unsigned type if <inttypes.h> doesn't define. */
/* Define to unsigned long or unsigned long long if <stdint.h> and
<inttypes.h> don't define. */
#undef uintmax_t
/* Define to `size_t' if <sys/types.h> does not define. */
#undef uintptr_t
/* Define to rpl_utime if the replacement function should be used. */
#undef utime
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile

View File

@@ -1,3 +1,12 @@
2003-08-16 Paul Eggert <eggert@twinsun.com>
* config.rpath, texinfo.tex: Sync with gnulib.
2003-04-21 Jim Meyering <jim@meyering.net>
* depcomp: New version, now that this file is on the list
in ../Makefile.cfg.
2003-01-12 Jim Meyering <jim@meyering.net>
Lots of syntactic clean-up, mostly from Karl Berry.
@@ -35,4 +44,4 @@
2002-02-17 Jim Meyering <jim@meyering.net>
* config.guess (main): Don't use `head -1'; it's no longer portable.
Use `sed 1q' instead.
Use `sed 1q' instead.

61
config/config.guess vendored
View File

@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2003-01-30'
timestamp='2004-01-05'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -106,6 +106,7 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
@@ -220,6 +221,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
mvmeppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pegasos:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
@@ -235,9 +239,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:MicroBSD:*:*)
echo ${UNAME_MACHINE}-unknown-microbsd${UNAME_RELEASE}
exit 0 ;;
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -285,6 +286,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha*:OpenVMS:*:*)
echo alpha-hp-vms
exit 0 ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
@@ -306,6 +310,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:OS/390:*:*)
echo i370-ibm-openedition
exit 0 ;;
*:OS400:*:*)
echo powerpc-ibm-os400
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
@@ -323,6 +330,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
exit 0 ;;
DRS?6000:UNIX_SV:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7 && exit 0 ;;
@@ -730,7 +740,7 @@ EOF
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
*:UNICOS/mp:*:*)
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -738,6 +748,11 @@ EOF
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
@@ -759,7 +774,10 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
# GNU/KFreeBSD systems have a "k" prefix to indicate we are using
# FreeBSD's kernel, but not the complete OS.
case ${LIBC} in gnu) kernel_only='k' ;; esac
echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
@@ -770,8 +788,8 @@ EOF
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit 0 ;;
x86:Interix*:3*)
echo i586-pc-interix3
x86:Interix*:[34]*)
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
exit 0 ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
@@ -792,14 +810,22 @@ EOF
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
# the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
exit 0 ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit 0 ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit 0 ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
@@ -878,6 +904,9 @@ EOF
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
exit 0 ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
@@ -935,6 +964,9 @@ EOF
LIBC=gnuaout
#endif
#endif
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
@@ -965,6 +997,9 @@ EOF
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit 0 ;;
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit 0 ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
@@ -1036,7 +1071,7 @@ EOF
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0)
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1151,7 +1186,7 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
*:NonStop-UX:*:*)
@@ -1192,6 +1227,12 @@ EOF
*:ITS:*:*)
echo pdp10-unknown-its
exit 0 ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
exit 0 ;;
*:DRAGONFLY:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly${UNAME_RELEASE}
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2

View File

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

78
config/config.sub vendored
View File

@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2003-02-03'
timestamp='2004-01-05'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,8 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -228,13 +229,14 @@ case $basic_machine in
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| clipper \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k \
| ip2k | iq2000 \
| m32r | m68000 | m68k | m88k | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
@@ -247,6 +249,7 @@ case $basic_machine in
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
@@ -261,7 +264,7 @@ case $basic_machine in
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| strongarm \
| tahoe | thumb | tic80 | tron \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
| x86 | xscale | xstormy16 | xtensa \
@@ -304,7 +307,7 @@ case $basic_machine in
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* \
| ip2k-* | iq2000-* \
| m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
@@ -319,6 +322,7 @@ case $basic_machine in
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
@@ -373,6 +377,12 @@ case $basic_machine in
basic_machine=a29k-none
os=-bsd
;;
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
@@ -737,6 +747,10 @@ case $basic_machine in
basic_machine=or32-unknown
os=-coff
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
@@ -768,18 +782,24 @@ case $basic_machine in
pentiumpro | p6 | 6x86 | athlon | athlon_*)
basic_machine=i686-pc
;;
pentiumii | pentium2)
pentiumii | pentium2 | pentiumiii | pentium3)
basic_machine=i686-pc
;;
pentium4)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-*)
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium4-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
@@ -838,6 +858,10 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sei)
basic_machine=mips-sei
os=-seiux
;;
sequent)
basic_machine=i386-sequent
;;
@@ -845,6 +869,9 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
sh64)
basic_machine=sh64-unknown
;;
sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
@@ -919,10 +946,6 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
tic4x | c4x*)
basic_machine=tic4x-unknown
os=-coff
;;
tic54x | c54x*)
basic_machine=tic54x-unknown
os=-coff
@@ -948,6 +971,10 @@ case $basic_machine in
tower | tower-32)
basic_machine=m68k-ncr
;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
@@ -1116,19 +1143,19 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -microbsd*)
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1152,6 +1179,9 @@ case $os in
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -1164,6 +1194,9 @@ case $os in
-opened*)
os=-openedition
;;
-os400*)
os=-os400
;;
-wince*)
os=-wince
;;
@@ -1185,6 +1218,9 @@ case $os in
-atheos*)
os=-atheos
;;
-syllable*)
os=-syllable
;;
-386bsd)
os=-bsd
;;
@@ -1207,6 +1243,9 @@ case $os in
-sinix*)
os=-sysv4
;;
-tpf*)
os=-tpf
;;
-triton*)
os=-sysv3
;;
@@ -1274,6 +1313,9 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
@@ -1452,9 +1494,15 @@ case $basic_machine in
-mvs* | -opened*)
vendor=ibm
;;
-os400*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;

View File

@@ -1,7 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000 Free Software Foundation, Inc.
scriptversion=2003-12-28.12
# Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -25,22 +27,45 @@
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit 0
;;
-v | --v*)
echo "depcomp $scriptversion"
exit 0
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
@@ -172,19 +197,25 @@ sgi)
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. This file always lives in the current directory.
# Also, the AIX compiler puts `$object:' at the start of each line;
# $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
@@ -192,6 +223,7 @@ aix)
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
@@ -206,6 +238,44 @@ aix)
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
@@ -240,8 +310,8 @@ tru64)
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a space and a tab in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
@@ -254,7 +324,7 @@ tru64)
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o.
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
@@ -265,9 +335,7 @@ dashmstdout)
shift
fi
# Remove `-o $object'. We will use -o /dev/null later,
# however we can't do the remplacement now because
# `-o $object' might simply not be used
# Remove `-o $object'.
IFS=" "
for arg
do
@@ -287,7 +355,11 @@ dashmstdout)
done
test -z "$dashmflag" && dashmflag=-M
"$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
@@ -306,6 +378,13 @@ dashXmstdout)
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
@@ -318,7 +397,9 @@ makedepend)
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
-*)
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
@@ -339,7 +420,7 @@ makedepend)
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout.
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
@@ -381,7 +462,7 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
@@ -421,3 +502,12 @@ none)
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@@ -1,21 +1,38 @@
#!/bin/sh
# install - install a program, script, or datafile
# This originally came from X11R5 (mit/util/scripts/install.sh).
scriptversion=2003-01-17.15
scriptversion=2004-01-12.10
# Copyright 1991 by the Massachusetts Institute of Technology
# (FSF changes in the public domain.)
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
@@ -55,7 +72,8 @@ dst=
dir_arg=
usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
or: $0 -d DIR1 DIR2...
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 -d DIRECTORIES...
In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
In the second, create the directory path DIR.
@@ -117,144 +135,167 @@ while test -n "$1"; do
--version) echo "$0 $scriptversion"; exit 0;;
*) if test -z "$src"; then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
*) # When -d is used, all remaining arguments are directories to create.
test -n "$dir_arg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done
if test -z "$src"; then
echo "$0: no input file specified." >&2
exit 1
fi
if test -n "$dir_arg"; then
dst=$src
src=
if test -d "$dst"; then
instcmd=:
chmodcmd=
else
instcmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
if test -z "$dst"; then
echo "$0: no destination specified." >&2
exit 1
fi
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
dst=$dst/`basename "$src"`
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
# Make sure that the destination directory exists.
# (this part is taken from Noah Friedman's mkinstalldirs script.)
if test -n "$dir_arg"; then
dst=$src
src=
# Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
pathcomp=
while test $# -ne 0 ; do
pathcomp=$pathcomp$1
shift
test -d "$pathcomp" || $mkdirprog "$pathcomp"
pathcomp=$pathcomp/
done
fi
if test -n "$dir_arg"; then
$doit $instcmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
# If we're going to rename the final executable, determine the name now.
if test -z "$transformarg"; then
dstfile=`basename "$dst"`
if test -d "$dst"; then
instcmd=:
chmodcmd=
else
instcmd=$mkdirprog
fi
else
dstfile=`basename "$dst" $transformbasename \
| sed $transformarg`$transformbasename
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
dst=$dst/`basename "$src"`
fi
fi
# don't allow the sed command to completely eliminate the filename.
test -z "$dstfile" && dstfile=`basename "$dst"`
# This sed command emulates the dirname command.
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/#inst.$$#
rmtmp=$dstdir/#rm.$$#
# Make sure that the destination directory exists.
# Trap to clean up those temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
# Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
# Move or copy the file name to the temp name
$doit $instcmd "$src" "$dsttmp" &&
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
pathcomp=
# Now remove or move aside any old file at destination location. We
# try this two ways since rm can't unlink itself on some systems and
# the destination file might be busy for other reasons. In this case,
# the final cleanup might fail but the new file should still install
# successfully.
{
if test -f "$dstdir/$dstfile"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
while test $# -ne 0 ; do
pathcomp=$pathcomp$1
shift
test -d "$pathcomp" || $mkdirprog "$pathcomp"
pathcomp=$pathcomp/
done
fi
if test -n "$dir_arg"; then
$doit $instcmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
# If we're going to rename the final executable, determine the name now.
if test -z "$transformarg"; then
dstfile=`basename "$dst"`
else
dstfile=`basename "$dst" $transformbasename \
| sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename.
test -z "$dstfile" && dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
# Move or copy the file name to the temp name
$doit $instcmd "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
# Now remove or move aside any old file at destination location. We
# try this two ways since rm can't unlink itself on some systems and
# the destination file might be busy for other reasons. In this case,
# the final cleanup might fail but the new file should still install
# successfully.
{
if test -f "$dstdir/$dstfile"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi || { (exit 1); exit; }
done
# The final little trick to "correctly" pass the exit status to the exit trap.
{

View File

@@ -1,6 +1,9 @@
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
# Copyright 1995, 1996, 1997 Free Software Foundation, Inc.
scriptversion=2003-11-09.00
# Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
#
# This program is free software; you can redistribute it and/or modify
@@ -22,6 +25,31 @@
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No file. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: mdate-sh [--help] [--version] FILE
Pretty-print the modification time of FILE.
Report bugs to <bug-automake@gnu.org>.
EOF
exit 0
;;
-v | --v*)
echo "mdate-sh $scriptversion"
exit 0
;;
esac
# Prevent date giving response in another language.
LANG=C
export LANG
@@ -30,24 +58,38 @@ export LC_ALL
LC_TIME=C
export LC_TIME
# Get the extended ls output of the file or directory.
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
if ls -L /dev/null 1>/dev/null 2>&1; then
set - x`ls -L -l -d $1`
else
set - x`ls -l -d $1`
fi
# The month is at least the fourth argument
# (3 shifts here, the next inside the loop).
shift
shift
shift
save_arg1="$1"
# Find the month. Next argument is day, followed by the year or time.
# Find out how to get the extended ls output of a file or directory.
if ls -L /dev/null 1>/dev/null 2>&1; then
ls_command='ls -L -l -d'
else
ls_command='ls -l -d'
fi
# A `ls -l' line looks as follows on OS/2.
# drwxrwx--- 0 Aug 11 2001 foo
# This differs from Unix, which adds ownership information.
# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
#
# To find the date, we split the line on spaces and iterate on words
# until we find a month. This cannot work with files whose owner is a
# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
# will be owned by a user whose name is a month. So we first look at
# the extended ls output of the root directory to decide how many
# words should be skipped to get the date.
# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
set - x`$ls_command /`
# Find which argument is the month.
month=
command=
until test $month
do
shift
# Add another shift to the command.
command="$command shift;"
case $1 in
Jan) month=January; nummonth=1;;
Feb) month=February; nummonth=2;;
@@ -64,6 +106,28 @@ do
esac
done
# Get the extended ls output of the file or directory.
set - x`eval "$ls_command \"\$save_arg1\""`
# Remove all preceding arguments
eval $command
# Get the month. Next argument is day, followed by the year or time.
case $1 in
Jan) month=January; nummonth=1;;
Feb) month=February; nummonth=2;;
Mar) month=March; nummonth=3;;
Apr) month=April; nummonth=4;;
May) month=May; nummonth=5;;
Jun) month=June; nummonth=6;;
Jul) month=July; nummonth=7;;
Aug) month=August; nummonth=8;;
Sep) month=September; nummonth=9;;
Oct) month=October; nummonth=10;;
Nov) month=November; nummonth=11;;
Dec) month=December; nummonth=12;;
esac
day=$2
# Here we have to deal with the problem that the ls output gives either
@@ -95,3 +159,12 @@ esac
# The result.
echo $day $month $year
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

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

View File

@@ -1,20 +1,32 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
scriptversion=2003-11-08.23
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
# Public domain.
#
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
Create each directory DIR (with mode MODE, if specified), including all
leading file name components.
Report bugs to <bug-automake@gnu.org>."
# process command line arguments
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
echo "$usage" 1>&2
echo "$usage"
exit 0
;;
-m) # -m PERM arg
@@ -23,6 +35,10 @@ while test $# -gt 0 ; do
dirmode=$1
shift
;;
--version)
echo "$0 $scriptversion"
exit 0
;;
--) # stop option processing
shift
break
@@ -55,12 +71,25 @@ case $dirmode in
if mkdir -p -- . 2>/dev/null; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
test -d ./-p && rmdir ./-p
test -d ./-- && rmdir ./--
fi
;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
else
# Clean up after NextStep and OpenStep mkdir.
for d in ./-m ./-p ./-- "./$dirmode";
do
test -d $d && rmdir $d
done
fi
;;
esac
@@ -84,17 +113,17 @@ do
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
errstatus=$lasterr
else
if test ! -z "$dirmode"; then
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi
@@ -107,5 +136,8 @@ exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
# mkinstalldirs ends here

File diff suppressed because it is too large Load Diff

54052
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,57 +1,38 @@
dnl Process this file with autoconf to produce a configure script. -*-m4-*-
AC_INIT([GNU coreutils],[4.5.8],[bug-coreutils@gnu.org])
AC_INIT([GNU coreutils],[5.1.1],[bug-coreutils@gnu.org])
AC_CONFIG_SRCDIR(src/ls.c)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_HEADERS([config.h:config.hin])
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([1.6b gnits dist-bzip2])
AM_INIT_AUTOMAKE([1.8 gnits dist-bzip2])
AC_GNU_SOURCE
gl_DEFAULT_POSIX2_VERSION
gl_USE_SYSTEM_EXTENSIONS
jm_PERL
AC_PROG_CC
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_PROG_RANLIB
AC_AIX
AC_MINIX
AC_PROG_LN_S
AC_CANONICAL_HOST
AC_CHECK_FUNCS(uname,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname" MAN="$MAN uname.1")
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname\$(EXEEXT)"
MAN="$MAN uname.1")
AC_CHECK_FUNCS(chroot,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS chroot" MAN="$MAN chroot.1")
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS chroot\$(EXEEXT)"
MAN="$MAN chroot.1")
AC_CHECK_FUNCS(gethostid,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS hostid" MAN="$MAN hostid.1")
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS hostid\$(EXEEXT)"
MAN="$MAN hostid.1")
jm_MACROS
AC_HEADER_TIOCGWINSZ()
jm_WINSIZE_IN_PTEM
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
# If <sys/vfs.h> exists and struct statfs has a member named f_spare,
# enable the work-around code in fsusage.c.
AC_MSG_CHECKING([for statfs that truncates block counts])
AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#if !defined(sun) && !defined(__sun)
choke -- this is a workaround for a Sun-specific problem
#endif
#include <sys/types.h>
#include <sys/vfs.h>]],
[[struct statfs t; long c = *(t.f_spare);]])],
[fu_cv_sys_truncating_statfs=yes],
[fu_cv_sys_truncating_statfs=no])])
if test $fu_cv_sys_truncating_statfs = yes; then
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
[ Define if the block counts reported by statfs may be truncated to 2GB
and the correct values may be stored in the f_spare array.
(SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
SunOS 4.1.1 seems not to be affected.)])
fi
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
AC_MSG_CHECKING(whether localtime caches TZ)
AC_CACHE_VAL(utils_cv_localtime_cache,
[if test x$ac_cv_func_tzset = xyes; then
@@ -122,9 +103,8 @@ AC_CACHE_VAL(utils_cv_func_setpriority,
[utils_cv_func_setpriority=no])])
AC_MSG_RESULT($utils_cv_func_setpriority)
if test $utils_cv_func_setpriority = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice"
OPTIONAL_BIN_ZCRIPTS="$OPTIONAL_BIN_ZCRIPTS nohup"
MAN="$MAN nice.1 nohup.1"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice\$(EXEEXT)"
MAN="$MAN nice.1"
else
AC_MSG_CHECKING(for nice function)
AC_CACHE_VAL(utils_cv_func_nice,
@@ -134,17 +114,18 @@ else
AC_MSG_RESULT($utils_cv_func_nice)
if test $utils_cv_func_nice = yes; then
AC_DEFINE(NICE_PRIORITY, 1, [FIXME])
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice"
OPTIONAL_BIN_ZCRIPTS="$OPTIONAL_BIN_ZCRIPTS nohup"
MAN="$MAN nice.1 nohup.1"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS nice\$(EXEEXT)"
MAN="$MAN nice.1"
fi
fi
AC_DEFUN(jm_DUMMY_1,
AC_DEFUN([jm_DUMMY_1],
[
AC_REQUIRE([jm_PREREQ_READUTMP])
AC_REQUIRE([gl_READUTMP])
if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS pinky users who"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS pinky\$(EXEEXT)"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS users\$(EXEEXT)"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS who\$(EXEEXT)"
MAN="$MAN pinky.1 users.1 who.1"
fi
])
@@ -177,13 +158,14 @@ if test -z "$have_ut_host"; then
fi
GNULIB_BOOT_TIME(
[OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uptime" MAN="$MAN uptime.1"])
[OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uptime\$(EXEEXT)"
MAN="$MAN uptime.1"])
AC_SYS_POSIX_TERMIOS()
jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
if test $ac_cv_sys_posix_termios = yes; then
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS stty" MAN="$MAN stty.1"
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS stty\$(EXEEXT)" MAN="$MAN stty.1"
AC_MSG_CHECKING(whether termios.h needs _XOPEN_SOURCE)
AC_CACHE_VAL(su_cv_sys_termios_needs_xopen_source,
@@ -243,12 +225,12 @@ if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no && \
fi
# For src/kill.c.
AC_CHECK_DECLS([strsignal, strtoimax, sys_siglist, _sys_siglist])
AC_CHECK_DECLS([strsignal, strtoimax, sys_siglist, _sys_siglist, __sys_siglist])
jm_LIB_CHECK
AM_GNU_GETTEXT([external], [need-ngettext])
AM_GNU_GETTEXT_VERSION(0.11.5)
AM_GNU_GETTEXT_VERSION(0.13.1)
AC_CONFIG_FILES(
Makefile

View File

@@ -1,3 +1,252 @@
2003-12-15 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (touch invocation): touch -r and -d can now
both be specified, with -r specifying the origin for -d.
2004-01-15 Alfred M. Szmidt <ams@kemisten.nu>
Factor out some common options.
* coreutils.texi (Common options): Define macros here.
(What information is listed, cp invocation): Use the macro(s).
(install invocation, mv invocation, ln invocation): Likewise.
(df invocation, du invocation): Likewise.
2004-01-09 Jim Meyering <jim@meyering.net>
Document the exit status of each and every program.
* coreutils.texi (yes invocation): Document that a write error
makes `yes' exit unsuccessfully.
(chroot invocation): Enumerate the meaning of exit status values.
(nice invocation): Likewise.
(Exit status) [@macro exitstatus]: New macro.
Use @exitstatus to describe the exit status of most programs.
2004-01-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Mention that -H will eventually
mean not --si, but --dereference-args (-D).
2003-12-20 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Describe new option: -0, --null.
2003-12-03 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (What information is listed, chroot invocation):
Adjust example 'ls' output to match new behavior with narrower
output columns.
(The cut command): Remove example that cut the output of
'ls -l'. The output was incorrect even with the old 'ls', and
the whole idea of using 'cut' on 'ls -l' output is bogus anyway.
2003-11-24 Paul Eggert <eggert@twinsun.com>
Parse floating-point operands and options in the C locale.
POSIX requires this for printf, and we might as well be
consistent elsewhere (tail, sleep, seq).
* coreutils.texi (tail invocation, printf invocation,
sleep invocation, seq invocation): Document this.
2003-11-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (Traversing symlinks, Treating / specially):
New sections.
(rm invocation, chown invocation, chmod invocation, chgrp invocation):
Describe new options, --preserve-root and --no-preserve-root.
2003-11-11 Jim Meyering <jim@meyering.net>
* coreutils.texi (chown invocation) [chownchgrpoptions]: New macro
describing -H, -L, -P options. Use it here.
(chgrp invocation): And here.
2003-11-09 Jim Meyering <jim@meyering.net>
* coreutils.texi (dd invocation): Fix typo in example.
2003-10-15 Jim Meyering <jim@meyering.net>
* coreutils.texi (ln invocation): Note that --directory, -d, -F
probably won't work even for superuser. Suggestion from Dan Jacobson.
2003-09-29 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (csplit invocation):
The regexp offset need not have a sign; POSIX requires support
for signless offets.
2003-10-03 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Describe -P, --no-dereference.
2003-09-28 Jim Meyering <jim@meyering.net>
* coreutils.texi (Translating): Correct typo in menu description.
From A Costa.
2003-09-02 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (sort invocation): -d now overrides -i.
"whitespace" -> "blanks"; "whitespace" isn't correct.
-t '\0' now specifies a NUL tab.
2003-08-17 Jim Meyering <jim@meyering.net>
* coreutils.texi (who invocation): Add an entry for -l, --login.
Remove `-l' from the entry for --lookup.
(who invocation): Begin adding missing option documentation.
2003-08-07 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (split invocation):
Add -d or --numeric-suffixes option to 'split'.
2003-07-31 Paul Eggert <eggert@twinsun.com>
* getdate.texi (General date syntax): Add --rfc-2822 option to GNU date.
* coreutils.texi (Options for date): Fix a typo in format:
it's now %d not %_d. Add URLs.
2003-07-31 Paul Eggert <eggert@twinsun.com>
* getdate.texi (Relative items in date strings): Warn about
fuzz in relative units.
2003-07-29 Jim Meyering <jim@meyering.net>
* coreutils.texi (tail invocation): Restore two end-of-sentence words
that were mistakenly removed on 2002-09-13. Reported by Paul Worrall.
2003-07-28 Jim Meyering <jim@meyering.net>
* coreutils.texi (dd invocation): Explain that a SIGUSR1 signal
makes dd give a progress report to stderr.
2003-07-24 Paul Eggert <eggert@twinsun.com>
* coreutils.texi: Document changes of 2003-07-24.
2003-07-24 Jim Meyering <jim@meyering.net>
* coreutils.texi (su invocation): Use `@subsection', not invalid
`@heading'.
2003-07-17 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (expr invocation): Exit status is 2 if the
expression is syntactically invalid, 3 if there is some other error.
This change is for conformance to POSIX.
2003-07-14 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (uname invocation): Explain the POSIX
terminology behind uname -m and uname -s.
2003-07-13 Jim Meyering <jim@meyering.net>
* coreutils.texi (chown invocation): Warn that chown
now clears set-user-ID and set-group-ID bits on some systems.
From Bob Proulx.
(nohup invocation): Tell what happens when stdout is not a terminal.
Based on a suggestion from Steven Mocking.
2003-07-10 Jim Meyering <jim@meyering.net>
* coreutils.texi (Standards conformance): Mention that uses like
`tail -1' and `head -1', like `sort +1', are non conforming.
(chown invocation): Say that using `.' as a separator may not work.
2003-06-25 Jim Meyering <jim@meyering.net>
* coreutils.texi (Time directives) [%s]: Add a cross reference
to the related examples.
(Examples of date): Add an @anchor here, along with a few more examples.
Suggestion from Dan Jacobson.
2003-06-12 Jim Meyering <jim@meyering.net>
* coreutils.texi (wc invocation): Tweak wording: wc prints counts in
the order `newline, word, byte'. Suggestion from Keith M. Briggs.
Also change `lines' to `newlines'.
2003-05-14 Jim Meyering <jim@meyering.net>
* coreutils.texi (head invocation): Document --bytes=-N and --lines=-N.
2003-05-13 Paul Eggert <eggert@twinsun.com>
* coreutils.texi (uniq invocation, squeezing, The uniq command):
Use "repeated" rather than "duplicate" to describe adjacent
duplicates; this simplifies the description and makes it more
consistent with POSIX.
(uniq invocation): Make it clear that -d and -u suppress the
output of lines, rather than cause some lines to be output.
Mention what happens if a line lacks enough fields or characters.
2003-05-13 Jim Meyering <jim@meyering.net>
* coreutils.texi (true invocation): Mention that it is possible to
make true --help or true --version (in non-POSIX mode) exit nonzero.
Suggestion from Paul Eggert.
2003-05-10 Jim Meyering <jim@meyering.net>
* coreutils.texi (Exit status): Remove `uniq' from the list.
It uses standard exit codes.
(More details about version sort): Note that strverscmp, and hence
`ls -v', does not use LC_COLLATE. Reported by From: Andrey Borzenkov.
2003-04-21 Jim Meyering <jim@meyering.net>
Fix printf POSIX compatibility bug reported by Ben Harris in
<http://mail.gnu.org/archive/html/bug-coreutils/2003-04/msg00070.html>.
* coreutils.texi (printf invocation): It's \NNN in the format,
\0NNN in the %b operand.
2003-04-10 Jim Meyering <jim@meyering.net>
* Makefile.am (check-texinfo): Check for uses of non-zero.
I prefer to spell it `nonzero'.
* coreutils.texi (readlink invocation): Tweak description a little.
2003-04-04 Jim Meyering <jim@meyering.net>
* Makefile.am (constants.texi): Rename target (thus enabling it),
now that fileutils, textutils, and sh-utils have been merged.
(MAINTAINERCLEANFILES): Define.
2003-04-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (false invocation): Note that false exits
unsuccessfully even with --help and --version.
* Makefile.am (check-texinfo): Don't fail if perl is missing.
Reported by Nelson Beebe.
2003-03-27 Jim Meyering <jim@meyering.net>
* coreutils.texi (printf invocation): Fix formatting bugs.
From Paul Eggert.
(sort invocation): Describe sort's --stable (-s) option.
2003-03-13 Jim Meyering <jim@meyering.net>
* coreutils.texi (shred invocation): Mention that --exact
is now the default for non-regular files.
2003-03-02 Jim Meyering <jim@meyering.net>
* coreutils.texi (Exit status): New section.
Suggestion from Michael Stone.
2003-02-21 Jim Meyering <jim@meyering.net>
* coreutils.texi (du invocation): Document --apparent-size.
Adjust documentation of --bytes (-b).
(stat invocation): Describe %B.
2003-02-07 Richard Dawe <rich@phekda.freeserve.co.uk>
* coreutils.texi: Use @command instead of @code for program names.
@@ -50,7 +299,7 @@
compatible with FreeBSD and the POSIX spec is confusing
and somewhat contradictory.
* doc/coreutils.texi (Which files are listed, General output
* coreutils.texi (Which files are listed, General output
formatting): Undo last change.
2003-01-15 Jim Meyering <jim@meyering.net>

View File

@@ -13,27 +13,26 @@ EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
# 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
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
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 '\$$@"' $(srcdir)/*.texi && exit 1 || :
$(PERL) -ne \
fail=0; \
grep timezone $(srcdir)/*.texi && fail=1; \
grep non-zero $(srcdir)/*.texi && fail=1; \
grep '\$$@"' $(srcdir)/*.texi && fail=1; \
$(PERL) -e 1 2> /dev/null && { $(PERL) -ne \
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/ and print,exit 1' \
$(srcdir)/*.texi 2> /dev/null && : || exit 1
$(srcdir)/*.texi 2> /dev/null || fail=1; }; \
exit $$fail
check: check-texinfo

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.2 from Makefile.am.
# Makefile.in generated by automake 1.8.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -36,8 +34,130 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/stamp-vti $(srcdir)/version.texi ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/afs.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/assert.m4 \
$(top_srcdir)/m4/atexit.m4 $(top_srcdir)/m4/backupfile.m4 \
$(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \
$(top_srcdir)/m4/canon-host.m4 \
$(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/check-decl.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/closeout.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
$(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \
$(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/error.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/fnmatch.m4 \
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/free.m4 \
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
$(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getgroups.m4 \
$(top_srcdir)/m4/gethostname.m4 $(top_srcdir)/m4/getline.m4 \
$(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \
$(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/host-os.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/idcache.m4 \
$(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \
$(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/link-follow.m4 \
$(top_srcdir)/m4/long-options.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/makepath.m4 $(top_srcdir)/m4/malloc.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbswidth.m4 \
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/obstack.m4 \
$(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/path-concat.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \
$(top_srcdir)/m4/physmem.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \
$(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \
$(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readdir.m4 \
$(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \
$(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \
$(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
$(top_srcdir)/m4/restrict.m4 $(top_srcdir)/m4/rmdir-errno.m4 \
$(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
$(top_srcdir)/m4/same.m4 $(top_srcdir)/m4/save-cwd.m4 \
$(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/settime.m4 \
$(top_srcdir)/m4/sha.m4 $(top_srcdir)/m4/sig2str.m4 \
$(top_srcdir)/m4/signed.m4 $(top_srcdir)/m4/ssize_t.m4 \
$(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/st_mtim.m4 \
$(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \
$(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strpbrk.m4 \
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
$(top_srcdir)/m4/strverscmp.m4 $(top_srcdir)/m4/timespec.m4 \
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
$(top_srcdir)/m4/unlink-busy.m4 \
$(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/uptime.m4 \
$(top_srcdir)/m4/userspec.m4 $(top_srcdir)/m4/utimbuf.m4 \
$(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
$(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xgetcwd.m4 \
$(top_srcdir)/m4/xreadlink.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtoimax.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/xstrtoumax.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
INFO_DEPS = $(srcdir)/coreutils.info
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
DVIS = coreutils.dvi
PDFS = coreutils.pdf
PSS = coreutils.ps
HTMLS = coreutils.html
TEXINFOS = coreutils.texi
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
DVIPS = dvips
am__installdirs = $(DESTDIR)$(infodir)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
@@ -51,6 +171,7 @@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
@@ -60,10 +181,12 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FESETROUND_LIBM = @FESETROUND_LIBM@
FNMATCH_H = @FNMATCH_H@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
HAVE__BOOL = @HAVE__BOOL@
HELP2MAN = @HELP2MAN@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -79,6 +202,7 @@ LIBS = @LIBS@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
@@ -99,7 +223,6 @@ MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@
OPTIONAL_BIN_ZCRIPTS = @OPTIONAL_BIN_ZCRIPTS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -115,6 +238,7 @@ SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQRT_LIBM = @SQRT_LIBM@
STDBOOL_H = @STDBOOL_H@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
@@ -127,6 +251,7 @@ ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
@@ -148,6 +273,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@@ -156,78 +282,112 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
info_TEXINFOS = coreutils.texi
EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
subdir = doc
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
INFO_DEPS = coreutils.info
DVIS = coreutils.dvi
PDFS = coreutils.pdf
PSS = coreutils.ps
TEXINFOS = coreutils.texi
DIST_COMMON = ChangeLog Makefile.am Makefile.in stamp-vti version.texi
MAINTAINERCLEANFILES = constants.texi
all: all-am
.SUFFIXES:
.SUFFIXES: .dvi .info .pdf .ps .texi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
.SUFFIXES: .dvi .html .info .pdf .ps .texi
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
.texi.info:
@rm -f $@ $@-[0-9] $@-[0-9][0-9]
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
restore=: && \
backupdir="$(am__leading_dot)am$$$$" && \
am__cwd=`pwd` && cd $(srcdir) && \
rm -rf $$backupdir && mkdir $$backupdir && \
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
if test -f $$f; then \
mv $$f $$backupdir; \
restore=mv; \
fi; \
done; \
cd "$$am__cwd"; \
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ $<; \
then \
rc=0; \
cd $(srcdir); \
else \
rc=$$?; \
cd $(srcdir) && \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; \
exit $$rc
.texi.dvi:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
$(TEXI2DVI) $<
.texi.pdf:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
coreutils.info: coreutils.texi version.texi
coreutils.dvi: coreutils.texi version.texi
coreutils.pdf: coreutils.texi version.texi
version.texi: stamp-vti
stamp-vti: coreutils.texi $(top_srcdir)/configure
$(TEXI2PDF) $<
.texi.html:
$(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ $<
if test ! -d $@ && test -d $(@:.html=); then \
mv $(@:.html=) $@; else :; fi
$(srcdir)/coreutils.info: coreutils.texi $(srcdir)/version.texi
coreutils.dvi: coreutils.texi $(srcdir)/version.texi
coreutils.pdf: coreutils.texi $(srcdir)/version.texi
coreutils.html: coreutils.texi $(srcdir)/version.texi
$(srcdir)/version.texi: $(srcdir)/stamp-vti
$(srcdir)/stamp-vti: coreutils.texi $(top_srcdir)/configure
@(dir=.; test -f ./coreutils.texi || dir=$(srcdir); \
set `$(SHELL) $(top_srcdir)/config/mdate-sh $$dir/coreutils.texi`; \
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
echo "@set VERSION $(VERSION)") > vti.tmp
@cmp -s vti.tmp version.texi \
|| (echo "Updating version.texi"; \
cp vti.tmp version.texi)
@cmp -s vti.tmp $(srcdir)/version.texi \
|| (echo "Updating $(srcdir)/version.texi"; \
cp vti.tmp $(srcdir)/version.texi)
-@rm -f vti.tmp
@cp version.texi $@
@cp $(srcdir)/version.texi $@
mostlyclean-vti:
-rm -f vti.tmp
maintainer-clean-vti:
-rm -f stamp-vti version.texi
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
DVIPS = dvips
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
.dvi.ps:
$(DVIPS) -o $@ $<
uninstall-info-am:
$(PRE_UNINSTALL)
@if (install-info --version && \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -239,15 +399,20 @@ uninstall-info-am:
@list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
(if cd $(DESTDIR)$(infodir); then \
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9])"; \
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9]; \
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
else :; fi); \
done
dist-info: $(INFO_DEPS)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
for base in $$list; do \
case $$base in \
$(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$base; then d=.; else d=$(srcdir); fi; \
for file in $$d/$$base*; do \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
@@ -257,17 +422,17 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
-rm -f coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \
-rm -rf coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \
coreutils.ky coreutils.log coreutils.op coreutils.pg \
coreutils.tmp coreutils.toc coreutils.tp coreutils.tps \
coreutils.vr coreutils.dvi coreutils.pdf coreutils.ps
coreutils.vr coreutils.dvi coreutils.pdf coreutils.ps \
coreutils.html
maintainer-clean-aminfo:
list='$(INFO_DEPS)'; for i in $$list; do \
rm -f $$i; \
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
rm -f $$i-[0-9]*; \
fi; \
@list='$(INFO_DEPS)'; for i in $$list; do \
i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
tags: TAGS
TAGS:
@@ -275,10 +440,6 @@ TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@@ -292,7 +453,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@@ -313,10 +474,8 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile $(INFO_DEPS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(infodir)
$(mkdir_p) $(DESTDIR)$(infodir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -328,7 +487,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -336,23 +495,28 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am: $(DVIS)
html: html-am
html-am: $(HTMLS)
info: info-am
info-am: $(INFO_DEPS)
@@ -365,11 +529,17 @@ install-info: install-info-am
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@list='$(INFO_DEPS)'; \
$(mkdir_p) $(DESTDIR)$(infodir)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
$$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
if test -f $$ifile; then \
relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
@@ -379,7 +549,7 @@ install-info-am: $(INFO_DEPS)
done
@$(POST_INSTALL)
@if (install-info --version && \
install-info --version | grep -i -v debian) >/dev/null 2>&1; then \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -392,7 +562,7 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti
@@ -411,38 +581,35 @@ ps-am: $(PSS)
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic dist-info \
distclean distclean-generic distdir dvi dvi-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-aminfo \
distclean distclean-generic distdir dvi dvi-am html html-am \
info info-am install install-am install-data install-data-am \
install-exec install-exec-am install-info install-info-am \
install-man install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti mostlyclean \
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am
# Remove `DISABLED_' when fileutils, textutils, and sh-utils have
# all been merged into one package.
DISABLED_constants.texi: $(top_srcdir)/src/tail.c
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 '\$$@"' $(srcdir)/*.texi && exit 1 || :
$(PERL) -ne \
fail=0; \
grep timezone $(srcdir)/*.texi && fail=1; \
grep non-zero $(srcdir)/*.texi && fail=1; \
grep '\$$@"' $(srcdir)/*.texi && fail=1; \
$(PERL) -e 1 2> /dev/null && { $(PERL) -ne \
'/\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/ and print,exit 1' \
$(srcdir)/*.texi 2> /dev/null && : || exit 1
$(srcdir)/*.texi 2> /dev/null || fail=1; }; \
exit $$fail
check: check-texinfo
# Tell versions [3.59,3.63) of GNU make to not export all variables.

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -18,12 +18,10 @@
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
AUTOMAKE_OPTIONS = ../src/ansi2knr
noinst_LIBRARIES = libfetish.a
INCLUDES = -I.. -I$(srcdir)
DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
AM_CPPFLAGS = -I.. -I$(srcdir)
DEFS += -DLIBDIR=\"$(libdir)\"
## Put relatively complex files at the beginning of the list so
## that parallel compiles finish a tiny bit sooner. I don't see
@@ -44,9 +42,8 @@ libfetish_a_SOURCES = \
argmatch.c argmatch.h \
backupfile.c backupfile.h \
basename.c \
bumpalloc.h \
c-strtod.c c-strtod.h \
canon-host.c \
c-stack.c c-stack.h \
canonicalize.h \
closeout.c closeout.h \
cycle-check.c cycle-check.h \
@@ -57,18 +54,17 @@ libfetish_a_SOURCES = \
dup-safer.c \
euidaccess.h \
exclude.c exclude.h \
exit.h \
exitfail.c exitfail.h \
filemode.c filemode.h \
file-type.c file-type.h \
fnmatch_.h \
fopen-safer.c \
fsusage.h \
ftw_.h \
fts.c fts_.h \
full-read.c full-read.h \
full-write.c full-write.h \
getline.h \
getpagesize.h \
getstr.c getstr.h \
gettime.c \
gettext.h \
getugroups.c \
@@ -80,7 +76,7 @@ libfetish_a_SOURCES = \
imaxtostr.c \
lchown.h \
linebuffer.c linebuffer.h \
localcharset.c \
localcharset.c localcharset.h \
long-options.c long-options.h \
makepath.c makepath.h \
mbswidth.c mbswidth.h \
@@ -98,51 +94,68 @@ libfetish_a_SOURCES = \
readtokens.c readtokens.h \
readutmp.h \
regex.h \
root-dev-ino.c root-dev-ino.h \
safe-read.c safe-read.h \
safe-write.c safe-write.h \
same.c same.h \
save-cwd.c save-cwd.h \
savedir.c savedir.h \
search_.h \
settime.c \
sha.c sha.h \
sha1.c sha1.h \
sig2str.h \
stdio-safer.h \
stripslash.c \
strndup.h \
strverscmp.h \
time_r.c time_r.h \
timespec.h \
umaxtostr.c \
unicodeio.c unicodeio.h \
unistd-safer.h \
unlocked-io.h \
userspec.c \
userspec.c userspec.h \
utimens.c utimens.h \
version-etc.c version-etc.h \
xalloc.h \
xfts.c xfts.h \
xgetcwd.c xgetcwd.h \
xgethostname.c \
xgethostname.c xgethostname.h \
xmalloc.c \
xmemcoll.c xmemcoll.h \
xnanosleep.c xnanosleep.h \
xreadlink.c xreadlink.h \
xstrdup.c \
xstrndup.c xstrndup.h \
xstrtod.c xstrtod.h \
xstrtoimax.c \
xstrtol.c xstrtol.h \
xstrtoul.c \
xstrtoimax.c \
xstrtoumax.c \
yesno.c
libfetish_a_LIBADD = @LIBOBJS@ @ALLOCA@
libfetish_a_SOURCES += \
printf-args.h \
printf-parse.h \
vasprintf.h \
vasnprintf.h
libfetish_a_LIBADD = $(LIBOBJS) $(ALLOCA)
libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD)
lib_OBJECTS = $(libfetish_a_OBJECTS)
BUILT_SOURCES = getdate.c
CLEANFILES =
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
MOSTLYCLEANFILES =
SUFFIXES =
EXTRA_DIST = config.charset ref-add.sin ref-del.sin \
fnmatch_loop.c inttostr.c inttostr.h
getndelim2.c getndelim2.h \
inttostr.c inttostr.h
# The following is needed in order to install a simple file in $(libdir)
# We need the following in order to install a simple file in $(libdir)
# which is shared with other installed packages. We use a list of referencing
# packages so that "make uninstall" will remove the file if and only if it
# is not used by another installed package.
@@ -154,13 +167,13 @@ all-local: charset.alias ref-add.sed ref-del.sed
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
install-exec-local: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
test $(GLIBC21) != no || $(mkinstalldirs) $(DESTDIR)$(libdir)
if test -f $(charset_alias); then \
sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
else \
if test @GLIBC21@ = no; then \
if test $(GLIBC21) = no; then \
sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
@@ -180,12 +193,42 @@ uninstall-local: all-local
fi
charset.alias: config.charset
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
$(SHELL) $(srcdir)/config.charset '$(host)' > t-$@
mv t-$@ $@
SUFFIXES = .sed .sin
SUFFIXES += .sed .sin
.sin.sed:
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@
mv t-$@ $@
CLEANFILES = charset.alias ref-add.sed ref-del.sed ftw.h search.h
CLEANFILES += charset.alias ref-add.sed ref-del.sed
BUILT_SOURCES += $(STDBOOL_H)
EXTRA_DIST += stdbool_.h
MOSTLYCLEANFILES += stdbool.h stdbool.ht
# Create stdbool.h on systems that lack a working one.
stdbool.h: stdbool_.h
sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' $(srcdir)/stdbool_.h > $@t
mv $@t $@
BUILT_SOURCES += $(ALLOCA_H)
EXTRA_DIST += alloca_.h
# We need the following in order to create an <alloca.h> when the system
# doesn't have one that works with the given compiler.
all-local $(lib_OBJECTS): $(ALLOCA_H)
alloca.h: alloca_.h
cp $(srcdir)/alloca_.h $@-t
mv $@-t $@
MOSTLYCLEANFILES += alloca.h alloca.h-t
BUILT_SOURCES += $(FNMATCH_H)
EXTRA_DIST += fnmatch_.h fnmatch_loop.c
# We need the following in order to create an <fnmatch.h> when the system
# doesn't have one that supports the required API.
all-local $(lib_OBJECTS): $(FNMATCH_H)
fnmatch.h: fnmatch_.h
cp $(srcdir)/fnmatch_.h $@-t
mv $@-t $@
MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -2,14 +2,13 @@
# include <config.h>
#endif
#include <stddef.h>
#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

View File

@@ -1,6 +1,6 @@
/* acl.c - access control lists
Copyright (C) 2002 Free Software Foundation, Inc.
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@
# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#ifndef S_ISLNK
# define S_ISLNK(Mode) 0

View File

@@ -1,5 +1,7 @@
/* addext.c -- add an extension to a file name
Copyright 1990, 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 1990, 1997, 1998, 1999, 2001, 2003 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,19 +31,13 @@
# define HAVE_LONG_FILE_NAMES 0
#endif
#if HAVE_LIMITS_H
# include <limits.h>
#endif
#include <limits.h>
#ifndef _POSIX_NAME_MAX
# define _POSIX_NAME_MAX 14
#endif
#include <sys/types.h>
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#include <stddef.h>
#include <string.h>
#if HAVE_UNISTD_H
# include <unistd.h>
@@ -83,7 +79,11 @@ addext (char *filename, char const *ext, int e)
*s = c;
}
if (0 <= name_max || errno == 0)
slen_max = name_max == (long) (size_t) name_max ? name_max : -1;
{
long size = slen_max = name_max;
if (name_max != size)
slen_max = -1;
}
}
#endif

View File

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

68
lib/alloca_.h Normal file
View File

@@ -0,0 +1,68 @@
/* Memory allocation on the stack.
Copyright (C) 1995, 1999, 2001-2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* When this file is included, it may be preceded only by preprocessor
declarations. Thanks to AIX. Therefore we include it right after
"config.h", not later. */
#ifndef _ALLOCA_H
# define _ALLOCA_H
/* alloca(N) returns a pointer (void* or char*) to N bytes of memory
allocated on the stack, and which will last until the function returns.
Use of alloca should be avoided:
- inside arguments of function calls - undefined behaviour,
- in inline functions - the allocation may actually last until the
calling function returns,
- for huge N (say, N >= 65536) - you never know how large (or small)
the stack is, and when the stack cannot fulfill the memory allocation
request, the program just crashes.
*/
# ifdef __GNUC__
# ifndef alloca
# define alloca __builtin_alloca
# endif
# else
# ifdef _MSC_VER
# include <malloc.h>
# define alloca _alloca
# else
# if HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef _AIX
# pragma alloca
# else
# ifdef __hpux /* This section must match that of bison generated files. */
# ifdef __cplusplus
extern "C" void *alloca (unsigned int);
# else /* not __cplusplus */
extern void *alloca ();
# endif /* not __cplusplus */
# else /* not __hpux */
# ifndef alloca
extern char *alloca ();
# endif
# endif /* __hpux */
# endif
# endif
# endif
# endif
#endif /* _ALLOCA_H */

View File

@@ -1,5 +1,7 @@
/* argmatch.c -- find a match for a string in an array
Copyright (C) 1990, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,6 +35,7 @@
#define _(msgid) gettext (msgid)
#include "error.h"
#include "exit.h"
#include "quotearg.h"
#include "quote.h"
#include "unlocked-io.h"
@@ -206,7 +209,6 @@ argmatch_to_argument (const char *value,
* Based on "getversion.c" by David MacKenzie <djm@gnu.ai.mit.edu>
*/
char *program_name;
extern const char *getenv ();
/* When to make backup files. */
enum backup_type

37
lib/asnprintf.c Normal file
View File

@@ -0,0 +1,37 @@
/* Formatted output to strings.
Copyright (C) 1999, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU 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. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
/* Specification. */
#include "vasnprintf.h"
#include <stdarg.h>
char *
asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
{
va_list args;
char *result;
va_start (args, format);
result = vasnprintf (resultbuf, lengthp, format, args);
va_end (args);
return result;
}

37
lib/asprintf.c Normal file
View File

@@ -0,0 +1,37 @@
/* Formatted output to strings.
Copyright (C) 1999, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU 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. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
/* Specification. */
#include "vasprintf.h"
#include <stdarg.h>
int
asprintf (char **resultp, const char *format, ...)
{
va_list args;
int result;
va_start (args, format);
result = vasprintf (resultp, format, args);
va_end (args);
return result;
}

View File

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

View File

@@ -1,6 +1,7 @@
/* backupfile.c -- make Emacs style backup file names
Copyright (C) 1990,91,92,93,94,95,96,97,98,99,2000, 2001, 2002 Free Software
Foundation, Inc.
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,13 +25,9 @@
# include <config.h>
#endif
#include <stddef.h>
#include <stdio.h>
#include <sys/types.h>
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#include <string.h>
#if HAVE_DIRENT_H
# include <dirent.h>
@@ -56,23 +53,7 @@
# define CLOSEDIR(d) closedir (d)
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef HAVE_DECL_GETENV
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_GETENV
char *getenv ();
#endif
#ifndef HAVE_DECL_MALLOC
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_MALLOC
char *malloc ();
#endif
#include <stdlib.h>
#if HAVE_DIRENT_H || HAVE_NDIR_H || HAVE_SYS_DIR_H || HAVE_SYS_NDIR_H
# define HAVE_DIR 1
@@ -80,12 +61,8 @@ char *malloc ();
# define HAVE_DIR 0
#endif
#if HAVE_LIMITS_H
# include <limits.h>
#endif
#ifndef CHAR_BIT
# define CHAR_BIT 8
#endif
#include <limits.h>
/* Upper bound on the string length of an integer converted to string.
302 / 1000 is ceil (log10 (2.0)). Subtract 1 for the sign bit;
add 1 for integer division truncation; add 1 more for a minus sign. */
@@ -114,8 +91,8 @@ char *malloc ();
to numbered) backup file name. */
const char *simple_backup_suffix = "~";
static int max_backup_version PARAMS ((const char *, const char *));
static int version_number PARAMS ((const char *, const char *, size_t));
static int max_backup_version (const char *, const char *);
static int version_number (const char *, const char *, size_t);
/* Return the name of the new backup file for file FILE,
allocated with malloc. Return 0 if out of memory.

View File

@@ -1,5 +1,7 @@
/* backupfile.h -- declarations for making Emacs style backup file names
Copyright (C) 1990-1992, 1997-1999 Free Software Foundation, Inc.
Copyright (C) 1990, 1991, 1992, 1997, 1998, 1999, 2003 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -44,17 +46,9 @@ enum backup_type
extern char const *simple_backup_suffix;
# ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
# endif
char *find_backup_file_name PARAMS ((char const *, enum backup_type));
enum backup_type get_version PARAMS ((char const *context, char const *arg));
enum backup_type xget_version PARAMS ((char const *context, char const *arg));
void addext PARAMS ((char *, char const *, int));
char *find_backup_file_name (char const *, enum backup_type);
enum backup_type get_version (char const *context, char const *arg);
enum backup_type xget_version (char const *context, char const *arg);
void addext (char *, char const *, int);
#endif /* ! BACKUPFILE_H_ */

View File

@@ -1,5 +1,7 @@
/* basename.c -- return the last element in a path
Copyright (C) 1990, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 1999, 2000, 2001, 2003 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,10 +21,8 @@
# include <config.h>
#endif
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#endif
#include "dirname.h"
#include <string.h>
/* In general, we can't use the builtin `basename' function if available,
since it has different meanings in different environments.

View File

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

View File

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

View File

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

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

@@ -0,0 +1,49 @@
/* Convert string to double, using the C locale.
Copyright (C) 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#include "c-strtod.h"
#include <locale.h>
#include <stdlib.h>
#include "xalloc.h"
double
c_strtod (char const *nptr, char **endptr)
{
double r;
char *saved_locale = setlocale (LC_NUMERIC, NULL);
if (saved_locale)
{
saved_locale = xstrdup (saved_locale);
setlocale (LC_NUMERIC, "C");
}
r = strtod (nptr, endptr);
if (saved_locale)
{
setlocale (LC_NUMERIC, saved_locale);
free (saved_locale);
}
return r;
}

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

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

View File

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

View File

@@ -130,7 +130,7 @@ canonicalize_file_name (const char *name)
{
char *wd;
if (!(wd = xgetcwd ()));
if (!(wd = xgetcwd ()))
return NULL;
extra_buf = path_concat (wd, name, NULL);
@@ -147,18 +147,22 @@ canonicalize_file_name (const char *name)
resolved_size = 2 * resolved_size + 1;
resolved = xmalloc (resolved_size);
resolved_len = resolvepath (name, resolved, resolved_size);
if (resolved_len < 0)
{
free (resolved);
free (extra_buf);
return NULL;
}
if (resolved_len < resolved_size)
break;
free (resolved);
}
if (resolved_len < 0)
{
free (resolved);
resolved = NULL;
}
free (extra_buf);
/* NUL-terminate the resulting name. */
resolved[resolved_len] = '\0';
return resolved;
#else /* !HAVE_RESOLVEPATH */
@@ -169,9 +173,11 @@ canonicalize_file_name (const char *name)
if (!rpath)
return NULL;
dest = strchr (rpath, '\0');
if (dest < rpath + PATH_MAX)
if (dest - rpath < PATH_MAX)
{
rpath = xrealloc (rpath, PATH_MAX);
char *p = xrealloc (rpath, PATH_MAX);
dest = p + (dest - rpath);
rpath = p;
rpath_limit = rpath + PATH_MAX;
}
else
@@ -223,7 +229,7 @@ canonicalize_file_name (const char *name)
new_size += end - start + 1;
else
new_size += PATH_MAX;
rpath = (char *) xrealloc (rpath, new_size);
rpath = xrealloc (rpath, new_size);
rpath_limit = rpath + new_size;
dest = rpath + dest_offset;

View File

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

View File

@@ -1,17 +1,25 @@
/* Close standard output.
Copyright (C) 1998, 2000, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#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));
void close_stdout_set_file_name (const char *file);
void close_stdout (void);
#endif

View File

@@ -1,22 +1,21 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
# Copyright (C) 2000-2002 Free Software Foundation, Inc.
# Copyright (C) 2000-2003 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published
# by the Free Software Foundation; either version 2, or (at your option)
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
# USA.
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# The table consists of lines of the form
# ALIAS CANONICAL
@@ -71,7 +70,7 @@
# CP1125 dos
# CP1129 aix
# CP1250 woe32
# CP1251 glibc woe32
# CP1251 glibc solaris woe32
# CP1252 aix woe32
# CP1253 woe32
# CP1254 woe32
@@ -231,6 +230,7 @@ case "$os" in
echo "ISO8859-9 ISO-8859-9"
echo "ISO8859-15 ISO-8859-15"
echo "koi8-r KOI8-R"
echo "ansi-1251 CP1251"
echo "BIG5 BIG5"
echo "Big5-HKSCS BIG5-HKSCS"
echo "gb2312 GB2312"

View File

@@ -28,11 +28,7 @@
#include <assert.h>
#include <stdlib.h>
#if HAVE_STDBOOL_H
# include <stdbool.h>
#else
typedef enum {false = 0, true = 1} bool;
#endif
#include <stdbool.h>
#include "cycle-check.h"
#include "xalloc.h"

View File

@@ -10,11 +10,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#if HAVE_STDBOOL_H
# include <stdbool.h>
#else
typedef enum {false = 0, true = 1} bool;
#endif
#include <stdbool.h>
so that the proper identifiers are all declared. */

View File

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

View File

@@ -1,5 +1,5 @@
/* dirname.c -- return all but the last element in a path
Copyright 1990, 1998, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1990, 1998, 2000, 2001, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,11 +19,9 @@
# include <config.h>
#endif
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#endif
#include "dirname.h"
#include <string.h>
#include "xalloc.h"
/* Return the length of `dirname (PATH)', or zero if PATH is
@@ -67,9 +65,13 @@ dir_name (char const *path)
Run the test like this (expect no output):
gcc -DHAVE_CONFIG_H -DTEST_DIRNAME -I.. -O -Wall \
basename.c dirname.c xmalloc.c
basename.c dirname.c xmalloc.c error.c
sed -n '/^BEGIN-DATA$/,/^END-DATA$/p' dirname.c|grep -v DATA|./a.out
If it's been built on a DOS or Windows platforms, run another test like
this (again, expect no output):
sed -n '/^BEGIN-DOS-DATA$/,/^END-DOS-DATA$/p' dirname.c|grep -v DATA|./a.out
BEGIN-DATA
foo//// .
bar/foo//// bar
@@ -79,16 +81,28 @@ foo/ .
a .
END-DATA
BEGIN-DOS-DATA
c:///// c:/
c:/ c:/
c:/. c:/
c:foo c:.
c:foo/bar c:foo
END-DOS-DATA
*/
# define MAX_BUFF_LEN 1024
# include <stdio.h>
char *program_name;
int
main ()
main (int argc, char *argv[])
{
char buff[MAX_BUFF_LEN + 1];
program_name = argv[0];
buff[MAX_BUFF_LEN] = 0;
while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0])
{

View File

@@ -1,4 +1,6 @@
/* Copyright (C) 1998, 2001 Free Software Foundation, Inc.
/* Take file names apart into directory and base names.
Copyright (C) 1998, 2001, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,13 +19,7 @@
#ifndef DIRNAME_H_
# define DIRNAME_H_ 1
# ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
# endif
# include <stddef.h>
# ifndef DIRECTORY_SEPARATOR
# define DIRECTORY_SEPARATOR '/'
@@ -37,11 +33,11 @@
# 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));
char *base_name (char const *path);
char *dir_name (char const *path);
size_t base_len (char const *path);
size_t dir_len (char const *path);
int strip_trailing_slashes PARAMS ((char *path));
int strip_trailing_slashes (char *path);
#endif /* not DIRNAME_H_ */

View File

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

View File

@@ -1,24 +1,20 @@
/* Declaration for error-reporting function
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _ERROR_H
#define _ERROR_H 1
@@ -40,17 +36,15 @@
extern "C" {
#endif
#if defined (__STDC__) && __STDC__
/* Print a message with `fprintf (stderr, FORMAT, ...)';
if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
extern void error (int status, int errnum, const char *format, ...)
extern void error (int __status, int __errnum, const char *__format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern void error_at_line (int status, int errnum, const char *fname,
unsigned int lineno, const char *format, ...)
extern void error_at_line (int __status, int __errnum, const char *__fname,
unsigned int __lineno, const char *__format, ...)
__attribute__ ((__format__ (__printf__, 5, 6)));
/* If NULL, error will flush stdout, then print on stderr the program
@@ -58,12 +52,6 @@ extern void error_at_line (int status, int errnum, const char *fname,
function without parameters instead. */
extern void (*error_print_progname) (void);
#else
void error ();
void error_at_line ();
extern void (*error_print_progname) ();
#endif
/* This variable is incremented each time `error' is called. */
extern unsigned int error_message_count;

View File

@@ -1,22 +1,23 @@
/* euidaccess -- check if effective user id can access file
Copyright (C) 1990, 1991, 1995, 1998, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Copyright (C) 1990, 1991, 1995, 1998, 2000, 2003 Free Software
Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This file is part of the GNU C Library.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 59 Temple Place -
Suite 330, Boston, MA 02111-1307, USA. */
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by David MacKenzie and Torbjorn Granlund.
Adapted for GNU C library by Roland McGrath. */
@@ -25,6 +26,10 @@ Suite 330, Boston, MA 02111-1307, USA. */
# include <config.h>
#endif
#ifndef _LIBC
# include "euidaccess.h"
#endif
#include <sys/types.h>
#include <sys/stat.h>
@@ -69,7 +74,6 @@ extern int errno;
#ifndef __set_errno
# define __set_errno(val) errno = (val)
#endif
#include "euidaccess.h"
#if defined(EACCES) && !defined(EACCESS)
# define EACCESS EACCES
@@ -207,9 +211,7 @@ weak_alias (__euidaccess, euidaccess)
char *program_name;
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
char *file;
int mode;

View File

@@ -1,6 +1,6 @@
/* exclude.c -- exclude file names
Copyright (C) 1992, 1993, 1994, 1997, 1999, 2000, 2001, 2002 Free
Copyright (C) 1992, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 2003 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -24,46 +24,35 @@
# include <config.h>
#endif
#if HAVE_STDBOOL_H
# include <stdbool.h>
#else
typedef enum {false = 0, true = 1} bool;
#endif
#include <stdbool.h>
#include <ctype.h>
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include <stddef.h>
#include <stdio.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
#include <stdlib.h>
#include <string.h>
#include "exclude.h"
#include "fnmatch.h"
#include "unlocked-io.h"
#include "xalloc.h"
#ifndef SIZE_MAX
# define SIZE_MAX ((size_t) -1)
#if STDC_HEADERS || (! defined isascii && ! HAVE_ISASCII)
# define IN_CTYPE_DOMAIN(c) true
#else
# define IN_CTYPE_DOMAIN(c) isascii (c)
#endif
static inline bool
is_space (unsigned char c)
{
return IN_CTYPE_DOMAIN (c) && isspace (c);
}
/* Verify a requirement at compile-time (unlike assert, which is runtime). */
#define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
@@ -104,12 +93,7 @@ struct exclude
struct exclude *
new_exclude (void)
{
struct exclude *ex = (struct exclude *) xmalloc (sizeof *ex);
ex->exclude_count = 0;
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;
return xzalloc (sizeof *new_exclude ());
}
/* Free the storage associated with an exclude list. */
@@ -173,7 +157,7 @@ excluded_filename (struct exclude const *ex, char const *f)
int options = exclude[i].options;
if (excluded == !! (options & EXCLUDE_INCLUDE))
{
int (*matcher) PARAMS ((char const *, char const *, int)) =
int (*matcher) (char const *, char const *, int) =
(options & EXCLUDE_WILDCARDS
? fnmatch
: fnmatch_no_wildcards);
@@ -200,15 +184,9 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
{
struct patopts *patopts;
if (ex->exclude_alloc <= ex->exclude_count)
{
size_t s = 2 * ex->exclude_alloc;
if (! (0 < s && s <= SIZE_MAX / sizeof ex->exclude[0]))
xalloc_die ();
ex->exclude_alloc = s;
ex->exclude = (struct patopts *) xrealloc (ex->exclude,
s * sizeof ex->exclude[0]);
}
if (ex->exclude_count == ex->exclude_alloc)
ex->exclude = x2nrealloc (ex->exclude, &ex->exclude_alloc,
sizeof *ex->exclude);
patopts = &ex->exclude[ex->exclude_count++];
patopts->pattern = pattern;
@@ -216,22 +194,22 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
}
/* Use ADD_FUNC to append to EX the patterns in FILENAME, each with
OPTIONS. LINE_END terminates each pattern in the file. Return -1
on failure, 0 on success. */
OPTIONS. LINE_END terminates each pattern in the file. If
LINE_END is a space character, ignore trailing spaces and empty
lines in FILE. Return -1 on failure, 0 on success. */
int
add_exclude_file (void (*add_func) PARAMS ((struct exclude *,
char const *, int)),
add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
struct exclude *ex, char const *filename, int options,
char line_end)
{
bool use_stdin = filename[0] == '-' && !filename[1];
FILE *in;
char *buf;
char *buf = NULL;
char *p;
char const *pattern;
char const *lim;
size_t buf_alloc = (1 << 10); /* This must be a power of two. */
size_t buf_alloc = 0;
size_t buf_count = 0;
int c;
int e = 0;
@@ -241,18 +219,11 @@ add_exclude_file (void (*add_func) PARAMS ((struct exclude *,
else if (! (in = fopen (filename, "r")))
return -1;
buf = xmalloc (buf_alloc);
while ((c = getc (in)) != EOF)
{
buf[buf_count++] = c;
if (buf_count == buf_alloc)
{
buf_alloc *= 2;
if (! buf_alloc)
xalloc_die ();
buf = xrealloc (buf, buf_alloc);
}
buf = x2realloc (buf, &buf_alloc);
buf[buf_count++] = c;
}
if (ferror (in))
@@ -262,12 +233,28 @@ add_exclude_file (void (*add_func) PARAMS ((struct exclude *,
e = errno;
buf = xrealloc (buf, buf_count + 1);
buf[buf_count] = line_end;
lim = buf + buf_count + ! (buf_count == 0 || buf[buf_count - 1] == line_end);
pattern = buf;
for (pattern = p = buf, lim = buf + buf_count; p <= lim; p++)
if (p < lim ? *p == line_end : buf < p && p[-1])
for (p = buf; p < lim; p++)
if (*p == line_end)
{
*p = '\0';
char *pattern_end = p;
if (is_space (line_end))
{
for (; ; pattern_end--)
if (pattern_end == pattern)
goto next_pattern;
else if (! is_space (pattern_end[-1]))
break;
}
*pattern_end = '\0';
(*add_func) (ex, pattern, options);
next_pattern:
pattern = p + 1;
}

View File

@@ -1,6 +1,6 @@
/* exclude.h -- declarations for excluding file names
Copyright (C) 1992, 1993, 1994, 1997, 1999, 2001, 2002 Free
Copyright (C) 1992, 1993, 1994, 1997, 1999, 2001, 2002, 2003 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -20,14 +20,6 @@
/* Written by Paul Eggert <eggert@twinsun.com> */
#ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
/* Exclude options, which can be ORed with fnmatch options. */
/* Patterns must match the start of file names, instead of matching
@@ -43,9 +35,9 @@
struct exclude;
struct exclude *new_exclude PARAMS ((void));
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 *));
struct exclude *new_exclude (void);
void free_exclude (struct exclude *);
void add_exclude (struct exclude *, char const *, int);
int add_exclude_file (void (*) (struct exclude *, char const *, int),
struct exclude *, char const *, int, char);
bool excluded_filename (struct exclude const *, char const *);

32
lib/exit.h Normal file
View File

@@ -0,0 +1,32 @@
/* exit() function.
Copyright (C) 1995, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _EXIT_H
#define _EXIT_H
/* Get exit() declaration. */
#include <stdlib.h>
/* Some systems do not define EXIT_*, even with STDC_HEADERS. */
#ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
#endif /* _EXIT_H */

View File

@@ -1,6 +1,6 @@
/* Failure exit status
Copyright (C) 2002 Free Software Foundation, Inc.
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,11 +21,7 @@
# include <config.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
#include "exitfail.h"
#include "exit.h"
int volatile exit_failure = EXIT_FAILURE;

View File

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

View File

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

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

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

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

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

View File

@@ -1,19 +1,25 @@
#ifndef FILEMODE_H_
/* Make a string describing file modes.
# if HAVE_CONFIG_H
# include <config.h>
# endif
Copyright (C) 1998, 1999, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
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 FILEMODE_H_
# include <sys/types.h>
# ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
# endif
void mode_string PARAMS ((mode_t mode, char *str));
void mode_string (mode_t mode, char *str);
#endif

View File

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

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, 2003
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -22,23 +22,6 @@
extern "C" {
# endif
# if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
# if !defined __GLIBC__ || !defined __P
# undef __P
# define __P(protos) protos
# endif
# else /* Not C++ or ANSI C. */
# undef __P
# define __P(protos) ()
/* We can get away without defining `const' here only because in this file
it is used only inside the prototype for `fnmatch', which is elided in
non-ANSI C where `const' is problematical. */
# endif /* C++ or ANSI C. */
# ifndef __const
# define __const const
# endif
/* We #undef these before defining them because some losing systems
(HP-UX A.08.07 for example) define these in <unistd.h>. */
# undef FNM_PATHNAME
@@ -70,8 +53,8 @@ extern "C" {
/* Match NAME against the filename pattern PATTERN,
returning zero if it matches, FNM_NOMATCH if not. */
extern int fnmatch __P ((__const char *__pattern, __const char *__name,
int __flags));
extern int fnmatch (const char *__pattern, const char *__name,
int __flags);
# ifdef __cplusplus
}

View File

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

View File

@@ -1,6 +1,6 @@
/* Stack overflow handling.
/* Work around incompatibility on older systems where free (NULL) fails.
Copyright (C) 2002 Free Software Foundation, Inc.
Copyright (C) 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,4 +16,18 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
int c_stack_action (char * const *, void (*) (int));
/* written by Paul Eggert */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#undef free
#include <stdlib.h>
void
rpl_free (void *p)
{
if (p)
free (p);
}

View File

@@ -1,6 +1,7 @@
/* fsusage.c -- return space usage of mounted filesystems
Copyright (C) 1991, 1992, 1996, 1998, 1999, 2002, 2003 Free Software
Foundation, Inc.
Copyright (C) 1991, 1992, 1996, 1998, 1999, 2002, 2003 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -35,12 +36,7 @@
#include <sys/stat.h>
#include "fsusage.h"
#if HAVE_LIMITS_H
# include <limits.h>
#endif
#ifndef CHAR_BIT
# define CHAR_BIT 8
#endif
#include <limits.h>
#if HAVE_SYS_PARAM_H
# include <sys/param.h>

View File

@@ -1,5 +1,6 @@
/* fsusage.h -- declarations for filesystem space usage info
Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
Copyright (C) 1991, 1992, 1997, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,15 +32,6 @@ struct fs_usage
uintmax_t fsu_ffree; /* Free file nodes. */
};
# ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
# endif
int get_fs_usage PARAMS ((const char *path, const char *disk,
struct fs_usage *fsp));
int get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp);
#endif

410
lib/fts.c
View File

@@ -42,14 +42,18 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
# include <include/sys/stat.h>
#else
# include <sys/stat.h>
# undef __P
# define __P(x) x
#endif
#include <fcntl.h>
#include <errno.h>
#include <fts_.h>
#include <search.h>
#include "fts_.h"
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#if defined _LIBC
# include <dirent.h>
@@ -73,25 +77,20 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
# endif
#endif
#ifndef _LIBC
# undef __close
# define __close close
# undef __closedir
# define __closedir closedir
# undef __fchdir
# define __fchdir fchdir
# undef __open
# define __open open
# undef __opendir
# define __opendir opendir
# undef __readdir
# define __readdir readdir
# undef __tdestroy
# define __tdestroy tdestroy
# undef __tfind
# define __tfind tfind
# undef __tsearch
# define __tsearch tsearch
#ifdef _LIBC
# undef close
# define close __close
# undef closedir
# define closedir __closedir
# undef fchdir
# define fchdir __fchdir
# undef open
# define open __open
# undef opendir
# define opendir __opendir
# undef readdir
# define readdir __readdir
#else
# undef internal_function
# define internal_function /* empty */
#endif
@@ -111,8 +110,10 @@ int rpl_lstat (const char *, struct stat *);
/* Largest alignment size needed, minus one.
Usually long double is the worst case. */
#ifndef ALIGNBYTES
# if __GNUC__ >= 2
# define ALIGNBYTES (__alignof__ (long double) - 1)
#else
# define ALIGNBYTES (sizeof (long double) - 1)
#endif
/* Align P to that size. */
#ifndef ALIGN
@@ -133,9 +134,7 @@ static int fts_safe_changedir __P((FTS *, FTSENT *, int, const char *))
internal_function;
#ifndef MAX
# define MAX(a, b) ({ __typeof__ (a) _a = (a); \
__typeof__ (b) _b = (b); \
_a > _b ? _a : _b; })
# define MAX(a,b) ((a) > (b) ? (a) : (b))
#endif
#define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2])))
@@ -144,13 +143,132 @@ static int fts_safe_changedir __P((FTS *, FTSENT *, int, const char *))
#define ISSET(opt) (sp->fts_options & (opt))
#define SET(opt) (sp->fts_options |= (opt))
#define FCHDIR(sp, fd) (!ISSET(FTS_NOCHDIR) && __fchdir(fd))
#define FCHDIR(sp, fd) (!ISSET(FTS_NOCHDIR) && fchdir(fd))
/* fts_build flags */
#define BCHILD 1 /* fts_children */
#define BNAMES 2 /* fts_children, names only */
#define BREAD 3 /* fts_read */
#define HT_INITIAL_SIZE 31
#if FTS_DEBUG
int fts_debug = 0;
# include <stdio.h>
# define Dprintf(x) do { if (fts_debug) printf x; } while (0)
#else
# define Dprintf(x)
#endif
#define ENTER_DIR(Fts, Ent, Tag) \
do { \
Dprintf ((" %s-entering: %s\n", Tag, (Ent)->fts_path)); \
enter_dir (sp, p); \
} while (0)
#define LEAVE_DIR(Fts, Ent, Tag) \
do { \
Dprintf ((" %s-leaving: %s\n", Tag, (Ent)->fts_path)); \
leave_dir (sp, p); \
} while (0)
/* Use these each of these to map a device/inode pair to an FTSENT. */
struct Active_dir
{
dev_t dev;
ino_t ino;
FTSENT *fts_ent;
};
static bool
AD_compare (void const *x, void const *y)
{
struct Active_dir const *ax = x;
struct Active_dir const *ay = y;
return ax->ino == ay->ino
&& ax->dev == ay->dev;
}
static size_t
AD_hash (void const *x, size_t table_size)
{
struct Active_dir const *ax = x;
return (uintmax_t) ax->ino % table_size;
}
static void
enter_dir (FTS *fts, FTSENT *ent)
{
if (fts->active_dir_ht)
{
struct stat const *st = ent->fts_statp;
struct Active_dir *ad = malloc (sizeof (struct Active_dir));
struct Active_dir *ad_from_table;
if (ad == NULL)
goto give_up;
ad->dev = st->st_dev;
ad->ino = st->st_ino;
ad->fts_ent = ent;
/* See if we've already encountered this directory.
This can happen when following symlinks as well as
with a corrupted directory hierarchy. */
ad_from_table = hash_insert (fts->active_dir_ht, ad);
if (ad_from_table == NULL)
{
give_up:
/* Insertion failed due to lack of memory. Free the hash
table and turn off this sort of cycle detection. */
hash_free (fts->active_dir_ht);
fts->active_dir_ht = NULL;
return;
}
if (ad_from_table != ad)
{
/* There was an entry with matching dev/inode already in the table.
Record the fact that we've found a cycle. */
ent->fts_cycle = ad_from_table->fts_ent;
ent->fts_info = FTS_DC;
/* ad was not inserted, so free it. */
free (ad);
}
}
else if (fts->cycle_state)
{
if (cycle_check (fts->cycle_state, ent->fts_statp))
{
/* FIXME: setting fts_cycle like this isn't proper.
To do what the documentation requires, we'd have to
go around the cycle again and find the right entry.
But no callers in coreutils use the fts_cycle member. */
ent->fts_cycle = ent;
ent->fts_info = FTS_DC;
}
}
}
static void
leave_dir (FTS *fts, FTSENT *ent)
{
if (fts->active_dir_ht)
{
struct stat const *st = ent->fts_statp;
struct Active_dir obj;
void *found;
obj.dev = st->st_dev;
obj.ino = st->st_ino;
found = hash_delete (fts->active_dir_ht, &obj);
if (!found)
abort ();
free (found);
}
}
FTS *
fts_open(argv, options, compar)
char * const *argv;
@@ -160,7 +278,7 @@ fts_open(argv, options, compar)
register FTS *sp;
register FTSENT *p, *root;
register int nitems;
FTSENT *parent, *tmp;
FTSENT *parent, *tmp = NULL; /* pacify gcc */
int len;
/* Options check. */
@@ -244,7 +362,23 @@ fts_open(argv, options, compar)
sp->fts_cur->fts_link = root;
sp->fts_cur->fts_info = FTS_INIT;
sp->fts_dir_info = NULL;
if (ISSET (FTS_TIGHT_CYCLE_CHECK))
{
sp->active_dir_ht = hash_initialize (HT_INITIAL_SIZE,
NULL, AD_hash,
AD_compare, free);
if (sp->active_dir_ht == NULL)
goto mem3;
sp->cycle_state = malloc (sizeof *sp->cycle_state);
}
else
{
sp->cycle_state = malloc (sizeof *sp->cycle_state);
if (sp->cycle_state == NULL)
goto mem3;
cycle_check_init (sp->cycle_state);
sp->active_dir_ht = NULL;
}
/*
* If using chdir(2), grab a file descriptor pointing to dot to ensure
@@ -254,7 +388,7 @@ fts_open(argv, options, compar)
* descriptor we run anyway, just more slowly.
*/
if (!ISSET(FTS_NOCHDIR)
&& (sp->fts_rfd = __open(".", O_RDONLY, 0)) < 0)
&& (sp->fts_rfd = open(".", O_RDONLY, 0)) < 0)
SET(FTS_NOCHDIR);
return (sp);
@@ -298,7 +432,7 @@ fts_close(sp)
FTS *sp;
{
register FTSENT *freep, *p;
int saved_errno;
int saved_errno = 0;
/*
* This still works if we haven't read anything -- the dummy structure
@@ -323,23 +457,26 @@ fts_close(sp)
/* Return to original directory, save errno if necessary. */
if (!ISSET(FTS_NOCHDIR)) {
saved_errno = __fchdir(sp->fts_rfd) ? errno : 0;
(void)__close(sp->fts_rfd);
/* Set errno and return. */
if (saved_errno != 0) {
/* Free up the stream pointer. */
free(sp);
__set_errno (saved_errno);
return (-1);
}
if (fchdir(sp->fts_rfd))
saved_errno = errno;
(void)close(sp->fts_rfd);
}
/* Free all of the directory fingerprint info. */
__tdestroy (sp->fts_dir_info, free);
/* Free any memory used for cycle detection. */
if (sp->active_dir_ht)
hash_free (sp->active_dir_ht);
if (sp->cycle_state)
free (sp->cycle_state);
/* Free up the stream pointer. */
free(sp);
/* Set errno and return. */
if (saved_errno) {
__set_errno (saved_errno);
return (-1);
}
return (0);
}
@@ -376,6 +513,8 @@ fts_read(sp)
p->fts_info = fts_stat(sp, p, 0);
return (p);
}
Dprintf (("fts_read: p=%s\n",
p->fts_info == FTS_INIT ? "" : p->fts_path));
/*
* Following a symlink -- SLNONE test allows application to see
@@ -387,12 +526,14 @@ fts_read(sp)
(p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) {
p->fts_info = fts_stat(sp, p, 1);
if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) {
if ((p->fts_symfd = __open(".", O_RDONLY, 0)) < 0) {
if ((p->fts_symfd = open(".", O_RDONLY, 0)) < 0) {
p->fts_errno = errno;
p->fts_info = FTS_ERR;
} else
p->fts_flags |= FTS_SYMFOLLOW;
}
if (p->fts_info == FTS_D)
ENTER_DIR (sp, p, "7");
return (p);
}
@@ -402,12 +543,13 @@ fts_read(sp)
if (instr == FTS_SKIP ||
(ISSET(FTS_XDEV) && p->fts_dev != sp->fts_dev)) {
if (p->fts_flags & FTS_SYMFOLLOW)
(void)__close(p->fts_symfd);
(void)close(p->fts_symfd);
if (sp->fts_child) {
fts_lfree(sp->fts_child);
sp->fts_child = NULL;
}
p->fts_info = FTS_DP;
LEAVE_DIR (sp, p, "1");
return (p);
}
@@ -442,10 +584,13 @@ fts_read(sp)
} else if ((sp->fts_child = fts_build(sp, BREAD)) == NULL) {
if (ISSET(FTS_STOP))
return (NULL);
/* If fts_safe_changedir failed because it was not able
to fchdir into a subdirectory, tell the caller. */
/* If fts_build's call to fts_safe_changedir failed
because it was not able to fchdir into a
subdirectory, tell the caller. */
if (p->fts_errno)
p->fts_info = FTS_ERR;
/* FIXME: see if this should be in an else block */
LEAVE_DIR (sp, p, "2");
return (p);
}
p = sp->fts_child;
@@ -468,6 +613,8 @@ next: tmp = p;
return (NULL);
}
fts_load(sp, p);
if (p->fts_info == FTS_D)
ENTER_DIR (sp, p, "8");
return (sp->fts_cur = p);
}
@@ -482,7 +629,7 @@ next: tmp = p;
p->fts_info = fts_stat(sp, p, 1);
if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) {
if ((p->fts_symfd =
__open(".", O_RDONLY, 0)) < 0) {
open(".", O_RDONLY, 0)) < 0) {
p->fts_errno = errno;
p->fts_info = FTS_ERR;
} else
@@ -494,6 +641,8 @@ next: tmp = p;
name: t = sp->fts_path + NAPPEND(p->fts_parent);
*t++ = '/';
memmove(t, p->fts_name, p->fts_namelen + 1);
if (p->fts_info == FTS_D)
ENTER_DIR (sp, p, "9");
return (sp->fts_cur = p);
}
@@ -527,18 +676,20 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent);
} else if (p->fts_flags & FTS_SYMFOLLOW) {
if (FCHDIR(sp, p->fts_symfd)) {
saved_errno = errno;
(void)__close(p->fts_symfd);
(void)close(p->fts_symfd);
__set_errno (saved_errno);
SET(FTS_STOP);
return (NULL);
}
(void)__close(p->fts_symfd);
(void)close(p->fts_symfd);
} else if (!(p->fts_flags & FTS_DONTCHDIR) &&
fts_safe_changedir(sp, p->fts_parent, -1, "..")) {
SET(FTS_STOP);
return (NULL);
}
p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP;
if (p->fts_errno == 0)
LEAVE_DIR (sp, p, "3");
return (sp->fts_cur = p);
}
@@ -623,12 +774,14 @@ fts_children(sp, instr)
ISSET(FTS_NOCHDIR))
return (sp->fts_child = fts_build(sp, instr));
if ((fd = __open(".", O_RDONLY, 0)) < 0)
return (NULL);
if ((fd = open(".", O_RDONLY, 0)) < 0)
return (sp->fts_child = NULL);
sp->fts_child = fts_build(sp, instr);
if (__fchdir(fd))
if (fchdir(fd)) {
(void)close(fd);
return (NULL);
(void)__close(fd);
}
(void)close(fd);
return (sp->fts_child);
}
@@ -658,8 +811,9 @@ fts_build(sp, type)
FTSENT *cur, *tail;
DIR *dirp;
void *oldaddr;
int cderrno, descend, len, level, maxlen, nlinks, saved_errno,
int cderrno, descend, level, nlinks, saved_errno,
nostat, doadjust;
size_t len, maxlen, new_len;
char *cp;
/* Set current node pointer. */
@@ -675,7 +829,7 @@ fts_build(sp, type)
else
oflag = DTF_HIDEW|DTF_NODUP|DTF_REWIND;
#else
# define __opendir2(path, flag) __opendir(path)
# define __opendir2(path, flag) opendir(path)
#endif
if ((dirp = __opendir2(cur->fts_accpath, oflag)) == NULL) {
if (type == BREAD) {
@@ -730,7 +884,7 @@ fts_build(sp, type)
cur->fts_flags |= FTS_DONTCHDIR;
descend = 0;
cderrno = errno;
(void)__closedir(dirp);
(void)closedir(dirp);
dirp = NULL;
} else
descend = 1;
@@ -762,7 +916,7 @@ fts_build(sp, type)
/* Read the directory, attaching each entry to the `link' pointer. */
doadjust = 0;
for (head = tail = NULL, nitems = 0; dirp && (dp = __readdir(dirp));) {
for (head = tail = NULL, nitems = 0; dirp && (dp = readdir(dirp));) {
if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
continue;
@@ -780,7 +934,7 @@ mem1: saved_errno = errno;
if (p)
free(p);
fts_lfree(head);
(void)__closedir(dirp);
(void)closedir(dirp);
cur->fts_info = FTS_ERR;
SET(FTS_STOP);
__set_errno (saved_errno);
@@ -795,16 +949,17 @@ mem1: saved_errno = errno;
maxlen = sp->fts_pathlen - len;
}
if (len + NAMLEN (dp) >= 999999999 /* FIXME SIZE_MAX */) {
new_len = len + NAMLEN (dp);
if (new_len < len) {
/*
* In an FTSENT, fts_pathlen is a u_short so it is
* possible to wraparound here. If we do, free up
* In the unlikely even that we would end up
* with a path longer than SIZE_MAX, free up
* the current structure and the structures already
* allocated, then error out with ENAMETOOLONG.
*/
free(p);
fts_lfree(head);
(void)__closedir(dirp);
(void)closedir(dirp);
cur->fts_info = FTS_ERR;
SET(FTS_STOP);
__set_errno (ENAMETOOLONG);
@@ -812,7 +967,7 @@ mem1: saved_errno = errno;
}
p->fts_level = level;
p->fts_parent = sp->fts_cur;
p->fts_pathlen = len + NAMLEN (dp);
p->fts_pathlen = new_len;
#if defined FTS_WHITEOUT && 0
if (dp->d_type == DT_WHT)
@@ -827,7 +982,7 @@ mem1: saved_errno = errno;
p->fts_info = FTS_NSOK;
p->fts_accpath = cur->fts_accpath;
} else if (nlinks == 0
#if defined DT_DIR && defined _DIRENT_HAVE_D_TYPE /* FIXME */
# if HAVE_STRUCT_DIRENT_D_TYPE
|| (nostat &&
dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN)
#endif
@@ -862,7 +1017,7 @@ mem1: saved_errno = errno;
++nitems;
}
if (dirp)
(void)__closedir(dirp);
(void)closedir(dirp);
/*
* If realloc() changed the address of the path, adjust the
@@ -910,51 +1065,68 @@ mem1: saved_errno = errno;
return (head);
}
struct known_object
{
dev_t dev;
ino_t ino;
FTSENT *fts_ent;
};
#if FTS_DEBUG
static int
object_compare (const void *p1, const void *p2)
/* Walk ->fts_parent links starting at E_CURR, until the root of the
current hierarchy. There should be a directory with dev/inode
matching those of AD. If not, print a lot of diagnostics. */
static void
find_matching_ancestor (FTSENT const *e_curr, struct Active_dir const *ad)
{
/* We don't need a sophisticated and useful comparison. We are only
interested in equality. However, we must be careful not to
accidentally compare `holes' in the structure. */
const struct known_object *kp1 = p1, *kp2 = p2;
int cmp1;
cmp1 = (kp1->ino > kp2->ino) - (kp1->ino < kp2->ino);
if (cmp1 != 0)
return cmp1;
return (kp1->dev > kp2->dev) - (kp1->dev < kp2->dev);
FTSENT const *ent;
for (ent = e_curr; ent->fts_level >= FTS_ROOTLEVEL; ent = ent->fts_parent)
{
if (ad->ino == ent->fts_statp->st_ino
&& ad->dev == ent->fts_statp->st_dev)
return;
}
printf ("ERROR: tree dir, %s, not active\n", ad->fts_ent->fts_accpath);
printf ("active dirs:\n");
for (ent = e_curr;
ent->fts_level >= FTS_ROOTLEVEL; ent = ent->fts_parent)
printf (" %s(%d/%d) to %s(%d/%d)...\n",
ad->fts_ent->fts_accpath,
(int)ad->dev,
(int)ad->ino,
ent->fts_accpath,
(int)ent->fts_statp->st_dev,
(int)ent->fts_statp->st_ino);
}
static inline int
add_object (FTS *fts, FTSENT *data, struct stat *st)
void
fts_cross_check (FTS const *sp)
{
struct known_object *newp = malloc (sizeof (struct known_object));
if (newp == NULL)
return -1;
newp->dev = st->st_dev;
newp->ino = st->st_ino;
newp->fts_ent = data;
return __tsearch (newp, &fts->fts_dir_info, object_compare) ? 0 : -1;
}
FTSENT const *ent = sp->fts_cur;
FTSENT const *t;
if ( ! ISSET (FTS_TIGHT_CYCLE_CHECK))
return;
Dprintf (("fts-cross-check cur=%s\n", ent->fts_path));
/* Make sure every parent dir is in the tree. */
for (t = ent->fts_parent; t->fts_level >= FTS_ROOTLEVEL; t = t->fts_parent)
{
struct Active_dir ad;
ad.ino = t->fts_statp->st_ino;
ad.dev = t->fts_statp->st_dev;
if ( ! hash_lookup (sp->active_dir_ht, &ad))
printf ("ERROR: active dir, %s, not in tree\n", t->fts_path);
}
static inline FTSENT *
find_object (FTS *fts, struct stat *st)
{
struct known_object obj;
struct known_object const *t;
obj.dev = st->st_dev;
obj.ino = st->st_ino;
t = __tfind (&obj, &fts->fts_dir_info, object_compare);
return t ? t->fts_ent : NULL;
/* Make sure every dir in the tree is an active dir.
But ENT is not necessarily a directory. If so, just skip this part. */
if (ent->fts_parent->fts_level >= FTS_ROOTLEVEL
&& (ent->fts_info == FTS_DP
|| ent->fts_info == FTS_D))
{
struct Active_dir *ad;
for (ad = hash_get_first (sp->active_dir_ht); ad != NULL;
ad = hash_get_next (sp->active_dir_ht, ad))
{
find_matching_ancestor (ent, ad);
}
}
}
#endif
static u_short
internal_function
@@ -1002,7 +1174,6 @@ err: memset(sbp, 0, sizeof(struct stat));
}
if (S_ISDIR(sbp->st_mode)) {
register FTSENT *t;
/*
* Set the device/inode. Used to find cycles and check for
* crossing mount points. Also remember the link count, used
@@ -1017,22 +1188,6 @@ err: memset(sbp, 0, sizeof(struct stat));
if (ISDOT(p->fts_name))
return (FTS_DOT);
/*
FIXME
* Cycle detection is done by brute force when the directory
* is first encountered. If the tree gets deep enough or the
* number of symbolic links to directories is high enough,
* something faster might be worthwhile.
*/
if ((t = find_object (sp, sbp))) {
p->fts_cycle = t;
return (FTS_DC);
}
/* Remember the object, ignoring any failure. If we're running
out of memory, detecting cycles isn't a high priority. */
add_object (sp, p, sbp);
return (FTS_D);
}
if (S_ISLNK(sbp->st_mode))
@@ -1063,7 +1218,7 @@ fts_sort(sp, head, nitems)
sp->fts_nitems = nitems + 40;
if ((a = realloc(sp->fts_array,
(size_t)(sp->fts_nitems * sizeof(FTSENT *)))) == NULL) {
(size_t)(sp->fts_nitems * sizeof(FTSENT *)))) == NULL) {
free(sp->fts_array);
sp->fts_array = NULL;
sp->fts_nitems = 0;
@@ -1147,14 +1302,12 @@ fts_palloc(sp, more)
size_t more;
{
char *p;
size_t new_len = sp->fts_pathlen + more + 256;
sp->fts_pathlen += more + 256;
/*
* Check for possible wraparound. In an FTS, fts_pathlen is
* a signed int but in an FTSENT it is an unsigned short.
* We limit fts_pathlen to USHRT_MAX to be safe in both cases.
* See if fts_pathlen would overflow.
*/
if (sp->fts_pathlen < 0 || sp->fts_pathlen >= INT_MAX) {
if (new_len < sp->fts_pathlen) {
if (sp->fts_path) {
free(sp->fts_path);
sp->fts_path = NULL;
@@ -1163,6 +1316,7 @@ fts_palloc(sp, more)
__set_errno (ENAMETOOLONG);
return (1);
}
sp->fts_pathlen = new_len;
p = realloc(sp->fts_path, sp->fts_pathlen);
if (p == NULL) {
free(sp->fts_path);
@@ -1236,7 +1390,7 @@ fts_safe_changedir(sp, p, fd, path)
newfd = fd;
if (ISSET(FTS_NOCHDIR))
return (0);
if (fd < 0 && (newfd = __open(path, O_RDONLY, 0)) < 0)
if (fd < 0 && (newfd = open(path, O_RDONLY, 0)) < 0)
return (-1);
if (fstat(newfd, &sb)) {
ret = -1;
@@ -1247,11 +1401,11 @@ fts_safe_changedir(sp, p, fd, path)
ret = -1;
goto bail;
}
ret = __fchdir(newfd);
ret = fchdir(newfd);
bail:
oerrno = errno;
if (fd < 0)
(void)__close(newfd);
(void)close(newfd);
__set_errno (oerrno);
return (ret);
}

View File

@@ -32,8 +32,20 @@
#ifndef _FTS_H
# define _FTS_H 1
# include <features.h>
# ifdef _LIBC
# include <features.h>
# else
# undef __THROW
# define __THROW
# undef __BEGIN_DECLS
# define __BEGIN_DECLS
# undef __END_DECLS
# define __END_DECLS
# endif
# include <sys/types.h>
# include "hash.h"
# include "cycle-check.h"
typedef struct {
struct _ftsent *fts_cur; /* current node */
@@ -42,7 +54,7 @@ typedef struct {
dev_t fts_dev; /* starting device # */
char *fts_path; /* path for this descent */
int fts_rfd; /* fd for root */
int fts_pathlen; /* sizeof(path) */
size_t fts_pathlen; /* sizeof(path) */
int fts_nitems; /* elements in the sort array */
int (*fts_compar) (const void *, const void *); /* compare fn */
@@ -54,14 +66,38 @@ typedef struct {
# define FTS_SEEDOT 0x0020 /* return dot and dot-dot */
# define FTS_XDEV 0x0040 /* don't cross devices */
# define FTS_WHITEOUT 0x0080 /* return whiteout information */
# define FTS_OPTIONMASK 0x00ff /* valid user option mask */
# define FTS_NAMEONLY 0x0100 /* (private) child names only */
# define FTS_STOP 0x0200 /* (private) unrecoverable error */
/* There are two ways to detect cycles.
The lazy way, with which one may process a directory that is a
part of the cycle several times before detecting the cycle.
The `tight' way, whereby fts uses more memory (proportional
to number of `active' directories, aka distance from root
of current tree to current directory -- see active_dir_ht)
to detect any cycle right away. For example, du must use
this option to avoid counting disk space in a cycle multiple
times, but chown -R need not.
The default is to use the constant-memory lazy way. */
# define FTS_TIGHT_CYCLE_CHECK 0x0100
# define FTS_OPTIONMASK 0x01ff /* valid user option mask */
# define FTS_NAMEONLY 0x1000 /* (private) child names only */
# define FTS_STOP 0x2000 /* (private) unrecoverable error */
int fts_options; /* fts_open options, global flags */
/* Data structure in which to store the fingerprint
of each directory we've encountered. */
void *fts_dir_info;
/* This data structure records the directories between a starting
point and the current directory. I.e., a directory is recorded
here IFF we have visited it once, but we have not yet completed
processing of all its entries. Every time we visit a new directory,
we add that directory to this set. When we finish with a directory
(usually by visiting it a second time), we remove it from this
set. Each entry in this data structure is a device/inode pair.
This data structure is used to detect directory cycles efficiently
and promptly even when the depth of a hierarchy is in the tens
of thousands. Lazy checking, as done by GNU rm via cycle-check.c,
wouldn't be appropriate for du. */
Hash_table *active_dir_ht;
struct cycle_check_state *cycle_state;
} FTS;
typedef struct _ftsent {
@@ -75,7 +111,6 @@ typedef struct _ftsent {
int fts_errno; /* errno for this node */
int fts_symfd; /* fd for symlink */
size_t fts_pathlen; /* strlen(fts_path) */
u_short fts_namelen; /* strlen(fts_name) */
ino_t fts_ino; /* inode */
dev_t fts_dev; /* device */
@@ -83,15 +118,17 @@ typedef struct _ftsent {
# define FTS_ROOTPARENTLEVEL -1
# define FTS_ROOTLEVEL 0
short fts_level; /* depth (-1 to N) */
int fts_level; /* depth (-1 to N) */
u_short fts_namelen; /* strlen(fts_name) */
# define FTS_D 1 /* preorder directory */
# define FTS_DC 2 /* directory that causes cycles */
# define FTS_DEFAULT 3 /* none of the above */
# define FTS_DNR 4 /* unreadable directory */
# define FTS_DOT 5 /* dot or dot-dot */
# define FTS_DNR 4 /* unreadable directory */
# define FTS_DOT 5 /* dot or dot-dot */
# define FTS_DP 6 /* postorder directory */
# define FTS_ERR 7 /* error; errno is set */
# define FTS_ERR 7 /* error; errno is set */
# define FTS_F 8 /* regular file */
# define FTS_INIT 9 /* initialized only */
# define FTS_NS 10 /* stat(2) failed */

809
lib/ftw.c
View File

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

View File

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

View File

@@ -20,20 +20,25 @@
# include <config.h>
#endif
/* Specification. */
#ifdef FULL_READ
# include "full-read.h"
#else
# include "full-write.h"
#endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#ifdef FULL_READ
# include "full-read.h"
# include "safe-read.h"
# define safe_rw safe_read
# define full_rw full_read
# undef const
# define const /* empty */
#else
# include "full-write.h"
# include "safe-write.h"
# define safe_rw safe_write
# define full_rw full_write

74
lib/getcwd.c Normal file
View File

@@ -0,0 +1,74 @@
/* Provide a replacement for the POSIX getcwd function.
Copyright (C) 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* written by Jim Meyering */
#include <config.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#ifndef errno
extern int errno;
#endif
#include <sys/types.h>
#include "pathmax.h"
#include "same.h"
/* Guess high, because that makes the test below more conservative.
But this is a kludge, because we should really use
pathconf (".", _PC_NAME_MAX). But it's probably not worth the cost. */
#define KLUDGE_POSIX_NAME_MAX 255
#define MAX_SAFE_LEN (PATH_MAX - 1 - KLUDGE_POSIX_NAME_MAX - 1)
/* Undefine getcwd here, as near the use as possible, in case any
of the files included above define it to rpl_getcwd. */
#undef getcwd
/* Any declaration of getcwd from headers included above has
been changed to a declaration of rpl_getcwd. Declare it here. */
extern char *getcwd (char *buf, size_t size);
/* This is a wrapper for getcwd.
Some implementations (at least GNU libc 2.3.1 + linux-2.4.20) return
non-NULL for a working directory name longer than PATH_MAX, yet the
returned string is a strict prefix of the desired directory name.
Upon such a failure, free the offending string, set errno to
ENAMETOOLONG, and return NULL.
I've heard that this is a Linux kernel bug, and that it has
been fixed between 2.4.21-pre3 and 2.4.21-pre4. */
char *
rpl_getcwd (char *buf, size_t size)
{
char *cwd = getcwd (buf, size);
if (cwd == NULL)
return NULL;
if (strlen (cwd) <= MAX_SAFE_LEN || same_name (cwd, "."))
return cwd;
free (cwd);
errno = ENAMETOOLONG;
return NULL;
}

View File

@@ -1,4 +1,6 @@
/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
/* Parse a string into an internal time stamp.
Copyright (C) 1995, 1997, 1998, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -18,14 +20,6 @@
# include <config.h>
#endif
#ifndef PARAMS
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
#ifdef vms
# include <types.h>
# include <time.h>
@@ -43,4 +37,4 @@
# endif
#endif /* defined (vms) */
time_t get_date PARAMS ((const char *p, const time_t *now));
time_t get_date (const char *p, const time_t *now);

View File

@@ -1,6 +1,6 @@
%{
/* Parse a string into an internal time stamp.
Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,11 +27,10 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# endif
#endif
#include <alloca.h>
/* Since the code of getdate.y is not included in the Emacs executable
itself, there is no need to #define static in this file. Even if
the code were included in the Emacs executable, it probably
@@ -44,9 +43,7 @@
#include <ctype.h>
#if HAVE_STDLIB_H
# include <stdlib.h> /* for `free'; used by Bison 1.27 */
#endif
#include <stdlib.h> /* for `free'; used by Bison 1.27 */
#if STDC_HEADERS || (! defined isascii && ! HAVE_ISASCII)
# define IN_CTYPE_DOMAIN(c) 1
@@ -68,9 +65,7 @@
of `digit' even when the host does not conform to POSIX. */
#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
#endif
#include <string.h>
#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
# define __attribute__(x)
@@ -322,6 +317,14 @@ date:
PC.year.value = -$3.value;
PC.year.digits = $3.digits;
}
| tMONTH tSNUMBER tSNUMBER
{
/* e.g. JUN-17-1992. */
PC.month = $1;
PC.day = -$2.value;
PC.year.value = -$3.value;
PC.year.digits = $3.digits;
}
| tMONTH tUNUMBER
{
PC.month = $1;
@@ -520,10 +523,10 @@ static table const time_units_table[] =
/* Assorted relative-time words. */
static table const relative_time_table[] =
{
{ "TOMORROW", tMINUTE_UNIT, 24 * 60 },
{ "YESTERDAY",tMINUTE_UNIT, - (24 * 60) },
{ "TODAY", tMINUTE_UNIT, 0 },
{ "NOW", tMINUTE_UNIT, 0 },
{ "TOMORROW", tDAY_UNIT, 1 },
{ "YESTERDAY",tDAY_UNIT, -1 },
{ "TODAY", tDAY_UNIT, 0 },
{ "NOW", tDAY_UNIT, 0 },
{ "LAST", tUNUMBER, -1 },
{ "THIS", tUNUMBER, 0 },
{ "NEXT", tUNUMBER, 1 },

View File

@@ -1,5 +1,5 @@
/* provide consistent interface to getgroups for systems that don't allow N==0
Copyright (C) 1996, 1999 Free Software Foundation, Inc.
Copyright (C) 1996, 1999, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,6 +20,8 @@
#include <config.h>
#include <stdio.h>
#include <sys/types.h>
#include <errno.h>
#include <stdlib.h>
#include "xalloc.h"
@@ -29,10 +31,11 @@
provided function handle all others. */
int
getgroups (size_t n, GETGROUPS_T *group)
getgroups (int n, GETGROUPS_T *group)
{
int n_groups;
GETGROUPS_T *gbuf;
int saved_errno;
#undef getgroups
@@ -40,17 +43,22 @@ getgroups (size_t n, GETGROUPS_T *group)
return getgroups (n, group);
n = 20;
gbuf = NULL;
while (1)
{
gbuf = (GETGROUPS_T *) xrealloc (gbuf, n * sizeof (GETGROUPS_T));
/* No need to worry about address arithmetic overflow here,
since the ancient systems that we're running on have low
limits on the number of secondary groups. */
gbuf = xmalloc (n * sizeof *gbuf);
n_groups = getgroups (n, gbuf);
if (n_groups < n)
break;
free (gbuf);
n += 10;
}
saved_errno = errno;
free (gbuf);
errno = saved_errno;
return n_groups;
}

View File

@@ -1,5 +1,5 @@
/* gethostname emulation for SysV and POSIX.1.
Copyright (C) 1992 Free Software Foundation, Inc.
Copyright (C) 1992, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,10 +29,10 @@
Null terminate it if the name is shorter than LEN.
Return 0 if ok, -1 if error. */
#include <stddef.h>
int
gethostname (name, len)
char *name;
int len;
gethostname (char *name, size_t len)
{
#ifdef HAVE_UNAME
struct utsname uts;

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