From: Eric Blake Date: Thu, 7 Jan 2010 03:57:40 +0000 (-0700) Subject: pr: ensure the page header line is of the required format X-Git-Tag: v8.3~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=67d3e263504115144380dfaffd41c9cef3cf68a4;p=thirdparty%2Fcoreutils.git pr: ensure the page header line is of the required format 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. --- diff --git a/NEWS b/NEWS index a22fa7a567..a52f618d11 100644 --- 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 5ed26b9250..19aee6bda4 100644 --- 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 diff --git a/src/pr.c b/src/pr.c index a1b44e3f39..1b08894ec4 100644 --- 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; diff --git a/tests/pr/W20l24f-ll b/tests/pr/W20l24f-ll index 92d08afe45..ecc9a7afc1 100644 --- a/tests/pr/W20l24f-ll +++ b/tests/pr/W20l24f-ll @@ -1,6 +1,6 @@ --- Date/Time --xPage 1 +-- Date/Time -- x Page 1 1<<< -Test: FF's in @@ -19,13 +19,13 @@ 14<<< 123456789 123 --- Date/Time --xPage 2 +-- Date/Time -- x Page 2 --- Date/Time --xPage 3 +-- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZ @@ -44,13 +44,13 @@ 28<<< trunc --- Date/Time --xPage 4 +-- Date/Time -- x Page 4 --- Date/Time --xPage 5 +-- Date/Time -- x Page 5 29<<