diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-09-13 00:28:16 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-09-13 00:28:16 +0000 |
commit | 12315982066ee1044840b598624920f8028c7924 (patch) | |
tree | e44fa6e82f1de2863461e63746154bba4ea76bfa /polyp/polyplib-context.c | |
parent | b1ab6869fbe705f06faa12310c76b7d856030d81 (diff) |
fix parsing of POLYP_SERVER environment variable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@196 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/polyplib-context.c')
-rw-r--r-- | polyp/polyplib-context.c | 8 |
1 files changed, 6 insertions, 2 deletions
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); |