diff --git a/Zip/Zip.swift b/Zip/Zip.swift index 2fb35615d3b7c23edf20068bf8b88a52bf4ba749..80d1a895a8a95c589507002335d021ed47f8f271 100644 --- a/Zip/Zip.swift +++ b/Zip/Zip.swift @@ -42,7 +42,12 @@ public class Zip { let bufferSize: UInt32 = 4096 var buffer = Array(count: Int(bufferSize), repeatedValue: 0) repeat { - ret = unzOpenCurrentFile(zip) + if let cPassword = password?.cStringUsingEncoding(NSASCIIStringEncoding) { + ret = unzOpenCurrentFilePassword(zip, cPassword) + } + else { + ret = unzOpenCurrentFile(zip); + } if ret != UNZ_OK { throw ZipError.UnzipError }