#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, oldset;
    int i, signo;

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

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

        if (sigaddset(&set, signo) == -1) {
            warn("sigaddset %d (%s)\n", signo, strsignal(signo));
            continue;
        }
    }

    if (sigprocmask(SIG_BLOCK, &set, NULL) == -1)
        err(EXIT_FAILURE, "sigprocmask (1)");

    if (sigprocmask(SIG_BLOCK, NULL, &oldset) == -1)
        err(EXIT_FAILURE, "sigprocmask (2)");

    printSigset(stdout, NULL, &oldset);

    exit(EXIT_FAILURE);
}
