]> git.saurik.com Git - redis.git/blobdiff - src/anet.c
missing return caused protocol desync in CLUSTER SETSLOT
[redis.git] / src / anet.c
index 4e16f2e4c9d45c88254fb04a4dee94f1c838e435..692cef1941c05f75b092ebaf8da4f8c864482ba7 100644 (file)
@@ -345,3 +345,13 @@ int anetUnixAccept(char *err, int s) {
 
     return fd;
 }
+
+int anetPeerToString(int fd, char *ip, int *port) {
+    struct sockaddr_in sa;
+    socklen_t salen = sizeof(sa);
+
+    if (getpeername(fd,(struct sockaddr*)&sa,&salen) == -1) return -1;
+    if (ip) strcpy(ip,inet_ntoa(sa.sin_addr));
+    if (port) *port = ntohs(sa.sin_port);
+    return 0;
+}