diff -Naur jfsutils-1.1.12.orig/include/Makefile.am jfsutils-1.1.12.partclone/include/Makefile.am --- jfsutils-1.1.12.orig/include/Makefile.am 2002-01-30 04:08:11.000000000 +0800 +++ jfsutils-1.1.12.partclone/include/Makefile.am 2010-06-30 11:21:37.000000000 +0800 @@ -1,3 +1,7 @@ +jfsincludedir = $(includedir)/jfs +jfsinclude_HEADERS = jfs_byteorder.h jfs_btree.h jfs_dinode.h jfs_dmap.h \ + jfs_dtree.h jfs_filsys.h jfs_imap.h jfs_logmgr.h jfs_superblock.h \ + jfs_types.h jfs_unicode.h jfs_version.h jfs_xtree.h EXTRA_DIST = jfs_byteorder.h jfs_btree.h jfs_dinode.h jfs_dmap.h \ jfs_dtree.h jfs_filsys.h jfs_imap.h jfs_logmgr.h jfs_superblock.h \ diff -Naur jfsutils-1.1.12.orig/libfs/log_work.c jfsutils-1.1.12.partclone/libfs/log_work.c --- jfsutils-1.1.12.orig/libfs/log_work.c 2006-06-05 05:37:29.000000000 +0800 +++ jfsutils-1.1.12.partclone/libfs/log_work.c 2010-06-30 11:14:46.000000000 +0800 @@ -2416,6 +2416,7 @@ int32_t xlen, xlength; int16_t nword; int8_t upd_possible = 0; + struct dinode dip_local; /* Local copy of dinode data for alignment purposes */ if (ld->length <= 0) return (0); @@ -2713,7 +2714,8 @@ */ if (ino_rem == 0) { /* inode base segment */ - dip = (struct dinode *) data; + memcpy(&dip_local, data, size_dinode); + dip = &dip_local; if (ln == 1) { /* ibase only */ if (db->db_ibase & mask_8) diff -Naur jfsutils-1.1.12.orig/libfs/Makefile.am jfsutils-1.1.12.partclone/libfs/Makefile.am --- jfsutils-1.1.12.orig/libfs/Makefile.am 2005-10-04 10:42:59.000000000 +0800 +++ jfsutils-1.1.12.partclone/libfs/Makefile.am 2010-06-30 11:27:52.000000000 +0800 @@ -1,7 +1,10 @@ - +jfsincludedir = $(includedir)/jfs INCLUDES = -I$(top_srcdir)/include +jfsinclude_HEADERS =debug.h fsck_base.h fsck_message.h jfs_endian.h logredo.h unicode_to_utf8.h devices.h fsckcbbl.h fsckwsp.h libjufs.h message.h utilsubs.h diskmap.h fscklog.h inode.h logform.h super.h + noinst_LIBRARIES = libfs.a +lib_LIBRARIES = libjfs.a libfs_a_SOURCES = fssubs.c unicode_to_utf8.c devices.c utilsubs.c \ super.c inode.c diskmap.c message.c uniupr.c jfs_endian.c \ @@ -10,3 +13,11 @@ debug.h devices.h diskmap.h fsck_base.h fsckcbbl.h fscklog.h \ fsckwsp.h inode.h libjufs.h message.h super.h unicode_to_utf8.h \ utilsubs.h jfs_endian.h logform.h logredo.h fsck_message.h + +libjfs_a_SOURCES = fssubs.c unicode_to_utf8.c devices.c utilsubs.c \ + super.c inode.c diskmap.c message.c uniupr.c jfs_endian.c \ + open_by_label.c log_dump.c logform.c logredo.c log_work.c log_read.c \ + log_map.c fsckmsgdef.c \ + debug.h devices.h diskmap.h fsck_base.h fsckcbbl.h fscklog.h \ + fsckwsp.h inode.h libjufs.h message.h super.h unicode_to_utf8.h \ + utilsubs.h jfs_endian.h logform.h logredo.h fsck_message.h