+*** lock/lock.c.save 2004-01-30 10:48:33.000000000 -0800
+--- lock/lock.c 2004-01-30 10:55:58.000000000 -0800
+***************
+*** 2216,2226 ****
+ dp = (u_int8_t *)dp + \
+ sizeof(db_pgno_t); \
+ } while (0)
+! #define COPY_OBJ(dp, obj) do { \
+! memcpy(dp, obj->data, obj->size); \
+! dp = (u_int8_t *)dp + \
+! ALIGN(obj->size, \
+! sizeof(u_int32_t)); \
+ } while (0)
+
+ #define GET_COUNT(dp, count) do { \
+--- 2216,2227 ----
+ dp = (u_int8_t *)dp + \
+ sizeof(db_pgno_t); \
+ } while (0)
+! #define COPY_OBJ(dp, obj) do { \
+! memcpy(dp, \
+! (obj)->data, (obj)->size); \
+! dp = (u_int8_t *)dp + \
+! ALIGN((obj)->size, \
+! sizeof(u_int32_t)); \
+ } while (0)
+
+ #define GET_COUNT(dp, count) do { \
+***************
+*** 2339,2345 ****
+ for (i = 0; i < nlocks; i = j) {
+ PUT_PCOUNT(dp, obj[i].ulen);
+ PUT_SIZE(dp, obj[i].size);
+! COPY_OBJ(dp, obj);
+ lock = (DB_LOCK_ILOCK *)obj[i].data;
+ for (j = i + 1; j <= i + obj[i].ulen; j++) {
+ lock = (DB_LOCK_ILOCK *)obj[j].data;
+--- 2340,2346 ----
+ for (i = 0; i < nlocks; i = j) {
+ PUT_PCOUNT(dp, obj[i].ulen);
+ PUT_SIZE(dp, obj[i].size);
+! COPY_OBJ(dp, &obj[i]);
+ lock = (DB_LOCK_ILOCK *)obj[i].data;
+ for (j = i + 1; j <= i + obj[i].ulen; j++) {
+ lock = (DB_LOCK_ILOCK *)obj[j].data;