]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
forgot to commit bind() stuff
authorBert Hubert <bert.hubert@netherlabs.nl>
Thu, 12 Jun 2008 13:39:12 +0000 (13:39 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Thu, 12 Jun 2008 13:39:12 +0000 (13:39 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1192 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/sstuff.hh

index 9c4ef7513187ffb2185ccbd9e8cc064f106313b3..10a004d2488202ac8240e7a6f51c505465a223e2 100644 (file)
@@ -136,6 +136,18 @@ public:
     Utility::setNonBlocking(d_socket);
   }
 
+  //! Bind the socket to a specified endpoint
+  void bind(const struct sockaddr_in &local)
+  {
+    int tmp=1;
+    if(setsockopt(d_socket,SOL_SOCKET,SO_REUSEADDR,(char*)&tmp,sizeof tmp)<0)
+      throw NetworkError(string("Setsockopt failed: ")+strerror(errno));
+
+    if(::bind(d_socket,(struct sockaddr *)&local,sizeof(local))<0)
+      throw NetworkError(strerror(errno));
+  }
+
+
   //! Bind the socket to a specified endpoint
   void bind(const IPEndpoint &ep)
   {
@@ -145,12 +157,7 @@ public:
     local.sin_addr.s_addr=ep.address.byte;
     local.sin_port=htons(ep.port);
     
-    int tmp=1;
-    if(setsockopt(d_socket,SOL_SOCKET,SO_REUSEADDR,(char*)&tmp,sizeof tmp)<0)
-      throw NetworkError(string("Setsockopt failed: ")+strerror(errno));
-
-    if(::bind(d_socket,(struct sockaddr *)&local,sizeof(local))<0)
-      throw NetworkError(strerror(errno));
+    bind(local);
   }
 
   //! Connect the socket to a specified endpoint