1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-05 08:10:15 +02:00
Commit Graph

18592 Commits

Author SHA1 Message Date
Jim Meyering a396e88106 (posix_pedantic): Remove; no longer needed since
we need to test this in just one place now.
(usage): Mention -C.
(unquote): Note that \055, \n, etc are escaped.
Do not worry about POSIXLY_CORRECT when warning about ambiguous
escape sequences.
\ at end of string stands for itself.
Do not diagnose invalid backslash escapes: POSIX says the behavior
is unspecified in this case, so we don't need to diagnose it.
(main): Add support for -C (currently an alias for -c).
Do not diagnose 'tr [:upper:] [:upper:], as POSIX does not require
a diagnostic here.
2004-06-02 08:50:24 +00:00
Jim Meyering 7a9884545c *** empty log message *** 2004-06-02 08:35:27 +00:00
Jim Meyering 733ceab1b8 (tr invocation): Mention -C. 2004-06-02 08:35:02 +00:00
Jim Meyering 17ccbf5907 *** empty log message *** 2004-06-01 17:12:44 +00:00
Jim Meyering 33f99919fd update from gnulib 2004-06-01 15:27:10 +00:00
Jim Meyering c74dc457eb *** empty log message *** 2004-06-01 15:24:15 +00:00
Jim Meyering 4041dbb5e4 Update from gnulib. 2004-06-01 15:24:11 +00:00
Jim Meyering 807984cc3f . 2004-06-01 14:28:25 +00:00
Jim Meyering 6d835b1811 *** empty log message *** 2004-06-01 14:18:08 +00:00
Jim Meyering 80b21d2d40 *** empty log message *** 2004-06-01 13:37:04 +00:00
Jim Meyering be62d4e33d (main): Update use of xreadlink. 2004-06-01 13:37:01 +00:00
Jim Meyering 5c00973123 (print_stat): Update use of xreadlink. 2004-06-01 13:36:40 +00:00
Jim Meyering b99bf39b10 (get_link_name): Update use of xreadlink. 2004-06-01 13:36:20 +00:00
Jim Meyering 50a5f71804 *** empty log message *** 2004-06-01 13:29:42 +00:00
Jim Meyering bd62a6597a (copy_internal): Don't use alloca, as it can mess up
royally if the link length is long (e.g., GNU/Hurd).  Use
xreadlink instead, it's safer.  Don't bother to read the link if
it's the wrong size.  Add a FIXME because this area is a bit murky
and undocumented.
2004-06-01 13:29:36 +00:00
Jim Meyering 6992440dfb *** empty log message *** 2004-06-01 13:24:23 +00:00
Jim Meyering 8c808cebf4 (canonicalize_file_name): Update use of xreadlink. 2004-06-01 13:24:12 +00:00
Jim Meyering 63107c9f9a Update prototype to reflect new signature.
Include <stddef.h>, for size_t.
2004-06-01 13:22:25 +00:00
Jim Meyering 8a81d09a7f Include xreadlink.h first, to catch .h file dependency problems. 2004-06-01 13:20:50 +00:00
Jim Meyering 8aceeea5ff *** empty log message *** 2004-06-01 13:17:13 +00:00
Jim Meyering 70a4763937 (binary_operator, and, or, main):
Prefer the notation `STREQ (a, b)' over `!strcmp (a, b)'
and `STREQ (a, b)' over `strcmp (a, b) == 0'.
2004-06-01 13:17:08 +00:00
Jim Meyering a0009d0ec1 *** empty log message *** 2004-06-01 13:09:20 +00:00
Jim Meyering 4bc03442d7 (main): Prefer the notation STREQ (a, b)' over !strcmp (a, b)'. 2004-06-01 13:07:01 +00:00
Jim Meyering f81aaf1fa8 (swallow_file_in_memory, main):
Prefer the notation `STREQ (a, b)' over `strcmp (a, b) == 0'.
2004-06-01 13:05:27 +00:00
Jim Meyering ae752755d2 (correct_password, restricted_shell, main):
Prefer the notation `STREQ (a, b)' over `strcmp (a, b) == 0'.
2004-06-01 13:04:02 +00:00
Jim Meyering 4db0764f1a (main): Prefer the notation STREQ (a, b)' over strcmp (a, b) == 0'. 2004-06-01 13:00:28 +00:00
Jim Meyering 339ff9d46b (batch_convert): Prefer the notation STREQ (a, b)' over strcmp (a, b) == 0'. 2004-06-01 12:52:31 +00:00
Jim Meyering 3c3e1584ed (nextarg): Prefer the notation STREQ (a, b)' over strcmp (a, b) == 0'. 2004-06-01 12:52:14 +00:00
Jim Meyering 3fb9e9c835 (main, sort_buffer_size): Use STREQ (a, b) rather than `strcmp (a, b) == 0' 2004-06-01 12:50:09 +00:00
Jim Meyering c35afe751f echo compatibility cleanup. 2004-06-01 12:47:45 +00:00
Jim Meyering 980b8cf2f7 *** empty log message *** 2004-06-01 12:47:37 +00:00
Jim Meyering d34466e25d Add some index references for POSIXLY_CORRECT.
(echo invocation): Document today's changes.
2004-06-01 12:46:22 +00:00
Jim Meyering 97a6ce40ed (V9_ECHO): Remove; always enabled.
(DEFAULT_ECHO_TO_XPG): Renamed from V9_DEFAULT, so that
we use the same naming convention as bash.  Now an enum,
not a macro.
(usage): Reword to mention -e/-E more accurately.
Mention \0NNN (the POSIX syntax) rather than \NNN (nonstandard).
(hextobin): New function.
(main): Use bool rather than int for local vars when appropriate.
Do not allow options if POSIXLY_CORRECT, unless we are using
BSD semantics and the first argument is "-n".
Don't pass unnecessary extra arg to parse_long_options.
do_v9 now defaults to DEFAULT_ECHO_TO_XPG, not to allow_options.
Do not look for options if !allow_options.
Use size_t rather than int when appropriate.
Open-code option test rather than using strrchr.
Use faster test for "-".
Avoid redundant argc test.
Add support for \x, for Bash compatibility.
Use e.g. '\a' rather than '\007', for portability to EBCDIC hosts.
When '\c' is encountered, stop printing immediately, as POSIX
requires.
Add support for \xhh syntax.
Add support for \0ooo syntax; POSIX requires this.
2004-06-01 12:43:41 +00:00
Jim Meyering a805d1df29 *** empty log message *** 2004-06-01 08:51:27 +00:00
Jim Meyering 8b8e7f2d32 Update from gnulib. 2004-06-01 08:51:23 +00:00
Jim Meyering 8a14359d3e *** empty log message *** 2004-06-01 07:49:59 +00:00
Jim Meyering 92b4b9ffba . 2004-06-01 07:49:47 +00:00
Jim Meyering 8772aaa97d *** empty log message *** 2004-05-31 18:29:48 +00:00
Jim Meyering 778326c2e6 . 2004-05-31 12:20:01 +00:00
Jim Meyering e159215542 . 2004-05-31 12:18:55 +00:00
Jim Meyering 7db2ac9eaf regenerate 2004-05-31 12:18:24 +00:00
Jim Meyering d6e5e7b49e 2004-05-29 Paul Eggert <eggert@cs.ucla.edu>
tr cleanup, mostly having to do with integer type ranges.
	Remove all casts.

	* tests/tr/Test.pm: Add a few tests for the below.  Alas, most of
	the test cases wouldn't be portable, or would take too much CPU
	time, or both.
2004-05-31 12:17:49 +00:00
Jim Meyering b6220a928f (TESTS_ENVIRONMENT): Define PATH to include
the build src/ directory -- at the front.
($(srcdir)/$x-tests): Depend on Makefile.am.
Use $x as the program name, except when it would be `test' (test is
the sole program tested via mk-script that is also a shell built-in).
In that case, use the old ../../src/$x.
2004-05-31 12:16:47 +00:00
Jim Meyering bc8843e1ca . 2004-05-31 12:11:49 +00:00
Jim Meyering 00731dd01d . 2004-05-31 11:41:36 +00:00
Jim Meyering d36784d3bb *** empty log message *** 2004-05-31 11:41:13 +00:00
Jim Meyering 14a7c4506d (TESTS_ENVIRONMENT): Set PATH. 2004-05-31 11:41:06 +00:00
Jim Meyering a2d94eab8a *** empty log message *** 2004-05-31 11:30:30 +00:00
Jim Meyering 6b970542fe (set_initialize): Remove unnecessary initialization of the `in_set'
buffer; that initialization triggered the same compiler bug as above.
2004-05-31 11:30:27 +00:00
Jim Meyering 7b03cfb5dc tr cleanup, mostly having to do with integer type ranges.
Remove all casts.

Here are examples of the failures:

   $ echo a | tr a '[x*][y*2147483646][y*2147483646][y*4]'
   x
   $ echo abcd | tr abc '[b*\9]'
   bbbd
   $ echo abcd | tr abc '[b*0]'
   tr: invalid repeat count `0' in [c*n] construct
   $ echo abcd | tr -c '[a*65536]\n' '[b*]'
   tr: ../../coreutils-5.2.1/src/tr.c:1942: main: Assertion `get_next (s2, ((void *)0)) == -1 || truncate_set1' failed.
   Aborted

(N_CHARS, N_CHAR_CLASSES): Now an enum, not a macro.
This is safe since the code already assumes N_CHARS fits in int.
(Filter): Remove: we want to prototype everything.
(ORD, CHR): Remove.  All uses removed.  Some replaced with:
(uchar): New function.  All places where a char must be converted
to an unsigned char are now done this way, not by ad-hoc methods.
(count): New type.  Use it whenever counts or states are needed.
(BEGIN_STATE): Increase from INT_MAX - 1 (which was bogus, anyway,
since we used it in an unsigned int context) to UINTMAX_MAX - 1.
(REPEAT_COUNT_MAXIMUM): New macro.  Use it in place of BEGIN_STATE
whenever appropriate.
(NOT_A_CHAR): Remove global macro; now a local enum.
(UL_LOWER, UL_UPPER, UL_NONE): No longer specify values, since
the rest of the code no longer depends on them.
(class_ok): Remove; all uses changed to use inline comparisons.
(RE_NO_TYPE): Remove; wasn't used or needed.
(struct List_element): normal_char and equiv_code are now unsigned
char, not int.
first_char, last_char, and the_repeated_char are now unsigned char,
not unsigned int.  repeat_count is now count, not size_t.
All uses changed.
(struct Spec_list): state is now count, not unsigned int.
lengthis now count, not size_t.
n_indefinite_repeats is now size_t, not int.
has_equiv_class, has_char_class, and has_restricted_char_class
are now bool, not int.  All uses changed.
(struct E_string): s is now char *, not unsigned char *.
escaped is now bool *, not int *.  All uses changed.
(ES_MATCH): Remove macro, replacing with:
(es_match): New inline function.  All uses changed.
(squeeze_repeats, complement, posix_pedantic, truncate_set1,
translating): Now bool, not int.
(io_buf): Now char array, not unsigned char.
(SET_TYPE): Remove.  All uses replaced with bool.
(is_equiv_class_member, unquote, append_range, append_char_class,
append_equiv_class, find_closing_delim, star_digits_closebracket,
build_spec_list, parse_str, homogeneous_spec_list):
Now returns bool, not int.  All uses changed.
(is_equiv_class_member): Now inline.
(is_equiv_class_member, is_char_class_member, make_printable_str,
append_normal_char, append_range, append_repeated_char,
get_s2_spec_stats):
Args are now of proper integer type.
(unquote, look_up_char_class, make_printable_str,
append_equiv_class, build_spec_list, squeeze_filter):
Avoid unsigned char *p; gently convert *p to unsigned char instead.
(unquote, get_spec_stats): Do not jump past declarations and then
use them; C doesn't allow this in portable programs.
(make_printable_str): Check for overflow in size calculations.
(xmemdup): Remove.  All uses rewritten.
(find_bracketed_repeat): Args are now of proper pointer-to-integer
type.  Do not reject [c*0].  Use xstrtoumax, not xstrtoul.
(find_bracketed_repeat, star_digits_closebracket): Check that the
digits are not escaped.
(build_spec_list): Don't bother to copy opnd_str; not needed.
(build_spec_list, get_next): Simplify internal logic a bit.
(card_of_complement): Fix bug due to char overflow.
(get_spec_stats): Don't assume len fits into int.
Check for integer overflow.  Use abort() rather than assert(0).
(string2_extend): Fix subscript error: is_char_class_member (..., 255)
was being invoked.
(squeeze_filter): READER is never null now; simplify code.
READER arg now has a simpler type.  Remove unnecessary casts.
(squeeze_filter, main): Calls to fwrite improperly checked result
against zero, rather than against requested size.
(plain_read): New function.
(read_and_delete, read_and_xlate):
Remove unused filter arg, and don't worry about hit_eof.
Simplify by using plain_read.
(set_initialize): Args are bool and bool *, not int and SET_TYPE *.
(main): Always pass a non-null procedure to squeeze_filter.
Rewrite so that class_ok isn't needed.
2004-05-31 10:06:23 +00:00