#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <err.h>
#include <errno.h>
#include <sys/wait.h>
#include "../lpi.h"             /* for toInt() */
int
main(int argc, char *argv[])
{
    int numProc;
    int i;

    numProc = 1;
    if (argc == 2) {
        if ((errno = toInt(argv[1], &numProc)) != 0)
            err(EXIT_FAILURE, "toInt");
    }

    setbuf(stdout, NULL);       /* make stdout unbuffered */
    for (i = 0; i < numProc; i++) {
        switch (fork()) {
        case -1:
            err(EXIT_FAILURE, "fork() process #%d\n", i);

        case 0:
            printf("%d child\n", i);
            _exit(EXIT_SUCCESS);

        default:
            printf("%d parent\n", i);
            wait(NULL);
            break;
        }
    }

    exit(EXIT_SUCCESS);
}
