From dbb1f15c983e7d9330fbc96edc5afd64878143f7 Mon Sep 17 00:00:00 2001 From: Luke Sampson Date: Thu, 14 Jan 2016 17:16:00 +1000 Subject: [PATCH] search ~ better handling for invalid query (fixes #634) --- libexec/scoop-search.ps1 | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/libexec/scoop-search.ps1 b/libexec/scoop-search.ps1 index eb6c4b50fa..cbe6e60850 100644 --- a/libexec/scoop-search.ps1 +++ b/libexec/scoop-search.ps1 @@ -29,13 +29,20 @@ function search_bucket($bucket, $query) { @{ name = $_ } } - if($query) { $apps = $apps | where-object { - if($_.name -match $query) { return $true } - $bin = bin_match (manifest $_.name $bucket) $query - if($bin) { - $_.bin = $bin; return $true; + if($query) { + try { + $query = new-object regex $query + } catch { + abort "invalid regular expression: $($_.exception.innerexception.message)" } - } } + $apps = $apps | where-object { + if($_.name -match $query) { return $true } + $bin = bin_match (manifest $_.name $bucket) $query + if($bin) { + $_.bin = $bin; return $true; + } + } + } $apps | foreach-object { $_.version = (latest_version $_.name $bucket); $_ } }