THRIFT-2605 TSocket warning on gcc 4.8.3
authorRoger Meier <roger@apache.org>
Tue, 8 Jul 2014 05:29:12 +0000 (07:29 +0200)
committerRoger Meier <roger@apache.org>
Tue, 8 Jul 2014 05:29:12 +0000 (07:29 +0200)
Patch: Konrad Grochowski

lib/cpp/src/thrift/transport/TServerSocket.cpp
lib/cpp/src/thrift/transport/TSocket.cpp

index b686c6c..e7d3ec6 100755 (executable)
@@ -310,15 +310,14 @@ void TServerSocket::listen() {
 #ifndef _WIN32
 
     // Unix Domain Socket
-    struct sockaddr_un address = {0};
-    size_t len = path_.size()+1;
-
-    if (len > sizeof(address.sun_path)) {
+    size_t len = path_.size() + 1;
+    if (len > sizeof(sockaddr_un::sun_path)) {
       int errno_copy = THRIFT_GET_SOCKET_ERROR;
       GlobalOutput.perror("TSocket::listen() Unix Domain socket path too long", errno_copy);
       throw TTransportException(TTransportException::NOT_OPEN, " Unix Domain socket path too long");
     }
 
+    struct sockaddr_un address;
     address.sun_family = AF_UNIX;
     memcpy(address.sun_path, path_.c_str(), len);
     socklen_t structlen = static_cast<socklen_t>(sizeof(address));
index 8595506..7dec442 100755 (executable)
@@ -253,15 +253,14 @@ void TSocket::openConnection(struct addrinfo *res) {
 
 #ifndef _WIN32
 
-    struct sockaddr_un address = {0};
-    size_t len = path_.size()+1;
-
-    if (len > sizeof(address.sun_path)) {
+    size_t len = path_.size() + 1;
+    if (len > sizeof(sockaddr_un::sun_path)) {
       int errno_copy = THRIFT_GET_SOCKET_ERROR;
       GlobalOutput.perror("TSocket::open() Unix Domain socket path too long", errno_copy);
       throw TTransportException(TTransportException::NOT_OPEN, " Unix Domain socket path too long");
     }
 
+    struct sockaddr_un address;
     address.sun_family = AF_UNIX;
     memcpy(address.sun_path, path_.c_str(), len);
     socklen_t structlen = static_cast<socklen_t>(sizeof(address));
@@ -378,13 +377,13 @@ void TSocket::local_open(){
 
   error = getaddrinfo(host_.c_str(), port, &hints, &res0);
 
-#ifdef _WIN32\r
-  if (error == WSANO_DATA) {\r
-    hints.ai_flags &= ~AI_ADDRCONFIG;\r
-    error = getaddrinfo(host_.c_str(), port, &hints, &res0);\r
-  }\r
-#endif\r
-\r
+#ifdef _WIN32
+  if (error == WSANO_DATA) {
+    hints.ai_flags &= ~AI_ADDRCONFIG;
+    error = getaddrinfo(host_.c_str(), port, &hints, &res0);
+  }
+#endif
+
   if (error) {
     string errStr = "TSocket::open() getaddrinfo() " + getSocketInfo() + string(THRIFT_GAI_STRERROR(error));
     GlobalOutput(errStr.c_str());