Skip to content

Commit 73841da

Browse files
Allow process interpreter to extract arguments from executable "names"
1 parent 358d3f1 commit 73841da

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/main/scala/smtlib/interpreters/ProcessInterpreter.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,13 @@ object ProcessInterpreter {
130130
private def ctorHelper(executable: String,
131131
args: Array[String],
132132
parserCtor: BufferedReader => Parser): (Parser, Process, BufferedWriter, BufferedReader, BufferedReader) = {
133-
val process = java.lang.Runtime.getRuntime.exec(executable +: args)
133+
val (executableName, implicitArgs) = if (executable.contains(" ")) {
134+
val parts = executable.split(" ")
135+
(parts(0), parts.drop(1))
136+
} else {
137+
(executable, Array.empty[String])
138+
}
139+
val process = java.lang.Runtime.getRuntime.exec(executableName +: (implicitArgs ++ args))
134140
val in = new BufferedWriter(new OutputStreamWriter(process.getOutputStream))
135141
val out = new BufferedReader(new InputStreamReader(process.getInputStream))
136142
val err = new BufferedReader(new InputStreamReader(process.getErrorStream))

0 commit comments

Comments
 (0)