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

Diff of /tar/src/create.c

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

revision 1.60 by gray, Mon Sep 1 17:00:26 2003 UTC revision 1.61 by gray, Wed Sep 3 00:02:32 2003 UTC
# Line 469  start_header (const char *name, struct t Line 469  start_header (const char *name, struct t
469    union block *header;    union block *header;
470    
471    name = safer_name_suffix (name, 0);    name = safer_name_suffix (name, 0);
472      assign_string (&st->file_name, name);
473      
474    if (sizeof header->header.name <= strlen (name))    if (sizeof header->header.name <= strlen (name))
475      write_long (name, GNUTYPE_LONGNAME);      {
476          if (archive_format == POSIX_FORMAT)
477            xheader_store ("path", st);
478          else
479            write_long (name, GNUTYPE_LONGNAME);
480        }
481      
482    header = find_next_block ();    header = find_next_block ();
483    memset (header->buffer, 0, sizeof (union block));    memset (header->buffer, 0, sizeof (union block));
484    
# Line 629  finish_header (union block *header, off_ Line 635  finish_header (union block *header, off_
635    int sum;    int sum;
636    char *p;    char *p;
637    
638      /* Note: It is important to do this before the call to write_extended(),
639         so that the actual ustar header is printed */
640      if (verbose_option
641          && header->header.typeflag != GNUTYPE_LONGLINK
642          && header->header.typeflag != GNUTYPE_LONGNAME
643          && header->header.typeflag != XHDTYPE
644          && header->header.typeflag != XGLTYPE)
645        {
646          /* These globals are parameters to print_header, sigh.  */
647    
648          current_header = header;
649          /* current_stat_info is already set up.  */
650          current_format = archive_format;
651          print_header (block_ordinal);
652        }
653    
654    header = write_extended (header, XHDTYPE);    header = write_extended (header, XHDTYPE);
655        
656    memcpy (header->header.chksum, CHKBLANKS, sizeof header->header.chksum);    memcpy (header->header.chksum, CHKBLANKS, sizeof header->header.chksum);
# Line 651  finish_header (union block *header, off_ Line 673  finish_header (union block *header, off_
673    
674    uintmax_to_chars ((uintmax_t) sum, header->header.chksum, 7);    uintmax_to_chars ((uintmax_t) sum, header->header.chksum, 7);
675    
   if (verbose_option  
       && header->header.typeflag != GNUTYPE_LONGLINK  
       && header->header.typeflag != GNUTYPE_LONGNAME)  
     {  
       /* These globals are parameters to print_header, sigh.  */  
   
       current_header = header;  
       /* current_stat_info is already set up.  */  
       current_format = archive_format;  
       print_header (block_ordinal);  
     }  
   
676    set_next_block_after (header);    set_next_block_after (header);
677  }  }
678    

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