/[tar]/tar/src/list.c
ViewVC logotype

Diff of /tar/src/list.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.60 by gray, Thu Nov 13 08:46:26 2003 UTC revision 1.61 by gray, Mon Nov 17 07:38:38 2003 UTC
# Line 76  read_and (void (*do_something) (void)) Line 76  read_and (void (*do_something) (void))
76    do    do
77      {      {
78        prev_status = status;        prev_status = status;
79        destroy_stat (&current_stat_info);        tar_stat_destroy (&current_stat_info);
80        xheader_destroy (&extended_header);        xheader_destroy (&extended_header);
81                
82        status = read_header (false);        status = read_header (false);
# Line 185  list_archive (void) Line 185  list_archive (void)
185    
186    decode_header (current_header, &current_stat_info, &current_format, 0);    decode_header (current_header, &current_stat_info, &current_format, 0);
187    if (verbose_option)    if (verbose_option)
188      print_header (-1);      print_header (&current_stat_info, -1);
189    
190    if (incremental_option && current_header->header.typeflag == GNUTYPE_DUMPDIR)    if (incremental_option && current_header->header.typeflag == GNUTYPE_DUMPDIR)
191      {      {
# Line 933  static int ugswidth = UGSWIDTH;        /* maxim Line 933  static int ugswidth = UGSWIDTH;        /* maxim
933  #endif  #endif
934    
935  void  void
936  print_header (off_t block_ordinal)  print_header (struct tar_stat_info *st, off_t block_ordinal)
937  {  {
938    char modes[11];    char modes[11];
939    char const *time_stamp;    char const *time_stamp;
940    char *temp_name = current_stat_info.orig_file_name ? current_stat_info.orig_file_name : current_stat_info.file_name;    char *temp_name = st->orig_file_name ? st->orig_file_name : st->file_name;
941        
942    /* These hold formatted ints.  */    /* These hold formatted ints.  */
943    char uform[UINTMAX_STRSIZE_BOUND], gform[UINTMAX_STRSIZE_BOUND];    char uform[UINTMAX_STRSIZE_BOUND], gform[UINTMAX_STRSIZE_BOUND];
# Line 1021  print_header (off_t block_ordinal) Line 1021  print_header (off_t block_ordinal)
1021            break;            break;
1022          }          }
1023    
1024        decode_mode (current_stat_info.stat.st_mode, modes + 1);        decode_mode (st->stat.st_mode, modes + 1);
1025    
1026        /* Time stamp.  */        /* Time stamp.  */
1027    
1028        time_stamp = tartime (current_stat_info.stat.st_mtime);        time_stamp = tartime (st->stat.st_mtime);
1029    
1030        /* User and group names.  */        /* User and group names.  */
1031    
1032        if (current_stat_info.uname && current_format != V7_FORMAT        if (st->uname && current_format != V7_FORMAT
1033            && !numeric_owner_option)            && !numeric_owner_option)
1034          user = current_stat_info.uname;          user = st->uname;
1035        else        else
1036          {          {
1037            /* Try parsing it as an unsigned integer first, and as a            /* Try parsing it as an unsigned integer first, and as a
# Line 1051  print_header (off_t block_ordinal) Line 1051  print_header (off_t block_ordinal)
1051              }              }
1052          }          }
1053    
1054        if (current_stat_info.gname && current_format != V7_FORMAT        if (st->gname && current_format != V7_FORMAT
1055            && !numeric_owner_option)            && !numeric_owner_option)
1056          group = current_stat_info.gname;          group = st->gname;
1057        else        else
1058          {          {
1059            /* Try parsing it as an unsigned integer first, and as a            /* Try parsing it as an unsigned integer first, and as a
# Line 1080  print_header (off_t block_ordinal) Line 1080  print_header (off_t block_ordinal)
1080          case CHRTYPE:          case CHRTYPE:
1081          case BLKTYPE:          case BLKTYPE:
1082            strcpy (size,            strcpy (size,
1083                    STRINGIFY_BIGINT (major (current_stat_info.stat.st_rdev), uintbuf));                    STRINGIFY_BIGINT (major (st->stat.st_rdev), uintbuf));
1084            strcat (size, ",");            strcat (size, ",");
1085            strcat (size,            strcat (size,
1086                    STRINGIFY_BIGINT (minor (current_stat_info.stat.st_rdev), uintbuf));                    STRINGIFY_BIGINT (minor (st->stat.st_rdev), uintbuf));
1087            break;            break;
1088          case GNUTYPE_SPARSE:          case GNUTYPE_SPARSE:
1089            strcpy (size,            strcpy (size,
# Line 1093  print_header (off_t block_ordinal) Line 1093  print_header (off_t block_ordinal)
1093                     uintbuf));                     uintbuf));
1094            break;            break;
1095          default:          default:
1096            strcpy (size, STRINGIFY_BIGINT (current_stat_info.stat.st_size, uintbuf));            strcpy (size, STRINGIFY_BIGINT (st->stat.st_size, uintbuf));
1097            break;            break;
1098          }          }
1099    
# Line 1111  print_header (off_t block_ordinal) Line 1111  print_header (off_t block_ordinal)
1111        switch (current_header->header.typeflag)        switch (current_header->header.typeflag)
1112          {          {
1113          case SYMTYPE:          case SYMTYPE:
1114            fprintf (stdlis, " -> %s\n", quotearg (current_stat_info.link_name));            fprintf (stdlis, " -> %s\n", quotearg (st->link_name));
1115            break;            break;
1116    
1117          case LNKTYPE:          case LNKTYPE:
1118            fprintf (stdlis, _(" link to %s\n"), quotearg (current_stat_info.link_name));            fprintf (stdlis, _(" link to %s\n"), quotearg (st->link_name));
1119            break;            break;
1120    
1121          default:          default:

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.61

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26