Index: cmd/xfsprogs/db/fprint.c =================================================================== RCS file: /usr/localmnt/xfs/cvsroot/linux-2.4-xfs/cmd/xfsprogs/db/fprint.c,v retrieving revision 1.1 diff -u -r1.1 fprint.c --- cmd/xfsprogs/db/fprint.c 2001/01/15 05:36:03 1.1 +++ cmd/xfsprogs/db/fprint.c 2002/04/26 05:51:38 @@ -161,7 +161,7 @@ i++, bitpos += size) { if (array) dbprintf("%d:", i + base); - t=(time_t)getbitval((char *)obj + byteize(bitpos), 0, sizeof(time_t)*8, 0); + t=(time_t)getbitval((char *)obj + byteize(bitpos), 0, sizeof(int32_t)*8, 0); c = ctime(&t); dbprintf("%24.24s", c); if (i < count - 1) Index: cmd/xfsprogs/db/write.c =================================================================== RCS file: /usr/localmnt/xfs/cvsroot/linux-2.4-xfs/cmd/xfsprogs/db/write.c,v retrieving revision 1.1 diff -u -r1.1 write.c --- cmd/xfsprogs/db/write.c 2001/01/15 05:36:03 1.1 +++ cmd/xfsprogs/db/write.c 2002/04/26 05:51:43 @@ -277,7 +277,7 @@ hold_region = xmalloc(shift); memcpy(hold_region, base+(len-shift), shift); - memcpy(base+shift, base, len-shift); + memmove(base+shift, base, len-shift); memcpy(base, hold_region, shift); } @@ -295,7 +295,7 @@ int base; int range; int top; - char *buf = (char *)iocur_top->data; + char *buf; if (start == -1) start = 0; @@ -325,6 +325,7 @@ } range = top - base; + buf = (char *)iocur_top->data + start; tmp = 0; for (i = start; i < start+len; i++) { @@ -343,7 +344,7 @@ int to) { int i; - char *buf = (char *)iocur_top->data; + char *buf; if (start == -1) start = 0; @@ -355,6 +356,8 @@ dbprintf("length (%d) too large for data block size (%d)", len, iocur_top->len); } + + buf = (char *)iocur_top->data + start; for (i = start; i < start+len; i++) *buf++ = (char)lrand48();