aboutsummaryrefslogtreecommitdiff
path: root/scripts/zsh.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/zsh.pl')
-rwxr-xr-xscripts/zsh.pl15
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/zsh.pl b/scripts/zsh.pl
index 6bcbb739b..f0d8c195f 100755
--- a/scripts/zsh.pl
+++ b/scripts/zsh.pl
@@ -38,7 +38,7 @@ sub parse_main_opts {
my ($cmd, $regex) = @_;
my @list;
- my @lines = split /\n/, `"$curl" $cmd`;
+ my @lines = call_curl($cmd);
foreach my $line (@lines) {
my ($short, $long, $arg, $desc) = ($line =~ /^$regex/) or next;
@@ -74,4 +74,15 @@ sub parse_main_opts {
return @list;
}
-sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s };
+sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s };
+
+sub call_curl {
+ my ($cmd) = @_;
+ my $output = `"$curl" $cmd`;
+ if ($? == -1) {
+ die "Could not run curl: $!";
+ } elsif ((my $exit_code = $? >> 8) != 0) {
+ die "curl returned $exit_code with output:\n$output";
+ }
+ return split /\n/, $output;
+}