implement missing operator replacements in debashify [[

This commit is contained in:
zawz 2021-02-03 15:01:47 +01:00
parent b56e7d09f9
commit 53d8ce01ce

View file

@ -20,10 +20,24 @@ block* gen_bashtest_cmd(std::vector<arg*> args)
{ {
block* ret = nullptr; block* ret = nullptr;
if(args.size() == 3 && args[1]->string() == "==") std::string arg1replace;
if(args.size() == 3)
{ {
delete args[1]->sa[0]; if(args[1]->string() == "==")
args[1]->sa[0] = new string_subarg("="); arg1replace="=";
else if(args[1]->string() == "<")
arg1replace="-lt";
else if(args[1]->string() == "<=")
arg1replace="-le";
else if(args[1]->string() == ">")
arg1replace="-gt";
else if(args[1]->string() == ">=")
arg1replace="-ge";
}
if(arg1replace != "")
{
delete args[1];
args[1] = new arg(arg1replace);
} }
if(args.size() == 3 && args[1]->string() == "=" && arg_has_char('*', args[2])) if(args.size() == 3 && args[1]->string() == "=" && arg_has_char('*', args[2]))