Signification d'un return [RESOLU] - C - Programmation
Marsh Posté le 07-01-2008 à 18:34:28
Hello,
si je ne m'abuse, c'est une structure ternaire : un test est réalisé (err < 0) et si vrai, il retourne errno, si faux, il retourne zéro.
Donc il retourne errno (je pense un n° d'erreur ?) ou, si "err" est négatif, zéro.
Marsh Posté le 07-01-2008 à 18:38:59
Merci, NewsletTux, donc cela signifie que dans tous les cas, la fonction renvoie un code d'erreur, et que si celui-ci est négatif, l'erreur renvoyée est 0 ?
On peut donc supposer qu'une erreur de 0 signifie "pas d'erreur" ?
Marsh Posté le 07-01-2008 à 18:46:42
Thordax a écrit : Merci, NewsletTux, donc cela signifie que dans tous les cas, la fonction renvoie un code d'erreur, et que si celui-ci est négatif, l'erreur renvoyée est 0 ? |
La fonction renvoie un code retour, et non un code d'erreur.
L'usage veut qu'une fonction qui retourne 0 s'est bien déroulée.
Quant à err, c'est le retour de ioctl() :
RETURN VALUES |
Donc si err == -1, ioctl() a échoué, et la variable globale errno contient le code retour (permet d'utiliser perror() ou strerror() ) pour en connaître la cause exacte.
Marsh Posté le 07-01-2008 à 19:03:08
Merci à tous, et merci à Elmomo pour cette réponse supra précise
Marsh Posté le 07-01-2008 à 18:14:34
Hello tout le monde,
J'ai un doute quant à la signification de cette ligne :
return err < 0 ? errno : 0
Qui se trouve à la fin d'une fonction simple issue d'un package (bridge-utils) :
La fonction retourne-t-elle une valeur négative dans le cadre d'une erreur, et sinon, elle renvoie 0, est-ce bien cela ?
Message édité par Thordax le 07-01-2008 à 19:07:50
---------------
Atari 520 ST 256 Ko