diff --git a/Sources/FoundationEssentials/String/String+Path.swift b/Sources/FoundationEssentials/String/String+Path.swift index 79bcbfa76..b51625ee5 100644 --- a/Sources/FoundationEssentials/String/String+Path.swift +++ b/Sources/FoundationEssentials/String/String+Path.swift @@ -374,7 +374,7 @@ extension String { guard GetEnvironmentVariableW(pwszVariable, $0.baseAddress, dwLength) == dwLength - 1 else { return nil } - return String(decoding: $0, as: UTF16.self) + return String(decodingCString: $0.baseAddress!, as: UTF16.self) } } } @@ -436,7 +436,7 @@ extension String { guard GetUserProfileDirectoryW(hToken, $0.baseAddress, &dwcchSize) else { fatalError("unable to query user profile directory") } - return String(decoding: $0, as: UTF16.self) + return String(decodingCString: $0.baseAddress!, as: UTF16.self) } #else #if targetEnvironment(simulator) diff --git a/Sources/FoundationEssentials/URL/URL.swift b/Sources/FoundationEssentials/URL/URL.swift index 56a88db60..e83c01ab1 100644 --- a/Sources/FoundationEssentials/URL/URL.swift +++ b/Sources/FoundationEssentials/URL/URL.swift @@ -1324,7 +1324,7 @@ public struct URL: Equatable, Sendable, Hashable { if result.count > 1 && result.utf8.last == UInt8(ascii: "/") { _ = result.popLast() } - let charsToLeaveEncoded = Set([UInt8(ascii: "/")]) + let charsToLeaveEncoded: Set = [._slash, 0] return Parser.percentDecode(result, excluding: charsToLeaveEncoded) ?? "" }