From ebcefb09ee9068229842c2570c46df0905ecf261 Mon Sep 17 00:00:00 2001 From: Torben Hohn Date: Tue, 24 Nov 2009 08:25:11 +0100 Subject: [PATCH] check whether clientname was already taken. --- jackd/engine.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/jackd/engine.c b/jackd/engine.c index c6c421e..f342e64 100644 --- a/jackd/engine.c +++ b/jackd/engine.c @@ -2549,6 +2549,15 @@ static void jack_do_client_rename ( jack_engine_t *engine, jack_request_t *req) { JSList *node,*node2; req->status = -1; + + // first check if newname is not already taken. + for (node = engine->clients; node; node = jack_slist_next (node)) { + jack_client_internal_t* client = (jack_client_internal_t*) node->data; + if( !strcmp( (char *)client->control->name, req->x.clientrename.newname )) { + req->status = -2; + return; + } + } for (node = engine->clients; node; node = jack_slist_next (node)) { jack_client_internal_t* client = (jack_client_internal_t*) node->data; if( !strcmp( (char *)client->control->name, req->x.clientrename.oldname )) {