about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLinkTed <LinkTed@users.noreply.github.com>2020-08-25 19:33:33 +0200
committerLinkTed <LinkTed@users.noreply.github.com>2020-10-10 15:19:12 +0200
commit1f3195a5df18d8a7a886fca17371612f5f6847a3 (patch)
tree55526cdc3344f75ea2721ec65e591f8adda344b8
parent4c929a00ee6f4a8c4904f567d73e1cf6c333617c (diff)
downloadrust-1f3195a5df18d8a7a886fca17371612f5f6847a3.tar.gz
rust-1f3195a5df18d8a7a886fca17371612f5f6847a3.zip
Remove inner function in `bind`, `connect` and `send_to`
-rw-r--r--library/std/src/sys/unix/ext/net/datagram.rs52
-rw-r--r--library/std/src/sys/unix/ext/net/listener.rs15
-rw-r--r--library/std/src/sys/unix/ext/net/stream.rs15
3 files changed, 33 insertions, 49 deletions
diff --git a/library/std/src/sys/unix/ext/net/datagram.rs b/library/std/src/sys/unix/ext/net/datagram.rs
index e2fa65572e1..7225b3e5f66 100644
--- a/library/std/src/sys/unix/ext/net/datagram.rs
+++ b/library/std/src/sys/unix/ext/net/datagram.rs
@@ -85,17 +85,14 @@ impl UnixDatagram {
     /// ```
     #[stable(feature = "unix_socket", since = "1.10.0")]
     pub fn bind<P: AsRef<Path>>(path: P) -> io::Result<UnixDatagram> {
-        fn inner(path: &Path) -> io::Result<UnixDatagram> {
-            unsafe {
-                let socket = UnixDatagram::unbound()?;
-                let (addr, len) = sockaddr_un(path)?;
+        unsafe {
+            let socket = UnixDatagram::unbound()?;
+            let (addr, len) = sockaddr_un(path.as_ref())?;
 
-                cvt(libc::bind(*socket.0.as_inner(), &addr as *const _ as *const _, len as _))?;
+            cvt(libc::bind(*socket.0.as_inner(), &addr as *const _ as *const _, len as _))?;
 
-                Ok(socket)
-            }
+            Ok(socket)
         }
-        inner(path.as_ref())
     }
 
     /// Creates a Unix Datagram socket which is not bound to any address.
@@ -170,16 +167,12 @@ impl UnixDatagram {
     /// ```
     #[stable(feature = "unix_socket", since = "1.10.0")]
     pub fn connect<P: AsRef<Path>>(&self, path: P) -> io::Result<()> {
-        fn inner(d: &UnixDatagram, path: &Path) -> io::Result<()> {
-            unsafe {
-                let (addr, len) = sockaddr_un(path)?;
-
-                cvt(libc::connect(*d.0.as_inner(), &addr as *const _ as *const _, len))?;
+        unsafe {
+            let (addr, len) = sockaddr_un(path.as_ref())?;
 
-                Ok(())
-            }
+            cvt(libc::connect(*self.0.as_inner(), &addr as *const _ as *const _, len))?;
         }
-        inner(self, path.as_ref())
+        Ok(())
     }
 
     /// Creates a new independently owned handle to the underlying socket.
@@ -430,22 +423,19 @@ impl UnixDatagram {
     /// ```
     #[stable(feature = "unix_socket", since = "1.10.0")]
     pub fn send_to<P: AsRef<Path>>(&self, buf: &[u8], path: P) -> io::Result<usize> {
-        fn inner(d: &UnixDatagram, buf: &[u8], path: &Path) -> io::Result<usize> {
-            unsafe {
-                let (addr, len) = sockaddr_un(path)?;
-
-                let count = cvt(libc::sendto(
-                    *d.0.as_inner(),
-                    buf.as_ptr() as *const _,
-                    buf.len(),
-                    MSG_NOSIGNAL,
-                    &addr as *const _ as *const _,
-                    len,
-                ))?;
-                Ok(count as usize)
-            }
+        unsafe {
+            let (addr, len) = sockaddr_un(path.as_ref())?;
+
+            let count = cvt(libc::sendto(
+                *self.0.as_inner(),
+                buf.as_ptr() as *const _,
+                buf.len(),
+                MSG_NOSIGNAL,
+                &addr as *const _ as *const _,
+                len,
+            ))?;
+            Ok(count as usize)
         }
-        inner(self, buf, path.as_ref())
     }
 
     /// Sends data on the socket to the socket's peer.
diff --git a/library/std/src/sys/unix/ext/net/listener.rs b/library/std/src/sys/unix/ext/net/listener.rs
index 84386ea6381..2bedfb74dcb 100644
--- a/library/std/src/sys/unix/ext/net/listener.rs
+++ b/library/std/src/sys/unix/ext/net/listener.rs
@@ -71,18 +71,15 @@ impl UnixListener {
     /// ```
     #[stable(feature = "unix_socket", since = "1.10.0")]
     pub fn bind<P: AsRef<Path>>(path: P) -> io::Result<UnixListener> {
-        fn inner(path: &Path) -> io::Result<UnixListener> {
-            unsafe {
-                let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?;
-                let (addr, len) = sockaddr_un(path)?;
+        unsafe {
+            let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?;
+            let (addr, len) = sockaddr_un(path.as_ref())?;
 
-                cvt(libc::bind(*inner.as_inner(), &addr as *const _ as *const _, len as _))?;
-                cvt(libc::listen(*inner.as_inner(), 128))?;
+            cvt(libc::bind(*inner.as_inner(), &addr as *const _ as *const _, len as _))?;
+            cvt(libc::listen(*inner.as_inner(), 128))?;
 
-                Ok(UnixListener(inner))
-            }
+            Ok(UnixListener(inner))
         }
-        inner(path.as_ref())
     }
 
     /// Accepts a new incoming connection to this listener.
diff --git a/library/std/src/sys/unix/ext/net/stream.rs b/library/std/src/sys/unix/ext/net/stream.rs
index d144c41de3c..091026d6cfc 100644
--- a/library/std/src/sys/unix/ext/net/stream.rs
+++ b/library/std/src/sys/unix/ext/net/stream.rs
@@ -87,16 +87,13 @@ impl UnixStream {
     /// ```
     #[stable(feature = "unix_socket", since = "1.10.0")]
     pub fn connect<P: AsRef<Path>>(path: P) -> io::Result<UnixStream> {
-        fn inner(path: &Path) -> io::Result<UnixStream> {
-            unsafe {
-                let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?;
-                let (addr, len) = sockaddr_un(path)?;
-
-                cvt(libc::connect(*inner.as_inner(), &addr as *const _ as *const _, len))?;
-                Ok(UnixStream(inner))
-            }
+        unsafe {
+            let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?;
+            let (addr, len) = sockaddr_un(path.as_ref())?;
+
+            cvt(libc::connect(*inner.as_inner(), &addr as *const _ as *const _, len))?;
+            Ok(UnixStream(inner))
         }
-        inner(path.as_ref())
     }
 
     /// Creates an unnamed pair of connected sockets.