From 2cd0b9bf4da0b42a23cad033c8250583a55dc1fa Mon Sep 17 00:00:00 2001 From: Kare Morstol Date: Sun, 9 Aug 2015 22:37:47 +0200 Subject: [PATCH] Trim even if one-line-string does not end with \n. I do think a string with only one newline, placed at the end, still has just one line. --- SwiftShell/Command.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/SwiftShell/Command.swift b/SwiftShell/Command.swift index 9df14ad..7e49fb3 100644 --- a/SwiftShell/Command.swift +++ b/SwiftShell/Command.swift @@ -45,8 +45,10 @@ extension ShellContextType { var outputstring = output.fileHandleForReading.read(encoding: self.encoding) // if output is single-line, trim it. - if outputstring.hasSuffix("\n") && outputstring.characters.indexOf("\n") == outputstring.endIndex.predecessor() { - outputstring = outputstring.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()) + let firstnewline = outputstring.characters.indexOf("\n") + if firstnewline == nil || + firstnewline == outputstring.endIndex.predecessor() { + outputstring = outputstring.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()) } return outputstring