From 12315982066ee1044840b598624920f8028c7924 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 13 Sep 2004 00:28:16 +0000 Subject: fix parsing of POLYP_SERVER environment variable git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@196 fefdeb5f-60dc-0310-8127-8f9354f1896f --- doc/todo | 3 --- polyp/Makefile.am | 5 +++++ polyp/polyplib-context.c | 8 ++++++-- polyp/socket-client.c | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/doc/todo b/doc/todo index f9d9bedc..c09d423a 100644 --- a/doc/todo +++ b/doc/todo @@ -15,11 +15,8 @@ - option to use default fragment size on alsa drivers - lazy sample cache - per-channel volume -- fix or work around libtool bug - merge pa_context_connect_* - input latency -- fix public= -- fix POLYP_SERVER=foo:4711 - fix tcp/native - suid diff --git a/polyp/Makefile.am b/polyp/Makefile.am index 3f94c052..99c89491 100644 --- a/polyp/Makefile.am +++ b/polyp/Makefile.am @@ -63,6 +63,11 @@ polypinclude_HEADERS= \ sample.h \ glib-mainloop.h +### Warning! Due to an obscure bug in libtool/automake it is required +### that the libraries in modlib_LTLIBRARIES are specified in-order, +### i.e. libraries near the end of the list depend on libraries near +### the head, and not the other way! + modlib_LTLIBRARIES= \ libsocket-util.la \ libiochannel.la \ diff --git a/polyp/polyplib-context.c b/polyp/polyplib-context.c index a15e4257..63b42eb3 100644 --- a/polyp/polyplib-context.c +++ b/polyp/polyplib-context.c @@ -336,11 +336,15 @@ finish: static struct sockaddr *resolve_server(const char *server, size_t *len) { struct sockaddr *sa; struct addrinfo hints, *result = NULL; - char *port; + char *port, host[256]; assert(server && len); + snprintf(host, sizeof(host), "%s", server); + host[strcspn(host, ":")] = 0; + if ((port = strrchr(server, ':'))) port++; + if (!port) port = DEFAULT_PORT; @@ -349,7 +353,7 @@ static struct sockaddr *resolve_server(const char *server, size_t *len) { hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = 0; - if (getaddrinfo(server, port, &hints, &result) != 0) + if (getaddrinfo(host, port, &hints, &result) != 0) return NULL; assert(result); diff --git a/polyp/socket-client.c b/polyp/socket-client.c index 773e922c..fbc259ff 100644 --- a/polyp/socket-client.c +++ b/polyp/socket-client.c @@ -84,7 +84,7 @@ static void do_call(struct pa_socket_client *c) { } if (error != 0) { - pa_log(__FILE__": connect(): %s\n", strerror(error)); +/* pa_log(__FILE__": connect(): %s\n", strerror(error)); */ goto finish; } -- cgit