Signed-off-by: Angus Salkeld <asalk...@redhat.com>
---
 cts/agents/common_test_agent.c |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/cts/agents/common_test_agent.c b/cts/agents/common_test_agent.c
index 5d5f859..ceb311d 100644
--- a/cts/agents/common_test_agent.c
+++ b/cts/agents/common_test_agent.c
@@ -186,6 +186,8 @@ static int create_server_sockect (int server_port)
        int rv;
        struct addrinfo hints, *ai, *p;
        char server_port_str[16];
+       char addr_str[INET_ADDRSTRLEN];
+       void *ptr;
 
        /* get a socket and bind it
         */
@@ -195,7 +197,7 @@ static int create_server_sockect (int server_port)
        hints.ai_socktype = SOCK_STREAM;
        hints.ai_flags = AI_PASSIVE;
        if ((rv = getaddrinfo (NULL, server_port_str, &hints, &ai)) != 0) {
-               syslog (LOG_ERR, "%s\n", gai_strerror (rv));
+               syslog (LOG_ERR, "%s", gai_strerror (rv));
                exit (1);
        }
 
@@ -209,11 +211,25 @@ static int create_server_sockect (int server_port)
                 */
                if (setsockopt (listener, SOL_SOCKET, SO_REUSEADDR,
                                &yes, sizeof(int)) < 0) {
-                       syslog (LOG_ERR, "setsockopt() failed: %s\n", strerror 
(errno));
+                       syslog (LOG_ERR, "setsockopt() failed: %s", strerror 
(errno));
+               }
+
+               switch (p->ai_family)
+               {
+               case AF_INET:
+                       ptr = &((struct sockaddr_in *) p->ai_addr)->sin_addr;
+                       break;
+               case AF_INET6:
+                       ptr = &((struct sockaddr_in6 *) p->ai_addr)->sin6_addr;
+                       break;
+               }
+
+               if (inet_ntop(p->ai_family, ptr, addr_str, INET_ADDRSTRLEN) == 
NULL) {
+                       syslog (LOG_ERR, "inet_ntop() failed: %s", strerror 
(errno));
                }
 
                if (bind (listener, p->ai_addr, p->ai_addrlen) < 0) {
-                       syslog (LOG_ERR, "bind() failed: %s\n", strerror 
(errno));
+                       syslog (LOG_ERR, "bind(%s) failed: %s\n", addr_str, 
strerror (errno));
                        close (listener);
                        continue;
                }
@@ -222,7 +238,7 @@ static int create_server_sockect (int server_port)
        }
 
        if (p == NULL) {
-               syslog (LOG_ERR, "failed to bind\n");
+               syslog (LOG_ERR, "failed to bind");
                exit (2);
        }
 
-- 
1.7.3.1

_______________________________________________
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to