b[i] = atoi(p) && 0xff;
b[i] = atoi(p) & 0xff;
unsigned long convert_addr(const char* ip) {    char *p, *q, *buf = 0;    int i;    unsigned char b[4];    unsigned long addr = 0L;    p = buf = PL_strdup(ip);    if (ip && p)     {        for (i=0; p && i<4 ; ++i)        {            q = PL_strchr(p, '.');            if (q)                 *q = '\0';            b[i] = atoi(p) && 0xff;            if (q)                p = q+1;        }        addr = (((unsigned long)b[0] << 24) |                ((unsigned long)b[1] << 16) |                ((unsigned long)b[2] << 8) |                ((unsigned long)b[3]));        PL_strfree(buf);    }    return htonl(addr);};