Query multiple addresses from command line
authorMegaBrutal <megabrutal+github@megabrutal.com>
Sat, 18 Feb 2023 00:40:00 +0000 (01:40 +0100)
committerMegaBrutal <megabrutal+github@megabrutal.com>
Sat, 18 Feb 2023 00:40:00 +0000 (01:40 +0100)
src/main.rs

index 0255860911befdc723cb44f1c94cef499d2cce1a..4bd31f3a18c9b2f6f787620d1a98a23df9ef6255 100644 (file)
@@ -4,13 +4,13 @@ use a2s::A2SClient;
 
 fn main() {
     let client = A2SClient::new().unwrap();
-    let addresses = args().nth(1)
-        .unwrap_or_else(|| String::from("localhost:27015"))
-        .to_socket_addrs().unwrap()
-        .flat_map(|sa| match sa {
-            SocketAddr::V4(sa4) => Some(sa4),
-            _ => None
-        });
+    let addresses = args().skip(1)
+        .flat_map(|arg| arg.to_socket_addrs())
+        .flat_map(|iter_addr| iter_addr.flat_map(|sa| match sa {
+                SocketAddr::V4(sa4) => Some(sa4),
+                _ => None
+            })
+        );
 
     for address in addresses {