From: Karel Zak Date: Thu, 5 Jan 2017 10:54:59 +0000 (+0100) Subject: lib/list: remove LIST_HEAD macro X-Git-Tag: v2.30-rc1~321 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5d74cf0092b132bf224024548e46566033c84937;p=thirdparty%2Futil-linux.git lib/list: remove LIST_HEAD macro * the variable definition with hidden type is always horrible, for example: int func() { LIST_HEAD(foo); ... } the more readable is: int func() { struct list_head foo; INIT_LIST_HEAD(&foo); ... } * the name LIST_HEAD conflict with /usr/include/sys/queue.h * we use it only on two places in sulogin Signed-off-by: Karel Zak --- diff --git a/include/list.h b/include/list.h index 3c08aa5f2c..cf022fb225 100644 --- a/include/list.h +++ b/include/list.h @@ -33,11 +33,6 @@ struct list_head { struct list_head *next, *prev; }; -#define LIST_HEAD_INIT(name) { &(name), &(name) } - -#define LIST_HEAD(name) \ - struct list_head name = LIST_HEAD_INIT(name) - #define INIT_LIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) diff --git a/login-utils/sulogin-consoles.c b/login-utils/sulogin-consoles.c index 532e7e7c72..30a0f042a0 100644 --- a/login-utils/sulogin-consoles.c +++ b/login-utils/sulogin-consoles.c @@ -802,8 +802,7 @@ int main(int argc, char *argv[]) { char *name = NULL; int fd, re; - LIST_HEAD(consoles); - struct list_head *p; + struct list_head *p, consoles; if (argc == 2) { name = argv[1]; @@ -816,6 +815,7 @@ int main(int argc, char *argv[]) if (!name) errx(EXIT_FAILURE, "usage: %s []\n", program_invocation_short_name); + INIT_LIST_HEAD(&consoles); re = detect_consoles(name, fd, &consoles); list_for_each(p, &consoles) { diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c index 8dc2b639d3..5b8712bfe9 100644 --- a/login-utils/sulogin.c +++ b/login-utils/sulogin.c @@ -827,8 +827,7 @@ static void usage(FILE *out) int main(int argc, char **argv) { - LIST_HEAD(consoles); - struct list_head *ptr; + struct list_head *ptr, consoles; struct console *con; char *tty = NULL; struct passwd *pwd; @@ -849,6 +848,8 @@ int main(int argc, char **argv) { NULL, 0, 0, 0 } }; + INIT_LIST_HEAD(&consoles); + /* * If we are init we need to set up a own session. */