@@ -1,7 +1,7 @@ /* - * Copyright (c) 2016 - 2021 Jonathan Schleifer + * Copyright (c) 2016 - 2023 Jonathan Schleifer * * https://fossil.nil.im/cryptopassphrase * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,36 +26,36 @@ class SiteStorage: OFObject { private static let lengthField = NSNumber(value: 0) private static let legacyField = NSNumber(value: 1) private static let keyFileField = NSNumber(value: 2) - private var path: OFString + private var IRI: OFIRI private var storage: [String: [NSNumber: AnyObject]] private var sites: [String] override init() { let fileManager = OFFileManager.default - let userDataURL = OFSystemInfo.userDataURL! + let userDataIRI = OFSystemInfo.userDataIRI! - if !fileManager.directoryExists(at: userDataURL) { - fileManager.createDirectory(at: userDataURL) + if !fileManager.directoryExists(at: userDataIRI) { + fileManager.createDirectory(at: userDataIRI) } - let URL = userDataURL.appendingPathComponent( + let IRI = userDataIRI.appendingPathComponent( OFString(utf8String: "sites.msgpack")) var storage: [String: [NSNumber: AnyObject]]? = nil OFException.try({ - let decoded = (OFData(contentsOf: URL).objectByParsingMessagePack) + let decoded = (OFData(contentsOf: IRI).objectByParsingMessagePack) as? OFDictionary> storage = (decoded?.nsObject as? [String: [NSNumber: AnyObject]]) ?? [:] }, catch: { (OFException) in storage = [:] }) - self.path = URL.fileSystemRepresentation! + self.IRI = IRI self.storage = storage! self.sites = self.storage.keys.sorted() } func sites(withFilter filter: String?) -> [String] { @@ -113,9 +113,9 @@ } private func update() { let ofStorage = (storage as NSDictionary).ofObject - ofStorage.messagePackRepresentation.write(toFile: path) + ofStorage.messagePackRepresentation.write(to: IRI) sites = storage.keys.sorted() } }