From 11e5c42ec793d494d9ba5d5f295dc14f92fb1667 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Tue, 3 May 2022 16:27:12 +0800 Subject: [PATCH] mgrLM // Handle cases of missing EOF on writing user phrases. - We always add std::endl prior to new phrase insertion. Reason: the upstream approach of detecting the existence of EOF seems not usable in Swift 5. --- Source/Modules/LangModelRelated/mgrLangModel.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/Modules/LangModelRelated/mgrLangModel.swift b/Source/Modules/LangModelRelated/mgrLangModel.swift index 9b5a44aa..5a8f0583 100644 --- a/Source/Modules/LangModelRelated/mgrLangModel.swift +++ b/Source/Modules/LangModelRelated/mgrLangModel.swift @@ -403,13 +403,15 @@ class mgrLangModel: NSObject { // module shipped in the vChewing Phrase Editor. currentMarkedPhrase += "\t#π™ΎπšŸπšŽπš›πš›πš’πšπšŽ" } - currentMarkedPhrase += "\n" if let writeFile = FileHandle(forUpdatingAtPath: path), - let data = currentMarkedPhrase.data(using: .utf8) + let data = currentMarkedPhrase.data(using: .utf8), + let endl = "\n".data(using: .utf8) { writeFile.seekToEndOfFile() + writeFile.write(endl) writeFile.write(data) + writeFile.write(endl) writeFile.closeFile() } else { return false