diff --git a/src/modbus-tcp.c b/src/modbus-tcp.c index 75b9665..b3eae81 100644 --- a/src/modbus-tcp.c +++ b/src/modbus-tcp.c @@ -349,8 +349,9 @@ static int _modbus_tcp_pi_connect(modbus_t *ctx) &ai_hints, &ai_list); if (rc != 0) { if (ctx->debug) { - printf("Error returned by getaddrinfo: %d\n", rc); + fprintf(stderr, "Error returned by getaddrinfo: %s\n", gai_strerror(rc)); } + errno = ECONNREFUSED; return -1; } @@ -518,8 +519,13 @@ int modbus_tcp_pi_listen(modbus_t *ctx, int nb_connection) ai_list = NULL; rc = getaddrinfo(node, service, &ai_hints, &ai_list); - if (rc != 0) + if (rc != 0) { + if (ctx->debug) { + fprintf(stderr, "Error returned by getaddrinfo: %s\n", gai_strerror(rc)); + } + errno = ECONNREFUSED; return -1; + } new_socket = -1; for (ai_ptr = ai_list; ai_ptr != NULL; ai_ptr = ai_ptr->ai_next) { diff --git a/tests/unit-test-client.c b/tests/unit-test-client.c index 19b2afa..858d3db 100644 --- a/tests/unit-test-client.c +++ b/tests/unit-test-client.c @@ -82,8 +82,7 @@ int main(int argc, char *argv[]) } if (modbus_connect(ctx) == -1) { - fprintf(stderr, "Connection failed: %s\n", - modbus_strerror(errno)); + fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno)); modbus_free(ctx); return -1; }