Diff
1diff --git a/plugins/extract/_extract b/plugins/extract/_extract
2index dca890954aaad3e36543d18b6fc8b04c090cfc7d..387b344bc8e735c0966b4a02c2fee1caeb8b50d0 100644
3--- a/plugins/extract/_extract
4+++ b/plugins/extract/_extract
5@@ -3,6 +3,6 @@
6
7 _arguments \
8 '(-r --remove)'{-r,--remove}'[Remove archive.]' \
9- "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z|deb)(-.)'" && return 0
10+ "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|ipsw|rar|7z|deb)(-.)'" && return 0
11
12
13diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
14index 898d3d36ecee0801dcec271804040acdc00465e0..690126ba664dbbbf9eea8b0878ae6094fb7f27d1 100644
15--- a/plugins/extract/extract.plugin.zsh
16+++ b/plugins/extract/extract.plugin.zsh
17@@ -23,7 +23,7 @@ function extract() {
18
19 remove_archive=1
20 if [[ "$1" == "-r" ]] || [[ "$1" == "--remove" ]]; then
21- remove_archive=0
22+ remove_archive=0
23 shift
24 fi
25
26@@ -52,7 +52,7 @@ function extract() {
27 (*.xz) unxz "$1" ;;
28 (*.lzma) unlzma "$1" ;;
29 (*.Z) uncompress "$1" ;;
30- (*.zip|*.war|*.jar|*.sublime-package) unzip "$1" -d $extract_dir ;;
31+ (*.zip|*.war|*.jar|*.sublime-package|*.ipsw) unzip "$1" -d $extract_dir ;;
32 (*.rar) unrar x -ad "$1" ;;
33 (*.7z) 7za x "$1" ;;
34 (*.deb)
35@@ -64,10 +64,10 @@ function extract() {
36 cd ..; rm *.tar.gz debian-binary
37 cd ..
38 ;;
39- (*)
40+ (*)
41 echo "extract: '$1' cannot be extracted" 1>&2
42- success=1
43- ;;
44+ success=1
45+ ;;
46 esac
47
48 (( success = $success > 0 ? $success : $? ))