pike.git
/
src
/
memory.c
version
»
Context lines:
10
20
40
80
file
none
3
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];