explain_system_or_die(3) execute a shell command and report errors

SYNOPSIS

#include <libexplain/system.h>

void explain_system_or_die(const char *command);
void explain_system_success_or_die(const char *command);
int explain_system_success(const char *command);

DESCRIPTION

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.

explain_system_success_or_die

void explain_system_success_or_die(const char *command);

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.

COPYRIGHT

libexplain version 1.4
Copyright (C) 2008 Peter Miller