]> git.wh0rd.org - dump.git/blobdiff - dump/traverse.c
Another set of cleanups from Andreas.
[dump.git] / dump / traverse.c
index 8e4a6b6e347f18857eb0ef982340677f3cfda0d9..ebf605abe47edf3f2c6b382e3a7dbb1d0fba70b7 100644 (file)
@@ -41,7 +41,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: traverse.c,v 1.28 2001/03/20 10:02:48 stelian Exp $";
+       "$Id: traverse.c,v 1.30 2001/03/23 14:40:12 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -102,13 +102,14 @@ static    int exclude_ino __P((dump_ino_t ino));
 extern dump_ino_t iexclude_list[IEXCLUDE_MAXNUM];      /* the inode exclude list */
 extern int iexclude_num;                       /* number of elements in list */
 
-/* Temporary fix waiting for Andreas fixes... */
-#ifdef HAS_EXT2FS_EXT2_FS
+#ifdef HAVE_EXT2_JOURNAL_INUM
 #define ext2_journal_ino(sb) (sb->s_journal_inum)
 #else
-#define ext2_ino_t __u32
 #define ext2_journal_ino(sb) (*((__u32 *)sb + 0x38))
 #endif
+#ifndef HAVE_EXT2_INO_T
+typedef ino_t ext2_ino_t;
+#endif
 
 #ifndef EXT3_FEATURE_COMPAT_HAS_JOURNAL
 #define EXT3_FEATURE_COMPAT_HAS_JOURNAL                0x0004
@@ -135,7 +136,7 @@ int dump_fs_open(const char *disk, ext2_filsys *fs)
        retval = ext2fs_open(disk, EXT2_FLAG_FORCE, 0, 0, unix_io_manager, fs);
        if (!retval) {
                struct ext2_super_block *es = (*fs)->super;
-               ext2_ino_t journal_ino = ext2_journal_ino(es);
+               dump_ino_t journal_ino = ext2_journal_ino(es);
 
                if (es->s_feature_incompat & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV){
                        fprintf(stderr, "This an journal, not a filesystem!\n");
@@ -153,10 +154,9 @@ int dump_fs_open(const char *disk, ext2_filsys *fs)
                }
                else if (es->s_feature_compat &
                                EXT3_FEATURE_COMPAT_HAS_JOURNAL && 
-                               journal_ino && 
-                               !exclude_ino((dump_ino_t)journal_ino)) {
-                       iexclude_list[iexclude_num++] = (dump_ino_t)journal_ino;
-                       msg("Added ext3 journal inode %d to exclude list\n",
+                               journal_ino && !exclude_ino(journal_ino)) {
+                       iexclude_list[iexclude_num++] = journal_ino;
+                       msg("Added ext3 journal inode %u to exclude list\n",
                            journal_ino);
                }
        }