pr: ensure the page header line is of the required format
authorEric Blake <ebb9@byu.net>
Thu, 7 Jan 2010 03:57:40 +0000 (20:57 -0700)
committerEric Blake <ebb9@byu.net>
Thu, 7 Jan 2010 04:07:23 +0000 (21:07 -0700)
Before this change, with too long a file name, the name would
abut the date field on the left and possibly also the "Page N"
field on the right, rather than leaving a one-space separator
in each case.  Fixes a regression introduced on Mar 6 2009,
by commit a4053c5291d5797734b3e4f042f9e1adf3944fd6

* src/pr.c (print_header): Ensure that there is at least one
space before and after the file name part of the header line.
* NEWS: Mention it.
* tests/pr/W20l24f-ll: s/xPage/ x Page/.
* THANKS: Update.
Reported by Denis McKeon, in https://savannah.gnu.org/bugs/?28492.

NEWS
THANKS
src/pr.c
tests/pr/W20l24f-ll

diff --git a/NEWS b/NEWS
index a22fa7a..a52f618 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,9 @@ GNU coreutils NEWS                                    -*- outline -*-
   symlinks when the 'LINK target' directive was given to dircolors.
   [bug introduced in fileutils-4.0]
 
+  pr's page header was improperly formatted for long file names.
+  [bug introduced in coreutils-7.2]
+
   rm -r --one-file-system works once again.
   The rewrite to make rm use fts introduced a regression whereby
   a commmand of the above form would fail for all subdirectories.
diff --git a/THANKS b/THANKS
index 5ed26b9..19aee6b 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -152,6 +152,7 @@ Dawson Engler                       engler@stanford.edu
 Dean Gaudet                         dean-savannah@arctic.org
 Deepak Goel                         deego@gnufans.org
 Denis Excoffier                     denis.excoffier@airbus.com
+Denis McKeon                        DMckeon@swcp.com
 Dennis Henriksen                    opus@flamingo.osrl.dk
 Dennis Smit                         ds@nerds-incorporated.org
 Derek Clegg                         dclegg@next.com
index a1b44e3..1b08894 100644 (file)
--- a/src/pr.c
+++ b/src/pr.c
@@ -2403,10 +2403,10 @@ print_header (void)
   lhs_spaces = available_width >> 1;
   rhs_spaces = available_width - lhs_spaces;
 
-  printf ("\n\n%*.*s%s%*.*s%s%*.*s%s\n\n\n",
-          chars_per_margin, chars_per_margin, " ",
-          date_text, lhs_spaces, lhs_spaces, " ",
-          file_text, rhs_spaces, rhs_spaces, " ", page_text);
+  printf ("\n\n%*s%s%*s%s%*s%s\n\n\n",
+          chars_per_margin, "",
+          date_text, lhs_spaces, " ",
+          file_text, rhs_spaces, " ", page_text);
 
   print_a_header = false;
   output_position = 0;
index 92d08af..ecc9a7a 100644 (file)
@@ -1,6 +1,6 @@
 
 
--- Date/Time --xPage 1
+-- Date/Time -- x Page 1
 
 
 1<<<  -Test: FF's in
 14<<<  123456789 123
 \f
 
--- Date/Time --xPage 2
+-- Date/Time -- x Page 2
 
 
 
 \f
 
--- Date/Time --xPage 3
+-- Date/Time -- x Page 3
 
 
 15<<<  xyzxyzxyz XYZ
 28<<<  trunc
 \f
 
--- Date/Time --xPage 4
+-- Date/Time -- x Page 4
 
 
 
 \f
 
--- Date/Time --xPage 5
+-- Date/Time -- x Page 5
 
 
 29<<<xyzxyzxyz XYZXY
 42<<<  123456789 abc
 \f
 
--- Date/Time --xPage 6
+-- Date/Time -- x Page 6
 
 
 
 \f
 
--- Date/Time --xPage 7
+-- Date/Time -- x Page 7
 
 
 
 \f
 
--- Date/Time --xPage 8
+-- Date/Time -- x Page 8
 
 
 43<<<  xyzxyzxyz XYZ
 56<<<  123456789 abc
 \f
 
--- Date/Time --xPage 9
+-- Date/Time -- x Page 9
 
 
 57<<<  xyzxyzxyz XYZ