diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2019-05-30 17:51:33 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2019-05-30 17:56:33 -0700 |
commit | 4c955af9f7f490aff6db5efcfc5beceb882045b1 (patch) | |
tree | 52e5da54c92faeed4b83a39f143af2b4a2d6b0d0 /lib/mixlib | |
parent | 35f1d3636974838cd623c65f18b861fa2d16b777 (diff) | |
download | mixlib-shellout-lcg/windows-array-args2.tar.gz |
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'lib/mixlib')
-rw-r--r-- | lib/mixlib/shellout/windows.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/mixlib/shellout/windows.rb b/lib/mixlib/shellout/windows.rb index 27adbbd..a42a30e 100644 --- a/lib/mixlib/shellout/windows.rb +++ b/lib/mixlib/shellout/windows.rb @@ -66,7 +66,7 @@ module Mixlib # # Set cwd, environment, appname, etc. # - app_name, command_line = command_to_run(command) + app_name, command_line = command_to_run(combine_args(*command)) create_process_args = { app_name: app_name, command_line: command_line, @@ -196,6 +196,17 @@ module Mixlib true end + def combine_args(*args) + return args if args.length == 1 + args.map do |arg| + if arg.match(/[ \t\n\v"]/) + "\"#{arg}\"" + else + arg + end + end.join(" ") + end + def command_to_run(command) return run_under_cmd(command) if should_run_under_cmd?(command) |