CLI/CmdCalendar
- When the binary is named (or symlinked to) 'cal', then CLI::_args[0] must be clobbered, and restored for subsequent commands.
This commit is contained in:
@@ -411,6 +411,12 @@ void CLI::analyze (bool parse /* = true */, bool strict /* = false */)
|
||||
}
|
||||
|
||||
_args.push_back (a);
|
||||
|
||||
if (a.hasTag ("CALENDAR"))
|
||||
{
|
||||
A cal ("argCal", "calendar");
|
||||
_args.push_back (cal);
|
||||
}
|
||||
}
|
||||
|
||||
if (context.config.getInteger ("debug.parser") >= 3)
|
||||
|
||||
@@ -335,7 +335,11 @@ int CmdCalendar::execute (std::string& output)
|
||||
if (context.commands.find (report) == context.commands.end ())
|
||||
throw std::string (STRING_ERROR_DETAILS);
|
||||
|
||||
// If the executable was "cal" or equivalent, replace it with "task".
|
||||
std::string executable = context.cli._args[0].attribute ("raw");
|
||||
std::string::size_type cal = executable.find ("cal");
|
||||
if (cal != std::string::npos)
|
||||
executable = executable.substr (0, cal) + PACKAGE;
|
||||
|
||||
std::vector <std::string> args;
|
||||
args.push_back (executable);
|
||||
|
||||
Reference in New Issue
Block a user