optind++;
}
- unarchive(src_stream, &get_header_ar, extract_function, "./", extract_names);
+ unarchive(src_stream, stdout, &get_header_ar, extract_function, "./", extract_names);
return EXIT_SUCCESS;
}
optind++;
}
- unarchive(src_stream, &get_header_ar, extract_function, "./", extract_names);
+ unarchive(src_stream, stdout, &get_header_ar, extract_function, "./", extract_names);
return EXIT_SUCCESS;
}
optind++;
}
- unarchive(src_stream, &get_header_cpio, extract_function, "./", extract_names);
+ unarchive(src_stream, stdout, &get_header_cpio, extract_function, "./", extract_names);
if (oldmask) umask(oldmask); /* Restore umask if we changed it */
return EXIT_SUCCESS;
}
optind++;
}
- unarchive(src_stream, &get_header_cpio, extract_function, "./", extract_names);
+ unarchive(src_stream, stdout, &get_header_cpio, extract_function, "./", extract_names);
if (oldmask) umask(oldmask); /* Restore umask if we changed it */
return EXIT_SUCCESS;
}
extract_unconditional = 512,
extract_create_leading_dirs = 1024
};
-char *unarchive(FILE *src_stream, file_header_t *(*get_header)(FILE *),
+char *unarchive(FILE *src_stream, FILE *out_stream, file_header_t *(*get_header)(FILE *),
const int extract_function, const char *prefix, char **extract_names);
char *deb_extract(const char *package_filename, FILE *out_stream, const int extract_function,
const char *prefix, const char *filename);
extract_unconditional = 512,
extract_create_leading_dirs = 1024
};
-char *unarchive(FILE *src_stream, file_header_t *(*get_header)(FILE *),
+char *unarchive(FILE *src_stream, FILE *out_stream, file_header_t *(*get_header)(FILE *),
const int extract_function, const char *prefix, char **extract_names);
char *deb_extract(const char *package_filename, FILE *out_stream, const int extract_function,
const char *prefix, const char *filename);
#endif
#ifdef L_unarchive
-char *unarchive(FILE *src_stream, file_header_t *(*get_headers)(FILE *),
+char *unarchive(FILE *src_stream, FILE *out_stream, file_header_t *(*get_headers)(FILE *),
const int extract_function, const char *prefix, char **extract_names)
{
file_header_t *file_entry;
continue;
}
}
- buffer = extract_archive(src_stream, stdout, file_entry, extract_function, prefix);
+ buffer = extract_archive(src_stream, out_stream, file_entry, extract_function, prefix);
}
return(buffer);
}
/* open a stream of decompressed data */
uncompressed_stream = gz_open(deb_stream, &gunzip_pid);
archive_offset = 0;
- output_buffer = unarchive(uncompressed_stream, get_header_tar, extract_function, prefix, file_list);
+ output_buffer = unarchive(uncompressed_stream, out_stream, get_header_tar, extract_function, prefix, file_list);
}
seek_sub_file(deb_stream, ar_header->size);
}