myserver-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-260


From: Giuseppe Scrivano
Subject: [myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-260-g44aaca8
Date: Mon, 21 Jun 2010 09:08:10 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU MyServer".

The branch, master has been updated
       via  44aaca8c923a74bce455d9864510b904a2753a3b (commit)
      from  dcc848a5b06a388ec97bc77bcd4b8cfe70289080 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------


commit 44aaca8c923a74bce455d9864510b904a2753a3b
Author: Giuseppe Scrivano <address@hidden>
Date:   Mon Jun 21 11:07:31 2010 +0200

    Now `Socket::getLocalIPsList' uses exceptions to raise errors.

diff --git a/myserver/include/base/socket/socket.h 
b/myserver/include/base/socket/socket.h
index b0481c1..f538968 100644
--- a/myserver/include/base/socket/socket.h
+++ b/myserver/include/base/socket/socket.h
@@ -104,7 +104,7 @@ public:
 
   u_long getThrottling ();
   void setThrottling (u_long);
-  static int getLocalIPsList (string&);
+  static void getLocalIPsList (string&);
   /*! Inherithed from Stream.  */
   virtual int read (char* buffer, u_long len, u_long *nbr);
   virtual int write (const char* buffer, u_long len, u_long *nbw);
diff --git a/myserver/src/base/socket/socket.cpp 
b/myserver/src/base/socket/socket.cpp
index 80c67b4..27ba6f8 100644
--- a/myserver/src/base/socket/socket.cpp
+++ b/myserver/src/base/socket/socket.cpp
@@ -248,7 +248,7 @@ int  Socket::setsockopt (int level, int optname,
 /*!
   Fill the out string with a list of the local IPs. Returns 0 on success.
  */
-int Socket::getLocalIPsList (string &out)
+void Socket::getLocalIPsList (string &out)
 {
   char serverName[HOST_NAME_MAX + 1];
   memset (serverName, 0, HOST_NAME_MAX + 1);
@@ -257,8 +257,9 @@ int Socket::getLocalIPsList (string &out)
 #if HAVE_IPV6
   addrinfo aiHints = {0}, *pHostInfo = NULL, *pCrtHostInfo = NULL;
   aiHints.ai_socktype = SOCK_STREAM;
-  if (getaddrinfo (serverName, NULL, &aiHints, &pHostInfo) == 0
-      && pHostInfo != NULL)
+
+  checked::checkError (getaddrinfo (serverName, NULL, &aiHints, &pHostInfo));
+  if (pHostInfo != NULL)
     {
       sockaddr_storage *pCurrentSockAddr = NULL;
       char straddr[NI_MAXHOST] = "";
@@ -271,10 +272,10 @@ int Socket::getLocalIPsList (string &out)
           if ( pCurrentSockAddr == NULL )
             continue;
 
-          if (getnameinfo (pCrtHostInfo->ai_addr,
-                           sizeof (sockaddr_storage), straddr, NI_MAXHOST,
-                           NULL, 0, NI_NUMERICHOST))
-            return -1;
+          checked::checkError (getnameinfo (pCrtHostInfo->ai_addr,
+                                            sizeof (sockaddr_storage), straddr,
+                                            NI_MAXHOST, NULL, 0,
+                                            NI_NUMERICHOST));
 
           stream << ( !stream.str ().empty () ? ", " : "" ) << straddr;
         }
@@ -282,7 +283,6 @@ int Socket::getLocalIPsList (string &out)
       out.assign (stream.str ());
       freeaddrinfo (pHostInfo);
     }
-  return 0;
 #else
   MYSERVER_HOSTENT *localhe;
   in_addr ia;
@@ -302,15 +302,12 @@ int Socket::getLocalIPsList (string &out)
         }
 
       out.assign (stream.str ());
-      return 0;
     }
   else
     {
       out.assign (LOCALHOST_ADDRESS);
-      return 0;
     }
 #endif
-  return -1;
 }
 
 /*!
diff --git a/myserver/src/server/server.cpp b/myserver/src/server/server.cpp
index 710d5c3..0896eb0 100644
--- a/myserver/src/server/server.cpp
+++ b/myserver/src/server/server.cpp
@@ -269,7 +269,11 @@ int Server::postLoad ()
     delete ipAddresses;
   ipAddresses = new string ();
 
-  if (Socket::getLocalIPsList (*ipAddresses))
+  try
+    {
+      Socket::getLocalIPsList (*ipAddresses);
+    }
+  catch (exception & e)
     {
       log (MYSERVER_LOG_MSG_ERROR, _("Error reading IP list"));
       return -1;
diff --git a/myserver/tests/test_socket.cpp b/myserver/tests/test_socket.cpp
index 209e004..3c53739 100644
--- a/myserver/tests/test_socket.cpp
+++ b/myserver/tests/test_socket.cpp
@@ -150,19 +150,20 @@ public:
 
   void testGetLocalIPsList ()
   {
-    int status = obj->socket (AF_INET, SOCK_STREAM, 0);
-
-    CPPUNIT_ASSERT (status != -1);
-
+    int err = 0;
     string out;
 
-    status = obj->getLocalIPsList (out);
-
-    CPPUNIT_ASSERT (status != -1);
-
-    status = obj->close ();
-
-    CPPUNIT_ASSERT (status != -1);
+    try
+      {
+        obj->socket (AF_INET, SOCK_STREAM, 0);
+        obj->getLocalIPsList (out);
+        obj->close ();
+      }
+    catch (exception & e)
+      {
+        CPPUNIT_FAIL (e.what ());
+        obj->close ();
+      }
   }
 };
 

-----------------------------------------------------------------------

Summary of changes:
 myserver/include/base/socket/socket.h |    2 +-
 myserver/src/base/socket/socket.cpp   |   19 ++++++++-----------
 myserver/src/server/server.cpp        |    6 +++++-
 myserver/tests/test_socket.cpp        |   23 ++++++++++++-----------
 4 files changed, 26 insertions(+), 24 deletions(-)


hooks/post-receive
-- 
GNU MyServer



reply via email to

[Prev in Thread] Current Thread [Next in Thread]