Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       error,  error_at_line,  error_message_count,  error_one_per_line,  error_print_progname  -
       funcții de raportare a erorilor glibc

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #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);

DESCRIERE

       error() este o funcție generală de raportare  a  erorilor.  Aceasta  curăță  stdout,  apoi
       transmite  la  stderr  numele programului, două puncte și un spațiu, mesajul specificat de
       șirul de format în stil printf(3) format și, dacă errnum este  diferită  de  zero,  un  al
       doilea punct și un spațiu urmat de șirul dat de strerror(errnum). Orice argumente necesare
       pentru format trebuie să urmeze format în lista de argumente. Ieșirea  se  termină  cu  un
       caracter de linie nouă.

       Numele    programului    afișat    de    error()    este   valoarea   variabilei   globale
       program_invocation_name(3). program_invocation_name are  inițial  aceeași  valoare  ca  și
       argv[0]  din  main().  Valoarea  acestei  variabile  poate  fi modificată pentru a schimba
       rezultatul lui error().

       Dacă status are o valoare diferită de zero,  atunci  error()  apelează  exit(3)  pentru  a
       termina  programul  folosind  valoarea dată ca stare de ieșire; în caz contrar, returnează
       după imprimarea mesajului de eroare.

       Funcția error_at_line() este exact la fel ca error(), cu excepția  adăugării  argumentelor
       filename  și  linenum.  Rezultatul  produs  este același ca și pentru error(), cu excepția
       faptului că după numele programului sunt scrise: două puncte, valoarea lui filename,  două
       puncte și valoarea lui linenum. Valorile preprocesorului __LINE__ și __FILE__ pot fi utile
       atunci când se apelează error_at_line(), dar pot fi utilizate și alte valori. De  exemplu,
       aceste argumente se pot referi la o locație dintr-un fișier de intrare.

       În cazul în care variabila globală error_one_per_line este stabilită la o valoare diferită
       de zero, o secvență de apeluri error_at_line() cu aceeași valoare a filename și linenum va
       avea ca rezultat emiterea unui singur mesaj (primul).

       Variabila  globală  error_message_count  numără  numărul  de  mesaje care au fost emise de
       error() și error_at_line().

       Dacă variabilei globale error_print_progname i se atribuie adresa unei funcții  (adică  nu
       este  NULL),  atunci  acea  funcție  este apelată în loc să se prefixeze mesajul cu numele
       programului și două puncte.  Funcția ar trebui să afișeze un șir de caractere  adecvat  în
       stderr.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌────────────────┬───────────────────┬────────────────────────────────────────────────────┐
       │InterfațăAtributValoare                                            │
       ├────────────────┼───────────────────┼────────────────────────────────────────────────────┤
       │error()         │ Siguranța firelor │ MT-Safe locale                                     │
       ├────────────────┼───────────────────┼────────────────────────────────────────────────────┤
       │error_at_line() │ Siguranța firelor │ MT-Unsafe race: error_at_line/error_one_per_line   │
       │                │                   │ locale                                             │
       └────────────────┴───────────────────┴────────────────────────────────────────────────────┘

       Variabila internă error_one_per_line este accesată (fără nici o formă de sincronizare, dar
       din moment ce este un int folosit o singură dată, ar trebui să fie suficient de sigur) și,
       dacă error_one_per_line este stabilită la o valoare diferită de zero, variabilele  statice
       interne  (neexpuse utilizatorilor) folosite pentru a păstra ultimul nume de fișier tipărit
       și numărul de linie sunt accesate și modificate fără sincronizare;  actualizarea  nu  este
       atomică  și  are  loc  înainte  de dezactivarea anulării, astfel încât poate fi întreruptă
       numai după ce una dintre cele două variabile este modificată. După aceea,  error_at_line()
       seamănă foarte mult cu error().

STANDARDE

       Aceste funcții și variabile sunt extensii GNU și nu ar trebui să fie utilizate în programe
       destinate a fi portabile.

CONSULTAȚI ȘI

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

TRADUCERE

       Traducerea în limba  română  a  acestui  manual  a  fost  creată  de  Remus-Gabriel  Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  sau  o  versiune  ulterioară  cu
       privire la condiții privind drepturile de autor.  NU se asumă Nicio RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui  manual,  vă  rugăm să trimiteți un e-mail la
       ⟨translation-team-ro@lists.sourceforge.net⟩.