join: with --check-order print offending file name, line number and data
authorJim Meyering <meyering@redhat.com>
Thu, 4 Aug 2011 17:31:50 +0000 (19:31 +0200)
committerJim Meyering <meyering@redhat.com>
Mon, 8 Aug 2011 08:12:38 +0000 (10:12 +0200)
commit70555790672b5465b4f4167b85c9015d5be1f2fd
tree5b8bd13e7496bb13cb69c6e0a2b2bf9c97cf8a53
parent005534907cdc7ff0a4c7908631ff596c4b07ba56
join: with --check-order print offending file name, line number and data

* src/join (g_names): New global (was main's "names").
(main): Update all uses of "names".
(line_no[2]): New globals.
(get_line): Increment after reading each line.
(check_order): Print the standard "file name:line_no: " prefix
as well as the offending line when reporting disorder.
Here is a sample old/new comparison:
  -join: file 1 is not in sorted order
  +join: in:4: is not sorted: contents-of-line-4
* tests/misc/join: Change the two affected tests to expect
the new diagnostic.
Add new tests for more coverage: mismatch in file 2,
two diagnostics, zero-length out-of-order line.
* NEWS (Improvements): Mention it.
Suggested by David Gast in http://debbugs.gnu.org/9236
NEWS
THANKS.in
src/join.c
tests/misc/join