1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-06-07 18:26:35 +02:00
Commit Graph

200 Commits

Author SHA1 Message Date
Jim Meyering 6bcd4b08ba (main): Call initialize_main. 2003-06-17 18:13:23 +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 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 0919600481 (main): Test for the case of no arguments before computing n_files. 2003-05-10 13:30:26 +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 882edccbd6 (start_lines): Rewrite to use memchr. Clean up. 2003-05-01 11:49:12 +00:00
Jim Meyering 31df60a180 Remove SPC in SPC-TAB sequence. 2003-04-11 12:42:15 +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 371e50492e (xlseek):
Use primitives from inttostr.h, not human.h, to print large numbers simply.
2002-11-05 20:32:55 +00:00
Jim Meyering 0ddadb6245 tail -c +N would perform an extra read after encountering EOF
[this change is analogous (bytes vs. lines) to the one of 2002-01-27]

(start_bytes): Detect EOF, inform caller.
(tail_bytes): Upon EOF in start_bytes, return immediately.
(file_lines): Reorganize to use memrchr rather than an explicit loop.
Adapt to new safe_read ABI.
2002-10-12 08:39:12 +00:00
Jim Meyering 4a6814ada7 Mark translatable string with `N_ (...)'. 2002-10-03 09:31:12 +00:00
Jim Meyering c791a382f8 (parse_options): Give a sensible diagnostic for
an invalid byte or line count.  Reported by Mikko Tuumanen.
2002-09-29 18:06:02 +00:00
Jim Meyering 475574011d (tail_bytes): Change type of bytes_remaining to off_t
to avoid overflow.  Reported by Hans Lermen.
2002-09-28 09:21:17 +00:00
Jim Meyering 7a79266014 Include xnanosleep.h and xstrtod.h.
Move declaration of global variable, sleep_interval, to ...
(main): ...here.
(usage): Update description of --sleep-interval option.
(tail_forever): New parameter, sleep_interval.  Update caller.
Use xnanosleep, rather than sleep.
(parse_options): New parameter, sleep_interval.  Update caller.
Use xstrtod, now that we accept floating point values.
2002-09-12 11:38:47 +00:00
Jim Meyering 4006f4e672 Change exit (0)' to exit (EXIT_SUCCESS)',
`exit (1)' to `exit (EXIT_FAILURE)', and
`usage (1)' to `usage (EXIT_FAILURE)'.
2002-08-31 08:52:10 +00:00
Jim Meyering 7488703199 Change error (1, ...' to error (EXIT_FAILURE, ...'. 2002-08-30 23:04:53 +00:00
Jim Meyering 3124a4e393 (main): Close STDIN_FILENO rather than a literal `0'. 2002-08-25 14:32:02 +00:00
Jim Meyering c8729cad98 Adjust command examples in comments to use POSIX 1003.1-2001 option syntax.
From Paul Eggert.
2002-07-29 08:40:10 +00:00
Jim Meyering 5a731510b2 (usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. 2002-07-02 09:06:33 +00:00
Jim Meyering 15bef4ddb6 (tail_forever): Do not treat
max_n_unchanged_stats_between_opens specially (as if it were
infinite) if it has its maximal value.  Similarly for
max_n_consecutive_size_changes_between_opens.
2002-04-29 08:23:06 +00:00
Jim Meyering 676991e630 (parse_obsolescent_option): Do not limit the maximum
line/byte count to be less than ULONG_MAX on systems where
OFF_T_MAX is larger.
2002-04-29 07:30:57 +00:00
Jim Meyering 1e6f7000ac Include posixver.h.
(usage): Document only the intersection of the old and new behaviors,
to encourage portability.
(main, parse_obsolescent_option): Parse options using POSIX 1003.1-2001 rules if
conforming to that standard.  Do not warn of obsolete options.
2002-02-16 08:10:10 +00:00
Jim Meyering 3e04fcdbb5 Add more support for POSIX 1003.1-2001, which requires removal for
support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(parse_obsolescent_option, main): Likewise.
2002-02-01 16:31:55 +00:00
Jim Meyering 31cb36e88f (start_lines): Handle the case in which bytes_read is zero. 2002-02-01 09:12:50 +00:00
Jim Meyering 662fff7861 tail -n +2 would perform an extra read after encountering EOF
(start_lines): Detect EOF, inform caller.
(tail_lines): Upon EOF in start_lines, return immediately.
2002-01-27 07:53:37 +00:00
Jim Meyering 8a755a3d27 (parse_obsolescent_option): Issue a warning for obsolete usage,
unless POSIXLY_CORRECT.
2002-01-18 23:39:37 +00:00
Jim Meyering 0037e217df add 2002 to Copyright line 2002-01-16 22:56:54 +00:00
Jim Meyering 65562d99c3 Add support for POSIX 1003.1-2001, which requires removal for
support of obsolete "+" option syntax in sort, tail, and uniq.

(usage, parse_obsolescent_option): Implement the above.
2002-01-16 22:53:00 +00:00
Jim Meyering 8f730b8a46 (usage): Don't split translatable strings in the middle of a sentence. 2001-12-03 16:07:50 +00:00
Jim Meyering 3a0a028c8c Reflect renaming to, and new usage of these macros:
HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION.
2001-12-01 17:41:25 +00:00
Jim Meyering afa12bc912 (usage): Use new macros, EMIT_HELP_DESCRIPTION and EMIT_VERSION_DESCRIPTION
instead of hard-coding --help and --version descriptions.
2001-12-01 17:21:56 +00:00
Jim Meyering 909dc8c01d Factor out some common strings to make translation easier.
Split usage strings so that --help and --version descriptions are alone
in their own string.
Likewise for the one that says:
  Mandatory arguments to long options are mandatory for short options too.
2001-11-23 19:58:23 +00:00
Jim Meyering df6f3a4998 remove FIXME comment about duplicate code 2001-11-20 09:53:33 +00:00
Jim Meyering a71d24334e (xlseek): New function.
Call it instead of lseek, in most cases, so any failure is reported.
2001-11-19 10:59:56 +00:00
Jim Meyering a10a5f3a93 (tail_forever): Add a cast. 2001-11-17 14:10:52 +00:00
Jim Meyering 8379824202 (file_lines): Remove unnecessary cast.
(tail_lines): Could have called file_lines even though the first
lseek failed.  Fix that.
2001-11-14 11:52:59 +00:00
Jim Meyering 306433db58 split a line that was too long 2001-11-13 23:36:57 +00:00
Jim Meyering 389d9bc4e0 (file_lines): Add a parameter, start_pos.
Work properly even when the read pointer is not at beginning of file.
(tail_lines): Call file_lines for any regular file, as long as lseek
can be used to seek to its end, not just when the initial read pointer
is at beginning of file.
2001-11-13 23:32:12 +00:00
Jim Meyering 9a628d3908 (tail_lines): Move declaration of local `length' into scope where it's used.
(tail_file): Likewise for local `stats'.
2001-11-13 10:23:44 +00:00
Jim Meyering 5579ee544c `tail /proc/ksyms' would segfault on Linux.
(tail_lines): Use status of lseek (...SEEK_END) call
in deciding whether to call file_lines or pipe_lines.
From Herbert Xu.
2001-11-13 10:14:12 +00:00
Jim Meyering 4bdaed5ff4 (xwrite): Remove assertion that size_t N >= 0. 2001-11-11 15:08:48 +00:00
Jim Meyering f7eb4c8913 (usage): Split --help output into smaller pieces.
Use fputs, not printf.
2001-11-11 15:08:02 +00:00
Jim Meyering ff4121e50e (usage): Say that
``Mandatory arguments to long options are mandatory for short options too.\n\''
2001-11-04 09:43:16 +00:00
Jim Meyering 83e51f160b tail -F would segfault
(parse_options): Add missing `break;' from last change.
2001-09-30 11:32:58 +00:00
Jim Meyering 388c1a6104 tail: accept new option: -F, equivalent to `--follow=name --retry',
for compatibility with FreeBSD and NetBSD versions of tail.

(usage): Describe new option.
(parse_options): Accept it.
2001-09-12 07:27:29 +00:00
Jim Meyering 8927e79a05 (usage): Reformat so help2man generates a properly indented man page. 2001-07-08 21:29:09 +00:00
Jim Meyering b85edfac45 (parse_obsolescent_option): Accept a b suffix. 2001-05-20 18:46:09 +00:00