summaryrefslogtreecommitdiffstats
path: root/TOOLS/zsh.pl
diff options
context:
space:
mode:
Diffstat (limited to 'TOOLS/zsh.pl')
-rwxr-xr-xTOOLS/zsh.pl15
1 files changed, 13 insertions, 2 deletions
diff --git a/TOOLS/zsh.pl b/TOOLS/zsh.pl
index 6548d85d12..91b15bbde5 100755
--- a/TOOLS/zsh.pl
+++ b/TOOLS/zsh.pl
@@ -141,7 +141,7 @@ sub parse_main_opts {
my ($cmd, $regex) = @_;
my @list;
- my @lines = split /\n/, `"$mpv" --no-config $cmd`;
+ my @lines = call_mpv($cmd);
foreach my $line (@lines) {
my ($name, $desc) = ($line =~ /^$regex/) or next;
@@ -206,7 +206,7 @@ sub parse_opts {
my ($cmd, $regex) = @_;
my @list;
- my @lines = split /\n/, `"$mpv" --no-config $cmd`;
+ my @lines = call_mpv($cmd);
foreach my $line (@lines) {
if ($line !~ /^$regex/) {
@@ -226,3 +226,14 @@ sub parse_opts {
return @list;
}
+
+sub call_mpv {
+ my ($cmd) = @_;
+ my $output = `"$mpv" --no-config $cmd`;
+ if ($? == -1) {
+ die "Could not run mpv: $!";
+ } elsif ($? != 0) {
+ die "mpv returned " . ($? >> 8) . " with output:\n$output";
+ }
+ return split /\n/, $output;
+}