diff options
author | Glenn L McGrath | 2002-11-01 22:11:53 +0000 |
---|---|---|
committer | Glenn L McGrath | 2002-11-01 22:11:53 +0000 |
commit | 9ef09444568cc15c719daec8d8b6bc38776b770e (patch) | |
tree | cfc468a648fc43d49a0fe6bd27c7c46d2e3d1c85 | |
parent | b2f67b406893b228e9cc50160a448e85c196e506 (diff) | |
download | busybox-9ef09444568cc15c719daec8d8b6bc38776b770e.zip busybox-9ef09444568cc15c719daec8d8b6bc38776b770e.tar.gz |
Allow the .Z prefix if compress support enabled
-rw-r--r-- | archival/gunzip.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/archival/gunzip.c b/archival/gunzip.c index fff3a65..b6f3e08 100644 --- a/archival/gunzip.c +++ b/archival/gunzip.c @@ -143,6 +143,11 @@ extern int gunzip_main(int argc, char **argv) new_path = xstrdup(old_path); extension = strrchr(new_path, '.'); +#ifdef CONFIG_FEATURE_UNCOMPRESS + if (extension && (strcmp(extension, ".Z") == 0)) { + *extension = '\0'; + } else +#endif if (extension && (strcmp(extension, ".gz") == 0)) { *extension = '\0'; } else if (extension && (strcmp(extension, ".tgz") == 0)) { @@ -169,22 +174,21 @@ extern int gunzip_main(int argc, char **argv) magic2 = xread_char(src_fd); #ifdef CONFIG_FEATURE_UNCOMPRESS if (magic2 == 0x9d) { - printf("uncompress\n"); - return(uncompress(src_fd, dst_fd)); + status = uncompress(src_fd, dst_fd); } else #endif if (magic2 == 0x8b) { check_header_gzip(src_fd); status = inflate(src_fd, dst_fd); if (status != 0) { - error_msg("Error inflating"); + error_msg_and_die("Error inflating"); } check_trailer_gzip(src_fd); } else { - error_msg_and_die("Invalid magic\n"); + error_msg_and_die("Invalid magic"); } } else { - error_msg_and_die("Invalid magic\n"); + error_msg_and_die("Invalid magic"); } if ((status != EXIT_SUCCESS) && (new_path)) { |