diff --git a/jackd/engine.c b/jackd/engine.c index 426c008..fa7aceb 100644 --- a/jackd/engine.c +++ b/jackd/engine.c @@ -2591,9 +2591,14 @@ static void jack_do_client_rename ( jack_engine_t *engine, jack_request_t *req) static void jack_do_reserve_name ( jack_engine_t *engine, jack_request_t *req) { jack_reserved_name_t *reservation; - if (jack_client_by_name (engine, req->x.reservename.name)) { - req->status = -1; - return; + JSList *node; + // check is name is free... + 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 = -1; + return; + } } reservation = malloc( sizeof( jack_reserved_name_t ) );