X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fload-fragment.c;h=c48d764a31c4a51c9e766941ca69655f81af3e2e;hb=49f91047afb48b8ee5728c68ba75782463176fd4;hp=a7e16ca1b9f8da6762f2fa79286cf03c4f833f62;hpb=c8f4d7642b743c79328e10e8fb2d9b58e9f6b999;p=elogind.git diff --git a/src/load-fragment.c b/src/load-fragment.c index a7e16ca1b..c48d764a3 100644 --- a/src/load-fragment.c +++ b/src/load-fragment.c @@ -198,7 +198,7 @@ static int config_parse_listen( void *data, void *userdata) { - SocketPort *p; + SocketPort *p, *tail; Socket *s; assert(filename); @@ -255,7 +255,12 @@ static int config_parse_listen( } p->fd = -1; - LIST_PREPEND(SocketPort, port, s->ports, p); + + if (s->ports) { + LIST_FIND_TAIL(SocketPort, port, s->ports, tail); + LIST_INSERT_AFTER(SocketPort, port, s->ports, tail, p); + } else + LIST_PREPEND(SocketPort, port, s->ports, p); return 0; }