Merge pull request #1856 from bryanthaboi/dev

Update HostShell.lua
This commit is contained in:
bryanthaboi
2026-08-26 17:17:14 -04:00
committed by GitHub
+14 -1
View File
@@ -197,8 +197,9 @@ function HostShell.popen(command, mode, opts)
prefix = opts.envPrefix prefix = opts.envPrefix
end end
local pipe local pipe
local line = HostShell.shellCommand(prefix .. command)
withPopenLock(function() withPopenLock(function()
local ok, p = pcall(io.popen, prefix .. command, mode or "r") local ok, p = pcall(io.popen, line, mode or "r")
pipe = (ok and p) or nil pipe = (ok and p) or nil
end) end)
return pipe return pipe
@@ -363,6 +364,18 @@ local function fetchError(url, status, noise)
return ("fetch failed for %s: %s"):format(url, why) return ("fetch failed for %s: %s"):format(url, why)
end end
function HostShell.isWindows()
return (love and love.system and love.system.getOS
and love.system.getOS() == "Windows") or false
end
function HostShell.shellCommand(command)
command = tostring(command)
if not HostShell.isWindows() then return command end
if command:sub(1, 1) ~= '"' then return command end
return '"' .. command .. '"'
end
-- Shell quoting for one curl argument; cmd.exe has no single-quote form. -- Shell quoting for one curl argument; cmd.exe has no single-quote form.
function HostShell.quote(s) function HostShell.quote(s)
s = tostring(s) s = tostring(s)