mirror of
https://codeberg.org/TicklishHoneyBee/CLIte.git
synced 2026-03-11 09:04:37 +00:00
remove more unnecessary objects from shell
This commit is contained in:
parent
8fee484f23
commit
368a5cddfb
1 changed files with 43 additions and 41 deletions
|
|
@ -23,7 +23,9 @@ clite.commands.load('sh',function(args,env,io) {
|
|||
let exec_bufferout = null;
|
||||
let exec_bufferin = null;
|
||||
let exec_skipto = null;
|
||||
let exec_cfg = {closout:false,closin:false,closerr:false};
|
||||
let exec_closout = false;
|
||||
let exec_closin = false;
|
||||
let exec_closerr = false;
|
||||
let exec_last = 0;
|
||||
let exec_io = {};
|
||||
let exec_conditionals = [];
|
||||
|
|
@ -310,9 +312,9 @@ clite.commands.load('sh',function(args,env,io) {
|
|||
break;
|
||||
}
|
||||
}else{
|
||||
if (exec_cfg.closin) {
|
||||
if (exec_closin) {
|
||||
stdio.close(exec_io.stdin);
|
||||
exec_cfg.closin = false;
|
||||
exec_closin = false;
|
||||
}
|
||||
exec_io.stdin = io.stdin;
|
||||
}
|
||||
|
|
@ -330,9 +332,9 @@ clite.commands.load('sh',function(args,env,io) {
|
|||
break;
|
||||
}
|
||||
}else{
|
||||
if (exec_cfg.closout) {
|
||||
if (exec_closout) {
|
||||
stdio.close(exec_io.stdout);
|
||||
exec_cfg.closout = false;
|
||||
exec_closout = false;
|
||||
}
|
||||
exec_io.stdout = io.stdout;
|
||||
}
|
||||
|
|
@ -349,9 +351,9 @@ clite.commands.load('sh',function(args,env,io) {
|
|||
break;
|
||||
}
|
||||
}else{
|
||||
if (exec_cfg.closerr) {
|
||||
if (exec_closerr) {
|
||||
stdio.close(exec_io.stderr);
|
||||
exec_cfg.closerr = false;
|
||||
exec_closerr = false;
|
||||
}
|
||||
exec_io.stderr = io.stderr;
|
||||
}
|
||||
|
|
@ -659,53 +661,53 @@ clite.commands.load('sh',function(args,env,io) {
|
|||
exec_last = 0;
|
||||
}
|
||||
function exec_stdin_setFile(path) {
|
||||
if (exec_cfg.closin) {
|
||||
if (exec_closin) {
|
||||
stdio.close(exec_io.stdin);
|
||||
exec_cfg.closin = false;
|
||||
exec_closin = false;
|
||||
}
|
||||
exec_io.stdin = stdio.open(path,stdio.flags.O_RDONLY);
|
||||
exec_cfg.closin = true;
|
||||
exec_closin = true;
|
||||
}
|
||||
function exec_stdin_setNull() {
|
||||
if (exec_cfg.closin) {
|
||||
if (exec_closin) {
|
||||
stdio.close(exec_io.stdin);
|
||||
exec_cfg.closin = false;
|
||||
exec_closin = false;
|
||||
}
|
||||
exec_io.stdin = stdio.open('/dev/null',stdio.flags.O_RDONLY);
|
||||
exec_cfg.closin = true;
|
||||
exec_closin = true;
|
||||
}
|
||||
function exec_stdin_setOut() {
|
||||
if (exec_cfg.closin) {
|
||||
if (exec_closin) {
|
||||
stdio.close(exec_io.stdin);
|
||||
exec_cfg.closin = false;
|
||||
exec_closin = false;
|
||||
}
|
||||
if (exec_bufferout) {
|
||||
exec_io.stdout = null;
|
||||
exec_cfg.closout = false;
|
||||
exec_closout = false;
|
||||
exec_bufferin = exec_bufferout;
|
||||
exec_bufferout = null;
|
||||
exec_io.stdin = exec_bufferin;
|
||||
stdio.seek(exec_io.stdin,0);
|
||||
exec_cfg.closin = true;
|
||||
exec_closin = true;
|
||||
}else{
|
||||
exec_stdin_setNull();
|
||||
}
|
||||
}
|
||||
function exec_stdout_setBuffered() {
|
||||
if (exec_cfg.closout) {
|
||||
if (exec_closout) {
|
||||
stdio.close(exec_io.stdout);
|
||||
exec_cfg.closout = false;
|
||||
exec_closout = false;
|
||||
if (exec_bufferout)
|
||||
exec_bufferout = null;
|
||||
}
|
||||
exec_bufferout = stdio.mkstemp('/tmp/shell-XXXXXX');
|
||||
exec_io.stdout = exec_bufferout;
|
||||
exec_cfg.closout = false;
|
||||
exec_closout = false;
|
||||
}
|
||||
function exec_stdout_setFile(path) {
|
||||
if (exec_cfg.closout) {
|
||||
if (exec_closout) {
|
||||
stdio.close(exec_io.stdout);
|
||||
exec_cfg.closout = false;
|
||||
exec_closout = false;
|
||||
}
|
||||
var flags = stdio.flags.O_WRONLY|stdio.flags.O_CREAT|stdio.flags.O_SYNC;
|
||||
var p = path;
|
||||
|
|
@ -716,20 +718,20 @@ clite.commands.load('sh',function(args,env,io) {
|
|||
flags |= stdio.flags.O_TRUNC;
|
||||
}
|
||||
exec_io.stdout = stdio.open(p,flags);
|
||||
exec_cfg.closout = true;
|
||||
exec_closout = true;
|
||||
}
|
||||
function exec_stdout_setNull() {
|
||||
if (exec_cfg.closout) {
|
||||
if (exec_closout) {
|
||||
stdio.close(exec_io.stdout);
|
||||
exec_cfg.closout = false;
|
||||
exec_closout = false;
|
||||
}
|
||||
exec_io.stdout = stdio.open('/dev/null',stdio.flags.O_WRONLY);
|
||||
exec_cfg.closout = true;
|
||||
exec_closout = true;
|
||||
}
|
||||
function exec_stderr_setFile(path) {
|
||||
if (exec_cfg.closerr) {
|
||||
if (exec_closerr) {
|
||||
stdio.close(exec_io.stderr);
|
||||
exec_cfg.closerr = false;
|
||||
exec_closerr = false;
|
||||
}
|
||||
var flags = stdio.flags.O_WRONLY|stdio.flags.O_CREAT|stdio.flags.O_SYNC;
|
||||
var p = path;
|
||||
|
|
@ -740,39 +742,39 @@ clite.commands.load('sh',function(args,env,io) {
|
|||
flags |= stdio.flags.O_TRUNC;
|
||||
}
|
||||
exec_io.stderr = stdio.open(p,flags);
|
||||
exec_cfg.closerr = true;
|
||||
exec_closerr = true;
|
||||
}
|
||||
function exec_stderr_setNull() {
|
||||
if (exec_cfg.closerr) {
|
||||
if (exec_closerr) {
|
||||
stdio.close(exec_io.stderr);
|
||||
exec_cfg.closerr = false;
|
||||
exec_closerr = false;
|
||||
}
|
||||
exec_io.stderr = stdio.open('/dev/null',stdio.flags.O_WRONLY);
|
||||
exec_cfg.closerr = true;
|
||||
exec_closerr = true;
|
||||
}
|
||||
function exec_stderr_setOut() {
|
||||
if (exec_cfg.closerr) {
|
||||
if (exec_closerr) {
|
||||
stdio.close(exec_io.stderr);
|
||||
exec_cfg.closerr = false;
|
||||
exec_closerr = false;
|
||||
}
|
||||
exec_io.stderr = exec_io.stdout;
|
||||
exec_cfg.closerr = exec_cfg.closout;
|
||||
exec_closerr = exec_closout;
|
||||
}
|
||||
function exec_exit() {
|
||||
if (exec_cfg.closin) {
|
||||
if (exec_closin) {
|
||||
stdio.close(exec_io.stdin);
|
||||
exec_cfg.closin = false;
|
||||
exec_closin = false;
|
||||
}
|
||||
var out = '';
|
||||
if (exec_bufferout)
|
||||
out = stdio.readAll(exec_bufferout);
|
||||
if (exec_cfg.closout) {
|
||||
if (exec_closout) {
|
||||
stdio.close(exec_io.stdout);
|
||||
exec_cfg.closout = false;
|
||||
exec_closout = false;
|
||||
}
|
||||
if (exec_cfg.closerr) {
|
||||
if (exec_closerr) {
|
||||
stdio.close(exec_io.stderr);
|
||||
exec_cfg.closerr = false;
|
||||
exec_closerr = false;
|
||||
}
|
||||
exec_active = null;
|
||||
exec_cmds = [];
|
||||
|
|
|
|||
Loading…
Reference in a new issue