mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-27 17:01:44 +02:00
+14
-1
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user