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 produit 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. La sortie est terminée 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 main(). La valeur de cette variable peut être modifiée pour changer la sortie de error(). Si status a 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 exactement la même que error(), excepté les arguments supplémentaires filename et linenum. La sortie produite est comme pour 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 valeurs préprocesseur __LINE__ et __FILE__ peuvent être utiles lorsqu'on appelle error_at_line(), mais d'autres valeurs peuvent être utilisées. Par exemple, ces arguments peuvent se référer à un endroit du 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 pour filename et linenum fera que seul un message (le premier) sera produit en sortie. 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 convenable sur stderr.

CONFORMITÉ
Ces fonctions et variables sont des extensions GNU et ne devraient pas être utilisées dans des programmes conçus pour ê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 22 décembre 2007.

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.