Get Cosmopolitan into releasable state

A new rollup tool now exists for flattening out the headers in a way
that works better for our purposes than cpp. A lot of the API clutter
has been removed. APIs that aren't a sure thing in terms of general
recommendation are now marked internal.

There's now a smoke test for the amalgamation archive and gigantic
header file. So we can now guarantee you can use this project on the
easiest difficulty setting without the gigantic repository.

A website is being created, which is currently a work in progress:
https://justine.storage.googleapis.com/cosmopolitan/index.html
This commit is contained in:
Justine Tunney 2020-11-25 08:19:00 -08:00
parent dba7552c1e
commit ea0b5d9d1c
775 changed files with 6864 additions and 3963 deletions

View file

@ -18,13 +18,19 @@
02110-1301 USA
*/
#include "libc/calls/sigbits.h"
#include "libc/calls/calls.h"
#include "libc/sysv/errfuns.h"
/**
* Returns true if sig set.
* Returns true if signal is member of set.
*
* @return true, false, or -1 w/ errno
* @error EINVAL
* @asyncsignalsafe
*/
int(sigismember)(const sigset_t *set, int sig) { return sigismember(set, sig); }
int sigismember(const sigset_t *set, int sig) {
unsigned i = sig - 1;
if (i < sizeof(set->__bits) * 8) {
return (set->__bits[i >> 6] >> (i & 63)) & 1;
} else {
return einval();
}
}