diff options
author | Jose Bollo <jose.bollo@iot.bzh> | 2020-01-07 10:28:27 +0100 |
---|---|---|
committer | Jose Bollo <jose.bollo@iot.bzh> | 2020-01-07 14:25:23 +0100 |
commit | 164f14144f2d2339db023abfc899e034c24958cc (patch) | |
tree | 2a9aca29f134db10ce171ce7e28a98fe93adc032 | |
parent | 36ed9d2eb93f135ff293df5716f8232c664d32f4 (diff) |
afb-ws-client: Improve direct URI
The direct connection URI was expecting a slash after the port
for "tcp:" URI. This slash is not needed because it does not
carry any meaning. This change implements the ability to set
or not the path of URI.
Bug-AGL: SPEC-3094
Change-Id: I3d4c350f4e917759cbf82ccc0d261aa420f6f88a
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
-rw-r--r-- | src/afb-ws-client.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/afb-ws-client.c b/src/afb-ws-client.c index 04458e7a..fba85ff3 100644 --- a/src/afb-ws-client.c +++ b/src/afb-ws-client.c @@ -443,12 +443,12 @@ static int get_socket_inet(const char *uri) struct addrinfo hint, *rai, *iai; /* scan the uri */ - api = strrchr(uri, '/'); service = strrchr(uri, ':'); - if (api == NULL || service == NULL || api < service) { + if (service == NULL) { errno = EINVAL; return -1; } + api = strchrnul(service, '/'); host = strndupa(uri, service++ - uri); service = strndupa(service, api - service); @@ -488,6 +488,9 @@ static int get_socket(const char *uri) if (0 == strncmp(uri, "unix:", 5)) /* unix socket */ fd = get_socket_unix(uri + 5); + else if (0 == strncmp(uri, "tcp:", 4)) + /* unix socket */ + fd = get_socket_inet(uri + 4); else /* inet socket */ fd = get_socket_inet(uri); |