Commit 2dca04230e21987586aacd280d97fc8026e82447

Authored by Stéphane Raimbault
1 parent be4b215d

Return value of _modbus_tcp_pi_connect() on failure (closes #61)

src/modbus-tcp.c
... ... @@ -349,8 +349,9 @@ static int _modbus_tcp_pi_connect(modbus_t *ctx)
349 349 &ai_hints, &ai_list);
350 350 if (rc != 0) {
351 351 if (ctx->debug) {
352   - printf("Error returned by getaddrinfo: %d\n", rc);
  352 + fprintf(stderr, "Error returned by getaddrinfo: %s\n", gai_strerror(rc));
353 353 }
  354 + errno = ECONNREFUSED;
354 355 return -1;
355 356 }
356 357  
... ... @@ -518,8 +519,13 @@ int modbus_tcp_pi_listen(modbus_t *ctx, int nb_connection)
518 519  
519 520 ai_list = NULL;
520 521 rc = getaddrinfo(node, service, &ai_hints, &ai_list);
521   - if (rc != 0)
  522 + if (rc != 0) {
  523 + if (ctx->debug) {
  524 + fprintf(stderr, "Error returned by getaddrinfo: %s\n", gai_strerror(rc));
  525 + }
  526 + errno = ECONNREFUSED;
522 527 return -1;
  528 + }
523 529  
524 530 new_socket = -1;
525 531 for (ai_ptr = ai_list; ai_ptr != NULL; ai_ptr = ai_ptr->ai_next) {
... ...
tests/unit-test-client.c
... ... @@ -82,8 +82,7 @@ int main(int argc, char *argv[])
82 82 }
83 83  
84 84 if (modbus_connect(ctx) == -1) {
85   - fprintf(stderr, "Connection failed: %s\n",
86   - modbus_strerror(errno));
  85 + fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno));
87 86 modbus_free(ctx);
88 87 return -1;
89 88 }
... ...