ERROR(3)

NOM
error, error_at_line, error_message_count, error_on_per_line, error_print_progname - Fonctions de compte-rendu d'erreurs de la glibc

SYNOPSIS
#include <error.h>
void error(int status, int errnum, const char *format, ...);
void error_at_line(int status, int errnum, const char *filename,
                   unsigned int linenum, const char *format, ...);
extern unsigned int error_message_count;
extern int error_one_per_line;
extern void (* error_print_progname) (void);

DESCRIPTION
error() est une fonction générale de compte-rendu d'erreur. Elle vide stdout, et affiche sur stderr le nom du programme, un deux-points et une espace, le message spécifié par la chaîne de format de style printf(3) format, et, si errnum n'est pas nul, un deuxième deux-points et une espace suivis par la chaîne fournie par perror(errnum). Tous les arguments requis par format doivent suivre format dans la liste d'arguments. L'affichage se termine par un caractère nouvelle ligne. Le nom du programme affiché par error() est la valeur de la variable globale program_invocation_name(3). program_invocation_name a initialement la même valeur que argv[0] de la fonction main(). La valeur de cette variable peut être modifiée pour changer l'affichage de error(). Si status possède une valeur non nulle, error() appelle exit(3) pour terminer le programme en utilisant la valeur fournie comme code de sortie. La fonction error_at_line() est identique à error(), excepté les arguments supplémentaires filename et linenum. L'affichage produit est similaire à celui de error(), excepté qu'après le nom du programme sont écrits : un deux-points, la valeur de filename, un deux-points, et la valeur de linenum. Les paramètres __LINE__ et __FILE__ du préprocesseur peuvent être utiles lorsqu'on appelle error_at_line(), mais d'autres valeurs peuvent être utilisées. Par exemple, ces arguments peuvent faire référence à l'emplacement dans un fichier d'entrée. Si la variable globale error_one_per_line n'est pas nulle, une séquence d'appels à error_at_line() avec les mêmes valeurs de filename et linenum fera qu'un seul message de sortie (le premier). La variable globale error_message_count comptabilise le nombre de messages qui ont été produits en sortie par error() et error_at_line(). Si la variable globale error_print_progname est affectée par l'adresse d'une fonction (c'est-à-dire, n'est pas nulle), cette fonction est appelée plutôt que de préfixer le message avec le nom du programme et un deux-points. La fonction devrait afficher une chaîne de caractères convenable sur stderr.

CONFORMITÉ
Ces fonctions et variables sont des extensions GNU et ne devraient pas être utilisées dans des programmes destinés à être portables.

VOIR AUSSI
err(3), errno(3), exit(3), perror(3), program_invocation_name(3), strerror(3)

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 4 août 2006 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 error ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.