if (verbose_option)
print_header (¤t_stat_info, -1);
- file_name = safer_name_suffix (current_stat_info.file_name, 0);
+ file_name = safer_name_suffix (current_stat_info.file_name, false);
if (strip_path_elements)
{
size_t prefix_len = stripped_prefix_len (file_name, strip_path_elements);
/* Extract the archive entry according to its type. */
typeflag = current_header->header.typeflag;
+ /*KLUDGE */
+ if (current_format == POSIX_FORMAT
+ && current_stat_info.archive_file_size != current_stat_info.stat.st_size)
+ typeflag = GNUTYPE_SPARSE;
+
switch (typeflag)
{
case GNUTYPE_SPARSE:
again_link:
{
- char const *link_name = safer_name_suffix (current_stat_info.link_name, 1);
+ char const *link_name = safer_name_suffix (current_stat_info.link_name,
+ true);
struct stat st1, st2;
int e;