[hackers] [sinit] [PATCH] Use switch for fork()

2016-09-23 Thread FRIGN
Hello fellow hackers,

I spotted this small detail this morning and applied this change. It is
always a good thing in my opinion to be able to carve off an
unnecessary local variable.

To be precise, I think this can be considered the first patch of this
year's slcon3 hacking sessions. ;)

With best regards

FRIGN

-- 
FRIGN 
>From 6365fab78c11e8269447cf0cfcbb1aeac618488b Mon Sep 17 00:00:00 2001
From: FRIGN 
Date: Fri, 23 Sep 2016 09:37:59 +0200
Subject: [PATCH] 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.
---
 sinit.c | 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/sinit.c b/sinit.c
index e338f35..93f9925 100644
--- 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");
 	}
 }
-- 
2.7.3



Re: [hackers] [sinit] [PATCH] Use switch for fork()

2016-09-23 Thread Silvan Jegen
On Fri, Sep 23, 2016 at 9:48 AM, FRIGN  wrote:
> To be precise, I think this can be considered the first patch of this
> year's slcon3 hacking sessions. ;)

Haha, so early...

I will be arriving around 21h tonight. I assume that there will be
more time for coding on Sunday as well!


Cheers,

Silvan



Re: [hackers] [sinit] [PATCH] Use switch for fork()

2016-09-23 Thread Dimitris Papastamos
Applied the patch, thanks!

(BTW commit message is too bloated).