Deal with macOS's libc shenanigans

Fix #9595
reviewable/pr9598/r1
NiLuJe 2 years ago
parent 5c24470ea9
commit 6cb8297362

@ -3,11 +3,21 @@
-- Enforce line-buffering for stdout (this is the default if it points to a tty, but we redirect to a file on most platforms).
local ffi = require("ffi")
local C = ffi.C
ffi.cdef[[
-- macOS is a special snowflake
if ffi.os == "OSX" then
ffi.cdef[[
extern struct _IO_FILE *__stdoutp;
void setlinebuf(struct _IO_FILE *);
]]
C.setlinebuf(C.__stdoutp)
else
ffi.cdef[[
extern struct _IO_FILE *stdout;
void setlinebuf(struct _IO_FILE *);
]]
C.setlinebuf(C.stdout)
C.setlinebuf(C.stdout)
end
-- Enforce a reliable locale for numerical representations
os.setlocale("C", "numeric")

Loading…
Cancel
Save