Return-Path: X-Original-To: apmail-karaf-commits-archive@minotaur.apache.org Delivered-To: apmail-karaf-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B000C6B74 for ; Wed, 18 May 2011 14:42:47 +0000 (UTC) Received: (qmail 11844 invoked by uid 500); 18 May 2011 14:42:47 -0000 Delivered-To: apmail-karaf-commits-archive@karaf.apache.org Received: (qmail 11821 invoked by uid 500); 18 May 2011 14:42:47 -0000 Mailing-List: contact commits-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@karaf.apache.org Delivered-To: mailing list commits@karaf.apache.org Received: (qmail 11794 invoked by uid 99); 18 May 2011 14:42:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 May 2011 14:42:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 May 2011 14:42:45 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 694CB2388A33; Wed, 18 May 2011 14:42:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1124287 - /karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java Date: Wed, 18 May 2011 14:42:24 -0000 To: commits@karaf.apache.org From: gawor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110518144224.694CB2388A33@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gawor Date: Wed May 18 14:42:24 2011 New Revision: 1124287 URL: http://svn.apache.org/viewvc?rev=1124287&view=rev Log: KARAF-496: Karaf prompt displayed twice on Windows with unsupported terminal Modified: karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java Modified: karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java?rev=1124287&r1=1124286&r2=1124287&view=diff ============================================================================== --- karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java (original) +++ karaf/branches/karaf-2.2.x/shell/console/src/main/java/jline/console/ConsoleReader.java Wed May 18 14:42:24 2011 @@ -99,6 +99,8 @@ public class ConsoleReader private String previousSearchTerm = ""; private int searchIndex = -1; + + private boolean skipLF = false; public ConsoleReader(final InputStream in, final Writer out, final InputStream bindings, final Terminal term) throws IOException @@ -1371,17 +1373,32 @@ public class ConsoleReader private String readLine(final InputStream in) throws IOException { StringBuilder buff = new StringBuilder(); + if (skipLF) { + skipLF = false; + + int i = streamBuffer.isEmpty() ? in.read() : streamBuffer.remove(0); + + if (i == -1 || i == '\r') { + return buff.toString(); + } else if (i == '\n') { + // ignore + } else { + buff.append((char) i); + } + } + while (true) { int i = streamBuffer.isEmpty() ? in.read() : streamBuffer.remove(0); - if (i == -1 || i == '\n' || i == '\r') { + if (i == -1 || i == '\n') { return buff.toString(); + } else if (i == '\r') { + skipLF = true; + return buff.toString(); + } else { + buff.append((char) i); } - - buff.append((char) i); } - - // return new BufferedReader (new InputStreamReader (in)).readLine (); } //