ERR(3)

NOMBRE
err, verr, errx, verrx, warn, vwarn, warnx, vwarnx, - mensajes de error con formato

SINOPSIS
#include <err.h> void err(int eval, const char *fmt, ...) void errx(int eval, const char *fmt, ...) void warn(const char *fmt, ...) void warnx(const char *fmt, ...) #include <stdarg.h> void verr(int eval, const char *fmt, va_list args) void verrx(int eval, const char *fmt, va_list args) void vwarn(const char *fmt, va_list args) void vwarnx(const char *fmt, va_list args)

DESCRIPCIÓN
La familia de funciones err() y warn() muestran un mensaje de error con formato en la salida estándar de error. En todos los casos, se imprime el último componente del nombre del programa, un carácter punto y un espacio. Si el argumento fmt es distinto de NULL, se imprime un mensaje de error con formato al estilo de printf(3)

Las funciones err(), verr(), warn(), y vwarn() añaden un mensaje de error obtenido con strerror(3) basado en un código o en la variable global errno, precedido por otro punto y un espacio a menos que el argumento fmt sea NULL.

Las funciones err(), verr(), warn(), y vwarn() usan la variable global errno para buscar el mensaje de error.

Las funciones errx() y warnx() no añaden ningún mensaje de error.

Las funciones err(), verr(), errx(), y verrx() no regresan, sino que terminan la ejecución con el valor del argumento eval.

EJEMPLOS
Muestra la cadena de información del error actual y termina:

    if ((p = malloc(size)) == NULL)
    	err(1, NULL);
    if ((fd = open(file_name, O_RDONLY, 0)) == -1)
    	err(1, "%s", file_name);

Muestra un mensaje de error y termina:

    if (tm.tm_hour < START_TIME)
    	errx(1, "too early, wait until %s", start_time_string);

Aviso de un error:

    if (
    	warnx("%s: %s: trying the block device",
    	    raw_device, strerror(errno));
    if ((fd = open(block_device, O_RDONLY, 0)) == -1)
    	err(1, "%s", block_device);

VÉASE TAMBIÉN
exit(3), printf(3), perror(3), strerror(3)

HISTORIA
Las funciones err() y warn() aparecieron por primera vez en 4.4BSD.