aboutsummaryrefslogtreecommitdiff
path: root/src/util/server.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-06-26 13:10:45 +0000
committerChristian Grothoff <christian@grothoff.org>2012-06-26 13:10:45 +0000
commit3a3e4c0f1b588f687ff98fcee4952fa02e97dfb2 (patch)
tree6bc8e191a4e8399f9a132e9ffc3eccdf0bd6d4be /src/util/server.c
parent5f80e27a31542a0a1f8c8eb862216aacfdb35312 (diff)
downloadgnunet-3a3e4c0f1b588f687ff98fcee4952fa02e97dfb2.tar.gz
gnunet-3a3e4c0f1b588f687ff98fcee4952fa02e97dfb2.zip
-fix error message for unix paths starting with 0-termination
Diffstat (limited to 'src/util/server.c')
-rw-r--r--src/util/server.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/util/server.c b/src/util/server.c
index 1f8c654b5..ff4584677 100644
--- a/src/util/server.c
+++ b/src/util/server.c
@@ -478,10 +478,17 @@ open_listen_socket (const struct sockaddr *serverAddr, socklen_t socklen)
478 "bind", port, 478 "bind", port,
479 (AF_INET == serverAddr->sa_family) ? "IPv4" : "IPv6"); 479 (AF_INET == serverAddr->sa_family) ? "IPv4" : "IPv6");
480 else if (AF_UNIX == serverAddr->sa_family) 480 else if (AF_UNIX == serverAddr->sa_family)
481 LOG (GNUNET_ERROR_TYPE_WARNING, 481 {
482 _("`%s' failed for `%s': address already in use\n"), "bind", 482 const struct sockaddr_un *un = (const struct sockaddr_un *) serverAddr;
483 ((const struct sockaddr_un *) serverAddr)->sun_path); 483 unsigned int off = 0;
484 484
485 if ('\0' == un->sun_path[0])
486 off = 1; /* some UNIXPATHs start with 0 */
487 LOG (GNUNET_ERROR_TYPE_WARNING,
488 _("`%s' failed for `%.*s': address already in use\n"), "bind",
489 (int) ((sizeof (un->sun_path) - off)),
490 (&un->sun_path[off]));
491 }
485 } 492 }
486 GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (sock)); 493 GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (sock));
487 errno = eno; 494 errno = eno;