CmdEdit: Properly captures an unmodified errno
This commit is contained in:
@@ -770,13 +770,14 @@ ARE_THESE_REALLY_HARMFUL:
|
|||||||
// Launch the editor.
|
// Launch the editor.
|
||||||
std::cout << format (STRING_EDIT_LAUNCHING, editor) << '\n';
|
std::cout << format (STRING_EDIT_LAUNCHING, editor) << '\n';
|
||||||
int exitcode = system (editor.c_str ());
|
int exitcode = system (editor.c_str ());
|
||||||
|
auto captured_errno = errno;
|
||||||
if (0 == exitcode)
|
if (0 == exitcode)
|
||||||
std::cout << STRING_EDIT_COMPLETE << '\n';
|
std::cout << STRING_EDIT_COMPLETE << '\n';
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::cout << format (STRING_EDIT_FAILED, exitcode) << '\n';
|
std::cout << format (STRING_EDIT_FAILED, exitcode) << '\n';
|
||||||
if (-1 == exitcode)
|
if (-1 == exitcode)
|
||||||
std::cout << std::strerror (errno) << '\n';
|
std::cout << std::strerror (captured_errno) << '\n';
|
||||||
return CmdEdit::editResult::error;
|
return CmdEdit::editResult::error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user