pike.git / src / memory.c

version» Context lines:

pike.git/src/memory.c:379:    case 4:    case 5:    case 6: s->method=memchr_and_memcmp; break;    default:    if(max_haystacklen <= needlelen + 64)    {    s->method=memchr_and_memcmp;    }else{    INT32 tmp, h;    unsigned INT32 hsize, e, max; -  char *q; +  unsigned char *q;    struct link *ptr;       hsize=52+(max_haystacklen >> 7) - (needlelen >> 8);    max =13+(max_haystacklen >> 4) - (needlelen >> 5);       if(hsize > NELEM(s->set))    {    hsize=NELEM(s->set);    }else{    for(e=8;e<hsize;e+=e);
pike.git/src/memory.c:402:       for(e=0;e<hsize;e++) s->set[e]=0;    hsize--;       if(max > needlelen) max=needlelen;    max=(max-sizeof(INT32)+1) & -sizeof(INT32);    if(max > MEMSEARCH_LINKS) max=MEMSEARCH_LINKS;       ptr=& s->links[0];    -  q=needle; +  q=(unsigned char *)needle;      #if BYTEORDER == 4321    for(tmp=e=0;e<sizeof(INT32)-1;e++)    {    tmp<<=8;    tmp|=*(q++);    }   #endif       for(e=0;e<max;e++)    {   #if BYTEORDER == 4321    tmp<<=8;    tmp|=*(q++);   #else -  tmp=EXTRACT_INT((unsigned char *)q); +  tmp=EXTRACT_INT(q);    q++;   #endif    h=tmp;    h+=h>>7;    h+=h>>17;    h&=hsize;       ptr->offset=e;    ptr->key=tmp;    ptr->next=s->set[h];