Author: ffang
Date: Wed May 22 03:29:50 2013
New Revision: 1485038

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

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

Modified: 
karaf/branches/karaf-2.3.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java?rev=1485038&r1=1485037&r2=1485038&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.3.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java
 (original)
+++ 
karaf/branches/karaf-2.3.x/shell/osgi/src/main/java/org/apache/karaf/shell/osgi/Shutdown.java
 Wed May 22 03:29:50 2013
@@ -87,14 +87,27 @@ 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();
+            System.out.println("the str is " + str);
             if (str.equals("yes")) {
                 this.shutdown(sleep);
             }


Reply via email to