Minor change for std redirection argument parsing
This commit is contained in:
parent
8f36da884a
commit
e284226897
@ -91,10 +91,16 @@ namespace snel {
|
|||||||
bool in{false}, out{false}, err{false};
|
bool in{false}, out{false}, err{false};
|
||||||
|
|
||||||
for (auto& t: command) {
|
for (auto& t: command) {
|
||||||
if (t == "" || t== " ")
|
if (t == "" || t== " ") continue; // skip crap
|
||||||
continue;
|
|
||||||
if (t == "&&") logic = LogicOp::AND;
|
if (t == "&&") logic = LogicOp::AND;
|
||||||
else if (t == "||") logic = LogicOp::OR;
|
else if (t == "||") logic = LogicOp::OR;
|
||||||
|
// one pass redirection parsing
|
||||||
|
else if (!t.compare(0, 1, "<")) filenames[STDIN_] = t.substr(1);
|
||||||
|
else if (!t.compare(0, 1, ">")) filenames[STDOUT_] = t.substr(1);
|
||||||
|
else if (!t.compare(0, 2, "1>")) filenames[STDOUT_] = t.substr(2);
|
||||||
|
else if (!t.compare(0, 2, "2>")) filenames[STDERR_] = t.substr(2);
|
||||||
|
// two pass redirection parsing (if redirection came in 2 arguments)
|
||||||
else if (t == "<") in = true;
|
else if (t == "<") in = true;
|
||||||
else if (t == "1>" || t == ">") out = true;
|
else if (t == "1>" || t == ">") out = true;
|
||||||
else if (t == "2>") err = true;
|
else if (t == "2>") err = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user