1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include "command.ih"
Command::Command()
:
d_action(FROM_HOME),
d_parent(0)
{
concatArgs();
bool subSpecs = determineAction();
String::split(this, d_arguments, s_separators);
// When are the elements of the first argument changed into initial chars
// of directory elements?
// 1. if there is only one command line argument
// 2. if the first argument is not to be interpreted as a name by itself
// 3. if there's only one argument
// Can't 2 and 3 be combined to: size() == 1 ?
// if (!subSpecs && size() && ArgConfig::instance().nArgs() == 1)
if (!subSpecs && size() == 1)
{
for_each(front().begin() + 1, front().end(),
FnWrap1c<char, vector<string> &>(add, *this));
front().resize(1);
}
if (ArgConfig::instance().option('V'))
{
cerr << "Parent nr: " << d_parent << "\n"
"Action: " << s_action[d_action] << "\n"
"Initial characters of directories: ";
copy(begin(), end(), ostream_iterator<string>(cerr, " "));
cerr << endl;
}
}
|