io,

> On 24 Nov 2021, at 09:44, Benjamin Abadie via frnog <frnog@frnog.org> wrote:
> 
> 
> $ ping 1.1

D’ailleurs, le lecteur curieux trouvera le commentaire suivant dans la fonction 
inet_aton…
https://android.googlesource.com/platform/bionic/+/ics-mr0/libc/inet/inet_aton.c

                        /*
                         * Internet format:
                         *      a.b.c.d
                         *      a.b.c   (with c treated as 16 bits)
                         *      a.b     (with b treated as 24 bits)
                         */

et une fois qu’on a compté les points, on fait ça:

        case 0:
                return (0);             /* initial nondigit */
        case 1:                         /* a -- 32 bits */
                break;
        case 2:                         /* a.b -- 8.24 bits */
                if ((val > 0xffffff) || (parts[0] > 0xff))
                        return (0);
                val |= parts[0] << 24;
                break;
        case 3:                         /* a.b.c -- 8.8.16 bits */
                if ((val > 0xffff) || (parts[0] > 0xff) || (parts[1] > 0xff))
                        return (0);
                val |= (parts[0] << 24) | (parts[1] << 16);
                break;
        case 4:                         /* a.b.c.d -- 8.8.8.8 bits */
                if ((val > 0xff) || (parts[0] > 0xff) || (parts[1] > 0xff) || 
(parts[2] > 0xff))
                        return (0);
                val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8);
                break;

++ ic


---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à