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 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.

Pagini de manual de Linux 6.03                  15 decembrie 2022                                       error(3)