From 3d212c7b49af3ce083f4628e8248c31298e43ad7 Mon Sep 17 00:00:00 2001 From: LittleboyHarry Date: Fri, 2 Oct 2020 09:53:33 +0800 Subject: [PATCH] Accept the owner advice in Utils.ps1 --- src/Utils.ps1 | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/Utils.ps1 b/src/Utils.ps1 index a52f0f9e8..193fa938e 100644 --- a/src/Utils.ps1 +++ b/src/Utils.ps1 @@ -32,19 +32,13 @@ function Invoke-Utf8ConsoleCommand([ScriptBlock]$cmd) { # A native executable that writes to stderr AND has its stderr redirected will generate non-terminating # error records if the user has set $ErrorActionPreference to Stop. Override that value in this scope. $ErrorActionPreference = 'Continue' - try { - [Console]::OutputEncoding = [Text.Encoding]::UTF8 - & $cmd - try { - [Console]::OutputEncoding = $currentEncoding - } - catch [System.IO.IOException] {} - } - catch [System.IO.IOException] { - & $cmd - } + + try { [Console]::OutputEncoding = [Text.Encoding]::UTF8 } catch [System.IO.IOException] {} + & $cmd } finally { + try { [Console]::OutputEncoding = $currentEncoding } catch [System.IO.IOException] {} + # Clear out stderr output that was added to the $Error collection, putting those errors in a module variable if ($global:Error.Count -gt $errorCount) { $numNewErrors = $global:Error.Count - $errorCount