init: code shrink -4 bytes
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 5 Dec 2011 02:54:28 +0000 (03:54 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 5 Dec 2011 02:54:28 +0000 (03:54 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
init/init.c

index 864ee6a..c540faa 100644 (file)
@@ -598,7 +598,7 @@ static void new_init_action(uint8_t action_type, const char *command, const char
         */
        nextp = &init_action_list;
        while ((a = *nextp) != NULL) {
-               /* Don't enter action if it's already in the list,
+               /* Don't enter action if it's already in the list.
                 * This prevents losing running RESPAWNs.
                 */
                if (strcmp(a->command, command) == 0
@@ -610,14 +610,15 @@ static void new_init_action(uint8_t action_type, const char *command, const char
                        while (*nextp != NULL)
                                nextp = &(*nextp)->next;
                        a->next = NULL;
-                       break;
+                       goto append;
                }
                nextp = &a->next;
        }
 
-       if (!a)
-               a = xzalloc(sizeof(*a));
+       a = xzalloc(sizeof(*a));
+
        /* Append to the end of the list */
+ append:
        *nextp = a;
        a->action_type = action_type;
        safe_strncpy(a->command, command, sizeof(a->command));