Author: ffang
Date: Wed May 22 06:04:00 2013
New Revision: 1485072

URL: http://svn.apache.org/r1485072
Log:
[KARAF-2326]Backspace stops working after shutdown command

Modified:
    
karaf/branches/karaf-2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java

Modified: 
karaf/branches/karaf-2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java?rev=1485072&r1=1485071&r2=1485072&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java
 (original)
+++ 
karaf/branches/karaf-2.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java
 Wed May 22 06:04:00 2013
@@ -87,12 +87,24 @@ public class Shutdown extends OsgiComman
                 if (c < 0) {
                     return null;
                 }
-                System.err.print((char) c);
+                if (c == 127 || c == 'b') {
+                    System.err.print((char) '\b');
+                    System.err.print((char) ' ');
+                    System.err.print((char) '\b');
+                } else {
+                    System.err.print((char) c);
+                }
                 System.err.flush();
                 if (c == '\r' || c == '\n') {
                     break;
                 }
-                sb.append((char) c);
+                if (c == 127 || c == 'b') {
+                    if (sb.length() > 0) {
+                        sb.deleteCharAt(sb.length() - 1);
+                    }
+                } else {
+                    sb.append((char) c);
+                }
             }
             String str = sb.toString();
             if (str.equals("yes")) {


Reply via email to