diff --git a/adsbus.c b/adsbus.c index 1d8833d..32be675 100644 --- a/adsbus.c +++ b/adsbus.c @@ -30,7 +30,7 @@ static void print_usage(char *argv[]) { "\n" "Options:\n" "\t--help\n" - "\t--backend=HOST:PORT\n" + "\t--backend=HOST/PORT\n" "\t--dump=FORMAT\n" , argv[0]); } @@ -48,7 +48,7 @@ static bool parse_opts(int argc, char *argv[], int epoll_fd) { switch (opt) { case 'b': // It would be really nice if libc had a standard way to split host:port. - delim = strrchr(optarg, ':'); + delim = strrchr(optarg, '/'); if (delim == NULL) { print_usage(argv); return false; diff --git a/backend.c b/backend.c index cf7d2c4..adad9f2 100644 --- a/backend.c +++ b/backend.c @@ -52,7 +52,7 @@ struct backend *backend_new(char *node, char *service, int epoll_fd) { } static void backend_connect(struct backend *backend, int epoll_fd) { - fprintf(stderr, "B %s: Connecting to %s %s...\n", backend->id, backend->node, backend->service); + fprintf(stderr, "B %s: Resolving %s/%s...\n", backend->id, backend->node, backend->service); struct addrinfo hints = { .ai_family = AF_UNSPEC, @@ -61,7 +61,7 @@ static void backend_connect(struct backend *backend, int epoll_fd) { int gai_err = getaddrinfo(backend->node, backend->service, &hints, &backend->addrs); if (gai_err) { - fprintf(stderr, "B %s: getaddrinfo(%s %s): %s\n", backend->id, backend->node, backend->service, gai_strerror(gai_err)); + fprintf(stderr, "B %s: getaddrinfo(%s/%s): %s\n", backend->id, backend->node, backend->service, gai_strerror(gai_err)); return; } backend->addr = backend->addrs; @@ -73,7 +73,7 @@ static void backend_connect_result(struct backend *backend, int epoll_fd, int re assert(getnameinfo(backend->addr->ai_addr, backend->addr->ai_addrlen, hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0); switch (result) { case 0: - fprintf(stderr, "B %s: Connected to %s %s\n", backend->id, hbuf, sbuf); + fprintf(stderr, "B %s: Connected to %s/%s\n", backend->id, hbuf, sbuf); freeaddrinfo(backend->addrs); backend->peer.event_handler = backend_read; peer_epoll_add((struct peer *) backend, epoll_fd, EPOLLIN); @@ -85,7 +85,7 @@ static void backend_connect_result(struct backend *backend, int epoll_fd, int re break; default: - fprintf(stderr, "B %s: Can't connect to %s %s: %s\n", backend->id, hbuf, sbuf, strerror(result)); + fprintf(stderr, "B %s: Can't connect to %s/%s: %s\n", backend->id, hbuf, sbuf, strerror(result)); close(backend->peer.fd); backend->addr = backend->addr->ai_next; // Tail recursion :/ @@ -97,13 +97,13 @@ static void backend_connect_result(struct backend *backend, int epoll_fd, int re static void backend_connect_next(struct backend *backend, int epoll_fd) { if (backend->addr == NULL) { freeaddrinfo(backend->addrs); - fprintf(stderr, "B %s: Can't connect to %s %s\n", backend->id, backend->node, backend->service); + fprintf(stderr, "B %s: Can't connect to any addresses of %s/%s\n", backend->id, backend->node, backend->service); return; } char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV]; assert(getnameinfo(backend->addr->ai_addr, backend->addr->ai_addrlen, hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0); - fprintf(stderr, "B %s: Connecting to %s %s...\n", backend->id, hbuf, sbuf); + fprintf(stderr, "B %s: Connecting to %s/%s...\n", backend->id, hbuf, sbuf); backend->peer.fd = socket(backend->addr->ai_family, backend->addr->ai_socktype | SOCK_NONBLOCK, backend->addr->ai_protocol); assert(backend->peer.fd >= 0);