diff --git a/share/functions/__fish_is_zfs_feature_enabled.fish b/share/functions/__fish_is_zfs_feature_enabled.fish index 66a4bca8f..8949ce41e 100644 --- a/share/functions/__fish_is_zfs_feature_enabled.fish +++ b/share/functions/__fish_is_zfs_feature_enabled.fish @@ -1,17 +1,7 @@ -function __fish_is_zfs_feature_enabled -a feature target -d "Returns 0 if the given ZFS feature is available or enabled for the given full-path target (zpool or dataset), or any target if none given" - type -q zpool - or return - set -l pool (string replace -r '/.*' '' -- $target) - set -l feature_name "" - if test -z "$pool" - set feature_name (zpool get -H all 2>/dev/null | string match -r "\s$feature\s") - else - set feature_name (zpool get -H all $pool 2>/dev/null | string match -r "$pool\s$feature\s") - end - if test $status -ne 0 # No such feature - return 1 - end - set -l state (echo $feature_name | cut -f3) - string match -qr '(active|enabled)' -- $state - return $status +function __fish_is_zfs_feature_enabled \ + -a feature pool \ + -d "Returns 0 if the given ZFS pool feature is active or enabled for the given pool or for any pool if none specified" + + type -q zpool || return + zpool get -H -o value $feature $pool 2>/dev/null | string match -rq '^(enabled|active)$' end