$OpenBSD: patch-libjack_client_c,v 1.5 2010/06/07 01:44:38 jakemsr Exp $
--- libjack/client.c.orig	Thu Dec  4 11:30:27 2008
+++ libjack/client.c	Wed May 19 20:27:23 2010
@@ -974,10 +974,7 @@ jack_client_open_aux (const char *client_name,
 	}
 
 	/* parse variable arguments */
-	if (ap)
         jack_varargs_parse(options, ap, &va);
-    else
-        jack_varargs_init(&va);
 
 	/* External clients need to know where the tmpdir used for
 	   communication with the server lives
@@ -1110,8 +1107,9 @@ jack_client_open_aux (const char *client_name,
 jack_client_t* jack_client_open(const char* ext_client_name, jack_options_t options, jack_status_t* status, ...)
 {
 	va_list ap;
+	 jack_client_t* res;
 	va_start(ap, status);
-	jack_client_t* res = jack_client_open_aux(ext_client_name, options, status, ap);
+	res = jack_client_open_aux(ext_client_name, options, status, ap);
 	va_end(ap);
 	return res;
 }
@@ -1119,10 +1117,11 @@ jack_client_t* jack_client_open(const char* ext_client
 jack_client_t *
 jack_client_new (const char *client_name)
 {
+	va_list va;
 	jack_options_t options = JackUseExactName;
 	if (getenv("JACK_START_SERVER") == NULL)
 		options |= JackNoStartServer;
-	return jack_client_open_aux (client_name, options, NULL, NULL);
+	return jack_client_open_aux (client_name, options, NULL, va);
 }
 
 char *
@@ -1694,6 +1693,7 @@ jack_client_thread_aux (void *arg)
 {
 	jack_client_t *client = (jack_client_t *) arg;
 	jack_client_control_t *control = client->control;
+	int status;
 
 	pthread_mutex_lock (&client_lock);
 	client->thread_ok = TRUE;
@@ -1723,7 +1723,7 @@ jack_client_thread_aux (void *arg)
 
 			while (1) {
 				DEBUG("client calls process()");
-				int status = (client->process (control->nframes, 
+				status = (client->process (control->nframes, 
 								client->process_arg) ==
 					      control->nframes);
 				control->state = Finished;
