nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Benutzung von errno

Von: Robert Hartmann (robert_hartmann@gmx.net) [Profil]
Datum: 07.07.2009 13:49
Message-ID: <h2vcnl$1vo9$1@ariadne.rz.tu-clausthal.de>
Newsgroup: de.comp.lang.c
Hallo zusammen,

Ich habe in der errno.h nach einem Fehlernummer benennenden
Namen für den Fehler "Index out of Range" gesucht, ihn aber
nicht gefunden. In der mir vorliegenden errno.h sind bis zu
42 Fehler aufgelistet unterbrochen von einigen unbekannten
Fehlernummern.

Ziel meiner Frage ist es eine Funktion, die im
Fehlerfall 0 zurückliefert und errno entsprechend
Ihrem Fehler setzt, zu schreiben mit der Signatur

int getPosData(*Array A, size_t pos)

dabei ist Array ein struct, der neben einem dynamisch
erzeugten Bereich für Integerwerte eine die Anzahl
aufnehmende Variable "anzahl" vom Typ size_t besitzt.

Offensichtlich könnte es zwei Arten von Fehlern geben:
1. Auf A kann nicht zugegriffen werden, wenn A  NULL ist.
Hier müsste man errno wohl sinnvollerweise auf EFAULT (Bad address)
setzen.
2. Auf A kann zugegriffen werden, aber (pos>(anzahl-1)) oder (pos<0):
Hier könnte man errno wohl auf EINVAL (Invalid argument)
oder EACCES (Permission denied) setzen.

Auch meine Googlesuche nach errno + "Index out of range"
war nicht erhellend. Habt Ihr eine weitergehende Idee?

Gruß Robert

[ Auf dieses Posting antworten ]

Antworten