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);
}