[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [BUG] os.execute reports wrong exit code on Windows
- From: Roberto Ierusalimschy <roberto@...>
- Date: Wed, 30 Jan 2019 13:11:29 -0200
>
> This exists since Lua 5.2. The culprit is the exit code on Windows having a different format than on unix/posix. The latter has 0-255 as common ground and mostly anything else is undefined. But on Windows the exit code is a 32bit signed integer.
>
> Now this code: https://github.com/lua/lua/blob/f59e6a93c0ad38a27a420e51abf8f13d962446b5/lauxlib.c#L276-L277
> Treats -1 as a special case, and goes looking for an error message here: https://github.com/lua/lua/blob/f59e6a93c0ad38a27a420e51abf8f13d962446b5/lauxlib.c#L241-L247
>
> This results in “No error” in the windows case of -1, since it is a valid exit code.
(Sorry for such a late reply...)
I don't understand the problem here. The documentation for 'system' in
Windows says this:
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/system-wsystem?view=vs-2017
A return value of -1 indicates an error, and errno is set to one of the
following values: [...]
-- Roberto