diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-11-03 04:37:56 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-11-03 04:37:56 +0100 |
commit | 5845db4568ec69c2986bb1a53599fb568e9a18f1 (patch) | |
tree | 47651d705d16d201417bb8aed0296693782a3b40 | |
parent | TunnelsManager: get rid of name set (diff) | |
download | wireguard-apple-5845db4568ec69c2986bb1a53599fb568e9a18f1.tar.xz wireguard-apple-5845db4568ec69c2986bb1a53599fb568e9a18f1.zip |
TunnelsManager: fix use of arrayslice in addMultiple
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r-- | WireGuard/WireGuard/VPN/TunnelsManager.swift | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/WireGuard/WireGuard/VPN/TunnelsManager.swift b/WireGuard/WireGuard/VPN/TunnelsManager.swift index 03470e6..925b5ce 100644 --- a/WireGuard/WireGuard/VPN/TunnelsManager.swift +++ b/WireGuard/WireGuard/VPN/TunnelsManager.swift @@ -102,17 +102,16 @@ class TunnelsManager { } func addMultiple(tunnelConfigurations: [TunnelConfiguration], completionHandler: @escaping (UInt) -> Void) { - addMultiple(tunnelConfigurations: tunnelConfigurations[0...], numberSuccessful: 0, completionHandler: completionHandler) + addMultiple(tunnelConfigurations: ArraySlice(tunnelConfigurations), numberSuccessful: 0, completionHandler: completionHandler) } private func addMultiple(tunnelConfigurations: ArraySlice<TunnelConfiguration>, numberSuccessful: UInt, completionHandler: @escaping (UInt) -> Void) { - if tunnelConfigurations.isEmpty { + guard let head = tunnelConfigurations.first else { completionHandler(numberSuccessful) return } - let head = tunnelConfigurations.first! - let tail = tunnelConfigurations[1...] - self.add(tunnelConfiguration: head) { [weak self] (tunnel, error) in + let tail = tunnelConfigurations.dropFirst() + self.add(tunnelConfiguration: head) { [weak self, tail] (tunnel, error) in DispatchQueue.main.async { self?.addMultiple(tunnelConfigurations: tail, numberSuccessful: numberSuccessful + (error == nil ? 1 : 0), completionHandler: completionHandler) } |