From bcd508a4e525b6512da639f432920fc44b811432 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Wed, 27 Aug 2008 22:35:54 +0300 Subject: multi: respect given backend order MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marc-André Lureau Signed-off-by: Lennart Poettering --- src/multi.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/multi.c b/src/multi.c index 14cc074..0215296 100644 --- a/src/multi.c +++ b/src/multi.c @@ -41,7 +41,7 @@ struct private { #define PRIVATE(c) ((struct private *) ((c)->private)) static int add_backend(struct private *p, const char *name) { - struct backend *b; + struct backend *b, *last; int ret; ca_assert(p); @@ -69,7 +69,11 @@ static int add_backend(struct private *p, const char *name) { if ((ret = ca_context_open(b->context)) < 0) goto fail; - CA_LLIST_PREPEND(struct backend, p->backends, b); + for (last = p->backends; last; last = last->next) + if (!last->next) + break; + + CA_LLIST_INSERT_AFTER(struct backend, p->backends, last, b); return CA_SUCCESS; -- cgit