Previously strtosig() detected the signal count at runtime, mutating
the value of a static global variable. The signals were detected using
\#ifdef directives and were taken from <signal.h> on my OpenBSD install.
Extract the common signals that should be found in every POSIX
implementation [1] and remove any vendor-specific signals with
possibly differing names across implementations.
Do not detect the signal count at runtime anymore. Keep it in a static
const variable which holds the signal count known _at compile time_.
Fix the logic error in the for loop in strtosig().
[1]: <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html>
Bug fixed in commit 16c615056e914ed4342e6a307b40db80485acde2;
add a test to prevent it from happening again.
Fixes: https://todo.sr.ht/~jeremy/callisto/2
Remove lua, luac, and *.so. The Lua executables aren't built anymore
so we don't need these in the gitignore any longer, and therefore we
won't need the external gitignore either.
Needed for functions like cl.mesg which need to print a formatted
message. Previously these functions had to call string.format, and
would have to throw an error if it was not available.
fs.status returns a table containing information concerning the status
of a file. Currently, the table includes the following information:
string path -- the given path to the file; the first argument
integer mode -- bitmask of file modes; see chmod(2)
integer uid -- owner of the file in UID form
integer gid -- owner group of the file in GID form
integer accessdate -- date the file was last accessed
integer modifydate -- date the file was last modified
integer chdate -- date the file's status last changed
Dates are given in the form of an integer number representing the
number of seconds since Jan 1, 1970 (unixtime).
For more information consult the definition of sys/stat.h
according to POSIX:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html