#!/bin/bash #This program is free software: you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation, either version 3 of the License, or #(at your option) any later version. #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License #along with this program. If not, see . #Copyright 2021 rexy712 extr_register_module 'xz' extr_register_extensions 'xz' '\.xz$' function do_xz(){ local flags=() if [ "$verbosity" == 0 ];then flags+=("--quiet") elif [ "$verbosity" == 2 ];then flags+=("--verbose") fi if [ -n "$overwrite" ];then flags+=("--force") fi if [ -n "$outloc" ];then fileout="${outloc}/$(basename "${file:0:-3}")" else fileout="${PWD}/$(basename "${file:0:-3}")" fi if [ -e "${fileout}" ] && [ -z "$overwrite" ];then echo "Could not decompress $file; output file exists" >&2 return 1 fi if [ ! -r "${file}" ] || [ ! -w "$(dirname "${fileout}")" ];then echo "${file} decompress failed; permission denied" return 1 fi xz -dk "${flags[@]}" "${passthrough_args[@]}" "$file" --stdout > "${fileout}" }