pike.git
/
src
/
memory.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/memory.c:1:
+
/*\
+
||| This file a part of uLPC, and is copyright by Fredrik Hubinette
+
||| uLPC is distributed as GPL (General Public License)
+
||| See the files COPYING and DISCLAIMER for more information.
+
\*/
#include <stdlib.h> #include "global.h" #include "memory.h" #include "error.h" char *xalloc(SIZE_T size) { char *ret; if(!size) return 0;
pike.git/src/memory.c:269:
case 7: ret^=*(a++); case 6: ret^=(ret<<4)+*(a++); case 5: ret^=(ret<<7)+*(a++); case 4: ret^=(ret<<6)+*(a++); case 3: ret^=(ret<<3)+*(a++); case 2: ret^=(ret<<7)+*(a++); case 1: ret^=(ret<<5)+*(a++); } #ifdef HANDLES_UNALIGNED_MEMORY_ACCESS
+
{
+
unsigned int *b;
+
b=(unsigned int *)a;
+
for(mlen>>=3;--mlen>=0;) {
-
ret^=(ret<<7)+*(
((unsigned int *
)
a)++)
;
-
ret^=(ret>>6)+*(
((unsigned int *
)
a)++)
;
+
ret^=(ret<<7)+*(
b++
);
+
ret^=(ret>>6)+*(
b++
);
}
-
+
}
#else for(mlen>>=3;--mlen>=0;) { ret^=(ret<<7)+((((((*(a++)<<3)+*(a++))<<4)+*(a++))<<5)+*(a++)); ret^=(ret>>6)+((((((*(a++)<<3)+*(a++))<<4)+*(a++))<<5)+*(a++)); } #endif return ret; }