Speedup cintcmp

Now that we know we're always 2-byte aligned...
vmware
Howard Chu 13 years ago
parent dac3fae3b5
commit 1b69295a48
  1. 4
      libraries/libmdb/mdb.c

@ -1912,14 +1912,14 @@ static int
cintcmp(const MDB_val *a, const MDB_val *b) cintcmp(const MDB_val *a, const MDB_val *b)
{ {
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
unsigned char *u, *c; unsigned short *u, *c;
int x; int x;
u = a->mv_data + a->mv_size; u = a->mv_data + a->mv_size;
c = b->mv_data + a->mv_size; c = b->mv_data + a->mv_size;
do { do {
x = *--u - *--c; x = *--u - *--c;
} while(!x && u > (unsigned char *)a->mv_data); } while(!x && u > (unsigned short *)a->mv_data);
return x; return x;
#else #else
return memcmp(a->mv_data, b->mv_data, a->mv_size); return memcmp(a->mv_data, b->mv_data, a->mv_size);

Loading…
Cancel
Save