aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/VPN
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-11-03 04:37:56 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2018-11-03 04:37:56 +0100
commit5845db4568ec69c2986bb1a53599fb568e9a18f1 (patch)
tree47651d705d16d201417bb8aed0296693782a3b40 /WireGuard/WireGuard/VPN
parentTunnelsManager: get rid of name set (diff)
downloadwireguard-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 'WireGuard/WireGuard/VPN')
-rw-r--r--WireGuard/WireGuard/VPN/TunnelsManager.swift9
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)
}