Fix generate bug on empty commands

This commit is contained in:
zawwz 2021-01-06 10:07:04 +01:00
parent 46047f2a88
commit 4e137ab35e

View file

@ -316,18 +316,21 @@ std::string cmd::generate(int ind)
for(auto it: var_assigns) for(auto it: var_assigns)
ret += it.first + '=' + it.second->generate(ind) + ' '; ret += it.first + '=' + it.second->generate(ind) + ' ';
if(args==nullptr || args->size()<=0) if(args!=nullptr && args->size()>0)
{ {
ret.pop_back(); // command
ret += args->generate(ind);
// delete potential trailing space
if(ret[ret.size()-1] == ' ')
ret.pop_back();
}
else if(opt_minimize) // minimize: empty command: don't put redirects
{
if(ret.size()>0)
ret.pop_back();
return ret; return ret;
} }
// command
ret += args->generate(ind);
// delete potential trailing space
if(ret[ret.size()-1] == ' ')
ret.pop_back();
ret += generate_redirs(ind, ret); ret += generate_redirs(ind, ret);
return ret; return ret;
} }