fix(build): check for empty value of LUAC_PRG (#16711)

If the LUAC_PRG environment variable is defined, but empty, compilation
would still be attempted but would be malformed. This results in garbage
bytes being included.

Fix this by checking that LUAC_PRG is both defined *and* non-empty.
This commit is contained in:
Gregory Anders 2021-12-18 10:56:10 -07:00 committed by GitHub
parent 2abd17813e
commit eceb0b305e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -28,6 +28,7 @@ local target = io.open(target_file, 'w')
target:write('#include <stdint.h>\n\n')
local warn_on_missing_compiler = true
local varnames = {}
for argi = 2, #arg, 2 do
local source_file = arg[argi]
@ -42,10 +43,11 @@ for argi = 2, #arg, 2 do
local output
if options.c then
local luac = os.getenv("LUAC_PRG")
if luac then
if luac and luac ~= "" then
output = io.popen(luac:format(source_file), "r"):read("*a")
else
print("LUAC_PRG is undefined")
elseif warn_on_missing_compiler then
print("LUAC_PRG is missing, embedding raw source")
warn_on_missing_compiler = false
end
end