#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <errno.h>
#include <err.h>
#include <string.h>
#include "../lpi.h"

int
main(int argc, char *argv[])
{
    sigset_t set;
    int i, signo, errno;

    if (sigfillset(&set) == -1)
        err(EXIT_FAILURE, "sigfillset");

    for (i = 1; i < argc; i++) {
        if ((errno = toInt(argv[i], &signo)) != 0) {
            warn("toInt('%s')", argv[i]);
            continue;
        }

        if (signo > 0 && signo < NSIG)
            if (sigdelset(&set, signo) == -1) {
                warn("sigdelset %d (%s)", signo, strsignal(signo));
                continue;
            }
    }

    printf("signals in this set\n");
    printf("-------------------\n");
    for (i = 1; i < NSIG; i++)
        if (sigismember(&set, i))
            printf("%2d: %s\n", i, strsignal(i));

    exit(EXIT_SUCCESS);
}
