Hi, Thanks for reporting. Please apply the attached patch.
Regards, Sergey
>From a09e840507c16357ec11b17a02e103c3a26adebc Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff <g...@gnu.org.ua> Date: Thu, 23 Jan 2014 18:04:36 +0200 Subject: [PATCH] Make sure transformed file names retain trailing slash in listing. * src/list.c (simple_print_header): Print trailing slash if using the transformed name. Use had_trailing_slash instead of analyzing last byte if temp_name --- src/list.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/list.c b/src/list.c index 094f649..3a59f29 100644 --- a/src/list.c +++ b/src/list.c @@ -1111,7 +1111,10 @@ simple_print_header (struct tar_stat_info *st, union block *blk, if (verbose_option <= 1) { /* Just the fax, mam. */ - fprintf (stdlis, "%s\n", quotearg (temp_name)); + fputs (quotearg (temp_name), stdlis); + if (show_transformed_names_option && st->had_trailing_slash) + fputc ('/', stdlis); + fputc ('\n', stdlis); } else { @@ -1138,9 +1141,7 @@ simple_print_header (struct tar_stat_info *st, union block *blk, case GNUTYPE_SPARSE: case REGTYPE: case AREGTYPE: - modes[0] = '-'; - if (temp_name[strlen (temp_name) - 1] == '/') - modes[0] = 'd'; + modes[0] = st->had_trailing_slash ? 'd' : '-'; break; case LNKTYPE: modes[0] = 'h'; @@ -1251,6 +1252,8 @@ simple_print_header (struct tar_stat_info *st, union block *blk, datewidth, time_stamp); fprintf (stdlis, " %s", quotearg (temp_name)); + if (show_transformed_names_option && st->had_trailing_slash) + fputc ('/', stdlis); switch (blk->header.typeflag) { -- 1.7.12.1