These functions may be used to execute commands via the
system(3) function, and report the results.
explain_system_or_die
void explain_system_or_die(const char *command);
The explain_system_or_die function
is used to call the system(3) system
call. On failure an explanation will be
printed to stderr,
obtained from explain_system(3),
and then the process terminates
by calling exit(EXIT_FAILURE).
This function is intended to be used in a fashion
similar to the following example:
int status = explain_system_or_die(command);
command
The command, exactly as to be passed to the system(3) system call.
Returns:
This function only returns on success,
see system(3) for more information.
On failure, prints an explanation and exits.
The explain_system_success_or_die function is used to call
the system(3) system call. On failure, including any exit
status other than EXIT_SUCCESS, an explanation will be printed to
stderr, obtained from explain_system(3), and then the
process terminates by calling exit(EXIT_FAILURE).
This function is intended to be used in a fashion
similar to the following example:
explain_system_success_or_die(command);
command
The command, exactly as to be passed to the system(3) system call.
Returns:
This function only returns on success.
On failure, prints an explanation and exits.
explain_system_success
int explain_system_success(const char *command);
The explain_system_success function is used to call
the system(3) system call. On failure, including any exit
status other than EXIT_SUCCESS, an explanation will be printed to
stderr, obtained from explain_system(3).
However, the priniting of an error message does not
also cause exit(2) to be called.
This function is intended to be used in a fashion
similar to the following example:
int status = explain_system_success(command);
command
The command, exactly as to be passed to the system(3) system call.
Returns:
the value returned by the system(3) system call.
In all cases other than EXIT_SUCCESS, an error message will also have
been printed to stderr.