elf_errmsg(3E) elf_errmsg(3E)
NAME
elferrmsg, elferrno - Fehlerbehandlung
SYNTAX
cc [option ...] datei ... -lelf [bibliothek ...]
#include <libelf.h>
const char *elferrmsg(int err);
int elferrno(void);
BESCHREIBUNG
Wenn eine ELF-Bibliotheksfunktion fehlschlägt, kann das Programm
elferrno() aufrufen, um die bibliotheksinterne Fehlernummer zu erhal-
ten. Als Nebeneffekt dieser Funktion wird die interne Fehlernummer auf
Null (kein Fehler) gesetzt.
elferrmsg() benötigt die Fehlernummer err und liefert dafür eine
durch ein Nullzeichen beendete Fehlermeldung (ohne angehängten Zeilen-
vorschub), welche das Problem beschreibt. Wird für err Null übergeben,
so wird die Meldung für den letzten Fehler zurückgegeben. Ist kein
Fehler aufgetreten, ist der Rückgabewert ein Nullzeiger (nicht etwa
ein Zeiger auf eine Nullzeichenkette). Der Wert -1 für err ergibt
ebenfalls die letzte Fehlermeldung, jedoch wird ein Rückgabewert
ungleich Null garantiert, selbst wenn kein Fehler aufgetreten ist.
Wenn keine Fehlermeldung für die angegebene Fehlernummer verfügbar
ist, liefert elferrmsg() einen Zeiger auf eine aussagefähige Meldung
zurück. Diese Funktion setzt nicht als Nebeneffekt die interne Fehler-
nummer zurück.
BEISPIELE
Der folgende Programmauszug löscht zunächst die interne Fehlernummer
und überprüft später auf Fehler. Wenn nach dem ersten Aufruf von
elferrno() kein Fehler auftritt, liefert der nächste Aufruf den Wert
Null.
(void)elferrno() ;
while (moretodo)
{
/* Bearbeitung... */
if ((err = elferrno()) != 0)
{
msg = elferrmsg(err);
/* Meldung ausgeben */
}
}
SIEHE AUCH
elf(3E), elfversion(3E).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98