about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStefan Lankes <slankes@eonerc.rwth-aachen.de>2020-06-15 08:43:44 +0200
committerStefan Lankes <slankes@eonerc.rwth-aachen.de>2020-06-15 08:43:44 +0200
commit9c9f21fb23ae59012e7aba162e1105d26fcd119b (patch)
treed5763a58e4fdc93f47506f0dffeb1d306ddb133b
parentaa53a037a286a05c88e61ca008d90354cccb1512 (diff)
downloadrust-9c9f21fb23ae59012e7aba162e1105d26fcd119b.tar.gz
rust-9c9f21fb23ae59012e7aba162e1105d26fcd119b.zip
Revert "simplify conversion to IpAddr::V6"
This reverts commit d221ffc68e543f4a38efcc2bd34f52145f89003b.
-rw-r--r--src/libstd/sys/hermit/net.rs20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/libstd/sys/hermit/net.rs b/src/libstd/sys/hermit/net.rs
index 8f96f8622c6..a02f1131329 100644
--- a/src/libstd/sys/hermit/net.rs
+++ b/src/libstd/sys/hermit/net.rs
@@ -149,7 +149,15 @@ impl TcpStream {
                 port,
             ),
             Ipv6(ref addr) => SocketAddr::new(
-                IpAddr::V6(Ipv6Addr::new(addr.0)),
+                IpAddr::V6(Ipv6Addr::new(
+                    ((addr.0[0] as u16) << 8) | addr.0[1] as u16,
+                    ((addr.0[2] as u16) << 8) | addr.0[3] as u16,
+                    ((addr.0[4] as u16) << 8) | addr.0[5] as u16,
+                    ((addr.0[6] as u16) << 8) | addr.0[7] as u16,
+                    ((addr.0[8] as u16) << 8) | addr.0[9] as u16,
+                    ((addr.0[10] as u16) << 8) | addr.0[11] as u16,
+                    ((addr.0[12] as u16) << 8) | addr.0[13] as u16,
+                    ((addr.0[14] as u16) << 8) | addr.0[15] as u16)),
                 port,
             ),
             _ => {
@@ -232,7 +240,15 @@ impl TcpListener {
                 port,
             ),
             Ipv6(ref addr) => SocketAddr::new(
-                IpAddr::V6(Ipv6Addr::new(addr.0)),
+                IpAddr::V6(Ipv6Addr::new(
+                    ((addr.0[0] as u16) << 8) | addr.0[1] as u16,
+                    ((addr.0[2] as u16) << 8) | addr.0[3] as u16,
+                    ((addr.0[4] as u16) << 8) | addr.0[5] as u16,
+                    ((addr.0[6] as u16) << 8) | addr.0[7] as u16,
+                    ((addr.0[8] as u16) << 8) | addr.0[9] as u16,
+                    ((addr.0[10] as u16) << 8) | addr.0[11] as u16,
+                    ((addr.0[12] as u16) << 8) | addr.0[13] as u16,
+                    ((addr.0[14] as u16) << 8) | addr.0[15] as u16)),
                 port,
             ),
             _ => {