Disable OPOST
Helps when sharing a tty with non-raw mode processes
This commit is contained in:
parent
3be4f097a3
commit
8874c51d04
@ -17,19 +17,6 @@ exports.createInterface = function(output, completer) {
|
||||
return new Interface(output, completer);
|
||||
};
|
||||
|
||||
function writeFilter(stream) {
|
||||
if (stream._writeFiltered) return;
|
||||
stream._writeFiltered = true;
|
||||
stream._normalWrite = stream.write;
|
||||
stream.write = function(d) {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
if (typeof d == 'string') {
|
||||
args[0] = d.replace(/([^\r])\n|^\n/g, '$1\r\n');
|
||||
}
|
||||
// TODO what about buffers?
|
||||
return stream._normalWrite.apply(stream, args);
|
||||
}
|
||||
}
|
||||
|
||||
function Interface(output, completer) {
|
||||
if (!(this instanceof Interface)) return new Interface(output, completer);
|
||||
@ -49,9 +36,6 @@ function Interface(output, completer) {
|
||||
if (this.enabled) {
|
||||
// input refers to stdin
|
||||
|
||||
writeFilter(this.output);
|
||||
writeFilter(process.stdout);
|
||||
|
||||
// Current line
|
||||
this.line = '';
|
||||
|
||||
|
@ -43,8 +43,8 @@ static int EnableRawMode(int fd) {
|
||||
/* input modes: no break, no CR to NL, no parity check, no strip char,
|
||||
* no start/stop output control. */
|
||||
raw.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
|
||||
/* output modes - disable post processing */
|
||||
raw.c_oflag &= ~(OPOST);
|
||||
/* output modes */
|
||||
raw.c_oflag |= (ONLCR);
|
||||
/* control modes - set 8 bit chars */
|
||||
raw.c_cflag |= (CS8);
|
||||
/* local modes - choing off, canonical off, no extended functions,
|
||||
|
Loading…
x
Reference in New Issue
Block a user