Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       strerror, strerror_r - gibt eine Zeichenkette zurück, die den Fehlercode beschreibt

ÜBERSICHT

       #include <string.h>

       char *strerror(int errnum);

       int strerror_r(int errnum, char *buf, size_t buflen);
                   /* XSI-konform */

       char *strerror_r(int errnum, char *buf, size_t buflen);
                   /* GNU-spezifisch */

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       Die XSI-konforme Version von strerror_r() wird bereitgestellt, falls:
       (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE
       Anderenfalls wird die GNU-spezifische Version bereitgestellt.

BESCHREIBUNG

       Die  Funktion  strerror() gibt einen Zeiger auf eine Zeichenkette mit der Beschreibung des
       Fehlercodes für das übergebene Argument errnum zurück. Möglicherweise wertet sie dabei den
       LC_MESSAGES-Teil  der  aktuellen  Locale  aus,  um  die passende Sprache zu wählen. (Falls
       beispielsweise errnum EINVAL ist, dann wird  die  zurückgelieferte  Beschreibung  »Invalid
       argument«  sein.).  Diese Zeichenkette darf nicht von der Anwendung verändert werden, wohl
       aber von einem nachfolgenden Aufruf von strerror(). Diese  Zeichenkette  wird  von  keiner
       Bibliotheksfunktion, inklusive perror(3), verändert.

       Die  Funktion strerror_r() ähnelt strerror(), ist aber threadsicher. Diese Funktion ist in
       zwei  Versionen  verfügbar:  eine  in  POSIX.1-2001  beschriebene   XSI-konforme   Version
       (verfügbar   seit  Glibc  2.3.4,  aber  vor  Glibc  2.13  nicht  POSIX-konform)  und  eine
       GNU-spezifische Version (verfügbar seit Glibc 2.0). Die XSI-konforme  Version  wird  durch
       die   in   der   ÜBERSICHT  angegebenen   Feature-Test-Makroeinstellungen  bereitgestellt;
       anderenfalls wird die GNU-Version verwendet. Ohne explizit vereinbarte Feature-Test-Makros
       wird  (seit  Glibc  2.4)  standardmäßig  _POSIX_SOURCE mit dem Wert 200112L belegt, sodass
       standardmäßig die XSI-Variante von strerror_r() verwendet wird.

       Die XSI-konforme strerror_r() ist für  portable  Anwendungen  vorzuziehen.  Sie  gibt  die
       Fehlerzeichenkette im vom Nutzer bereitgestellten Puffer buf der Länge buflen zurück.

       Die  GNU-spezifische  strerror_r() gibt einen Zeiger auf eine Zeichenkette zurück, die die
       Fehlernachricht enthält. Dies kann entweder ein Zeiger auf eine Zeichenkette sein, die die
       Funktion  in  buf  speichert,  oder  ein  Zeiger auf irgendeine (unveränderbare statische)
       Zeichenkette(wobei  dann  buf  nicht  genutzt  wird).  Wenn  die  Funktion  in  buf   eine
       Zeichenkette  speichert,  werden höchstens buflen Bytes gespeichert (die Zeichenkette kann
       gekürzt werden, wenn buflen zu klein und errnum unbekannt ist). Die  Zeichenkette  enthält
       immer ein abschließendes Null-Byte ('\0').

RÜCKGABEWERT

       Die  Funktionen  strerror()  und  die  GNU-spezifische strerror_r() gibt die entsprechende
       Zeichenkette mit der Fehlerbeschreibung zurück oder  eine  Nachricht  »Unbekannter  Fehler
       nnn«, wenn die Fehlernummer unbekannt ist.

       POSIX.1-2001  und  POSIX.1-2008  verlangen,  dass  ein erfolgreicher Aufruf von strerror()
       errno unverändert belässt. Sie merken an, dass wegen des nicht  definierten  Rückgabewerts
       zur  Anzeige  eines Fehlers eine Anwendung zur Fehlerprüfung vor dem Aufruf errno auf Null
       setzen und nach dem Aufruf überprüfen sollte.

       Die XSI-konforme Funktion strerror_r() gibt bei Erfolg 0 zurück. Im Fehlerfall  wird  eine
       positive  Fehlernummer  (seit  Glibc  2.13) oder -1 zurückgegeben und errno mit einem Wert
       belegt, der den Fehler angibt (Glibc vor Version 2.13).

FEHLER

       EINVAL Der Wert von errnum ist keine gültige Fehlernummer.

       ERANGE Es  wurde  unzureichender  Speicher  für  die  Aufnahme   der   Fehler-Zeichenkette
              bereitgestellt.

ATTRIBUTE

   Multithreading (see pthreads(7))
       The strerror()  function is not thread-safe.

       The strerror_r()  function is thread-safe.

KONFORM ZU

       strerror()   wird   von   POSIX.1-2001,  C89,  C99  spezifiziert.  strerror_r()  wird  von
       POSIX.1-2001 spezifiziert.

       Die GNU-spezifische Funktion strerror_r() ist eine nicht standardisierte Erweiterung.

       POSIX.1-2001 gestattet strerror() das Setzen  von  errno  wenn  der  Aufruf  einen  Fehler
       bewirkt,  gibt aber nicht vor, welchen Wert die Funktion im Fehlerfall zurückgeben sollte.
       Auf einigen Systemen gibt strerror() NULL zurück, wenn die Fehlernummer nicht bekannt ist.
       Auf  anderen  Systemen  gibt strerror() eine Meldung etwa wie »Fehler nnn aufgetreten« und
       setzt errno auf  EINVAL,  wenn  die  Fehlernummer  unbekannt  ist.  C99  und  POSIX.1-2008
       verlangen, dass der Rückgabewert von NULL verschieden ist.

SIEHE AUCH

       err(3), errno(3), error(3), perror(3), strsignal(3)

KOLOPHON

       This  page  is  part  of release 3.54 of the Linux man-pages project. A description of the
       project,    and    information    about    reporting    bugs,    can    be    found     at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die   deutsche   Übersetzung  dieser  Handbuchseite  wurde  von  Martin  Eberhard  Schauer
       <Martin.E.Schauer@gmx.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.

                                          21. Juni 2013                               STRERROR(3)