]> git.sur5r.net Git - openldap/commitdiff
Flesh out mdb_cmp_cint for BigEndians
authorHoward Chu <hyc@symas.com>
Mon, 23 Jun 2014 14:36:38 +0000 (07:36 -0700)
committerHoward Chu <hyc@symas.com>
Mon, 23 Jun 2014 14:36:38 +0000 (07:36 -0700)
libraries/liblmdb/mdb.c

index efd15e5beaf25b39d72868b5807d523db584ed17..d2e4b2ca17cebad3d8089c4e692a1b0aac87c749 100644 (file)
@@ -4610,7 +4610,16 @@ mdb_cmp_cint(const MDB_val *a, const MDB_val *b)
        } while(!x && u > (unsigned short *)a->mv_data);
        return x;
 #else
-       return memcmp(a->mv_data, b->mv_data, a->mv_size);
+       unsigned short *u, *c, *end;
+       int x;
+
+       end = (unsigned short *) ((char *) a->mv_data + a->mv_size);
+       u = (unsigned short *)a->mv_data;
+       c = (unsigned short *)b->mv_data;
+       do {
+               x = *u++ - *c++;
+       } while(!x && u < end);
+       return x;
 #endif
 }