Use switch for fork() - sinit - suckless init
 (HTM) git clone git://git.suckless.org/sinit
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 731f65fc82afcd474f4c682f9f0069e5c80c86dd
 (DIR) parent 40a9fd323646b680a4eb046076c606339fd7501e
 (HTM) Author: FRIGN <dev@frign.de>
       Date:   Fri, 23 Sep 2016 09:37:59 +0200
       
       Use switch for fork()
       
       This saves us one local variable and 2 lines of code, while improving
       readability by using the switch-style we are used to from other suckless
       projects.
       
       We are allowed to check against -1, as POSIX clearly mandates for the
       RETURN VALUE:
       
       "Upon successful completion, fork() shall return 0 to the child process
       and shall return the process ID of the child process to the parent
       process. Both processes shall continue to execute from the fork()
       function. Otherwise, -1 shall be returned to the parent process, no
       child process shall be created, and errno shall be set to indicate the
       error."
       [http://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html]
       
       This way, checking against < 0 was overdoing it and it's sufficient to
       compare against -1, justifying the switch statement here.
       
       Diffstat:
         M sinit.c                             |      10 ++++------
       
       1 file changed, 4 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/sinit.c b/sinit.c
       @@ -74,16 +74,14 @@ sigreboot(void)
        static void
        spawn(char *const argv[])
        {
       -        pid_t pid;
       -
       -        pid = fork();
       -        if (pid < 0) {
       -                perror("fork");
       -        } else if (pid == 0) {
       +        switch (fork()) {
       +        case 0:
                        sigprocmask(SIG_UNBLOCK, &set, NULL);
                        setsid();
                        execvp(argv[0], argv);
                        perror("execvp");
                        _exit(1);
       +        case -1:
       +                perror("fork");
                }
        }