Skip to content

Commit 550633f

Browse files
committed
[FileHandle] Make the function signature the same as DarwinFoundation.
Since `func truncateFile(atOffset offset: UInt64)` has been deprecated, new function is introduced. However, the signatures are different between DarwinFoundation and SwiftFoundation. Resolves https://bugs.swift.org/browse/SR-11922 .
1 parent 914a8ae commit 550633f

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

Foundation/FileHandle.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ open class FileHandle : NSObject {
570570
}
571571

572572
@available(swift 5.0)
573-
public func truncate(toOffset offset: UInt64) throws {
573+
public func truncate(atOffset offset: UInt64) throws {
574574
guard self != FileHandle._nulldeviceFileHandle else { return }
575575

576576
guard _isPlatformHandleValid else { throw NSError(domain: NSCocoaErrorDomain, code: CocoaError.fileWriteUnknown.rawValue) }
@@ -683,9 +683,9 @@ open class FileHandle : NSObject {
683683
try! seek(toOffset: offset)
684684
}
685685

686-
@available(swift, deprecated: 100000, renamed: "truncate(toOffset:)")
686+
@available(swift, deprecated: 100000, renamed: "truncate(atOffset:)")
687687
open func truncateFile(atOffset offset: UInt64) {
688-
try! truncate(toOffset: offset)
688+
try! truncate(atOffset: offset)
689689
}
690690

691691
@available(swift, deprecated: 100000, renamed: "synchronize()")

TestFoundation/TestFileHandle.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -342,26 +342,26 @@ class TestFileHandle : XCTestCase {
342342
}
343343
#endif
344344

345-
func test_truncateFile() {
345+
func test_truncateFile() throws {
346346
let url: URL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(ProcessInfo.processInfo.globallyUniqueString, isDirectory: false)
347-
_ = FileManager.default.createFile(atPath: url.path, contents: Data())
347+
XCTAssertTrue(FileManager.default.createFile(atPath: url.path, contents: Data()))
348348
defer { _ = try? FileManager.default.removeItem(at: url) }
349349

350350
let fh: FileHandle = FileHandle(forUpdatingAtPath: url.path)!
351351

352-
fh.truncateFile(atOffset: 50)
352+
try fh.truncate(atOffset: 50)
353353
XCTAssertEqual(fh.offsetInFile, 50)
354354

355-
fh.truncateFile(atOffset: 0)
355+
try fh.truncate(atOffset: 0)
356356
XCTAssertEqual(fh.offsetInFile, 0)
357357

358-
fh.truncateFile(atOffset: 100)
358+
try fh.truncate(atOffset: 100)
359359
XCTAssertEqual(fh.offsetInFile, 100)
360360

361361
fh.write(Data([1, 2]))
362362
XCTAssertEqual(fh.offsetInFile, 102)
363363

364-
fh.seek(toFileOffset: 4)
364+
try fh.seek(toOffset: 4)
365365
XCTAssertEqual(fh.offsetInFile, 4)
366366

367367
(0..<20).forEach { fh.write(Data([$0])) }
@@ -370,10 +370,10 @@ class TestFileHandle : XCTestCase {
370370
fh.seekToEndOfFile()
371371
XCTAssertEqual(fh.offsetInFile, 102)
372372

373-
fh.truncateFile(atOffset: 10)
373+
try fh.truncate(atOffset: 10)
374374
XCTAssertEqual(fh.offsetInFile, 10)
375375

376-
fh.seek(toFileOffset: 0)
376+
try fh.seek(toOffset: 0)
377377
XCTAssertEqual(fh.offsetInFile, 0)
378378

379379
let data = fh.readDataToEndOfFile()

0 commit comments

Comments
 (0)