X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Flist.c;h=a70f0d38298919dda7bba95df4492cb1618f33fa;hb=b8feb2b14247d76200fd53607d3613c82b6e5b81;hp=c65e171976ecf86b66a73cf386e271a327725216;hpb=3fe59ed5ef44d61d313e711b8920f8285792d3b2;p=chaz%2Ftar diff --git a/src/list.c b/src/list.c index c65e171..a70f0d3 100644 --- a/src/list.c +++ b/src/list.c @@ -122,7 +122,7 @@ transform_stat_info (int typeflag, struct tar_stat_info *stat_info) if (typeflag == GNUTYPE_VOLHDR) /* Name transformations don't apply to volume headers. */ return; - + transform_member_name (&stat_info->file_name, XFORM_REGFILE); switch (typeflag) { @@ -592,7 +592,9 @@ decode_header (union block *header, struct tar_stat_info *stat_info, else format = USTAR_FORMAT; } - else if (strcmp (header->header.magic, OLDGNU_MAGIC) == 0) + else if (strcmp (header->buffer + offsetof (struct posix_header, magic), + OLDGNU_MAGIC) + == 0) format = hbits ? OLDGNU_FORMAT : GNU_FORMAT; else format = V7_FORMAT;