Subj : File: writeln() and line endings To : Digital Man From : Nightfox Date : Sun Apr 27 2025 17:27:58 Re: File: writeln() and line endings By: Digital Man to Nightfox on Sat Apr 26 2025 06:26 pm DM> On Windows, File.writeln() will append either "\n" or "\r\n" depending on DM> how the file was opened. If it was opened in text mode (the "t" open DM> flag), then "\r\n" is used. DM> On Linux, the "t" open mode flag is ignored and File.writeln() will always DM> save the text with "\n" appended. Example: DM> var f = new File("test.blah"); DM> f.open("w"); DM> f.writeln(); DM> Creates a file with a single byte: DM> $ hd /sbbs/ctrl/test.blah DM> 00000000 0a |.| 00000001 I was able to confirm that. DM> If your edited file is ending up with CRLF terminated lines, that could DM> just be the function of the console.editfile() method (if you're using DM> that) and the underlying C++ methods that post-process the edited the DM> file. I am using console.editfile() to edit the file. It seems it is indeed console.editfile() that results in the line endings being \r\n. In my test, after creating id_rsa using console.editfile(), SSH fails to authenticate me, which seems to me is caused by the difference in line endings. Is there a way to call console.editfile() so that it won't do any post-processing of the file? Also, I'm a little unclear on why the underlying C++ methods would change the line endings to \r\n on Linux. Could that be a bug, or is it intended behavior? Nightfox --- þ Synchronet þ Digital Distortion: digitaldistortionbbs.com .