From 4646c3818700c0c43a295f1914703a03d127bcfc Mon Sep 17 00:00:00 2001 From: Koichi Yokota Date: Wed, 16 Feb 2022 21:49:34 +0900 Subject: [PATCH] Change the type of intPermission to UInt16 --- CHANGELOG.md | 3 ++- Sources/Puppy/FileLogger.swift | 12 ++++++------ Tests/PuppyTests/FileLoggerTests.swift | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7473a83..70e2f37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ ## [x.y.z](https://github.com/sushichop/Puppy/releases/tag/x.y.z) (yyyy-mm-dd) - Remove concurrency features. [#39](https://github.com/sushichop/Puppy/pull/39) -- Fix the default rotation type to `numbering`. [#40](https://github.com/sushichop/Puppy/pull/40) +- Fix the default rotation type to `numbering`. [#40](https://github.com/sushichop/Puppy/pull/40) +- Change the type of intPermission to `UInt16`. [#41](https://github.com/sushichop/Puppy/pull/41) ## [0.4.0](https://github.com/sushichop/Puppy/releases/tag/0.4.0) (2022-01-31) diff --git a/Sources/Puppy/FileLogger.swift b/Sources/Puppy/FileLogger.swift index 362bade..5b893fa 100644 --- a/Sources/Puppy/FileLogger.swift +++ b/Sources/Puppy/FileLogger.swift @@ -9,8 +9,8 @@ public class FileLogger: BaseLogger { public private(set) var flushMode: FlushMode var filePermission: Permission - var intPermission: Int16 { - return Int16(filePermission, radix: 8)! + var uintPermission: UInt16 { + return UInt16(filePermission, radix: 8)! } var fileHandle: FileHandle! @@ -91,7 +91,7 @@ public class FileLogger: BaseLogger { } if !FileManager.default.fileExists(atPath: fileURL.path) { - let successful = FileManager.default.createFile(atPath: fileURL.path, contents: nil, attributes: [FileAttributeKey.posixPermissions: intPermission]) + let successful = FileManager.default.createFile(atPath: fileURL.path, contents: nil, attributes: [FileAttributeKey.posixPermissions: uintPermission]) if successful { debug("succeeded in creating filePath") } else { @@ -119,9 +119,9 @@ public class FileLogger: BaseLogger { } private func validateFilePermssion(_ filePermission: Permission) throws { - let min = Int16("000", radix: 8)! - let max = Int16("777", radix: 8)! - if let intPermission = Int16(filePermission, radix: 8), intPermission >= min, intPermission <= max { + let min = UInt16("000", radix: 8)! + let max = UInt16("777", radix: 8)! + if let uintPermission = Int16(filePermission, radix: 8), uintPermission >= min, uintPermission <= max { } else { throw FileError.invalidPermssion(filePermission) } diff --git a/Tests/PuppyTests/FileLoggerTests.swift b/Tests/PuppyTests/FileLoggerTests.swift index 1d64157..f07492a 100644 --- a/Tests/PuppyTests/FileLoggerTests.swift +++ b/Tests/PuppyTests/FileLoggerTests.swift @@ -225,9 +225,9 @@ final class FileLoggerTests: XCTestCase { let attribute = try FileManager.default.attributesOfItem(atPath: fileURL.path) // swiftlint:disable force_cast - let permission = attribute[FileAttributeKey.posixPermissions] as! Int16 + let permission = attribute[FileAttributeKey.posixPermissions] as! UInt16 // swiftlint:enable force_cast - let expectedPermission = Int16("600", radix: 8)! + let expectedPermission = UInt16("600", radix: 8)! XCTAssertEqual(permission, expectedPermission) _ = fileLogger.delete(fileURL)