From: Michael Stapelberg Date: Mon, 2 Nov 2015 19:13:20 +0000 (+0100) Subject: Merge pull request #2054 from hwangcc23/fix-2051 X-Git-Tag: 4.12~108 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=31121f133456868d027bd4fcda3d5691641c3c67;hp=18b3f09970cf89a76e0d740740b0539eb8be02a7;p=i3%2Fi3 Merge pull request #2054 from hwangcc23/fix-2051 Fix config validation fail when no new line from end of file --- diff --git a/src/main.c b/src/main.c index 563fb00c..59c00146 100644 --- a/src/main.c +++ b/src/main.c @@ -819,18 +819,28 @@ int main(int argc, char *argv[]) { /* Autostarting exec-lines */ if (autostart) { - struct Autostart *exec; - TAILQ_FOREACH(exec, &autostarts, autostarts) { + while (!TAILQ_EMPTY(&autostarts)) { + struct Autostart *exec = TAILQ_FIRST(&autostarts); + LOG("auto-starting %s\n", exec->command); start_application(exec->command, exec->no_startup_id); + + FREE(exec->command); + TAILQ_REMOVE(&autostarts, exec, autostarts); + FREE(exec); } } /* Autostarting exec_always-lines */ - struct Autostart *exec_always; - TAILQ_FOREACH(exec_always, &autostarts_always, autostarts_always) { + while (!TAILQ_EMPTY(&autostarts_always)) { + struct Autostart *exec_always = TAILQ_FIRST(&autostarts_always); + LOG("auto-starting (always!) %s\n", exec_always->command); start_application(exec_always->command, exec_always->no_startup_id); + + FREE(exec_always->command); + TAILQ_REMOVE(&autostarts_always, exec_always, autostarts_always); + FREE(exec_always); } /* Start i3bar processes for all configured bars */