@@ -71,17 +71,18 @@ public struct BashCmd {
71
71
72
72
// Read stdout stream and create string from it
73
73
let stdoutData = stdout. fileHandleForReading. readDataToEndOfFile ( )
74
- let stdoutString = String ( data: stdoutData, encoding: String . Encoding. utf8)
74
+ let stdoutString = String ( data: stdoutData, encoding: String . Encoding. utf8) ?? " "
75
75
76
76
// Read stderr steam an create string from it
77
77
let stderrData = stderr. fileHandleForReading. readDataToEndOfFile ( )
78
- let stderrString = String ( data: stderrData, encoding: String . Encoding. utf8)
78
+ let stderrString = String ( data: stderrData, encoding: String . Encoding. utf8) ?? " "
79
79
80
80
// If stderr isn't empty, throw a BashException with stderr and stdout
81
- if let stderrString = stderrString , stderrString != " " {
82
- throw BashException ( stderr: stderrString, stdout: stdoutString ?? " " )
81
+ if process . terminationStatus != 0 {
82
+ throw BashException ( stderr: stderrString, stdout: stdoutString)
83
83
}
84
84
85
+
85
86
// If we are here, it means that everything went fine
86
87
// Prepare the stdout string according to the outputType given
87
88
switch outputType {
@@ -90,7 +91,7 @@ public struct BashCmd {
90
91
case . raw:
91
92
return stdoutString
92
93
case . whiteSpacesTrimmed:
93
- return stdoutString? . trimmingCharactersEachNewLine ( in: . whitespacesAndNewlines)
94
+ return stdoutString. trimmingCharactersEachNewLine ( in: . whitespacesAndNewlines)
94
95
}
95
96
default :
96
97
return nil
0 commit comments