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) :
Code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 int br_add_interface(const char *bridge, const char *dev) { struct ifreq ifr; int err; int ifindex = if_nametoindex(dev); if (ifindex == 0) return ENODEV; strncpy(ifr.ifr_name, bridge, IFNAMSIZ); #ifdef SIOCBRADDIF ifr.ifr_ifindex = ifindex; err = ioctl(br_socket_fd, SIOCBRADDIF, &ifr); if (err < 0) #endif { unsigned long args[4] = { BRCTL_ADD_IF, ifindex, 0, 0 }; ifr.ifr_data = (char *) args; err = ioctl(br_socket_fd, SIOCDEVPRIVATE, &ifr); } return err < 0 ? errno : 0; }
La fonction retourne-t-elle une valeur négative dans le cadre d'une erreur, et sinon, elle renvoie 0, est-ce bien cela ?
Partager