{
int written;
decompress_fn decompress;
+ const char *compress_name;
+ static __initdata char msg_buf[64];
dry_run = check_only;
header_buf = kmalloc(110, GFP_KERNEL);
continue;
}
this_header = 0;
- decompress = decompress_method(buf, len, NULL);
+ decompress = decompress_method(buf, len, &compress_name);
if (decompress)
decompress(buf, len, NULL, flush_buffer, NULL,
&my_inptr, error);
+ else if (compress_name) {
+ if (!message) {
+ snprintf(msg_buf, sizeof msg_buf,
+ "compression method %s not configured",
+ compress_name);
+ message = msg_buf;
+ }
+ }
if (state != Reset)
error("junk in compressed archive");
this_header = saved_offset + my_inptr;